Sie sind auf Seite 1von 68

AUTARQUIA EDUCACIONAL DO VALE DO SO FRANCISCO AEVSF FACULDADE DE CINCIAS APLICADAS E SOCIAIS DE PETROLINA FACAPE CINCIAS DA COMPUTAO

APOSTILA DE TEORIA DOS GRAFOS


VERSO 1.0

bel. lea. Roberto Tenorio Figueiredo

PETROLINA, 2010

APOSTILA DE GRAFOS

Prof. TENORIO

SUMRIO

INTRODUO TEORIA DOS GRAFOS ......................................................................... 6 1.1. DEFINIO............................................................................................................... 6 1.2. CONCEITOS ASSOCIADOS .................................................................................. 7 1.2.1. ADJACNCIA (VIZINHANA) ............................................................................ 7 1.2.2. ISOMORFISMO ...................................................................................................... 7 1.2.3. TRIVIAL .................................................................................................................. 9 1.2.4. GRAFO DE ARESTAS ........................................................................................... 9 1.2.5. LAO ....................................................................................................................... 9 1.2.6. MULTIGRAFO........................................................................................................ 9 1.2.7. GRAU..................................................................................................................... 10 1.2.8. CAMINHO ............................................................................................................. 10 1.2.9. DISTNCIA .......................................................................................................... 10 1.2.10. CICLO .................................................................................................................... 11 1.2.11. CONEXO ............................................................................................................... 11 1.2.12. EXCLUSO E INCLUSO DE ELEMENTOS ................................................... 11 1.2.13. SUBGRAFO, GRAFO PARCIAL e SUPERGRAFO ........................................... 12 1.2.14. TAMANHO ............................................................................................................ 12 1.2.15. MAXIMAL E MINIMAL ...................................................................................... 13 1.2.16. COMPONENTES CONEXOS ............................................................................... 13 1.2.17. COMPLETO........................................................................................................... 14 1.2.18. COMPLEMENTO .................................................................................................. 14 1.2.19. BIPARTIDO ........................................................................................................... 15 1.2.20. CLIQUE ................................................................................................................. 15 1.2.21. COBERTURAS ...................................................................................................... 15 1.2.22. RTULO E VALORAO .................................................................................. 16 1.2.23. ALTAMENTE IRREGULARES ........................................................................... 17 1.2.24. RVORES ............................................................................................................. 17 1.2.25. EXCENTRICIDADE E CENTRO ......................................................................... 18 1.2.26. ELO ........................................................................................................................ 19 1.2.27. CICLO FUNDAMENTAL ..................................................................................... 19 1.2.28. RVORES ENRAIZADAS ................................................................................... 20 1.2.29. NVEL EM RVORES ......................................................................................... 20 1.2.30. SUBRVORE ........................................................................................................ 21 1.2.31. RVORE ESTRITAMENTE M-RIA ................................................................. 21 1.2.32. CORTE DE VRTICE ........................................................................................... 22 1.2.33. ARTICULAO E PONTE .................................................................................. 22 1.2.34. PLANARIDADE .................................................................................................... 23 1.2.35. FACES .................................................................................................................... 24 1.2.36. SUBDIVISO ........................................................................................................ 25 1.2.37. CICLO HAMILTONIANO .................................................................................... 25 1.2.38. COLORAO ....................................................................................................... 26 1.2.39. K-CRTICO ............................................................................................................ 27 1.2.40. COLORAO DE ARESTAS .............................................................................. 27 1.2.41. EMPARELHAMENTO ......................................................................................... 27 1.2.42. CAMINHO ALTERNANTE.................................................................................. 28 1.2.43. ARBORICIDADE .................................................................................................. 28
2

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.44. DGRAFO .............................................................................................................. 28 1.2.45. GRAU DE ENTRADA E SADA .......................................................................... 29 1.2.46. FONTE E SUMIDOURO....................................................................................... 29 1.2.47. SUBJACENTE ....................................................................................................... 29 1.2.48. FORAS DE CONEXO ...................................................................................... 29 1.2.49. DGRAFOS ACCLICOS ...................................................................................... 31 1.2.50. FECHO TRANSITIVO E REDUO TRANSITIVA ......................................... 31 1.2.51. ORDENAO PARCIAL ..................................................................................... 32 1.2.52. RVORE DIRECIONADA ENRAIZADA........................................................... 32 1.2.53. OPERAES COM GRAFOS .............................................................................. 33 1.2.54. SUBCONJUNTOS ESTVEIS ............................................................................. 37 1.2.55. ESPESSURA .......................................................................................................... 38 1.2.56. SIMETRIA ............................................................................................................. 38 1.2.57. BASE E ANTI-BASE ............................................................................................ 38 1.2.58. CONJUNTO FUNDAMENTAL E ANTI-FUNDAMENTAL .............................. 38 1.2.59. GNERO ................................................................................................................ 39 1.2.60. TRIANGULAO ................................................................................................ 40 1.2.61. DUAL ..................................................................................................................... 41 1.2.62. GRAFOS PERFEITOS .......................................................................................... 41 1.2.63. PANCCLICOS ...................................................................................................... 41 1.2.64. TRAADO DE GRAFOS ...................................................................................... 42 1.2.65. JOGOS EM GRAFOS ............................................................................................ 43 1.2.66. GRAFOS DE CENA .............................................................................................. 43 1.2.67. ONORFICOS ........................................................................................................ 46 1.2.68. RVORE DE EXTENSO ................................................................................... 46 1.2.69. CADEIA ................................................................................................................. 47 1.2.70. REPRESENTAO ALGORTMICA ................................................................. 49 1.2.71. AUTOMORFISMO ................................................................................................ 51 1.2.72. PROBLEMAS EM GRAFOS ................................................................................ 52 1.3. COMPLEXIDADE ALGORTMICA ................................................................... 57 1.3.1. NOTAO ASSINTTICA................................................................................. 59 1.3.2. CLASSES DE ALGORITMOS............................................................................. 60 1.3.3. CLASSES DE PROBLEMAS ............................................................................... 64 BIBLIOGRAFIA .................................................................................................................... 68

APOSTILA DE GRAFOS

Prof. TENORIO

LISTA DE FIGURAS
Figura 1: Exemplo de Grafo ....................................................................................................... 6 Figura 2: Adjacncia de arestas .................................................................................................. 7 Figura 3: Grafos Isomorfos ........................................................................................................ 7 Figura 4: Grafos Isomorfos ........................................................................................................ 8 Figura 5: Grafos No-Isomorfos................................................................................................. 8 Figura 6: Grafo Trivial ............................................................................................................... 9 Figura 7: Um grafo e seu respectivo grafo de arestas................................................................. 9 Figura 8: Um grafo com um lao: a aresta a3............................................................................. 9 Figura 9: Multigrafo. .................................................................................................................. 9 Figura 10: Grafo Regular de Grau 3 ......................................................................................... 10 Figura 11: Grafo Desconexo..................................................................................................... 11 Figura 12: Operaes sobre grafos ........................................................................................... 12 Figura 13: Um grafo G e subgrafo de G ................................................................................... 13 Figura 14: Grafo G e seus componentes conexos..................................................................... 14 Figura 15: Um grafo e seu complemento ................................................................................. 14 Figura 16: Um grafo bipartido e o grafo bipartido completo K3,2 ............................................ 15 Figura 17: Grafo dos estados do Brasil .................................................................................... 16 Figura 18: Grafo valorado dos estados do nordeste do Brasil .................................................. 17 Figura 19: Exemplo de rvore ................................................................................................. 18 Figura 20: Um grafo e a excentricidade de seus vrtices ......................................................... 18 Figura 21: Um grafo G e uma de suas rvores geradoras ......................................................... 19 Figura 22: Uma rvore enraizada e os nveis de seus vrtices ................................................. 20 Figura 23: Uma subrvore e uma subrvore parcial do grafo da figura 22. ............................. 21 Figura 24: Uma rvore binria.................................................................................................. 21 Figura 25: Um grafo conexo..................................................................................................... 22 Figura 26: Grafo planar ............................................................................................................ 23 Figura 27: Representao planar do grafo da figura 26............................................................ 24 Figura 28: Grafo planar com suas faces identificadas .............................................................. 24 Figura 29: Um grafo e a subdiviso de uma de suas arestas .................................................... 25 Figura 30: Um grafo hamiltoniano e um grafo biconexo no hamiltoniano ............................ 26 Figura 31: Grafo das regies de Portugal ................................................................................. 27 Figura 32: Um dgrafo .............................................................................................................. 29 Figura 33: Dgrafos e suas foras de conexo .......................................................................... 30 Figura 34: Um dgrafo, seu fecho transitivo e sua reduo transitiva. ..................................... 31 Figura 35: rvore direcionada enraizada. ................................................................................ 32 Figura 36: Unio de dois grafos. .............................................................................................. 33 Figura 37: Soma de grafos ........................................................................................................ 33 Figura 38: Produto cartesiano em grafos .................................................................................. 34 Figura 39: Composio lexicogrfica em grafos ...................................................................... 34 Figura 40: Soma de arestas em grafos ...................................................................................... 35 Figura 41: Contrao de vrtices .............................................................................................. 35 Figura 42: Desdobramento do vrtice v3 em v7 e v6 ............................................................... 36 Figura 43: Insero de vrtices e arestas .................................................................................. 36 Figura 44: Um grafo G. ............................................................................................................ 37 Figura 45: Um dgrafo D .......................................................................................................... 37 Figura 46: Um dgrafo .............................................................................................................. 38 Figura 47: Um Toro .................................................................................................................. 39 Figura 48: Grafos de gnero igual a 1 ...................................................................................... 39
4

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 49: Uma triangulao .................................................................................................... 40 Figura 50: Uma triangulao com tringulo separador ............................................................ 40 Figura 51: Um grafo e seu dual ................................................................................................ 41 Figura 52: "Caniche" de Kaufmann.......................................................................................... 42 Figura 53: Grafo de Cena bem construdo de uma casa ........................................................... 44 Figura 54: Estratgia de uso no eficiente de um grafo de cena .............................................. 45 Figura 55: Grafo de cena usando transformaes (mtodos) para posicionar quartos e sala ... 45 Figura 56: Materiais redefinidos ao longo do grafo. Os ns herdam a cor do ancestral. ......... 46 Figura 57: Grafo onorfico........................................................................................................ 46 Figura 58: Dgrafo enraizado .................................................................................................... 47 Figura 59: Grafo automrfico ................................................................................................... 52 Figura 60: Pontes de Knigsberg.............................................................................................. 54 Figura 61: Problema do Desenho da Casa ................................................................................ 55 Figura 62: Tabela de complexidade algortmica ...................................................................... 57 Figura 63: Tabuada da Complexidade ...................................................................................... 62 Figura 64: Resumo das classes de problemas. .......................................................................... 67

APOSTILA DE GRAFOS

Prof. TENORIO

INTRODUO TEORIA DOS GRAFOS


1.1. DEFINIO

Um grafo G(V, E) um conjunto V finito, no-vazio de pontos, cujos elementos so chamados de vrtices (nodos ou ns), conectados por um conjunto E de linhas, chamada de arestas (ou arcos). Uma aresta um par distinto no-ordenado (vi, vj), onde vi e vj so elementos distintos de V. Normalmente, utiliza-se uma representao grfica (geomtrica) de um grafo. Eis um exemplo de grafo, com a sua representao grfica: E = {a1, a2, a3, a4, a5, a6} V = {v1, v2, v3, v4, v5} onde a1 = (v1, v2), a2 = (v1, v3), a3 = (v2, v3), a4 = (v2, v5), a5 = (v3, v5), a6 = (v3, v4);

Figura 1: Exemplo de Grafo Com isso, percebemos que os vrtices so as extremidades (ou extremos) das arestas. A quantidade de vrtices de um grafo (densidade de vrtices) ser denotada pela letra n e a quantidade de arestas (densidade de arestas), pela letra m.

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.

CONCEITOS ASSOCIADOS

Neste tpico, veremos todos os conceitos que so diretamente associados ao estudo da Teoria dos Grafos. So eles:

1.2.1. ADJACNCIA (VIZINHANA)


Duas arestas so consideradas adjacentes, ou vizinhas, se possurem um vrtice em comum. Da mesma forma, dois vrtices so adjacentes se possurem uma aresta em comum.

Figura 2: Adjacncia de arestas Na figura 2 as arestas a1 e a2 so adjacentes, pois o vrtice v2 est presente em ambas, assim como a2 e a3, com o vrtice v3. Na mesma figura, vemos que o vrtice v4 vizinho de v3, devido ao compartilhamento da aresta a3, assim como v1 e v2, com a aresta a1 e v2 e v3, com a aresta a2.

1.2.2. ISOMORFISMO
Dois grafos so isomorfos entre si, se e somente se for possvel alterar os nomes dos vrtices de um deles de tal modo que os dois grafos fiquem exatamente iguais, mantendo-se as mesmas ligaes. Se cada um dos grafos tem n vrtices, esse algoritmo de alterao de nomes consome tempo proporcional a n! (n fatorial). Como n! cresce explosivamente com n, esse algoritmo decididamente insatisfatrio na prtica. Infelizmente, no se conhece um algoritmo substancialmente melhor.

Figura 3: Grafos Isomorfos

Para ver o isomorfismo dos grafos da figura 3, podemos utilizar a seguinte funo: f(a) = 1, f(b) = 2, f(c) = 3, f(d) = 8, f(e) = 5, f(f) = 6, f(g) = 7, f(h) = 4.

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 4: Grafos Isomorfos Para ver o isomorfismo dos grafos 4(a) e 4(b), utilize a seguinte funo: f(a) = s, f(b) = t, f(c) = u, f(d) = v, f(e) = r, f(f) = m, f(g) = n, f(h) = o, f(i) = p, f(j) = q Para ver o isomorfismo dos grafos 4(a) e 4(c), utilize a seguinte funo: f(a) = 1, f(b) = 10, f(c) = 4, f(d) = 5, f(e) = 6, f(f) = 2, f(g) = 9, f(h) = 3, f(i) = 8, f(j) = 7. Esses exemplos devem ser suficientes para mostrar que no sempre fcil determinar se dois grafos so isomorfos. Para que dois grafos sejam isomorfos, no mnimo, as seguintes condies tm que ser respeitadas: 1. Os dois tm o mesmo nmero de vrtices. 2. Os dois tm o mesmo nmero de arestas. 3. Os dois tm o mesmo nmero de vrtices de grau n, para qualquer valor n entre 0 e o nmero de vrtices que o grafo contm. Note que essas condies no so suficientes para que sejam isomorfos. Por exemplo, os grafos da figura 5 respeitam essas condies e no so isomorfos.

Figura 5: Grafos No-Isomorfos

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.3. TRIVIAL
Um grafo chamado de Trivial se tiver apenas um vrtice e nenhuma aresta.

Figura 6: Grafo Trivial

1.2.4. GRAFO DE ARESTAS


O grafo de arestas de um grafo G, o grafo formado por vrtices gerados a partir das arestas de G e com arestas se formam a partir das adjacncias das arestas de G.

Figura 7: Um grafo e seu respectivo grafo de arestas

1.2.5. LAO
Um lao uma aresta que possui as duas extremidades em um mesmo vrtice de G.

Figura 8: Um grafo com um lao: a aresta a3.

