Prévia do material em texto
Noc¸o˜es da Teoria dos Grafos Andre´ Arbex Hallack I´ndice 1 Introduc¸a˜o e definic¸o˜es ba´sicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 7 3 A´rvores 11 4 Emparelhamento em grafos 15 5 Grafos planares: Colorindo grafos e mapas 19 Refereˆncias 25 i Cap´ıtulo 1 Introduc¸a˜o e definic¸o˜es ba´sicas. Passeios eulerianos Introduc¸a˜o histo´rica O Problema das pontes de Ko¨nigsberg Na cidade de Ko¨nigsberg, sete pontes cruzavam o rio Pregel, estabelecendo ligac¸o˜es entre duas ilhas e entre as ilhas e as margens opostas do rio, conforme a ilustrac¸a˜o abaixo: Figura 1.1: As pontes de Ko¨nigsberg Problema: Seria poss´ıvel fazer um “passeio” pela cidade, cruzando cada ponte exatamente uma vez? 1 2 CAPI´TULO 1 Em 1736, Euler publicou um artigo demonstrando que tal passeio era imposs´ıvel. Mais importante e´ o fato de Euler ter formulado um crite´rio geral para resolver o problema acima, o que e´ considerado como o primeiro teorema da chamada TEORIA DOS GRAFOS, a qual possui desdobramentos e aplicac¸o˜es nas mais diversas a´reas. Definic¸a˜o 1.1. Um GRAFO e´ uma colec¸a˜o G = (N,A) constitu´ıda por um conjunto na˜o-vazio e finito N de NO´S (ou pontos, ou ve´rtices) e um conjunto (finito) A de ARCOS (ou arestas), sendo que cada arco liga dois no´s (na˜o necessariamente distintos). Exemplos: Figura 1.2: Exemplos de grafos Um grafo e´ dito SIMPLES quando cada par de no´s e´ ligado por no ma´ximo um arco e nenhum no´ e´ ligado a si pro´prio (nenhum lac¸o). Caso contra´rio, temos o chamado MULTIGRAFO. Um arco e´ dito INCIDENTE nos no´s aos quais esta´ associado e vice-versa. Um no´ e´ dito ISOLADO quando na˜o esta´ ligado a nenhum outro. Dois arcos incidentes num mesmo no´ sa˜o ditos ADJACENTES. Dois no´s incidentes num mesmo arco sa˜o ditos adjacentes. O GRAU de um no´ e´ o nu´mero de arcos incidentes no no´, sendo que cada lac¸o conta como dois arcos. Introduc¸a˜o e definic¸o˜es ba´sicas. Passeios eulerianos 3 Teorema 1.2. (Euler) A soma dos graus dos no´s de um grafo e´ igual ao dobro do nu´mero de arcos. Prova: Ao somarmos os graus contamos cada arco duas vezes, uma vez em cada extremidade. Corola´rio 1. O nu´mero de no´s de grau ı´mpar de todo grafo e´ sempre par. De fato, se denotarmos por di o grau de cada no´ i no grafo G = (N,A) , temos: 2 ·#A = ∑ i∈ IN di = ∑ di par di + ∑ di ı´mpar di Como 2 ·#A e ∑ di par di sa˜o pares, enta˜o ∑ di ı´mpar di e´ par e para que a soma de nu´meros ı´mpares seja par, devemos ter uma quantidade par de nu´meros ı´mpares. Exerc´ıcio: Prove que numa festa com 51 pessoas existe sempre uma pessoa que conhece um nu´mero par de outras pessoas. Passeios eulerianos Definic¸a˜o 1.3. Um PASSEIO entre os no´s i e j de um grafo e´ uma sequeˆncia alternante de no´s e arcos, comec¸ando em um dos no´s i ou j e terminando no outro, tal que cada arco percorrido e´ incidente aos no´s que o cercam na sequeˆncia. Um passeio e´ dito FECHADO quando comec¸a e termina no mesmo no´. Exemplo: Figura 1.3: Um passeio entre os no´s 6 e 1 Um CAMINHO e´ um passeio que na˜o conte´m no´s repetidos. Dois no´s esta˜o CONECTADOS se existe um caminho entre eles no grafo. Um grafo e´ dito CONEXO quando cada par de no´s esta´ conectado, caso contra´rio ele e´ dito DESCONEXO. 4 CAPI´TULO 1 Um passeio em um grafo e´ dito EULERIANO quando passa por todo arco exatamente uma vez. A` luz das definic¸o˜es acima, o Problema das pontes de Ko¨nigsberg refere-se exatamente a` existeˆncia ou na˜o de um passeio euleriano pela cidade (grafo), quando se considera as pontes como arcos e os territo´rios (ilhas ou margens) como no´s: Figura 1.4: Grafo correspondente a`s pontes de Ko¨nigsberg O argumento de Euler para as pontes de Ko¨nigsberg: Consideremos um dos territo´rios (ilhas ou margens), que chamaremos de territo´rio I. Suponhamos que o passeio na˜o comec¸a em I. Enta˜o entramos em I pela primeira vez atrave´s de uma ponte que e´ incidente em I e sa´ımos de I por outra ponte incidente em I. Cada entrada-e-sa´ıda de I corresponde ao uso de duas pontes. Como I tem um nu´mero ı´mpar de pontes incidentes, na u´ltima vez que usamos uma ponte incidente em I, entramos em I e na˜o podemos mais sair, ou seja, o passeio termina necessariamente em I. Assim, pelo mesmo argumento, se o passeio comec¸a em qualquer territo´rio, deve necessariamente terminar nos outros treˆs (contradic¸a˜o!), pois todos teˆm um nu´mero ı´mpar de pontes incidentes. O argumento anterior leva ao seguinte teorema: Teorema 1.4. (Euler) (a) Se um grafo conexo tem mais que dois no´s com grau ı´mpar, enta˜o ele na˜o admite um passeio euleriano. (b) Se um grafo conexo tem exatamente dois no´s com grau ı´mpar, enta˜o ele admite passeio eu- leriano e todo passeio euleriano tem que comec¸ar em um desses no´s de grau ı´mpar e terminar no outro. (c) Se um grafo conexo na˜o tem no´s com grau ı´mpar, enta˜o ele admite passeio euleriano e todo passeio euleriano e´ fechado. Exerc´ıcio: Prove a partir do teorema acima que um grafo conexo tem um passeio euleriano fechado se, e somente se, todo no´ tem grau par. Introduc¸a˜o e definic¸o˜es ba´sicas. Passeios eulerianos 5 Exerc´ıcio: Quais dos grafos abaixo admitem um passeio euleriano? Em caso afirmativo, indique um passeio euleriano. Exerc´ıcio: (a) Construa ou destrua UMA ponte em Ko¨nigsberg para que se tenha um passeio euleriano (indique o passeio). (b) Mostre como se pode ter um passeio euleriano fechado construindo mais DUAS pontes em Ko¨nigsberg (indique o passeio). (c) Mostre como se pode ter um passeio euleriano fechado construindo UMA ponte e destruindo OUTRA em Ko¨nigsberg. (d) O que ocorre se destruirmos DUAS pontes em Ko¨nigsberg? 6 CAPI´TULO 1 Cap´ıtulo 2 Ciclos hamiltonianos Problema: Seis cidades (no´s) sa˜o ligadas por uma rede de estradas (arcos) conforme o mapa (grafo) abaixo: Um vendedor pretende, partindo de uma cidade, passar exatamente uma vez em cada uma das demais cidades, terminando a viagem na cidade de origem. E´ poss´ıvel realizar uma viagem nas condic¸o˜es acima? Definic¸a˜o 2.1. Um CICLO e´ um passeio fechado no qual apenas o no´ inicial-terminal se repete. Um CICLO HAMILTONIANO e´ um ciclo que conte´m todos os no´s de um grafo. 7 8 CAPI´TULO 2 Observac¸o˜es: (a) O problema acima equivale a perguntar se o grafo formado admite um ciclo hamiltoniano. (b) E´ claro que para um grafo admitir um ciclo hamiltoniano e´ NECESSA´RIO que ele seja conexo. (c) Na˜o existem resultados gerais de caracterizac¸a˜o dos grafos que admitem ciclos hamiltonianos. (d) Problema do caixeiro viajante: achar um ciclo hamiltoniano de custo mı´nimo, sendo o custo de um ciclo a soma dos custos dos arcos percorridos no ciclo. Proposic¸a˜o 2.2. Num ciclo com treˆs ou mais no´s sa˜o percorridos exatamente dois arcos incidentes em cada no´ do ciclo. Corola´rio 1. Um grafo que tenha treˆs ou mais no´s e algum no´ de grau menor ou igual a 1 na˜o admite um ciclo hamiltoniano. Exerc´ıcio: Resolva o problema inicial (do vendedor e as seis cidades): indique um ciclo hamilto- niano caso exista soluc¸a˜o ou prove que na˜o existe ciclo hamiltoniano algum. Exerc´ıcio: Responda se os grafos abaixo admitem ou na˜o um ciclo hamiltoniano. Indique um ciclo hamiltoniano em caso afirmativo ou prove que na˜o admite, no caso negativo. Ciclos hamiltonianos 9 Exerc´ıcio: Um grafo G = (N,A) e´ dito BIPARTIDO quando seu conjunto N de no´s pode ser particionado em DOIS subconjuntos tais que no´s pertencentes a um mesmo subconjuntos na˜o sa˜o adjacentes. (a) Prove que se um grafo bipartido G = (N,A) admite um ciclo hamiltoniano enta˜o os dois subconjuntos da partic¸a˜o de N teˆm o mesmo nu´mero de elementos. (b) Conclua que o grafo abaixo NA˜O ADMITE um ciclo hamiltoniano. (c)Construa um grafo bipartido com um nu´mero par de no´s, todos com grau maior ou igual a dois, e que na˜o admite um ciclo hamiltoniano. 10 CAPI´TULO 2 Cap´ıtulo 3 A´rvores Problema: Atrave´s de cabos telefoˆnicos (arcos) entre pares de cidades (no´s), deseja-se configurar uma rede de comunicac¸o˜es (grafo) entre as sete cidades do mapa abaixo, de modo que possa haver comunicac¸a˜o entre cada par de cidades, ou seja, cada par de cidades esteja conectado por pelo menos um caminho na rede de comunicac¸o˜es (o grafo e´ conexo). (a) E´ poss´ıvel obter uma rede (grafo) conexa com exatamente um caminho conectando cada par de cidades? (neste caso e´ fa´cil ver que o grafo sera´ MINIMALMENTE CONEXO, ou seja, a remoc¸a˜o de qualquer arco ira´ tornar o grafo desconexo). (b) Dentre todas as redes (grafos) conexas possivelmente obtidas na letra (a) acima, e´ poss´ıvel obter uma de menor custo (O´TIMA)? 11 12 CAPI´TULO 3 Definic¸a˜o 3.1. Uma A´RVORE e´ um grafo simples tal que para cada par de no´s existe exatamente um caminho que os conecta. Observac¸o˜es: (a) O problema inicial equivale a perguntar se e´ poss´ıvel formar uma a´rvore com os no´s (cidades) dados e, em caso afirmativo, se existe uma a´rvore de menor custo. (b) Um grafo G e´ uma a´rvore se, e somente se, G e´ conexo e a remoc¸a˜o de qualquer um de seus arcos resulta em um grafo desconexo (uma a´rvore e´ um grafo MINIMALMENTE CONEXO). (c) Uma a´rvore na˜o admite ciclos com treˆs ou mais no´s (pois se admitisse haveria mais de um caminho conectando dois no´s) e a adic¸a˜o de um arco ligando dois no´s que na˜o eram ligados por um arco gera um ciclo com treˆs ou mais no´s (uma a´rvore e´ um grafo MAXIMALMENTE LIVRE DE CICLOS COM TREˆS OU MAIS NO´S). Exemplos: • PROCEDIMENTO DE CRESCIMENTO DE A´RVORE (como obter a´rvores) - Comece com um simples no´. - Repita o que se segue um nu´mero (FINITO) qualquer de vezes: Se G e´ o grafo ate´ enta˜o formado, crie um novo no´ e ligue-o por um arco novo a qualquer no´ de G. A´rvores 13 Teorema 3.2. Todo grafo obtido pelo procedimento de crescimento de a´rvore e´ uma a´rvore e toda a´rvore pode ser obtida desta maneira. Corola´rio 1. Toda a´rvore com n no´s tem n− 1 arcos. • O ALGORI´TMO GULOSO DE KRUSKAL (encontrando a a´rvore o´tima) - Considere n no´s e nenhum arco. - Construa um arco de menor custo entre dois no´s distintos que na˜o estejam ligados por um arco e de maneira que na˜o se obtenha um ciclo com treˆs ou mais no´s. - Repita o procedimento acima ate´ que se tenha n− 1 arcos. Teorema 3.3. Dados n no´s e nenhum arco, o Algor´ıtmo Guloso produz uma a´rvore de menor custo (a´rvore o´tima) entre todas as poss´ıveis a´rvores com os n no´s inicialmente dados. Observac¸a˜o: Uma tentativa de adaptac¸a˜o do Algor´ıtmo Guloso pode na˜o funcionar para obter um ciclo hamiltoniano o´timo (Problema do caixeiro viajante). Exerc´ıcio: (a) USANDO O PROCEDIMENTO DE CRESCIMENTO DE A´RVORE, resolva a letra (a) do problema inicial, obtendo uma rede de comunicac¸o˜es minimalmente conexa entre as cidades dadas. (b) Considerando os custos proporcionais a`s distaˆncias, USE O ALGORI´TMO GU- LOSO e obtenha uma rede de comunicac¸o˜es minimalmente conexa e de menor custo poss´ıvel (o´tima) entre as cidades dadas, resolvendo assim a letra (b) do problema inicial: 14 CAPI´TULO 3 Exerc´ıcio: Prove a Observac¸a˜o apo´s o Teo 3.3 (Sugesta˜o: considere os pontos A(0, 0), B(1, 0), C(0, 1) e D(9, 1)) Exerc´ıcio: Para cada um dos grafos dados abaixo, fac¸a o que se pede. - Responda se o grafo e´ uma a´rvore. - Se o grafo na˜o for uma a´rvore, justifique. - Se o grafo for uma a´rvore, responda se e´ uma a´rvore de menor custo (custos proporcionais a`s distaˆncias) considerando os no´s dados. Se na˜o for uma a´rvore de menor custo, exiba uma a´rvore de menor custo com os no´s dados. Cap´ıtulo 4 Emparelhamento em grafos Problema: Temos um conjunto de seis tarefas (no´s) a ser realizadas e seis funciona´rios (no´s) para realizar as tarefas. Quando um funciona´rio tem habilidade para realizar uma tarefa, ambos sera˜o ligados por um arco. Cada funciona´rio Fi tem habilidade para realizar um conjunto {Tj} de tarefas, conforme o grafo abaixo: E´ poss´ıvel atribuir exatamente uma tarefa a cada funciona´rio de modo que todas as tarefas sejam realizadas? 15 16 CAPI´TULO 4 Definic¸a˜o 4.1. Uma grafo G = (N,A) e´ dito BIPARTIDO quando seu conjunto N de no´s pode ser particionado em dois subconjuntos tais que os no´s pertencentes a um mesmo subconjunto na˜o sa˜o adjacentes. Um EMPARELHAMENTO PERFEITO em um grafo bipartido e´ um conjunto de arcos A′ ⊂ A tal que cada no´ do grafo e´ incidente em exatamente um arco do conjunto A′. Observac¸o˜es: (a) O problema inicial equivale a perguntar se o grafo dado tem um emparelhamento perfeito. (b) E´ claro que se um grafo bipartido G = (N,A) , sendo N = N1 ∪N2 a partic¸a˜o de N , tem um emparelhamento perfeito enta˜o #N1 = #N2 e N e´ obrigatoriamente par. Teorema 4.2. (Teorema do emparelhamento) Um grafo bipartido G = (N,A) , sendo N = N1∪N2 a partic¸a˜o de N , tem um emparelhamento perfeito se, e somente se, #N1 = #N2 e para qualquer subconjunto N ′1 ⊂ N1 temos pelo menos #N ′1 no´s em N2 adjacentes aos no´s de N ′1. Observac¸a˜o: Vale a simetria no teorema acima. Corola´rio 1. Se em um grafo bipartido todo no´ tem mesmo grau d ≥ 1 , enta˜o o grafo conte´m um emparelhamento perfeito. Exerc´ıcio: Usando o Teorema 4.2, verifique se o problema inicial das seis tarefas para os seis funciona´rios tem soluc¸a˜o. Exerc´ıcio: Prove o Corola´rio do Teorema 4.2. Exerc´ıcio: Desenhe um grafo cujos no´s sa˜o os subconjuntos de {a, b, c} e dois no´s sa˜o adjacentes se, e somente se, eles sa˜o subconjuntos que diferem por exatamente um elemento. (a) Qual e´ o nu´mero de arestas e no´s nesse grafo? (b) Esse grafo e´ conexo? Ele tem um emparelhamento perfeito? (exiba um caso tenha) Ele admite um ciclo hamiltoniano? (exiba um caso admita) Emparelhamento em grafos 17 Exerc´ıcio: Verifique (justifique) se os grafos abaixo teˆm emparelhamentos perfeitos e exiba tais emparelhamentos nos casos afirmativos. Exerc´ıcio: Numa festa ha´ 286 convidados. Cada homem conhece 30 mulheres e cada mulher conhece 30 homens (o conhecimento e´ mu´tuo). A organizac¸a˜o da festa deseja saber qual o nu´mero ma´ximo de casais que podem estar danc¸ando simultaneamente para providenciar o espac¸o adequado. Que nu´mero e´ esse? (prove). 18 CAPI´TULO 4 Cap´ıtulo 5 Grafos planares: Colorindo grafos e mapas Definic¸a˜o 5.1. Uma grafo simples e conexo e´ chamado PLANAR quando ele pode ser desenhado como um mapa no plano: seus no´s correspondem a pontos distintos no plano e seus arcos sa˜o curvas plana (ligando os no´s) as quais na˜o se intersectam em pontos que na˜o sejam os no´s. EXEMPLO: K4 = grafo completo sobre 4 no´s = grafo com 4 no´s onde cada no´ esta´ ligado a todos os demais: Observac¸a˜o: Um grafo planar, quando representado de forma planar, divide o plano em uma quantidade finita de regio˜es, sendo uma delas ilimitada e as demais (se existirem) limitadas. 19 20 CAPI´TULO 5 EXEMPLO: Teorema 5.2. (Fo´rmula de Euler) Seja G um grafo planar. Se v e´ o nu´mero de no´s de G, a e´ o nu´mero de arcos de G e f e´ o nu´mero de regio˜es do plano determinadas pela sua forma planar, enta˜o v − a+ f = 2 Corola´rio 1. Um grafo planar sobre n ≥ 3 no´s tem no ma´ximo 3n− 6 arcos. (Exerc´ıcio) Exerc´ıcio: Existem 3 casas e 3 fontes. Podemos construir um caminho de toda casa para toda fonte de modo que esses caminhos na˜o se cruzem? (os caminhos na˜o sa˜o necessariamente linhas retas) Exerc´ıcio: Prove que K5 (grafo completo sobre 5 no´s) na˜o e´ um grafo planar. Exerc´ıcio: O grafo obtido pela omissa˜o de um arco de K5 e´ planar? Exerc´ıcio: O Grafo de Petersen e´planar? Grafos planares: Colorindo grafos e mapas 21 • Colorindo grafos Regra para colorac¸a˜o de grafos: no´s adjacentes teˆm que ser coloridos com cores diferentes. Se podemos colorir um grafo com k cores (dentro da regra acima), dizemos que o grafo e´ k−COLORI´VEL. O menor valor de k para o qual o grafo e´ k−color´ıvel e´ chamado de NU´MERO CROMA´TICO do grafo. Observac¸o˜es: (a) E´ o´bvio que se um grafo tem n no´s enta˜o n cores sa˜o sempre suficientes para colori-lo (o grafo e´ n−color´ıvel) e seu nu´mero croma´tico e´ menor ou igual a n. (b) Um grafo e´ 2−color´ıvel se, e somente se, ele e´ bipartido. Teorema 5.3. (Teorema de Brooks) Se todo no´ em um grafo tem grau no ma´ximo d, enta˜o o grafo pode ser colorido com d+ 1 cores. Exerc´ıcio: Obtenha o nu´mero croma´tico dos grafos a seguir: A) K5 B) C) Grafo de Petersen D) 22 CAPI´TULO 5 • Colorindo mapas Consideremos agora o problema de colorir um mapa que seja uma representac¸a˜o plana de diversas regio˜es (pa´ıses, estados, etc.) CONEXAS (dois pontos de uma mesma regia˜o podem ser “ligados por uma estrada dentro da pro´pria regia˜o”). E´ natural pedirmos que regio˜es vizinhas (com fronteira de comprimento na˜o-nulo comum) tenham cores diferentes. IDE´IA: Cada regia˜o conexa sera´ representada por um no´ e regio˜es (no´s) vizinhas sera˜o ligadas por um arco, formando assim um GRAFO DUAL do mapa original. O grafo dual assim obtido sera´ um grafo planar (desafio: tente provar) e o nosso problema de colorir o mapa original se reduz ao problema de colorir seu grafo dual. Exerc´ıcio: Obtenha os grafos duais (em suas representac¸o˜es planares) para os mapas dados abaixo: Exerc´ıcio: Obtenha os nu´meros croma´ticos dos grafos duais obtidos no exerc´ıcio anterior e colora os grafos e os mapas segundo os nu´meros obtidos. Exerc´ıcio: Deˆ exemplo de um mapa para mostrar que se admitirmos regio˜es desconexas, o grafo dual obtido na˜o e´ necessariamente planar. Teorema 5.4. (Teorema das 4 cores) Todo grafo planar pode ser colorido com 4 cores. Corola´rio 1. Todo mapa que e´ representac¸a˜o planar de regio˜es conexas pode ser colorido com 4 cores. Exerc´ıcio: Exiba um mapa que precise de mais do que 4 cores para ser colorido. Grafos planares: Colorindo grafos e mapas 23 Exerc´ıcio: Um grafo G′ e´ dito um SUBGRAFO de um grafo G quando G′ e´ obtido a partir de G eliminando-se no´s (e seus arcos incidentes) ou arcos de G. (a) Prove que se todo subgrafo de um grafo G tem um no´ de grau menor ou igual a d enta˜o G e´ d+ 1 color´ıvel. (Sugesta˜o: induc¸a˜o sobre o nu´mero de no´s de G) (b) Prove que todo grafo planar tem um no´ de grau menor ou igual a 5. (Sugesta˜o: use o Corola´rio do Teorema 5.2) (c) Conclua que todo grafo planar pode ser colorido com 6 cores (“Teorema das 6 cores”) 24 CAPI´TULO 5 Refereˆncias [1] Lova´sz, L. e outros, Matema´tica Discreta, Colec¸a˜o Textos Universita´rios, SBM, Rio de Janeiro, 2003. [2] Santos, J. P. O. e outros, Introduc¸a˜o a` Ana´lise Combinato´ria, Editora Unicamp, Campinas, 2002. 25