1.2.6. MULTIGRAFO
Um multigrafo um grafo que possui, pelo menos, um par de arestas com vrtices iguais. No exemplo da figura 9, temos um multigrafo pois as arestas a1 e a4 possuem os mesmos vrtices. O mesmo acontece com as arestas a5, a7 e a8.

Figura 9: Multigrafo.
9

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.7. GRAU
O grau de um vrtice a quantidade de vrtices adjacentes a ele. Dizemos que um grafo regular de grau quando todos os vrtices possuem o mesmo grau. Um grafo regular de grau N possui (V * N)/2 arestas, onde V a quantidade de vrtices. Na figura 10, temos um grafo regular de grau com 12 arestas, ou seja, (8*3)/2.

Figura 10: Grafo Regular de Grau 3 Um vrtice de grau zero chamado de isolado. O grau mximo de um grafo, denominado de delta, o grau do maior vrtice do grafo. Um grafo regular de grau 3 chamado de grafo cbico.

1.2.8. CAMINHO
O caminho uma seqncia de vrtices, onde um vrtice e seu sucessor na seqncia possuem uma aresta ligando-os. O anlogo de sucessor o antecessor. Se existe um caminho entre dois vrtices v1 e v2, dizemos que v1 alcana ou atinge v2 e vice-versa. Na figura 10, temos o seguinte exemplo de caminho: v1, v2, v6, v3, v7 e v8. Esse caminho representado pelas arestas: a2, a12, a8, a6, a7. Evidentemente, a figura 10 possui muitos outros caminhos que podem ser exemplificados. A quantidade de arestas chamada de comprimento do caminho. No exemplo dado, o caminho tem comprimento igual a 5 (cinco). Se todos os vrtices do caminho forem distintos, esse caminho recebe o nome de caminho simples ou elementar. Se todas as arestas forem distintas, esse caminho chamado de trajeto ou trilha. O caminho dito mpar se tiver comprimento mpar e par e se tiver comprimento par. chamado de caminho hamiltoniano, o caminho simples entre todos os vrtices de um grafo. chamado de caminho euleriano, o trajeto que contm todas as arestas de um grafo. Alguns autores trazem o termo caminho pr-hamiltoniano e pr-euleriano, que possui os mesmos conceitos respectivamente, sem a restrio de unicidade.

1.2.9. DISTNCIA
A distncia entre dois vrtices de um grafo o menor comprimento dos caminhos entre esses dois vrtices. Por exemplo, na figura 10, existem vrios caminhos que ligam v4 a v6, porm, o menor caminho entre eles, ou seja, distncia, o caminho v4 v2 v6 (distncia = 2). Exemplo de outros caminhos que ligam v4 e v6: v4 v8 v7 v6 (trs arestas caminho mpar); v4 v1 v5 v8 v7 v6 (cinco arestas caminho mpar); v4 v1 v5 v3 v6 (quatro arestas caminho par);
10

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.10.CICLO
Um ciclo um caminho que inicia e termina em um mesmo vrtice. Na figura 10, podemos exemplificar um ciclo, com o caminho: v1 v5 v3 v6 v2 v1. Se todos os vrtices do ciclo forem distintos, dizemos que o ciclo simples ou elementar. Um grafo que no possui ciclo chamado de acclico. O menor ciclo do grafo chamado de cintura e o maior ciclo chamado de circunferncia. Um grafo uma gaiola se for regular em grau e possuir uma cintura. Uma aresta que une dois vrtices no consecutivos de um ciclo chamada de corda. Na figura 12.a, temos o ciclo v1 v2 v5 v6 v4 v3 v1, nele, podemos identificar as cordas: a8, que une v2 e v3 e a7, que une v5 e v4. chamado de ciclo hamiltoniano, o ciclo simples entre todos os vrtices de um grafo. chamado de ciclo euleriano, o ciclo do trajeto que contm todas as arestas de um grafo. Um grafo, que contm um caminho euleriano e no possui um ciclo euleriano, chamado de unicursal.

1.2.11.CONEXO
Um grafo G conexo se e somente se, existir um caminho entre todos os pares de vrtices do grafo G. Caso algum vrtice de G no tenha caminho com algum outro vrtice de G, chamamos esse grafo de desconexo. A figura 10 mostra um grafo conexo, enquanto que a figura 11 mostra um grafo desconexo, por no existir, por exemplo, caminho entre o vrtice v4 e o vrtice v6. Neste caso, dizemos que v4 inalcanvel, em relao a v6. Teorema 01: Um grafo G conexo possui ciclo euleriano se e somente se todos os vrtices de G possurem grau par.

Figura 11: Grafo Desconexo

Seja G(V, E) um grafo, E, denota-se G o grafo obtido pela excluso (subtrao) da aresta do grafo G. Da mesma forma, v V, denota-se G v o grafo obtido pela excluso do vrtice v do grafo G. Tambm possvel realizar operao para incluso (adio) de elementos, com isso, a notao G + , significa a adio da aresta no grafo G e G + v a incluso do vrtice v no grafo G.

1.2.12.EXCLUSO E INCLUSO DE ELEMENTOS

11

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 12: Operaes sobre grafos A operao de excluso de um vrtice, automaticamente exclui todas as arestas a ele associadas, visto que uma aresta s existe se seus vrtices extremos existirem. A incluso de um vrtice, no necessariamente, obriga a incluso de uma nova aresta, pois podem existir elementos desconexos.

1.2.13.SUBGRAFO, GRAFO PARCIAL e SUPERGRAFO


Um subgrafo de um grafo G o grafo formado pela subtrao de um ou mais vrtices de G, sendo que o subgrafo deve ter, no mnimo, um vrtice. Um exemplo de subgrafo a figura 12(c), que subgrafo do grafo G, presente na figura 12 (a). Em algumas literaturas, encontraremos o termo subgrafo induzido pelo conjunto X, sendo X o conjunto de vrtices excludos do grafo original. Chamamos de grafo parcial (ou subgrafo gerador) de G, um grafo formado pela subtrao de arestas do grafo G. Um exemplo de grafo parcial a figura 12(b), que grafo parcial do grafo G, presente na figura 12(a). O grafo que deu origem a um subgrafo S ou a um grafo parcial P chamado de supergrafo de S ou de P respectivamente. Dizemos que um subgrafo prprio quando ele possui, pelo menos um vrtice ou aresta a menos que seu supergrafo, ou seja, um subgrafo no prprio quando exatamente igual a seu supergrafo.

1.2.14.TAMANHO
O tamanho de um grafo dado pela quantidade de vrtices e arestas do mesmo. Por exemplo, o grafo da figura 12.a tem tamanho igual a 6,8, ou seja, possui seis vrtices e oito arestas. A quantidade de vrtices de um grafo chamada de cardinalidade do grafo.

12

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.15.MAXIMAL E MINIMAL
Um subgrafo S, de um grafo G, dito maximal em relao a uma certa propriedade P, como por exemplo ser conexo, se S tem a propriedade P, mas nenhum supergrafo prprio de S, subgrafo de G, tem a propriedade P. Por exemplo, dizer que S um subgrafo conexo maximal de G equivale a dizer que S um subgrafo conexo de G e alm disso, no existe nenhum supergrafo prprio de S que seja um subgrafo prprio conexo de G. Note que, nada impede que G tenha um outro subgrafo conexo de tamanho maior ou igual ao de S.

Figura 13: Um grafo G e subgrafo de G

Para melhorar o exemplo, vejamos a figura 13. Pergunta: Existe algum subgrafo prprio de G, com todas suas arestas, que seja conexo e que contenha S? Resposta: No, portanto, S subgrafo conexo maximal de G. De maneira anloga, um subgrafo S, de grafo G dito minimal em relao a uma certa propriedade P, como por exemplo ser conexo, se G e S tem a propriedade P, mas nenhum subgrafo prprio de S tem a propriedade P. Em relao a ser conexo, apenas o grafo trivial minimal de um grafo qualquer.

1.2.16.COMPONENTES CONEXOS
Chamamos que componentes conexos de G a quantidade de subgrafos maximais de G, que sejam conexos. Por exemplo, o grafo da figura 14.a, possui trs componentes conexos. Esses componentes conexos so mostrados na figura 14.b.

13

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 14: Grafo G e seus componentes conexos

1.2.17.COMPLETO
Um grafo G completo, se e somente se, para qualquer par de vrtices distintos de G, existe uma aresta ligando-os. Exemplo: O grafo da figura 14.a completo. Denomina-se k-conexo ou k-regular, um grafo completo com uma quantidade k de vrtices. Exemplo: o grafo completo da figura 14.a 3-conexo. Essa notao pode ser encontrada na forma K3.Um grafo KN, possui vrtices. Obs.: = binmio de Newton

1.2.18.COMPLEMENTO
O complemento de um grafo G um grafo G, onde G possui exatamente os mesmos vrtices de G, porm, possui todas as arestas que no esto presentes em G, sendo que nenhuma aresta de G igual a uma aresta de G.

Figura 15: Um grafo e seu complemento

14

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.19.BIPARTIDO
Um grafo chamado de bipartido quando seu conjunto de vrtices V pode ser dividido em dois subconjuntos distintos V1 e V2, tais que todas as arestas do grafo, possuam, em suas extremidades, um vrtice de cada subconjunto. Isto significa que o grafo bipartido no pode conter uma aresta que ligue dois vrtices de um mesmo subconjunto. Teorema 02: Um grafo bipartido se e somente se todo ciclo de G possuir comprimento par. Chamamos de grafo bipartido completo, o grafo bipartido que possua uma aresta entre cada par qualquer de vrtices de V1 e V2. O grafo bipartido completo denotado por KN1,N2, onde N1 a quantidade de vrtices do subconjunto V1 e N2 a quantidade de vrtices do subconjunto V2.

Figura 16: Um grafo bipartido e o grafo bipartido completo K3,2 O grafo K1,3 conhecido como Garra. Um conjunto de vrtices qualquer de um grafo G, que no possua arestas ligando os membros deste conjunto, chamado de conjunto estvel de vrtices de G. Um grafo bipartido dito balanceado se a quantidade vrtices de seus conjuntos forem iguais.

1.2.20.CLIQUE
O clique, de um grafo G, um subgrafo de G que seja completo. Na figura 13.a temos um grafo e os vrtices v1, v4 e v5 formam um clique desse grafo. Em contra partida, temos o conjunto independente de vrtices, que um subgrafo de G totalmente desconexo, ou seja, um subgrafo formado apenas de grafos triviais, sem nenhuma aresta.

1.2.21.COBERTURAS
Pode existir cobertura de vrtices ou de arestas. A cobertura de vrtices de um grafo G, um conjunto de vrtices V, onde cada aresta de G possui, ao menos, uma extremidade no conjunto V. Como exemplo, vejamos o grafo da figura 10. Uma cobertura de vrtices desse

15

APOSTILA DE GRAFOS

Prof. TENORIO

grafo o conjunto {v2, v3, v4, v5, v7}. O valor da menor cobertura de vrtices de G denominado nmero de cobertura de vrtices do grafo. A cobertura de arestas de um grafo G, um conjunto de arestas E, onde cada vrtice de G incide em, ao menos, uma das arestas de E. Como exemplo, vejamos o grafo da figura 10. Uma cobertura de arestas desse grafo o conjunto {a3, a5, a7, a12}. O valor da menor cobertura de arestas de G denominado nmero de cobertura de arestas do grafo.

1.2.22.RTULO E VALORAO
Um rtulo uma cadeia de caracteres ou nmero que identifica um vrtice ou uma aresta. Um grafo dito rotulado, se todos os seus vrtices e/ou arestas possurem um rtulo. Os rtulos de um grafo formam o conjunto de rtulos do grafo. Vejamos a figura 17.

Figura 17: Grafo dos estados do Brasil Na figura 17, temos o grafo dos estados do Brasil, onde cada vrtice um dos estados da Repblica Federativa do Brasil e dois vrtices so adjacentes se os estados que representam possurem uma fronteira comum. Este um exemplo de grafo rotulado, onde o conjunto de rtulos do grafo o conjunto {RR, AP, AM, AC, RO, PA, MT, TO, MA, PI, CE, RN, PB, PE, AL, SE, BA, GO, MS, MG, ES, RJ, SP, PR, SC, RS}. Um grafo dito valorado, se seus rtulos forem numricos e esses nmeros pertencerem a um conjunto devidamente especificado. Como exemplo, vamos vejamos o grafo da figura 18. o grafo dos estados do nordeste brasileiro, onde cada vrtice representa um estado e dois vrtices so adjacentes se os estados que representam possurem uma fronteira comum. Esse grafo rotulado, sendo que os rtulos das arestas representam a distncia entre as capitais dos estados que esto nas extremidades dessas arestas, ou seja, os rtulos das arestas so especificados pela distncia real entre as capitais dos estados, isto significa que o grafo da figura 18 valorado.

16

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 18: Grafo valorado dos estados do nordeste do Brasil definido como Caminho de Valor Mximo, o caminho elementar entre dois vrtices, em um grafo valorado, onde a soma do valor das arestas o mximo possvel. Como exemplo, na figura 18, temos o caminho de valor mximo entre MA e BA, igual a MA PI CE RN PB PE AL SE BA. definido como Caminho de Valor Mnimo, o caminho elementar entre dois vrtices, em um grafo valorado, onde a soma do valor das arestas o mnimo possvel. Como exemplo, na figura 18, temos o caminho de valor mnimo entre MA e BA, igual a MA PI BA.

1.2.23.ALTAMENTE IRREGULARES
Um grafo chamado de altamente irregular se cada um dos vrtices do grafo adjacente, apenas, a vrtices de graus diferentes do seu. O grafo da figura 13.b altamente irregular.

1.2.24.RVORES
Um grafo acclico conexo chamado de rvore. Se G uma rvore, um vrtice de G com grau menor ou igual a 1 chamado de folha. Um vrtice com grau maior que um chamado de vrtice interior. Um conjunto de rvores denominado de floresta, ou seja, todo grafo acclico uma floresta. Toda rvore com n vrtices, possui exatamente n-1 arestas. O grafo da figura 19 uma rvore com seis vrtices, portanto, com cinco arestas. Teorema 03: Um grafo G uma rvore se e somente se existir um nico caminho entre cada par de vrtices de G.

17

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 19: Exemplo de rvore Teorema 04: Seja G (V, E) um grafo. As possveis afirmativas so equivalentes: (i) G uma rvore; (ii) G conexo e |E| mnimo; (iii) G conexo e |E| = |V| 1; (iv) G acclico e |E| = |V| 1; (v) G acclico e para todo v, w V, a adio da aresta (v,w) produz um grafo contendo exatamente um ciclo.

1.2.25.EXCENTRICIDADE E CENTRO
Em um grafo G(V, E), a excentricidade (ou afastamento) de um vrtice v V o valor da distncia mxima entre v e w, para todo w V. O centro de um grafo G o subconjunto dos vrtices de excentricidade mnima. Na figura 20.a temos um grafo e na figura 20.b s excentricidades dos vrtices do grafo da figura 20.a.

Figura 20: Um grafo e a excentricidade de seus vrtices O centro do grafo da figura 20.a formado pelo conjunto de vrtices {v1, v3, v4}. O centro de um grafo pode possuir, no mnimo, um vrtice e no mximo, n vrtices, onde n a quantidade total de vrtices do grafo. O centro de uma rvore possui, no mximo, dois vrtices.

18

APOSTILA DE GRAFOS

Prof. TENORIO

A menor excentricidade de um grafo chamada de raio do grafo, e a maior, chamada de dimetro do grafo. Um vrtice perifrico o vrtice cuja excentricidade igual ao dimetro do grafo. O vrtice mediano ou centride aquele cuja soma das distncias para os demais vrtices de um grafo G, mnima. Lema 01: Seja G uma rvore com pelo menos trs vrtices. Seja G a rvore obtida de G pela excluso de todas as suas folhas. Ento G e G possuem o mesmo centro. Teorema 05: O centro de uma rvore G possui um ou dois vrtices. Se um subgrafo gerador de um grafo G for uma rvore, denominamos esse subgrafo gerador de rvore geradora ou rvore de espalhamento. Todo grafo G conexo possui uma rvore geradora. Caso o grafo G no seja conexo, dizemos que possui uma floresta geradora. Na figura 21 temos um grafo e uma de suas rvores geradoras.

1.2.26.ELO
Seja G (V, E) um grafo conexo e T (V, E) uma rvore geradora de G. Uma aresta que pertena a G e no pertena a T denominada de elo de G em relao a T. O total de elos de um grafo denominado posto do grafo e calculado pela equao m n + 1, onde m a quantidade de arestas do grafo e n a quantidade de vrtices desse grafo.

Figura 21: Um grafo G e uma de suas rvores geradoras Na figura 21, temos um grafo e uma de suas rvores geradoras, neste caso, as arestas a6 e a7 so elos do grafo da figura 21.a, sendo 2 (arestas vrtices + 1 = 7 6 + 1) o posto do grafo.

1.2.27.CICLO FUNDAMENTAL
O ciclo fundamental de um grafo G formado pela adio de um nico elo de G, em uma de suas rvores geradoras. Chamamos de conjunto fundamental de ciclos, o conjunto de todos os ciclos fundamentais de G, em relao a uma de suas rvores geradoras. No grafo da figura 21.a, temos um grafo que possui dois ciclos fundamentais, em relao a sua rvore geradora presente na figura 21.b.

19

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.28.RVORES ENRAIZADAS
Uma rvore denominada enraizada (que possui arborescncia), quando um de seus vrtices escolhido como inicial da rvore. Este vrtice inicial ento chamado de raiz da rvore. Uma rvore sem raiz denominada rvore livre. Em rvores enraizadas, se a ordenao dos filhos for relevante, ou seja, a ordenao tenha que existir, ento dizemos que a rvore uma rvore enraizada ordenada. rvores enraizadas ordenadas isomrficas devem preservar a ordem de seus filhos, caso contrrio, no sero isomrficas, mesmo que preservem os mesmos vrtices e arestas da rvore inicial.

1.2.29.NVEL EM RVORES
Em rvores enraizadas, possvel determinar nveis para cada um dos vrtices da rvore. Assim, dizemos que a raiz est no nvel zero. Os vrtices, adjacentes a raiz, esto no nvel um. Os vrtices cuja distncia at a raiz for igual a duas arestas, esto no nvel dois, e assim por diante. A figura 22 ilustra uma rvore e os nveis de seus vrtices.

Figura 22: Uma rvore enraizada e os nveis de seus vrtices Dessa forma, supondo v e w dois vrtices de uma rvore enraizada G, se v pertence ao caminho entre a raiz e w, dizemos que o vrtice v ancestral de w e w descendente de v. Se ainda v w, ento dizemos que v ancestral prprio de w e w descendente prprio de v. Como exemplo, observamos a figura 22, nela temos o vrtice v2 que ancestral de v9. Automaticamente, v9 descendente de v2. A raiz ancestral de todos os vrtices. Caso v seja ancestral prprio de w e exista uma aresta entre v e w, dizemos que v pai de w e w filho de v. Como exemplo, vejamos a figura 22, nela o vrtice v6 pai do vrtice v10 e o vrtice v10 filho do vrtice v6. Dois vrtices com o mesmo pai so chamados de irmos. Uma folha um vrtice que no possui filhos. A altura de uma rvore igual ao valor do maior nvel da rvore. A rvore da figura 22 possui uma altura igual a trs.
20

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.30.SUBRVORE
Uma subrvore de uma rvore G, denotada por G, e uma rvore formada por um vrtice v de G, e todos os descendentes de v em G, sendo v diferente da raiz de G. Caso algum vrtice de G, descente de v, no pertena a G conexo, dizemos ento que G uma subrvore parcial de G. Na figura 23.a temos uma subrvore da rvore constante na figura 22. Na figura 23.b, uma subrvore parcial da mesma rvore.

Figura 23: Uma subrvore e uma subrvore parcial do grafo da figura 22.

1.2.31.RVORE ESTRITAMENTE M-RIA


Uma rvore estritamente m-ria G, uma rvore enraizada ordenada, em que cada vrtice no folha, possui exatamente m filhos, onde m 1. Quando m = 2, dizemos que a rvore estritamente binria. Seja G, uma rvore estritamente m-ria rotulada, cujos rtulos so, exatamente, sua posio na ordenao da rvore. Chamamos simplesmente de rvore m-ria, uma subrvore ou uma subrvore parcial dessa rvore G.

Figura 24: Uma rvore binria Como exemplo de rvore m-ria, temos a rvore binria da figura 24, nela, podemos identificar o filho esquerdo e direito de cada vrtice. Como a subrvore pode ser parcial, o filho esquerdo pode existir sem o direito e vice-versa. No exemplo da figura 24, os rtulos de
21

APOSTILA DE GRAFOS

Prof. TENORIO

cada vrtice so compostos de dois valores, o primeiro identifica o nvel do vrtice e o segundo, sua ordem na rvore, assim, podemos dizer que o vrtice 36, o sexto vrtice do nvel trs. Isto significa que, com certeza, ele o filho direito do terceiro vrtice do nvel dois. Se excluirmos os vrtices 33 e 36 da rvore da figura 24, a rvore passa a ser estritamente binria.

1.2.32.CORTE DE VRTICE
Um corte de vrtice de G um subconjunto minimal de vrtices, cuja remoo de qualquer vrtice desse conjunto, desconecta G. Na figura 21.b, a remoo do vrtice v3, desconecta v5 do restante do grafo, tornando-o desconexo, portanto v3 faz parte do corte de vrtice do grafo da figura 21.b. Analogicamente, um corte de arestas um subconjunto minimal de arestas, cuja remoo de qualquer aresta desse conjunto, desconecta G. Na figura 21.b, a remoo da aresta a3 desconecta o grafo, portanto a3 faz parte do corte de arestas do grafo da figura 21.b. No grafo da figura 25, podemos facilmente identificar o corte de vrtice e de aresta. O corte de vrtice pode ser composto pelo vrtice v2 ou pelo vrtice v6 e o corte de arestas, pode ser composto pelos conjuntos: {a4}, {a1, a3}, {a5, a6}, etc.

Figura 25: Um grafo conexo Neste caso, por exemplo, o conjunto {a1, a3} um corte de arestas do grafo da figura 25, pois juntos desconectam o grafo, mas isolados, no conseguem faz-lo. Denomina-se conectividade de vrtices, a quantidade de elementos (cardinalidade) do menor corte de vrtices de G. No grafo da figura 25, a conectividade de vrtices igual a 1. Denomina-se conectividade de arestas, a quantidade de elementos (cardinalidade) do menor corte de arestas de G. No grafo da figura 25, a conectividade de arestas igual a 1. Se G for um grafo completo Kn, com n > 1, ento no existe subconjunto prprio de vrtices que desconecte G.

1.2.33.ARTICULAO E PONTE
Uma articulao de um grafo G (V, E) conexo um vrtice de G, que quando removido, torna G desconexo. Na figura 25, o vrtice v2 uma articulao do grafo representado na figura. Uma ponte (ou istmo) de um grafo G (V, E) conexo uma aresta de G, que quando removida, torna G desconexo. Na figura 25, a aresta a4 uma ponte do grafo representado na figura. Dessa forma, podemos definir um grafo biconexo em vrtices quando, no grafo, no possuir articulaes e biconexo em arestas, quando no possuir pontes. Quando o grafo no possui articulaes, comum o uso do termo SCAM (SubConjunto de Articulao Minimal), que o conjunto mnimo de vrtices capaz de tornar o grafo desconexo.

22

APOSTILA DE GRAFOS

Prof. TENORIO

A extraconectividade k de um grafo G a menor quantidade (cardinalidade) de um SCA (subconjunto de articulao), cujas componentes conexas criadas a partir da excluso do SCA, possuem uma quantidade de vrtices maior que k. Denominam-se componentes biconexos de um grafo G, os subgrafos maximais de G, que sejam biconexos em vrtices ou isomorfos a K2. Denomina-se bloco de um grafo G, todo subgrafo 2-conexo maximal de G. Lema 02: Seja G um grafo. Ento: (i) Cada aresta de G pertence a exatamente um bloco do grafo; (ii) Um vrtice v de G articulao se e somente se v pertencer a mais de um bloco de G. Lema 03: Seja G (V, E) um grafo conexo, com |V| > 2. Ento: (i) Um vrtice v do grafo articulao de G se e somente se existirem, no grafo, vrtices w, u v tais que v est contido em todo caminho entre w e u em G. (ii) Uma aresta (p, q) de G ponte se e somente se (p, q) for o nico caminho simples entre p e q em G. Lema 04: Um grafo G (V, E), com |V| > 2, biconexo se e somente se cada par de vrtices de G est contido em algum ciclo. Teorema 06: Seja G um grafo k-conexo, ento existe algum ciclo de G passando por cada subconjunto de k vrtices. Teorema 07: Um grafo G(V, E) k-conexo, se e somente se existissem k caminhos disjuntos (exceto nos extremos) entre cada par de vrtices de G.

1.2.34.PLANARIDADE
Um grafo planar se puder ser escrito em um plano sem o cruzamento de arestas, com exceo nos vrtices. Na figura 26, temos um exemplo de grafo planar.

Figura 26: Grafo planar Dizemos que o grafo imersvel em uma superfcie S, se puder ser escrito em S sem cruzar suas arestas. Um grafo que no pode ser desenhado em um plano chamado de no planar.
23

APOSTILA DE GRAFOS

Prof. TENORIO

Se qualquer adio de arestas, o grafo passar a ser no planar, dizemos que o grafo planar maximal. Todo grafo planar possui uma representao planar (ou topolgica). A representao planar de um grafo o seu desenho utilizando-se apenas de linhas retas. Na figura 27, podemos verificar a representao planar do grafo da figura 26.

Figura 27: Representao planar do grafo da figura 26

1.2.35.FACES
As faces de um grafo planar so as regies divididas pelas arestas do grafo. Dentro deste conceito, sempre vai existir uma e somente uma face no limitada pelas arestas do grafo, a essa face, damos o nome de face externa (permetro do grafo). As fases de um grafo s podero ser destacadas se o mesmo tiver sido escrito sem o cruzamento de suas arestas.

Figura 28: Grafo planar com suas faces identificadas Na figura 28, podemos observar um grafo planar e as suas quatro faces, identificadas por Rn. A face R4 a face externa. Um grafo chamado de periplanar ou planar exterior se for planar e todos os seus vrtices estiverem na fronteira da fase externa. O grafo da figura 28 no periplanar, pois o vrtice v1 no faz fronteira com a face externa do grafo. Teorema 08: Seja G um grafo planar, ento n + f = m + 2, onde n a quantidade de vrtices, f a quantidade de faces e m a quantidade de arestas. O teorema 08 conhecido como frmula de Euler para poliedros.
24

APOSTILA DE GRAFOS

Prof. TENORIO

Lema 05: Seja G um grafo planar, ento m 3 n 6, onde n a quantidade de vrtices e m a quantidade de arestas. Lema 06: Os grafos K5 e K3,3 no so planares.

1.2.36.SUBDIVISO
A subdiviso de uma aresta (v, w) de um grafo G uma operao que transforma a aresta em um caminho do tipo v, z1, z2, z3, z4, ..., zn, w, onde z so vrtices de grau 2, adicionados a G.

Figura 29: Um grafo e a subdiviso de uma de suas arestas Na figura 29, vemos um grafo G e a aresta a2 de G, subdividida por seis vrtices de grau 2. Teorema 09: Um grafo planar se e somente se no contiver, como subgrafo, uma subdiviso de K5 ou K3,3.

1.2.37.CICLO HAMILTONIANO
Um grafo hamiltoniano um grafo que possui um ciclo hamiltoniano. Um ciclo hamiltoniano um ciclo que contenha, uma nica vez (com exceo do fechamento do ciclo), todos os vrtices do grafo. Todo grafo hamiltoniano biconexo em vrtices, porm, nem todo grafo biconexo em vrtices hamiltoniano. Na figura 30.a, podemos observar um grafo hamiltoniano, que possui o ciclo hamiltoniano v1, v5, v8, v7, v6, v3, v4, v2, v1. Na figura 30.b, mostrado um grafo biconexo em vrtices que no possui nenhum ciclo hamiltoniano. No existe um algoritmo satisfatrio que indique que um grafo possui ou no um ciclo hamiltoniano. Teorema 10: Seja G(V, E) um grafo hamiltoniano e S um subconjunto prprio de V, ento o nmero de componentes conexos de G S |S|, onde |S| a quantidade de vrtices de S. Teorema 11: Seja G(V, E) um grafo com pelo menos 3 vrtices e tal que o grau (v) n / 2, para todo vrtice v V, ento G hamiltoniano.

25

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 30: Um grafo hamiltoniano e um grafo biconexo no hamiltoniano

1.2.38.COLORAO
A colorao de um grafo G a atribuio de uma quantidade de cores diferentes para cada vrtice de G, de tal modo que dois vrtices adjacentes no possuam a mesma cor. Chamamos de k-colorao de G, uma colocao do grafo com k cores, diz-se ento que G kcolorvel. Por exemplo, um grafo bicolorvel, aquele que pode receber uma colorao com apenas duas cores. Denomina-se nmero cromtico de um grafo G ao menor nmero de cores k, para o qual existe uma k-colorao de G. Uma colorao que utiliza a quantidade mnima de cores chamada de mnima. Colorir um grafo fcil, basta colocar uma cor diferente a cada vrtice do grafo, o que j garante que dois vrtices adjacentes no tero a mesma cor. O difcil encontrar a colorao mnima do grafo. Na figura 31, podemos ver o mapa de Portugal com todas as suas regies, o grafo que representa esse mapa, onde cada vrtice uma regio e regies fronteirias so adjacentes no grafo e a sua colorao mnima. Neste caso, o nmero cromtico do grafo igual a 3. Teorema 12: Todo grafo planar, possui, no mximo, nmero cromtico igual a 4. Lema 07: Um grafo G(V, E) bicolorvel se e somente se for bipartido.

26

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 31: Grafo das regies de Portugal

1.2.39.K-CRTICO
Um grafo G denominado de k-crtico quando seu nmero cromtico for igual a k e todo subgrafo prprio de G tem nmero cromtico menor que k. Todo grafo possui um subgrafo kcrtico e todo grafo k-crtico conexo. O grafo da figura 14.a 3-crtico. Teorema 13: Se G(V, E) k-crtico, ento grau (v) k 1, para todo v V.

1.2.40.COLORAO DE ARESTAS
De maneira anloga a colorao de vrtices, a colorao de arestas visa colorir as arestas de maneira que duas arestas adjacentes tenham cores distintas. Denominamos de k-colorao de arestas, se k cores foram utilizadas com essa restrio. O menor valor possvel de k, para um grafo G, chamado de ndice cromtico. Teorema 14: O ndice cromtico de um grafo igual a delta ou a delta+1 (onde delta o grau mximo do grafo). Grafos com ndice cromtico igual a delta so classificados como Classe 1, os demais, so Classe 2. Uma colorao dita harmoniosa, se o grafo G for colorido em vrtices e arestas e cada aresta possui uma cor diferente de todas as demais arestas e vrtices. O nmero cromtico harmonioso a quantidade mnima de cores para uma colorao harmoniosa em G.

1.2.41.EMPARELHAMENTO
Um emparelhamento M (matching ou acoplamento) de um grafo G(V, E) um conjunto de arestas onde todo vrtice de G incide em no mximo um elemento de M, ou seja, um vrtice de G no pode ser extremo de duas arestas distintas de um emparelhamento. Um lao no pode fazer parte de um emparelhamento porque incide duas vezes em um mesmo vrtice. Como exemplo, vejamos o grafo da figura 27, nele, so exemplos de emparelhamento os
27

APOSTILA DE GRAFOS

Prof. TENORIO

conjuntos {a2, a6} e {a3, a5}. Se um acoplamento envolver todos os vrtices do grafo, ento ele chamado de acoplamento perfeito.

1.2.42.CAMINHO ALTERNANTE
Seja M um emparelhamento qualquer. Um caminho M-alternante um caminho simples que alterna arestas em M e arestas que no esto em M. Um caminho M-aumentante um caminho M-alternante, onde os extremos no so arestas de M. Pela definio, podemos observar que um caminho M-aumentante necessariamente de comprimento mpar. Um ciclo M-alternante um ciclo formado por um caminho M-alternante de comprimento par. Um broto um ciclo mpar que um caminho M-alternante. O nico vrtice do broto que no faz parte de M chamado de base do broto e as arestas que compe o caminho alternante chamados de talo. Um cociclo o conjunto de arestas que compe um ciclo M-alternante ou um broto.

1.2.43.ARBORICIDADE
A arboricidade de vrtices de um grafo G o menor nmero de subconjuntos de vrtices nos quais se pode particionar um grafo, de tal forma que cada um deles induza um grafo sem ciclos. O grafo da figura 44 tem arboricidade de vrtices igual a 2, com os conjuntos {v1, v2, v3, v4, v6} e {v5}. A arboricidade de arestas de um grafo G o menor nmero de subconjuntos de arestas nos quais se pode particionar um grafo, de tal forma que cada um deles induza um grafo sem ciclos. O grafo da figura 27 tem arboricidade de arestas igual a 2, com os conjuntos {a2, a4, a6} e {a1, a3, a5}.

1.2.44.DGRAFO
Os grafos mostrados at o momento so chamados de grafos no direcionados, pois, se uma aresta (v, w) pertence a G, ento v adjacente de w e w adjacente de v. Um grafo direcionado, mais conhecido como dgrafo, um grafo onde as arestas so pares ordenados, ou seja, a aresta (v, w) diferente da aresta (w, v). Dessa forma, uma aresta (v, w) divergente de v (incidncia exterior da aresta em v) e convergente a w (incidncia interior da aresta em w). Os conceitos estudados at agora tambm servem, de forma anloga, aos dgrafos (exemplo: caminho simples, trajeto, etc.), porm, alguns sofrem ligeiras modificaes, como por exemplo, os dgrafos podem possuir um circuito (ciclo em dgrafos) de comprimento 2, no caso de ambas as arestas (v, w) e (w, v) pertencerem a esse dgrafo. A figura 32 ilustra um dgrafo. No dgrafo da figura 32, podemos perceber a diferena de um grafo normal e um dgrafo. Como exemplo desta afirmao, vejamos que existe um caminho entre v2 e v3: {a2, a3}, porm, no existe caminho entre v3 e v2. Um cocircuito um cociclo em dgrafos, onde o grau de entrada ou de sada igual a zero.

28

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 32: Um dgrafo

1.2.45.GRAU DE ENTRADA E SADA


Denominamos de grau de entrada (ou semigrau exterior) de um vrtice v, a quantidade de arestas que chegam at v. Denominamos ainda de grau de sada (ou semigrau interior), a quantidade de arestas que partem de v. Como exemplo, observemos a figura 32, nela temos: Vrtices v1 v2 v3 v4 v5 Grau de Entrada Grau de Sada 1 2 0 2 2 0 1 1 1 0

1.2.46.FONTE E SUMIDOURO
Uma fonte de um dgrafo um vrtice cujo grau de entrada igual zero. Um sumidouro (ou poo) de um dgrafo um vrtice cujo grau de sada igual a zero. Na figura 32, o vrtice v2 uma fonte e o vrtice v3 um sumidouro, por exemplo.

1.2.47.SUBJACENTE
Se forem retiradas as direes das arestas de um dgrafo D, obtm-se um multigrafo no direcionado, chamado de grafo subjacente a D. Um grafo no direcionado pode ser subjacente a at 2m dgrafos, onde m a quantidade de arestas.

1.2.48.FORAS DE CONEXO
Um dgrafo D(V, E) fortemente conexo (ou f-conexo) quando para todo vrtice v, w V, existir um caminho em D de v para w e de w para v. Caso exista, ao menos, um desses caminhos, para todo v, w V, ento D unilateralmente conexo (ou semi-fortemente conexo, ou ainda sf-conexo). D chamado de fracamente conexo (ou simplesmente conexo /

29

APOSTILA DE GRAFOS

Prof. TENORIO

s-conexo) se seu grafo subjacente for conexo. D chamado de desconexo se seu grafo subjacente for desconexo. Com esse conceito, faz-se existir as categorias de conectividade. Diz-se ento que um dgrafo: pertence a categoria C3, se for fortemente conexo; pertence a categoria C2, se for unilateralmente conexo e no for fortemente conexo; pertence a categoria C1, se for simplesmente conexo e no for unilateralmente conexo; pertence a categoria C0, se for desconexo. Obviamente, todo grafo fortemente conexo unilateralmente conexo e simplesmente conexo, porm, nem todo grafo unilateralmente conexo fortemente conexo. Todo grafo unilateralmente conexo simplesmente conexo, porm, nem todo grafo simplesmente conexo unilateralmente conexo. Se existir algum caminho em um dgrafo D de um vrtice v, para um vrtice w, ento diz-se que v alcana ou atinge w, sendo este alcanvel ou atingvel por v. Na figura 33 podemos ver exemplos de dgrafos. No dgrafo da figura 33.a, de qualquer vrtice possvel alcanar qualquer outro vrtice, portanto este dgrafo fortemente conexo. No dgrafo da figura 33.b, partindo de v3, possvel alcanar ou atingir qualquer outro vrtice, porm, essa afirmao no se repete para os demais vrtices, portanto, este dgrafo unilateralmente conexo. No dgrafo da figura 33.c, partindo de qualquer vrtice, impossvel atingir todos os outros vrtices, portanto, este dgrafo apenas fracamente conexo. Em um dgrafo com fontes e sumidouros, se forem acrescentadas arestas (arestas de retorno) ligando cada um dos sumidouros a cada uma das fontes, e esta operao tornar o grafo fortemente conexo, dizemos que o grafo est em sua forma cannica.

Figura 33: Dgrafos e suas foras de conexo

30

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.49.DGRAFOS ACCLICOS
Um dgrafo acclico quando no possuir ciclos. Um dgrafo acclico pode ter um grafo subjacente acclico ou cclico, porm, se o grafo subjacente for acclico, o seu dgrafo tambm o ser. O dgrafo da figura 32 acclico e possui um grafo subjacente cclico. Lema 08: Todo dgrafo acclico possui, pelo menos, uma fonte e um sumidouro.

1.2.50.FECHO TRANSITIVO E REDUO TRANSITIVA


Seja D(V, E) um dgrafo acclico. Denomina-se fechamento transitivo de D, ao maior dgrafo D(V, E) que preserva a alcanabilidade de D, ou seja, para todo v, w V, se v alcana w em D, ento a aresta (v, w) E. Denomina-se reduo transitiva de D, ao menor dgrafo D(V, E) que preserva a alcanabilidade de D, ou seja, se (v, w) E ento v no mais alcana w se retirarmos a aresta (v, w) de D. A reduo transitiva tambm conhecida como diagrama de Hasse. Na figura 34.a temos um exemplo de dgrafo. Na figura 34.b temos o fecho transitivo do dgrafo da figura 34.a e na figura 34.c temos a reduo transitiva do dgrafo da figura 34.a. Seja D(V, E) um dgrafo e v um vrtice de G. O fecho transitivo direto de um vrtice v o conjunto de vrtices de G atingveis a partir de v. O fecho transitivo inverso de um vrtice v o conjunto de vrtices de G que atingem v.

Figura 34: Um dgrafo, seu fecho transitivo e sua reduo transitiva.

31

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.51.ORDENAO PARCIAL
Um conjunto parcialmente ordenado ou ordenao parcial (S, ) um conjunto no vazio S e uma relao binria em S, satisfazendo s seguintes condies: (i) s1 s1, para s1 S ( reflexivo) (ii) s1 s2 e s2 s1 s1 = s2, para s1 e s2 S ( anti-simtrica) (iii) s1 s2 e s2 s3 s1 s3, para s1, s2 e s3 S ( transitiva)

Um conjunto parcialmente ordenado ou ordenao parcial (S, ) pode ser tambm caracterizado pelo par (S, <), onde < uma relao binria em S definida por: s1 < s2 s1 s2 e s1 s2 A relao < satisfaz: (i) s1 < s1, para s1 S (< irreflexivo) (ii) s1 < s2 s2 < s1, para s1 e s2 S (< assimtrica) (iii) s1 < s2 e s2 < s3 s1 < s3, para s1, s2 e s3 S (< transitiva) Agora seja D(V, E), o fecho transitivo de um dgrafo acclico D(V, E). Pode-se constatar que E uma relao irreflexiva, assimtrica e transitiva. Conseqentemente, fechamentos transitivos de dgrafos acclicos e conjuntos parcialmente ordenados so conceitos equivalentes, ou seja, P(S, <) caracteriza um conjunto parcialmente ordenado se e somente se o dgrafo D (S, <) for o fechamento transitivo de algum dgrafo acclico D. Diz-se ento que D induz o conjunto parcialmente ordenado P(S, <). Note que s1 < s2 em P se e somente se existir um caminho em D de s1 para s2. Utiliza-se ento a notao v < w para indicar que v alcana w no dgrafo acclico D(V, E), sendo v, w V.

1.2.52.RVORE DIRECIONADA ENRAIZADA


Uma rvore direcionada enraizada um dgrafo D, que possui um nico vrtice R, denominado de raiz, com grau de entrada igual a zero, e todos os demais vrtices tem grau de entrada igual a 1. Obviamente, D acclico com exatamente uma nica raiz. Assim, dizemos que D tem arborescncia. Podemos observar um exemplo de rvore direcionada enraizada na figura 35.

Figura 35: rvore direcionada enraizada.

32

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.53.OPERAES COM GRAFOS


Operaes so equaes feitas nos grafos. Algumas operaes no so aplicadas a dgrafos, outras so mais genricas. Algumas so aplicadas a apenas um grafo, essas so chamadas de unrias, outras so aplicadas a pares de grafos, a essas damos o nome de binrias. Nas operaes mostradas aqui, vamos considerar os grafos G1(V1, E1) e G2(V2, E2) operandos e G(V, E) o resultado.

1.2.53.1. UNIO (U) Dois grafos passam a ser um nico grafo. Vrtices iguais, passam a ser um nico vrtice.

Figura 36: Unio de dois grafos.

1.2.53.2. SOMA (+) Para todo vrtice de G1, cria-se uma aresta para todo vrtice de G2.

Figura 37: Soma de grafos

33

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.53.3. PRODUTO CARTESIANO (X) No produto cartesiano, cada vrtice de G1 combinado com um vrtice de G2, sendo cada vrtice de G um par ordenado. Os vrtices (v, w) e (p, q) so adjacentes se tiverem uma das seguintes condies: 1: v = p e (w, q) E2; 2: w = q e (v, p) E1;

Figura 38: Produto cartesiano em grafos

1.2.53.4. COMPOSIO OU PRODUTO LEXOGRFICO ( ) Na composio lexogrfica, cada vrtice de G1 combinado com um vrtice de G2, sendo cada vrtice de G um par ordenado. Os vrtices (v, w) e (p, q) so adjacentes se tiverem uma das seguintes condies: 1: (v, p) E1; 2: v = p e (w, q) E2;

Figura 39: Composio lexicogrfica em grafos

34

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.53.5. SOMA DE ARESTAS (++) Na soma de arestas, a condio V1 = V2 deve ser satisfeita. G um grafo que possui as arestas E1 e E2.

Figura 40: Soma de arestas em grafos

1.2.53.6. CONTRAO DE DOIS VRTICES Dois vrtices v, w de G se transformam em um nico vrtice. Qualquer ligao existente para um dos vrtices em separado ou para ambos existe para o vrtice combinado. Uma aresta (v, z) e uma aresta (w, z) viram uma nica aresta (vw, z) na contrao de x com w. Essa operao chamada de contrao em arestas. A contrao de vrtices uma operao unria e pode ser feita em dgrafos. Se sucessivas contraes forem feitas, a partir de uma regra especfica e prdeterminada, o resultado das contraes chamado de grafo reduzido.

Figura 41: Contrao de vrtices

35

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.53.7. DESDOBRAMENTO DE VRTICES Um vrtice do grafo se transforma em dois com uma aresta ligando-os. Esta operao unria e pode ser feita em dgrafos. Caso seja feita em dgrafos, o desdobramento no pode alterar a adjacncia do dgrafo.

Figura 42: Desdobramento do vrtice v3 em v7 e v6

1.2.53.8. INCLUSO OU INSERO a operao de se incluir um novo vrtice e/ou aresta em um grafo. O grafo resultante chamado de homeomorfo. uma operao unria e pode ser feira em dgrafos. A insero de apenas uma aresta chamada de religao. O inverso da incluso a remoo, que tambm pode ser de vrtices ou arestas.

Figura 43: Insero de vrtices e arestas

Para mais operaes, consultar a bibliografia contida no final deste escrito.

36

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.54.SUBCONJUNTOS ESTVEIS
Seja G(V, E) um grafo no orientado. Diz-se que S, subconjunto de V, um subconjunto internamente estvel (SCIE conjunto independente/dominante), se dois vrtices quaisquer de S nunca so adjacentes entre si.

Figura 44: Um grafo G. Para o grafo da figura 44, so exemplos de subconjunto internamente estvel os conjuntos: {v2, v3}, {v1, v4} e {v2, v3, v4}. Agora, se para um subconjunto internamente estvel S, no existir outro subconjunto internamente estvel S' tal que S' S, ento S um subconjunto internamente estvel maximal. Para o grafo da figura 44, so exemplos de subconjunto internamente estveis maximais os conjuntos: {v2, v3, v4}, {v1, v6} e {v4, v5} Seja D(V, E) um dgrafo. Diz-se que T, subconjunto de V, um subconjunto externamente estvel (SCEE conjunto absorvente) se todo vrtice que no pertencente a T tiver pelo menos um vrtice de T como sucessor. Agora, se dada um subconjunto externamente estvel S no existe outro subconjunto externamente estvel S' tal que S' S, ento S dito ser um subconjunto externamente estvel minimal.

Figura 45: Um dgrafo D No grafo da figura 45, so exemplos de subconjunto externamente estvel minimais os conjuntos: {v2, v4, v6} e {v1, v5, v3}. Este conceito tambm pode ser aplicado a grafos no orientados, bastando que consideremos que todo vrtice exterior a T deva ter como adjacente pelo menos um vrtice de T. O ncleo de um grafo um subconjunto de seus vrtices que sejam, simultaneamente, internamente e externamente estveis. Se o grafo contiver um SCAM e for SCIE conhecido como grafo frgil. Teorema 15: Todo ncleo , ao mesmo tempo, um SCIE maximal e um SCEE minimal. Teorema 16: Todo dgrafo, sem circuitos, possui um ncleo nico.
37

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.55.ESPESSURA
A espessura (thickness) de um grafo G o menor nmero de subgrafos planares, que no possuem arestas em comum (disjuntos em relao a arestas), cuja unio produz G. G s ser planar se sua espessura for, no mximo, igual a 1. A quantidade mnima da espessura de um grafo dada pela equao m / (3n 6), onde m a quantidade de arestas e n a quantidade de vrtices.

1.2.56.SIMETRIA
Um dgrafo D(V, E) dito simtrico se e somente se para toda aresta (v, w) em D, existir a aresta (w, v) em D. Um grafo no orientado sempre simtrico. Um dgrafo D(V, E) dito anti-simtrico se e somente se existir a aresta (v, w) em D e no existir a aresta (w, v) em D, para qualquer aresta de D. O dgrafo pseudo-simtrico quando todos os seus vrtices possurem grau de entrada igual ao seu grau de sada. Teorema 17: Um dgrafo conexo possui um circuito euleriano se e somente se for pseudosimtrico.

1.2.57.BASE E ANTI-BASE
Uma base de um dgrafo D(V, E) um subconjunto B de V, tal que: dois vrtices quaisquer de B no so ligados por nenhum caminho; todo vrtice no pertencente a B pode ser atingido por um caminho partindo de B. No exemplo da figura 46, temos um exemplo de base no conjunto B = {v1, v4} Uma anti-base de um dgrafo D(V, E) um subconjunto A de V, tal que: dois vrtices quaisquer de A no so ligados por nenhum caminho; de todo vrtice no pertencente a A, pode-se atingir A por algum caminho. No exemplo da figura 46, temos um exemplo de anti-base no conjunto {v3, v6, v8}

Figura 46: Um dgrafo

1.2.58.CONJUNTO FUNDAMENTAL E ANTI-FUNDAMENTAL


Um conjunto fundamental o fecho transitivo direto de um vrtice de uma base. Um vrtice, que define um conjunto fundamental, uma raiz do subgrafo induzido pelos vrtices desse conjunto. Um conjunto anti-fundamental o fecho transitivo inverso de um vrtice de uma anti-base.
38

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.59.GNERO
O gnero de um grafo o gnero da menor superfcie na qual o grafo imersvel. O gnero de uma superfcie a quantidade de furos (ou alas) que a superfcie possui. Por exemplo, um toro, mostrado na figura 47, uma superfcie de grau 1 pois possui um nico furo.

Figura 47: Um Toro

Um grafo planar, que imersvel em um plano, tem gnero igual a zero, pois o plano no possui furos. Os grafos K5 e K3,3, mostrados na figura 48, possuem gnero 1, pois no so imersveis no plano, mas so imersveis em um toro, pois a nica aresta que os torna no planares, pode passar pelo furo do toro.

Figura 48: Grafos de gnero igual a 1

39

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.60.TRIANGULAO
Uma triangulao um grafo planar conexo no qual todas as fases, exceto a face externa so compostas por exatamente trs arestas, ou seja, por tringulos. Uma triangulao pode ser vista na figura 49. Uma cpsula uma triangulao na qual o nmero de vrtices de grau 3 no adjacentes a face externa maior ou igual ao nmero de vrtices restantes. Teorema 18: Em um grafo planar maximal mais de 4 vrtices, o conjunto de vrtices de grau 3 um SCIE.

Figura 49: Uma triangulao Um tringulo separador, em uma triangulao, um tringulo que no seja fase. Um tringulo separador pode ser visto na figura 50, entre os vrtices v1, v2 e v4. Uma triangulao que no possui tringulos separadores chamada de NST-Triangulao. Todo grafo planar maximal, que seja uma triangulao e que no tenha um tringulo separador, possui ciclo hamiltoniano.

Figura 50: Uma triangulao com tringulo separador

40

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.61.DUAL
O grafo dual H, de um grafo G planar conexo, o grafo onde cada vrtice de H corresponde a uma fase de G e as arestas de H ligam os vrtices que representam faces fronteirias de G.

Figura 51: Um grafo e seu dual

1.2.62.GRAFOS PERFEITOS
Um grafo G dito perfeito se e somente se nem G, nem o complemento de G contiverem um ciclo mpar de comprimento maior que 3 como subgrafo. Um grafo criticamente imperfeito se no for perfeito, mas todos os seus subgrafos prprios forem perfeitos.

1.2.63.PANCCLICOS
Um grafo G pancclico se possuir ciclos de todos os comprimentos possveis a partir de 3, dentro de sua quantidade de vrtices. Por exemplo, um grafo com 5 vrtices para ser pancclico, precisa ter, pelo menos, um ciclo de tamanho 5, outro de tamanho 4 e outro de tamanho 3. Um grafo G pancclico em vrtices se cada vrtice pertencer a, pelo menos, um ciclo de cada tamanho. Um grafo G pancclico em arestas se cada aresta pertencer a, pelo menos, um ciclo de cada tamanho. Um grafo G fracamente pancclico se possuir um ciclo de cada tamanho, entre sua cintura e sua circunferncia.

41

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.64.TRAADO DE GRAFOS
Uma dificuldade que aparece ao se lidar com grafos est na desconexo entre um determinado nvel de contedo informativo presente nos esquemas e o restante desse contedo, comum a estes e a todas as outras formas de representao. Essa dificuldade fala da associao da estrutura representada no esquema de um grafo a algum suporte do mundo real. Um exemplo disso um mapa, onde os pontos ou regies possuem relaes de posio bem definidas, as quais desaparecem (embora permaneam seus dados quantitativos) ao se construir o modelo do grafo. O problema existe porque muitas representaes grficas, atravs da forma como so construdas, fazem apelo a percepo global que uma capacidade dos seres humanos e, simultaneamente essas representaes fazem sentido ao se processarem os modelos respectivos. O contedo acessvel percepo global no est, porm, ao alcance do modelo lgico, que no tem como lev-la em conta. Um exemplo claro dessa dificuldade a do caniche de Kaufmann. Ele visvel sobre uma forma de matriz figurativa de adjacncia, de significado evidente, conforme mostra a figura 52.a. A matriz um grafo, o esquema ao lado (figura 52.b) tambm, no entanto a no apreenso do significado pictrio da forma pela estrutura do grafo salta aos olhos.

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 (a) Matriz Figurativa do caniche de Kaufmann Figura 52: "Caniche" de Kaufmann Explicando a construo da Matriz Figurativa de Adjacncia: a matriz figurativa uma forma de representao de grafos que leva em considerao seu carter pictrio, ou seja, a visualizao digital de seu contedo pelo usurio do sistema. Ela construda da seguinte forma: os elementos constantes na coluna indicativa so os vrtices de onde as arestas nascem e os elementos na linha indicativa, so os vrtices para onde as arestas apontam. Por exemplo, se existir uma aresta partindo (divergindo) do vrtice 4 e apontando (convergindo) para o vrtice 2, a posio 4,2 (linha 4 coluna 2) da matriz ser escurecida, caso contrrio, permanecer branca. Na figura 52, temos a matriz figurativa de adjacncia do caniche de kaufmann e sua representao no diagrama dos grafos, ponto de base para a criao da matriz. Note, na figura 52, que os vrtices 1, 9 e 10 no possuem arestas, portanto, toda a sua linha e coluna na matriz figurativa de adjacncia permaneceram brancas.
42

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.65.JOGOS EM GRAFOS
Diversos tipos de jogos podem ser definidos para execuo em estruturas de grafo, o que fornece uma interessante extenso para a teoria dos jogos. Falamos aqui de jogos com dois jogadores, usando recursos iguais ou diferentes, conforme o caso. Um jogo pode ser jogado sobre os vrtices, aproveitando-se as ligaes entre eles. Vale pena lembrar que o conhecido WAR pertence a essa categoria. Pode tambm ser jogado sobre o conjunto de arestas e, nos exemplos que aqui apresentamos, cada jogada consistem em orientar uma aresta. Neufeld e Nowakowki definiram um jogo polcia-e-ladro e seu trabalho o estuda quando realizado em produtos de grafos. O jogador A manipula um ou mais policiai, que so colocados sobre os vrtices, um ou mais em cada vrtice escolhido. O jogador B move o ladro. As jogadas so feitas entre vrtices adjacentes e o jogador A vence se conseguir colocar um policial no mesmo vrtice do ladro, enquanto que o jogador B vence se conseguir criar uma situao de fuga indefinida (pode-se concluir que o jogador B vencer sempre que o grafo for, por exemplo, constitudo por um nico caminho simples e fechado e houver um s policial, e perder sempre, nesse mesmo grafo, se houverem dois policiais). O jogo pode ser ativo (algum deve se movimentar em cada jogada) ou passivo (um jogador pode passar a jogada). Dois jogos de orientao de arestas so o jogo circuito e o jogo da arborescncia. No primeiro, estudado por Bollobs e Szab, o jogador A tem por objetivo construir um circuito, enquanto que o jogador B tenta evitar essa construo. O artigo discute, entre outras questes, situaes e estruturas que garantem a vitria de A. O jogo a arborescncia foi discutido por Hamidoune e Las Vergnas e, nele, o objetivo de A construir uma arborescncia, enquanto que o jogador B tenta evitar que ela seja construda. Berge apresentou diversos problemas relacionados com jogos combinatrios, discutindo suas relaes com grafos. Kano definiu um jogo sobre um grafo, no qual cada jogador remove um conjunto de arestas que induza uma estrela, vencendo a partida o jogador que remover a ltima aresta.

1.2.66.GRAFOS DE CENA
Podemos definir um grafo de cena como uma coleo de objetos 3D arranjados em estrutura de rvore. Esta estrutura hierrquica encoraja um agrupamento natural dos objetos, facilitando transformaes e permitindo a implementao mais eficiente de vrias operaes tais como deteco de proximidade, coliso, ocluso (obstruo da viso de um objeto por outro que est mais prximo do observador e sobre uma mesma direo de viso), entre outros. Grafos de cenas so ferramentas conceituais utilizadas na representao de ambientes virtuais tridimensionais nas aplicaes de computao grfica. Um ambiente virtual uma representao de diversos aspectos do mundo real ou abstrato. Os aspectos que so considerados em uma aplicao de computao grfica so: posio do objeto, forma, textura da superfcie, iluminao, descrio geomtrica, cmera, transformao, aparncia e comportamento.

43

APOSTILA DE GRAFOS

Prof. TENORIO

Cada um desses aspectos deve ser inserido em um grafo de cena para representar o ambiente virtual. O grafo de cena formado, portanto, por ns conectados por arestas compondo um grafo acclico direcionado. Cada n possui um conjunto de atributos que podem, ou no, influenciar seus ns conectados. Os ns so organizados de uma maneira hierrquica correspondendo semntica e espacialmente com o mundo modelado. Os ns podem ser divididos em trs categorias: n raiz, ns intermedirios que so chamados de ns internos ou ns de agrupamento e os ns folha que esto localizados no final de um ramo. O n raiz o primeiro n do grafo e todos os outros ns esto ligados a ele direta ou indiretamente. O ns internos possuem vrias propriedades, sendo o uso mais comum o de representar transformaes 3D (rotao, translao e escala). Os ns folha contm, geralmente, a representao geomtrica de um objeto (ou dados de udio, quando o grafo de cena possuir esse recurso). Construindo um Grafo de Cena: Os ns devem ser conectados formando um grafo acclico e direcionado (dgrafo). As conexes entre eles devem satisfazer as relaes espaciais e semnticas existentes no mundo real. A figura 53 mostra um exemplo de um grafo de cena representando uma casa. A casa dividida em quartos e os quartos possuem diversos objetos (ns folha), como cama e cadeira, por exemplo. O grafo foi construdo de maneira a manter a noo intuitiva dos relacionamentos entre os objetos citados.

Figura 53: Grafo de Cena bem construdo de uma casa

O mesmo grafo poderia ser construdo de outra maneira, agrupando-se as cadeiras e camas em ns separados, logo, ao invs de uma casa com quatro quartos, teramos uma casa e, logo abaixo, dois ns agrupando cadeiras e camas (figura 54). Esse modelo est semanticamente relacionado com a casa, pois a mesma possui camas e cadeiras, porm os objetos geomtricos no esto agrupados espacialmente. Esse resultado indesejado contrrio ao uso eficiente do grafo de cena, como veremos adiante.

44

APOSTILA DE GRAFOS

Prof. TENORIO

Figura 54: Estratgia de uso no eficiente de um grafo de cena Propriedades: Os grafos de cena implementam um princpio chamado de herana de estado. Os ns internos armazenam o estado do sistema, onde estado significa a posio e a orientao dos objetos no ambiente virtual e seus atributos de aparncia. A herana de estado uma propriedade dos grafos de cena que determina que cada n deve herdar as propriedades de estado de todos os seus ancestrais no grafo at a raiz. Analisemos, novamente, o modelo da casa e admitamos que seus objetos estejam modelados em relao origem do sistema de coordenada. Em cada quarto acrescentamos uma translao que ir posicionar seus quartos corretamente em relao casa. A casa pode ser ainda rotacionada, por exemplo, a fim de ficar voltada para uma determinada direo. Essa cena ilustrada na figura 55. Devido herana de estado, todas as geometrias identificadas pelos ns razes herdaro as propriedades dos seus ancestrais e sero posicionadas corretamente. A herana de estado , portanto, uma ferramenta bastante til para organizao da cena 3D.

Figura 55: Grafo de cena usando transformaes (mtodos) para posicionar quartos e sala
45

APOSTILA DE GRAFOS

Prof. TENORIO

Todos os ns de um grafo de cena podem possuir atributos como material, textura, transparncia, entre outros. Todos esses atributos so herdados dos ns ancestrais. Um determinado n pode sobrescrever um determinado atributo e, sendo assim, toda sua subrvore ser modificada. A figura 56 ilustra um exemplo de um conjunto de objetos com um determinado material (cor) e alguns ns sobrescrevendo esse atributo.

Figura 56: Materiais redefinidos ao longo do grafo. Os ns herdam a cor do ancestral.

1.2.67.ONORFICOS
So chamados de onorficos, os dgrafos conexos, de at oito vrtices, com exatamente sete arestas (contanto com os laos), que possuem um vrtice inicial, chamado de raiz e caminho euleriano partindo dessa raiz. Na figura 57 temos um dgrafo onorfico, com raiz em v7.

Figura 57: Grafo onorfico

1.2.68.RVORE DE EXTENSO
Dado um grafo G, no orientado conexo, uma rvore de extenso deste grafo um subgrafo o qual uma rvore que conecta todos os vrtices de G. Um nico grafo pode ter diferentes rvores de extenso. Um exemplo de rvore de extenso a rvore formada pelas arestas {a1, a2, a6, a7, a9, a10, a11} do grafo da figura 10.
46

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.69.CADEIA
Uma cadeia uma seqncia qualquer de arestas adjacentes que ligam dois vrtices, tornando-se um caminho entre estes dois vrtices. Por exemplo, a seqncia {a4 a5 a6} compe uma cadeia entre os vrtices v6 e v1 no dgrafo da figura 57. mais comum, no estudo das cadeias, utilizar-se de grafos ou dgrafos enraizados, sendo que as cadeias sempre iniciam na raiz.

Figura 58: Dgrafo enraizado

Propriedades da cadeia: Neste subitem, sero mostradas as propriedades utilizadas no estudo das cadeias. Para exemplificar as propriedades, vamos utilizar o dgrafo da figura 58, com raiz em v1 e valorado de 0 a 9, para facilitar a exemplificao. Elementar: uma cadeia que no passar duas vezes pelo mesmo vrtice. Exemplos de cadeias elementares: {1 3 5 7}, {0}, {1 3 8 9}, {1 3 5} Exemplos de cadeias no elementares: {1 2}, {1 3 4}, {1 3 5 6}, {1 3 4 3 5 7} Simples: uma cadeia que no passa duas vezes pela mesma aresta. Exemplos de cadeias simples: {1 2 3 5 7}, {0}, {1 3 5 6 7}, {1 3 4}, {1 3 8 9} Exemplos de cadeias no simples: {1 2 2 3}, {1 2 3 4 3 5 6 7}, {1 2 3 4 3 5 6 6 7} Tamanho ou Comprimento |c|: a quantidade de arestas que compe a cadeia. Exemplos: c = {1 2 3 5 7} |c| = 5; c = {0} |c| = 1 c = {1 3 8 9} |c| = 4; c = {1 2 2 3} |c| = 4; c = {1 2 3 4 3 5 6 7} |c| = 8; c = {1 2 3 4 3 5 6 6 7} |c| = 9; Concatenao //: a unificao de cadeias. S ser permitido concatenar uma cadeia c1 com uma cadeia c2 se a ltima aresta da cadeia c1 for adjacente a primeira aresta da cadeia c2. Exemplo: c1 = {1 2 3 4 3}, c2 = {5 6 6 6 7} c1 // c2 = {1 2 3 4 3 5 6 6 6 7} Ateno: a concatenao no uma propriedade comutativa, ou seja: c1 // c2 c2 // c1.

47

APOSTILA DE GRAFOS

Prof. TENORIO

Sucessor: o elemento seguinte a um elemento qualquer da cadeia. Exemplo: Na cadeia c = {1 2 3 5 6 6 7}, podemos dizer que 3 sucessor de 2, mas no sucessor de 1, pois 3 aparece logo aps 2 e no logo aps 1. Antecessor: o elemento anterior a um elemento qualquer da cadeia. Exemplo: Na cadeia c = {1 2 3 5 6 6 7}, podemos dizer que 3 antecessor de 5, mas no antecessor de 6, pois 3 aparece logo antes de 5 e no de 6. Reversa : a cadeia escrita de trs para frente. Esta propriedade comum apenas em grafos no orientados, pois, em dgrafos, a reverso da cadeia entre os vrtices v e w, poder no resultar em um caminho entre w e v. Para o exemplo, vamos considerar o grafo subjacente ao grafo da figura 58. Exemplo: c = {7 6 6 5 3 2 1} c = {1 2 3 5 6 6 7} No exemplo, a cadeia c liga o vrtice v1 ao vrtice v7 e a cadeia c, liga o vrtice v7 ao vrtice v1, no grafo subjacente ao dgrafo da figura 58. Elemento Neutro : um elemento que concatenado com uma cadeia, resulta na prpria cadeia, ou seja: c // = // c = c. Exemplo: c = {1 2 3 5 6 6 7} c // = {1 2 3 5 6 6 7} // = {1 2 3 5 6 6 7} Validao: sejam dois vrtices v, w de um grafo, onde v a raiz e w um vrtice marcado como validador (ou final). Uma cadeia dita vlida em um grafo, se for um caminho entre v e w. Exemplo (considerando v7 como vrtice validador): c = {1 2 2 2 3 4 2 2 3 5 6 6 6 7} uma cadeia vlida entre os vrtices v1 e v7. Neste exemplo, o vrtice v1 chamado de vrtice inicial da cadeia e o vrtice v7 chamado de vrtice final da cadeia. Fecho: o fecho um ciclo, em um grafo, que permite cadeias de comprimento que tende ao infinito. Exemplo: no dgrafo da figura 58, temos os fechos: {2}, {3, 4} e {6}, permitindo a existncia de cadeias, como: c = {1 2 2 2 ... 2 3 5 6 7} c = {1 3 4 3 4 3 4 3 4 ... 3 4 3 5 6 6 ... 6 6 7} Quando as arestas que compe um fecho puderem ser totalmente excludas da cadeia, de maneira que mantenha a validao da mesma, chamamos esse fecho de fecho estrela *. Caso contrrio, temos um fecho positivo +. Os fechos {2} e {6} so fechos estrela e o fecho {3, 4} positivo. Com isso, podemos representar as cadeias do exemplo, da seguinte maneira: c = {1 2* 3 5 6 7} e c = {1 (3 4)+ 3 5 6* 7} Lema 9: Todo lao um fecho estrela, mas nem todo fecho estrela um lao.
48

APOSTILA DE GRAFOS

Prof. TENORIO

1.2.70.REPRESENTAO ALGORTMICA
A representao esquemtica de grafos necessria para a compreenso das explicaes e por isso foram utilizadas deste o incio deste escrito, porm, a representao esquemtica no adequada para fornecer a um computador dados sobre a estrutura de um grafo, por isso, pesquisadores desenvolveram formas de representao que atendem a necessidades algbricas ou combinatrias, dentro de estruturas de dados, para armazenamento e uso em algoritmos. A seguir, veremos as principais formas de se representar um grafo algoritmicamente. Para exemplificar estas formas, vamos utilizar do grafo da figura 58. Considere n igual ao nmero de vrtices do grafo e m o numero de arestas. Lista de Adjacncia ou dicionrio: composta por uma tabela com n linhas e 2 colunas. A primeira coluna lista a seqncia de vrtices e a segunda, mostra os vrtices adjacentes ao vrtice correspondente na coluna 1. Em dgrafos possvel ter um segundo caso, onde a lista de adjacncia possui, na primeira coluna, os vrtices do grafo e na segunda, os vrtices que atinge o vrtice correspondente na coluna 1. Vrtices Origem Destino v1 v2 v4 v2 v2 v3 v3 v2 v5 v6 v4 v5 v5 v7 v6 v7 v7 Lista de Adjacncia Vrtices Atingveis Atingem v1 v2 v1 v2 v3 v3 v2 v4 v1 v5 v3 v5 v6 v3 v7 v5 v6 Lista de Adjacncia: Segundo Caso

Matriz de Adjacncia: composta por uma matriz n x n, onde as linhas representam o vrtice de origem e as colunas o vrtice de destino. Se existir uma aresta entre os vrtices v, w, a linha v, coluna w ter um valor igual a 1 (ou o valor da aresta em casos de grafos valorados), caso contrrio, ter um valor igual a 0.

v1 v2 v3 v4 v5 v6 v7

v1 v2 v3 v4 v5 v6 v7 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Matriz de Adjacncia

49

APOSTILA DE GRAFOS

Prof. TENORIO

Matriz de Incidncia: composta por uma matriz n x m, onde cada linha representa um vrtice e cada coluna, uma aresta. Caso exista uma aresta A saindo do vrtice V, a matriz ter o valor de +1 (ou o valor positivo, no caso de grafos valorados) na linha V, coluna A. Caso a aresta A esteja chegando em v, a matriz ter o valor de 1 na linha V, coluna A. 0 1 2 3 4 5 6 7 8 9 v1 +1 +1 v2 +1/ 1 +1 1 v3 1 +1 +1 +1 v4 1 v5 1 +1 / 1 +1 v6 1 +1 v7 1 1 Matriz de Incidncia Matriz Figurativa: composta por uma matriz n x n, onde se existir uma aresta entre os vrtices v, w, a linha v, coluna w ter uma informao, que depende da finalidade do grafo. Vejamos alguns exemplos: v1 v1 v2 v3 v4 v5 v6 v7 v2 v3 v4 v5 v6 v1v2 v1v4 v2v2 v2v3 v3v2 v3v5 v3v6 v5v5 v7 v1 v2 v3 v4 v5 v6 v7 v1 v2 v3 v4 v5 v6 v7 1 0 2 3 4 5 8 6 7 9

v5 v7 v6 v7

Matriz Figurativa por vrtices

Matriz figurativa por arestas

Uma outra possibilidade para a matriz figurativa pode ser vista na figura 52. Nela, utilizam-se as cores pretas e brancas para marcar a presena ou no de arestas respectivamente. Estrutura de Adjacncia: composta por um vetor, cujos ndices so os vrtices do grafo. A informao contida no vetor um ponteiro para um registro que guarda uma nica informao, indicando uma aresta adjacente e um ponteiro para o prximo registro, formando assim uma lista encadeada de adjacncias, onde os vrtices sucessores esto presentes na lista indicada pelo ndice do vetor correspondente ao vrtice de origem.

50

APOSTILA DE GRAFOS

Prof. TENORIO

v1 v2 v3 v4 v5 v6 v7

v2 v2 v2 Nil * v5 v7 Nil * Nil *

v4 v3 v5

Nil * Nil * v6 Nil *

v7

Nil *

Estrutura de Adjacncia Matriz Laplaciana: para formar a matriz laplaciana, utiliza-se a matriz de adjacncia. Com a matriz de adjacncia pronta, basta inverter o sinal dos valores e substituir a diagonal principal pelo grau de sada de cada vrtice indicado na linha. v1 v2 v3 v4 v5 2 -1 0 -1 0 0 2 -1 0 0 0 -1 3 0 -1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 Matriz Laplaciana v6 v7 0 0 0 0 -1 0 0 0 0 -1 1 -1 0 0

v1 v2 v3 v4 v5 v6 v7

Obs.: Existem outras diversas formas de se representar um grafo. De acordo com a necessidade de cada um, vrios pesquisadores criam suas prprias representaes. As representaes, mostradas aqui, so as mais utilizadas pela literatura corrente sobre grafos.

1.2.71.AUTOMORFISMO
Um automorfismo de um grafo G um isomorfismo de G para si prprio, ou seja, os automorfismos de G so as permutaes que podem ser aplicadas a ambas as linhas e colunas da matriz de adjacncia sem mudar a adjacncia entre os vrtices de G. Isto significa que, na matriz de adjacncia, os vrtices podem ter sua ordem alterada, sem nenhuma alterao nos valores apresentados pela matriz. Na figura 59 temos um grafo e duas matrizes de adjacncias desse grafo. Note que os valores presentes nas duas matrizes so exatamente iguais, porm, a seqncia dos vrtices diferente.

51

APOSTILA DE GRAFOS

Prof. TENORIO

v1 v2 v3 v4

v1 v2 v3 v4 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0

v4 v3 v2 v1

v4 v3 v2 v1 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0

Figura 59: Grafo automrfico

1.2.72.PROBLEMAS EM GRAFOS
Nesta seo, veremos alguns dos problemas que circundam a Teoria dos Grafos. A respeito da classificao da complexidade, veremos em tpicos posteriores.

1 Problema do SCIE. Consiste em encontrar o subconjunto internamente estvel maximal de um grafo G. um problema NP-Completo.

2 Problema do Isomorfismo em Grafos. Consiste em saber se dois grafos so ou no isomrficos entre si.

3 Problema da Colorao em Grafos. Consiste em descobrir qual a colocao mnima de um grafo G.

4 Problema do Clique. Consiste em, dado um grafo G e uma constante natural positiva k, decidir se existe um clique de tamanho k em G.

5 Problema da Satisfabilidade (SAT). um problema de lgica que envolve expresses booleanas. Com uma expresso booleana na sua forma normal conjuntiva (FNC), decidir se a expresso satisfatvel, ou seja, verificar se existe uma atribuio de valores s variveis da expresso de tal modo que a expresso seja avaliada verdadeira.

6 Problema da Cobertura. Consiste em, dado um grafo G e uma constante natural positiva k, decidir se existe uma cobertura de tamanho k em G.

7 Problema do Ciclo Hamiltoniano. Saber se um grafo G possui ou no um ciclo hamiltoniano.

52

APOSTILA DE GRAFOS

Prof. TENORIO

8 Problema da Parada. Consiste em se decidir, para qualquer algoritmo A e qualquer entrada de A, se A vai terminar ou entrar em loop infinito.

9 Problema da rvore de Extenso Mnima. Em um grafo valorado, consiste em descobrir qual a rvore de extenso com menor valor no grafo.

10 Problema do Caminho Mnimo. Em um grafo valorado G, consiste em descobrir o menor caminho entre dois vrtices qualquer de G.

11 Problema do Carteiro Chins. Um carteiro que deve percorrer um roteiro todo dia. O problema de identificar esse roteiro de maneira a minimizar a distncia total percorrida. Essa situao pode ser representada por um grafo onde as arestas correspondem s ruas e os vrtices correspondem aos cruzamentos.

12 Problema do Caixeiro Viajante. O problema do caixeiro-viajante (PCV/TSP Travelling Salesman Problem) um problema de otimizao que, apesar de parecer modesto , na realidade, um dos mais investigados, por cientistas, matemticos e investigadores de diversas reas, tais como: logstica, gentica e produo, entre outros. Consiste na procura de um ciclo ou circuito que possua a menor distncia, comeando numa cidade (vrtice) qualquer, entre vrias, visitando cada cidade precisamente uma vez e regressando cidade inicial. um problema NP-Difcil.

13 Problema do Passeio do Cavalo do Xadrez. O Cavalo a nica pea do xadrez que pode saltar sobre outras peas. Ele tem um movimento bem peculiar em formato de "L": duas casa no sentido vertical ou horizontal e uma casa no outro sentido. Seguindo as regras de movimentao do cavalo, possvel que um cavalo parta de uma casa qualquer, do tabuleiro de xadrez, percorra todo o tabuleiro visitando cada casa uma e somente uma nica vez e retorne casa inicial?

14 Problema das Cinco Damas. A dama a pea mais poderosa do jogo de Xadrez. Numa jogada ela pode mover-se tantas casas quantas quiser em qualquer direo vertical, horizontal ou diagonal, desde que no haja nenhuma outra pea que obstrua sua passagem. Todas as casas que a dama alcana esto sob seu domnio. Qualquer outra pea que estiver numa casa sob domnio da dama estar sob seu ataque. Este problema consiste em procurar as posies a serem ocupadas por damas em um tabuleiro de xadrez vazio, de modo que elas possam controlar todas as casas do tabuleiro com o menor nmero de damas possvel.

15 Problema das Pontes de Knigsberg. Este problema um famoso problema histrico da matemtica que foi uma das principais fundaes da teoria dos grafos. O problema baseado na cidade de Knigsberg (fundada em 1255, pelos Cavaleiros Teutnicos. Foi territrio da Prssia at 1945, atualmente chamada de Kaliningrado e pertence Rssia), que cortada pelo Rio Pregolia, onde h duas grandes ilhas que, juntas, formam um complexo que na poca da formulao do problema, continha sete pontes [Kraemer (lojista), Schmiede (ferreiro),

53

APOSTILA DE GRAFOS

Prof. TENORIO

Holz (madeira), Honig (mel), Greune (verde), Koettel (entranha) e Hohe (alto)], conforme mostra a figura 60.c. Das sete pontes originais, uma foi demolida e reconstruda em 1935, duas foram destrudas durante a Segunda Guerra Mundial e outras duas foram demolidas para dar lugar a uma nica via expressa. Atualmente apenas duas pontes so da poca de Leonard Euler, o matemtico que demonstrou o problema. Discutia-se nas ruas da cidade a possibilidade de atravessar todas as pontes sem repetir nenhuma. Havia-se tornado uma lenda popular a possibilidade da faanha quando Euler, em 1736, provou que no existia caminho que possibilitasse tais restries. Euler usou um raciocnio muito simples. Transformou os caminhos em retas e suas interseces em pontos, conforme a figura 60.d, criando possivelmente o primeiro grafo da histria. Ento percebeu que s seria possvel atravessar o caminho inteiro passando uma nica vez em cada ponte se houvesse no mximo dois pontos de onde sasse um nmero mpar de caminhos. A razo de tal coisa que de cada ponto deve haver um nmero par de caminhos, pois ser preciso um caminho para "entrar" e outro para "sair". Os dois pontos com caminhos mpares referem-se ao incio e ao final do percurso, pois estes no precisam de um para entrar e um para sair, respectivamente.

(a)

(b)

(c) Figura 60: Pontes de Knigsberg

(d)

54

APOSTILA DE GRAFOS

Prof. TENORIO

16 Problema do Desenho da Casa. No desenho da figura 61, uma criana diz ter posto a ponta do lpis numa das bolinhas e com movimentos contnuos (sem levantar o lpis e sem sobrepor linhas) traou as linhas que formam o desenho da casa, traando cada linha uma nica vez. Isso possvel?

Figura 61: Problema do Desenho da Casa

17 Problema das Oito Damas. A dama a pea mais poderosa do jogo de Xadrez. Numa jogada ela pode mover-se tantas casas quantas quiser em qualquer direo vertical, horizontal ou diagonal, desde que no haja nenhuma outra pea que obstrua sua passagem. Todas as casas que a dama alcana esto sob seu domnio. Qualquer outra pea que estiver numa casa sob domnio da dama estar sob seu ataque. Este problema consiste em descobrir quantas maneiras h de se colocar 8 damas em um tabuleiro de xadrez de forma que nenhuma dama ameace a outra.

18 Problema dos Conspiradores Polticos. Os agentes A, B, C, D, E, F, G e H so conspiradores polticos. De forma a coordenar seus esforos, vital que cada agente seja capaz de comunicar-se direta ou indiretamente com todos os outros conspiradores. Esta comunicao, contudo, envolve um certo risco para cada um. Os fatores de risco associados comunicao direta entre cada par de conspiradores dado por: A A A A A B B C C C C D D E B C E F G C F D F G H E H H 9 3 8 3 4 10 6 6 4 5 7 6 3 5 Todas as outras comunicaes diretas so impraticveis, pois exporiam todo o esquema de disfarce. Qual o menor risco total envolvido neste sistema de conexo, ou seja, o menor risco para que uma mensagem seja repassada para todos os conspiradores?

19 Problema do Metr. Considere a rede de metr de uma cidade como Paris, na Frana. Esta rede cobre boa parte da cidade, sendo composta por vrias linhas que se cruzam em estaes especficas. Nestes pontos de cruzamento um usurio pode livremente sair de uma composio e passar para uma composio de outra linha. Sendo assim, em geral o usurio tem mais de uma opo de rota quando deseja deslocar-se de uma parte a outra da cidade. Escolher a melhor rota passa, ento, a ser fundamental para que o deslocamento seja o mais rpido possvel. As distncias entre estaes vizinhas do metr no so iguais e, conseqentemente, o tempo de deslocamento entre estaes vizinhas no constante. Estas diferenas de tempo no so, contudo, significativas quando comparadas com os tempos de parada das composies nas estaes e de troca de composio (de linha).

55

APOSTILA DE GRAFOS

Prof. TENORIO

Em redes de metr de vrias cidades do mundo h sistemas computacionais, que utilizam grafos, para auxiliar os usurios a escolher a melhor rota para um deslocamento particular. Mais do que simplesmente indicar uma rota possvel, este problema consistem em identificar aquela rota que conduz o usurio o mais rapidamente ao seu destino. Dois critrios bsicos para esta escolha so (em ordem de importncia): procurar minimizar o nmero de trocas de composio (de linhas) e procurar minimizar o nmero de paradas em estaes. 20 Problema do Organizao dos Horrios. Em uma universidade, temos vrios cursos que funcionam de segunda a sexta, nos turnos de manh, tarde e noite. Alguns cursos possuem quatro anos de durao, outros cinco anos. Os professores, que do aulas em vrios cursos, tambm trabalham em outras instituies, porm, possuem uma disponibilidade de horrio suficiente para atender suas disciplinas com folga naquela universidade. Os cursos so divididos em semestres, e, para cada semestre, os cursos tm cinco disciplinas especficas para disponibilizar. O problema consiste em montar o horrio escolar para atender todos os cursos, de maneira que no haja choque de horrio em disciplinas de um mesmo semestre e turno, e que atenda a disponibilidade dos professores, sem que haja choque de horrio entre as disciplinas que ir ministrar. 21 Problema dos Canibais e dos Missionrios. Trs canibais e trs missionrios esto viajando juntos e chegam a um rio. Eles desejam atravessar o rio, sendo que o nico meio de transporte disponvel um barco que comporta no mximo duas pessoas. H uma outra dificuldade: em nenhum momento, o nmero de canibais pode ser superior ao nmero de missionrios, pois desta forma, os missionrios estariam em grande perigo de vida. O problema consiste em administrar a travessia do rio, de maneira que todos atravessem sem deixar algum missionrio correndo risco de vida. 22 Problema dos Trs Maridos Ciumentos. Trs esposas e seus respectivos maridos desejam ir ao centro da cidade em um Corvette, o qual comporta apenas duas pessoas. Como eles poderiam deslocar-se at o centro considerando que nenhuma esposa deveria estar com um ou ambos os outros maridos a menos que seu marido tambm esteja presente? 23 Problema da Telefonia Celular. A empresa de telefonia celular Tabajara pretende se instalar em Petrolina. A empresa considera importante que todo o permetro a cidade esteja coberta por sinal de telefonia celular, de forma que em qualquer ponto do territrio municipal (urbano, rural, projetos e distritos) um usurio possa obter sinal e falar normalmente. Isto significa distribuir diversas antenas de telefonia celular, porm, dado que o custo de instalao de uma antena relativamente alto, a empresa solicita ao departamento tcnico um estudo para identificar o menor nmero de antenas (com as correspondentes localizaes aproximadas) necessrias para realizar esta cobertura. 24 Problema dos Potes de Vinho. Considere que temos trs potes com capacidades de 8, 5 e 3 litros, respectivamente, os quais no possuem qualquer marcao. O maior deles est completamente cheio enquanto que os outros dois esto vazios. O problema consiste em dividir o vinho em duas pores iguais de 4 litros, tarefa esta que pode ser realizada por transvasos sucessivos de um vaso no outro. Qual o menor nmero de transvasos necessrios para completar a diviso? Outros problemas sobre a Teoria dos Grafos podem ser vistos em nossa bibliografia ou no site http://www.inf.ufsc.br/grafos/problemas/index.htm.

56

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.

COMPLEXIDADE ALGORTMICA

A teoria da complexidade computacional a parte da teoria da computao que estuda os recursos necessrios durante o clculo, para resolver um problema, ou seja, a complexidade de um algoritmo a quantidade de trabalho necessria para a sua execuo, expressa em funo das operaes fundamentais, as quais variam de acordo com o algoritmo, e em funo do volume de dados. Os recursos comumente estudados so: Tempo, que pode ser o tempo real, em segundos, para execuo de um algoritmo ou o nmero de passos de execuo realizados por um algoritmo para resolver um problema. Esse estudo chamado de complexidade temporal; Espao, que mede a quantidade de memria utilizada para resolver um problema. Este estudo chamado de complexidade espacial; Podem-se estudar igualmente outros parmetros, tais como o nmero de processadores necessrios para resolver o problema em paralelo. A teoria da complexidade difere da teoria da computabilidade a qual se ocupa simplesmente em solucionar um problema, com algoritmos efetivos, sem levar em conta os recursos necessrios para ele ser executado. Os problemas que tm uma soluo com ordem de complexidade linear so os problemas que se resolvem em um tempo que se relaciona linearmente com seu tamanho. A importncia da complexidade pode ser observada no exemplo da figura 62, que mostra cinco algoritmos A1 a A5 para resolver um mesmo problema, de complexidades diferentes. Supomos que uma operao leva 1 milisegundo para ser efetuada, a figura 62 mostra o tempo necessrio para cada um desses cinco algoritmos serem executados, onde Tk(n) a complexidade do algoritmo. A1 A2 A3 A4 2 T1(n) = n T2(n) = nlogn T3(n) = n T4(n) = n3 0,016s 0,064s 0,256s 4s 0,032s 0,16s 1s 33s 0,512s 9s 4m22s 1 dia 13h Figura 62: Tabela de complexidade algortmica A5 T5(n) = 2n 1m4s 46 dias 137 10 sculos

n 16 32 512

A complexidade do tempo de um problema o nmero de passos que se toma para resolver uma instncia de um problema, a partir do tamanho da entrada utilizando o algoritmo mais eficiente disposio. Intuitivamente, caso se tome uma instncia com entrada de longitude n que pode resolver-se em n passos, se diz que esse problema tem uma complexidade em tempo de n. Supostamente, o nmero exato de passos depende da mquina em que se programa, da linguagem utilizada e de outros fatores. Para no ter que falar do custo exato de um clculo se utiliza a notao assinttica. Quando um problema tem custo dado em tempo O(n) em uma configurao de computador e linguagem, este custo ser o mesmo em todos os computadores, de maneira que esta notao generaliza a noo de custo independentemente do equipamento utilizado. So usadas trs perspectivas no estudo do caso da complexidade. So elas:

57

APOSTILA DE GRAFOS

Prof. TENORIO

Melhor Caso: Representado por ( ), consiste em assumir que vai acontecer o melhor. Pouco utilizado e de baixa aplicabilidade. Exemplo 1: Em uma lista telefnica queremos encontrar um nmero, assume-se que a complexidade do caso melhor (1), pois est pressupondo-se o nmero desejado est no topo da lista. Exemplo 2: Extrair qualquer elemento de um vetor. A indexao em um vetor ou array, leva o mesmo tempo seja qual for o ndice que se queira buscar. Portanto uma operao de complexidade constante (1). Caso Mdio: Representado por ( ). Este o caso que o mais difcil de ser determinado, pois, necessita de anlise estatstica e em conseqncia de muitos testes, contudo muito utilizado, pois o que representa mais corretamente a complexidade do algoritmo. Exemplo: Procurar uma palavra em um dicionrio. Pode-se iniciar a busca de uma palavra na metade do dicionrio. Imediatamente se sabe se foi encontrada a palavra ou, no caso contrrio, em qual das duas metades deve se repetir o processo ( um processo recursivo) at se chegar ao resultado. Em cada busca (ou sub-busca), o problema (as pginas em que a palavra pode estar) vai se reduzindo metade, o que corresponde com a funo logartmica. Este procedimento de busca (conhecido como busca binria) em uma estrutura ordenada tm complexidade logartmica (log2n). Pior Caso: Representado normalmente por O( ). Se dissermos que um determinado algoritmo representado por g(x) e a sua complexidade Caso Pior n, ser representada por g(x) = O(n). Consiste em assumir que o pior dos casos pode acontecer, sendo de grande utilizao e tambm normalmente o mais fcil de ser determinado. Exemplo 1: Ser tomado como exemplo o jogo de azar com 3 copos, deve descobrir-se qual deles possui uma moeda debaixo dele, a complexidade caso pior ser O(3) pois no pior dos casos a moeda ser encontrada debaixo do terceiro copo, ou seja, ser encontrada apenas na terceira tentativa. Exemplo 2: O processo mais comum para ordenar um conjunto de elementos tm complexidade quadrtica. O procedimento consiste em criar uma coleo vazia de elementos. A ela se acrescenta, em ordem, o menor elemento do conjunto original que ainda no tenha sido eleito, o que implica percorrer completamente o conjunto original (O(n), sendo n o nmero de elementos do conjunto). Esta percorrida sobre o conjunto original se realiza at que se tenha todos seus elementos na seqncia de resultado. Pode-se ver que h de se fazer n selees (se ordena todo o conjunto) cada uma com um custo n de execuo: o procedimento de ordem quadrtica O(n). Deve esclarecer que existem diversos algoritmos de ordenao com melhores resultados.

58

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.1. NOTAO ASSINTTICA Tambm chamada de notao Grande-O, a notao assinttica uma notao matemtica utilizada para analisar o comportamento assinttico1 de funes. Essa notao bastante utilizada para a anlise de algoritmos em cincia da computao. A criao dessa notao creditada ao matemtico alemo Paul Bachmann, em 1894, na publicao da segunda verso da sua obra Analytische Zahlentheorie, sendo popularizada por outro alemo, Edmund Landau, e por causa disso, essa notao tambm conhecida como "Smbolo de Landau". Essa notao padronizada como "ordem de". De um modo informal, dizemos que uma funo f pode ser representada como O(g(x)) se ambas funes, para x suficientemente grande, "crescem" da mesma forma, ou seja, so "proporcionais". Se f O(g(x)), ento, para x grande o suficiente, se num dado intervalo f dobra, ento g "dobra" tambm (com pequena margem de erro), e vice-versa. Por exemplo, f(x) = 10x5 + 3x3 O(x5). Definio Sejam duas funes reais f(x) e g(x), a notao definida da seguinte forma:

A definio acima diz que a funo f(x) superiormente limitada pela funo g(x). Na definio foi utilizado f(x) = O(g(x)), mas mais correto escrever f(x) O(g(x)), ou f(x) O(g(x)), j que O(g(x)) define um conjunto de funes (ou classes de funes). Para demonstrar que f(x) O(g(x)), no basta encontrar dois nmeros (c e x0) tal que a definio acima seja satisfeita, j que pode existir funes que satisfaz s para alguns valores. As provas usualmente so feitas com provas por induo. Vejamos alguns exemplos: A funo f(x) = 10x + 11 O(x). Como exemplo, basta utilizar c = 11 e x0 = 10. A funo f(x) = x2 + 100 O(x2). Como exemplo, basta utilizar c = 2 e x0 = 10.

Propriedades Soma: Produto: Multiplicao por uma constante: , desde que k0

Chamamos de comportamento assinttico o comportamento a ser observado em uma funo f(n), quando n tende ao infinito.
59

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.2. CLASSES DE ALGORITMOS Vimos o conceito de complexidade e a notao mais utilizada para medir essa complexidade, mas como saber qual a complexidade de um determinado algoritmo implementado? Para resolver esse problema, dividiu-se os algoritmos em Classes de Problemas, de acordo com o parmetro que afeta o algoritmo de forma mais significativa Abaixo h uma lista de classes de funes que so bastante utilizadas para anlise de algoritmos, por ordem crescente de crescimento de funes (as funes que tm um crescimento mais lento so as primeiras). A letra c denota uma constante qualquer. Notao O(1) O(log x) O([log x]c) O(x) O(x log x) O(x) Nome Ordem constante Ordem logartmica Ordem poli-logartmica Ordem linear Ordem linear-logartmica Ordem quadrtica Notao O(x) O(xc) O(cx) O(x!) O(xx) Nome Ordem cbica Ordem polinomial Ordem exponencial Ordem fatorial Ordem exponencial

Vejamos agora, o detalhamento das principais classes de algoritmos, conforme sua complexidade. Complexidade Constante So os algoritmos de complexidade O(1). a nica classe em que as instrues dos algoritmos so executadas num tamanho fixo de vezes, independe do tamanho N de entradas. Vejamos o exemplo a seguir: // procedimento para esvaziar uma lista de dados Function Vazia(Lista: TipoLista): Boolean; Begin Vazia := Lista.Primeiro = Lista.Ultimo; End; Complexidade Linear So os algoritmos de complexidade O(N). Uma operao realizada para cada um dos elementos de entrada. //pesquisa de elementos em uma lista Procedure Busca(Lista: TipoLista; x: TipoElem; Var pos: integer) Var i: integer; Begin i:=1; while Lista.Elemento[i] <> x do i := i+1; if i >= Lista.MaxTam then pos := -1 else pos := i; End;
60

APOSTILA DE GRAFOS

Prof. TENORIO

Complexidade Logartmica So os algoritmos de complexidade O(logN). Ocorre tipicamente em algoritmos que dividem o problema em problemas menores, como por exemplo, o algoritmo de Busca Binria. Function buscaBinaria (x,n: integer; v: TipoVetorDeInteiros): Integer; Var e, m, d: integer; Begin e := 0; d := n-1; while (e <= d) do begin m := (e + d)/2; if (v[m] = x) then buscaBinaria := m; if (v[m] < x) then e := m + 1 else d := m - 1; end; buscaBinaria := -1; End; Complexidade Linear-Logartmica So os algoritmos de complexidade O(NlogN). Ocorre tipicamente em algoritmos que dividem o problema em problemas menores, porm juntando posteriormente a soluo dos problemas menores. A maioria dos algoritmos de ordenao externa de complexidade logartmica ou NLog N. O QuickSort tem complexidade NLog N.

Complexidade Quadrtica So os algoritmos de complexidade O(N). Ocorre quando itens so processados aos pares, geralmente com um loop dentro do outro. Vejamos o exemplo: Procedure SomaMatriz(Mat1, Mat2, MatRes: Matriz); Var i, j: integer; Begin for i:=1 to n do for j:=1 to n do MatRes[i,j] := Mat1[i, j] + Mat2[i,j]; End;

61

APOSTILA DE GRAFOS

Prof. TENORIO

Complexidade Cbica So os algoritmos de complexidade O(N). Ocorre quando itens so processados trs a trs, geralmente com um loop dentro do outros dois. Vejamos um exemplo: Procedure SomaElementos_Vetor_Indices_Matriz (mat: Matriz, vet: Vetor); Var i, j: integer; Begin for i:=1 to n do for j:=1 to n do for k:=1 to n do mat[i, j] := mat[i, j] + vet[k]; End;

Complexidade Exponencial So os algoritmos de complexidade O(2N). Utiliza a fora bruta para resolver os problemas. uma abordagem simples para resolver um determinado problema, geralmente baseada diretamente no enunciado do problema e nas definies dos conceitos envolvidos. Na grande maioria dos casos no so teis sob o ponto de vista prtico. Um exemplo seria um programa para tentar quebrar uma senha, aonde o algoritmo iria simplesmente testar todas as combinaes possveis de caracteres, at descobrir a senha correta.

At agora, conhecemos as classes de algoritmos conforme sua complexidade. Mas a dvida persiste: como saber qual a complexidade de um determinado algoritmo implementado? Para calcular a complexidade de um algoritmo, deve-se analisar o pior caso. A anlise deve ser feita no programa todo, de acordo com os dados da figura 63.

Figura 63: Tabuada da Complexidade

62

APOSTILA DE GRAFOS

Prof. TENORIO

Exemplo 1:

Exemplo 2:

63

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.3. CLASSES DE PROBLEMAS As classes de problemas os dividem de acordo com sua complexidade computacional. Antes de conhecermos as classes, precisamos conhecer os tipos de problemas. So eles: Problema de Deciso: Consiste na verificao (deciso) da veracidade ou no de determinada questo para o problema, ou seja, a soluo desse tipo de problema SIM ou NO; Problema de Localizao: Consiste na verificao da existncia e identificao (localizao) de uma soluo (segundo algum critrio) para o problema. Problema de Otimizao: Consiste na verificao da existncia e identificao da melhor (otimizao) soluo possvel, dentro as solues factveis para o problema.

Hoje em dia, as mquinas resolvem com eficincia problemas mediante algoritmos que tm como mximo uma complexidade ou custo computacional polinmico, significa dizer que, a relao entre o tamanho do problema e seu tempo de execuo polinmico. Os problemas com custo fatorial ou combinatrio esto agrupados em NP. Estes problemas no tm uma soluo prtica, significa dizer que uma mquina no pode resolver-los em um tempo razovel. As principais classes de problemas so: 1.3.3.1. CLASSE P Dizemos que um algoritmo resolve um dado problema (computvel) se, ao receber qualquer instncia do problema, devolve uma soluo da instncia ou diz que a instncia no tem soluo. Um algoritmo que resolve um dado problema classificado como polinomial se o seu consumo de tempo limitado por uma funo polinomial dos tamanhos das instncias do problema. polinomial, por exemplo, todo algoritmo que consome no mximo 100N4 + 300N2 + 5000 unidades de tempo, sendo N o tamanho da instncia. Tambm polinomial todo algoritmo que consome no mximo 200N9 log N unidades de tempo, por exemplo. Algoritmos polinomiais so considerados rpidos (ainda que seja difcil aceitar como rpido um algoritmo que consome tempo proporcional a N500, por exemplo). Algoritmos no-polinomiais como, por exemplo, os que consomem tempo proporcional a 2N, so considerados inaceitavelmente lentos, ainda que possam ser teis para valores muito modestos de N. Um problema computacional polinomial se existe um algoritmo polinomial para o problema. Problemas desse tipo so considerados tratveis do ponto de vista computacional. Exemplos de problemas polinomiais: o problema da equao do segundo grau, o problema do mximo divisor comum, o problema do caminho mnimo, etc.

64

APOSTILA DE GRAFOS

Prof. TENORIO

A classe P (Tempo Polinomial) de problemas o conjunto de todos os problemas polinomiais de deciso. Um problema no-polinomial se nenhum algoritmo polinomial resolve o problema. Ateno: no classificado como no-polinomial problemas para os quais algoritmos polinomiais no so conhecidos atualmente, pois tais algoritmos podem vir a ser descobertos no futuro. Problemas desse tipo so considerados computacionalmente intratveis. Um algoritmo eficiente aquele cuja complexidade uma funo polinomial nos tamanhos de entrada e sada. Para um problema de deciso, o tamanho da sada constante, o que possibilita ignor-lo. Como exemplo, se n for o tamanho da entrada, algoritmos cujas complexidades sejam O(1), O(n), O(n2), O(n2logn), O(n6), O(n10) seriam todos classificados como eficientes. Por outro lado, complexidades, como por exemplo, O(2n), O(nn), O(nlogn), O(n!) corresponderiam a algoritmos classificados como no eficientes. Observe que esse critrio de avaliao certamente no absoluto. Por exemplo, considere dois algoritmos A e B, de complexidade O(n10) e O(2n), respectivamente, para um mesmo problema . O algoritmo A seria classificado como eficiente e B no eficiente. Suponha que A e B utilizem exatamente n10 e 2n passos respectivamente, e ainda que ambos sejam implementados em um computador que efetua um passo em cada milissegundo. Uma instncia de em que n = 10, o algoritmo eficiente levaria 1010 milissegundos, enquanto o no eficiente terminaria em 210 = 1024 milissegundos. Contudo, fcil verificar que quando n cresce o algoritmo A melhora seu desempenho em relao a B e a partir de certo ponto se torna, de fato, mais eficiente. Para grande maioria dos casos prticos, os algoritmos de complexidade polinomial so eficientes, enquanto os de complexidade no polinomial no o so. Simplificando: o algoritmo denominado polinomial quando sua complexidade for uma funo polinomial nos tamanhos dos dados de entrada. Quando conveniente, utiliza-se o termo intratvel para designar um problema que no admite algoritmo polinomial. H pelo menos mais dois argumentos para justificar a adoo desse critrio. Observe inicialmente que a complexidade da grande maioria dos algoritmos polinomiais constitui uma funo polinomial de baixo grau. Isto , so mais raras complexidades como O(n10) , sendo comuns O(n), O(nlgn) ou O(n2). O argumento adicional para justificar o critrio, diz respeito ao modelo de computao correspondente medida de complexidade. Com essa motivao, defini-se a classe P de problemas, como sendo aquela que compreende precisamente aqueles que admitem algoritmo polinomial. Observe que se os algoritmos conhecidos para um certo problema forem exponenciais, este fato por si s, no implica em que no pertena a P. Se o problema no pertence classe P ento necessariamente deve existir alguma prova de que todo possvel algoritmo para resolver no possui complexidade polinomial. Por exemplo, os algoritmos conhecidos, at agora para o problema do caixeiro viajante so todos exponenciais. Contudo, no conhecida prova de que seja impossvel a formulao de algoritmo polinomial para o problema. Portanto, se desconhece de o caixeiro viajante pertence ou no a P. Pode-se observar das sees que esta incerteza quanto pertinncia a classe P compartilhada por um grande nmero de problemas.

65

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.3.2. CLASSE NP A classe de problemas NP (Tempo polinomial no determinstico) denota o conjunto de problemas que so decidveis em tempo polinomial por um algoritmo no-determinstico, ou seja, por um algoritmo que tenha vrias possibilidades (fluxos de execuo) de resposta e apenas algumas esto certas. Nesses problemas, em geral, o nmero de computaes do melhor algoritmo conhecido cresce exponencialmente em funo do tamanho da instncia e no existe a garantia da existncia de algoritmos melhores para a soluo do problema. Simplificando: Seja um problema X. Se achar a soluo de X, possuir custo computacional mnimo conhecido exponencial ou fatorial, porm, testar se uma informao qualquer soluo de X, tiver custo computacional polinomial, dizemos que X NP. Problemas da classe NP possuem solues de ordem, por exemplo, O(2n), O(nn), O(nlogn), O(n!). Exemplos: 1 Problema do Ciclo Hamiltoniano. Saber se um grafo G possui ou no um ciclo hamiltoniano um problema de soluo mnima conhecida exponencial, porm, saber se um ciclo dado hamiltoniano em G, um problema polinomial. 2 Problema do Isomorfismo em Grafos. Saber se um grafo G isomorfo de um grafo G um problema de soluo mnima conhecida exponencial, porm, saber se um isomorfismo dado isomorfismo de G em G, um problema polinomial.

PROBLEMA: P = NP? O problema "P versus NP" o principal problema aberto da Cincia da Computao. Possui tambm enorme relevncia em campos que vo desde a Engenharia at a criptografia aplicada aos servios militares e s transaes comerciais e financeiras via Internet. No difcil entender que a classe NP inclui a classe P, ou seja, que todo problema polinomial polinomial em uma mquina no determinstica. O consenso sugere que P apenas uma pequena parte de NP. Surpreendentemente, ningum conseguiu provar que um problema NP no esteja em P. De modo simplificado, o problema pergunta se existem problemas matemticos cuja resposta pode ser verificada em tempo polinomial, que no possam ser resolvidos (diretamente, sem se ter um candidato soluo) em tempo polinomial. De outra forma: verdade que todo problema cujas solues podem ser conferidas por um algoritmo polinomial pode tambm ser resolvido por um algoritmo polinomial? A soluo para este problema tenta provar que um problema considerado NP, como por exemplo, o problema o ciclo hamiltoniano, tem algoritmo polinomial que o resolva ou provar que impossvel se ter um algoritmo polinomial que o resolva. Se descobrirmos como resolver o problema do ciclo hamiltoniano em tempo polinomial, ficaremos sendo capazes de resolver, tambm em tempo polinomial, uma grande quantidade de outros problemas matemticos importantes; por outro lado, se um dia algum provar que impossvel resolver o problema do ciclo hamiltoniano em tempo polinomial no nmero de vrtices, tambm se ter estabelecido que uma grande quantidade de problemas importantes no tem soluo prtica. Por isso, o Instituto Clay oferece um prmio de um milho de dlares a quem conseguir resolver este problema matemtico.
66

APOSTILA DE GRAFOS

Prof. TENORIO

1.3.3.3. CLASSE NP-DIFCIL Um problema NP-Difcil se todos os problemas da classe NP forem redutveis a ele, ou seja, um problema que, quando resolvido, resolve automaticamente todos os problemas NP. Para se provar que R um problema NP-Difcil, deve-se encontrar um problema Q em NP que seja polinomialmente redutvel a R, ou seja, deve-se elaborar um algoritmo que transforme a instncia do problema Q em uma instncia de R, de tal forma que a soluo de R implique na soluo de Q (cuja transformao tambm deve ser em tempo polinomial). Exemplo: 1 O Problema da Parada. um problema NP-Difcil que no NP. O problema consiste em se decidir, para qualquer algoritmo A e qualquer entrada de A, se A vai terminar ou entrar em loop infinito. A soluo desse problema seria muito til na construo de compiladores, porm, ele indecidvel para qualquer algoritmo de qualquer complexidade. 2 Problema do Ciclo Hamiltoniano. J explicado. 1.3.3.4. CLASSE NP-COMPLETO Um problema NP-Completo, se for ao mesmo tempo NP e NP-Difcil. Nenhum problema NP possui ordem de complexidade superior a um problema NP-Completo. Talvez a razo mais forte pela qual os cientistas da computao acreditam que P NP seja a existncia da classe de problemas NP Completos. Essa classe tem a surpreendente propriedade de que, se qualquer problema NP Completo pode ser resolvido em tempo polinomial, ento todo problema em NP tem uma soluo polinomial, isto , P = NP. Entretanto, apesar de anos de estudo, nenhum algoritmo de tempo polinomial jamais foi descoberto para qualquer problema NP Completo. Exemplo: 1 Problema do Ciclo Hamiltoniano. J explicado.

Na figura 64, temos um resumo sobre as classes de problemas estudadas neste escrito.

Figura 64: Resumo das classes de problemas.

67

APOSTILA DE GRAFOS

Prof. TENORIO

BIBLIOGRAFIA
Livros: BOAVENTURA NETTO, Paulo Oswaldo. Grafos. Teoria, Modelos, Algoritmos. Editora Edgard Blcher Ltda, So Paulo, 2003. SZWARCFITER, Jayme Luiz. Grafos e Algoritmos Computacionais. Editora Campus Ltda, Rio de Janeiro, 1984.

Apostilas de Professores: USP Universidade de So Paulo Prof. Paulo Feofiloff UNICAP Universidade Catlica de Pernambuco Prof. Wilson Rosa de Oliveira Junior

68