Bianca de Almeida Dantas
   Introdução   Terminologia   Exemplos de Grafos   Digrafos   Percursos em Grafos   Representação Computacional   ...
   Ramo da matemática que se utiliza de    modelos (os grafos) para estudar as relações    entre os objetos de um conjunto.
Figura 1 – Grafo com 4 vértices e 6 arestas.
   Diversos problemas podem ser representados    por grafos:    ◦   Trajetos entre cidades    ◦   Roteamento de veículos ...
   Um grafo é um par ordenado (V, A), onde V é    um conjunto qualquer e A é um subconjunto    de V(2) , o conjunto de to...
   Quando dois vértices são pontas de uma    mesma aresta, eles são ditos vizinhos ou    adjacentes.   Em algumas situaç...
Vértices: t, u, v, w, x, y, zArestas: xu, uv, vw, wx, xy, yzn=7m=6
   O grau de um vértice é definido como o    número de arestas incidentes em tal vértice.                      2         ...
   Um grafo regular é aquele em que todos os    vértices possuem o mesmo grau.   Um grafo regular com vértices de grau k...
   Um grafo completo G é aquele que possui    arestas conectando todos os pares de vértices,    ou seja, G(V, V(2)). Usua...
       O complemento de um grafo (V, A) é definido            como (V, V(2)  A).                                u        ...
   Um caminho entre dois vértices v1 e v2 de um    grafo é a sequência de arestas do trajeto    saindo de v1 em direção a...
u                tv             x                             z                    y    w        Qual é o caminho de v a y?
u            tv         x                          z               y    w          Alternativa 1        Comprimento: 3
u            tv         x                          z               y    w          Alternativa 2        Comprimento: 3
Ciclo a partir do vértice u                 u                t   v                          x                             ...
u            tv       x                          z                y    w                    Um laço no                    ...
   Em um grafo simples não existem laços e há    no máximo uma aresta entre quaisquer par    de vértices, ou seja, não ex...
   Grafos podem ter pesos associados a suas    arestas, representado por um número    rotulando cada aresta.   Neste cas...
Dizemos que o caminho vermelho é um caminhomínimo entre v e y, pois tem o menor peso entre            os caminhos possívei...
   O grafo dos estados do Brasil é definido    assim: cada vértice é um dos estados da    República Federativa do Brasil;...
Grafo que representa as adjacências entre os estados do Brasil
   Tipos especiais de grafos nos quais todas as    arestas são direcionadas.   Caminhos em digrafos devem levar em    co...
u           tv        x                       z               y    w        Caminho de v até y? E de y até                ...
Quais os graus                                     de entrada (E) e                                        saída (S)?     ...
   Um digrafo D(V, A) é dito fortemente conexo    se, para todos os pares de vértices (u, v)    existe caminho de u para ...
Digrafo fortemente conexo        uv                  x                                z                         y        w...
   Existem duas formas de percorrer todos os    vértices de um grafo, geralmente chamadas    de buscas:    ◦ Busca em Lar...
   Nesse percurso, partimos de um vértice    inicial e percorremos todos os seus vizinhos,    um a um, e então percorremo...
1
12
12       3
1    2       34
1    2           34       5
1    2               34       5       6
1    2               34       5       6       7
1    2               34       5       6       7
1    2               34       5       6       7
1    2               34       5       6       7
1    2                   34       5       6             7                    Grafos com essa estrutura                    ...
   Partindo de um vértice inicial, esse algoritmo    visita os vértices um a um até o “filho mais    profundo” que pode s...
1
12
1    23
1    23
1    23       4
1    23       4
1    23       4
1    2           53       4
1    2               53       4       6
1    2               53       4       6
1    2               53       4       6       7
1    2               53       4       6       7
1    2               53       4       6       7
1    2               53       4       6       7
   Existem diversas estruturas que podem ser    utilizadas para armazenar as informações de    um grafo ou digrafo. Pode-...
   A matriz de adjacências para um grafo    (digrafo) G (V, A) é uma matriz M de    dimensão |V|x|V| na qual o elemento M...
v6v1                          v3                                            v5                                     v4     ...
v6             v1                         v3                                                      v5                      ...
   Uma lista de adjacências para um grafo    (digrafo) G (V, A) armazena para cada vértice    u de V uma lista de todos o...
v6v1                         v3                                           v5                                 v4           ...
   A representação de um grafo (digrafo) G(V,A)    por lista de arestas utiliza dois vetores com    |A| elementos para ar...
v6  v1                            v3                                          v5                                     v4   ...
   Uma matriz de incidências para um digrafo    G(V,A) é uma matriz M de dimensão |V|x|A|    em que cada elemento segue a...
v6       a5               a6v1                            v3                                                 v5           ...
   As listas de vértices e de arestas são a forma    mais simples de representação de um grafo    (digrafo) G(V,A). São m...
v6            a5          a6  v1                             v3                                                     v5    ...
   Fecho transitivo   Problema do caminho mínimo   Caixeiro viajante   Carteiro chinês   Coloração de vértices
   O fecho transitivo Dt de um digrafo D é    obtido adicionando uma aresta dirigida entre    todos os pares de vértices ...
   Ou seja, o fecho transitivo representa a    inserção de uma nova aresta entre os vértices    conectados indiretamente ...
1   2   3   4   51       2       1   0   0   1   0   0                2   0   0   1   1   0    3       4   3   0   0   0  ...
1   2   3   4   51       2       1   0   0   1   0   1                2   0   0   1   1   1    3       4   3   0   0   0  ...
   Complexidade θ(n3)   Baseia-se na premissa de que, se existe uma    aresta de vi para vk e uma aresta de vk para vj, ...
AlgoritmoEntrada: M – matriz de adjacênciasSaída: Mt – matriz de adjacências dofechoinicio n <- |V| Mt <- M para k de 1 at...
   O problema do caminho mínimo consiste na    minimização do custo de travessia de    um grafo entre dois ou mais vértic...
u                   t    2          4v                     x                                      z    3                  ...
   Computa os caminhos mínimos a partir de    um vértice inicial v a todos os demais    vértices.   Ele utiliza uma estr...
   Bellman-Ford: permite que as arestas tenham    peso negativo.   A*: heurística que também permite arestas    negativa...
   Conhecido pela sigla TSP (Travelling Salesman    Problem), consiste em encontrar o menor    circuito a partir de um vé...
2    2           41       3                        3    6            73                    3    4           5        3    ...
2    2           41       3                        3    6            73                    3    4           5        3    ...
2    2           41       3                        3    6            73                    3    4           5        3    ...
2    2           41       3                        3    6            73                    3    4           5        3    ...
2    2           41       3                        3    6            73                    3    4           5        3    ...
. Essa é a única   solução????                           2                       2           4                   1       3...
   Achar a melhor solução é um problema    bastante difícil, envolvendo a exploração de    todas as possibilidades.   Pr...
   O problema do carteiro chinês, ou problema    da inspeção de rotas, consiste em encontrar    um ciclo em um grafo cone...
2    2           41                    3    6            7    4           5        3                Qual rota o carteiro  ...
2    2           41                   3    6            7    4           5        3                    Passo 1
2    2           41                   3    6            7    4           5        3                    Passo 2
2    2           41                   3    6            7    4           5        3                    Passo 3
2    2           41                   3    6            7    4           5        3                    Passo 4
Novamente um problema difícil       de otimizar.                                2                         2              4...
   O problema da coloração de grafos consiste    em rotular componentes do grafo (vértices,    arestas ou faces) com uma ...
   No caso de vértices, dois vértices vizinhos    precisam ser coloridos de cores diferentes.                Coloração de...
   No caso de arestas, arestas adjacentes ao    mesmo vértice devem ter cores diferentes.                Coloração de are...
   No caso de faces, as faces que compartilham    fronteiras não devem ter a mesma cor.                Coloração de faces.
   Problema bastante popular.   O jogo Sudoku é baseado na coloração de    vértices.                 Exemplo de Sudoku.
   Problemas em grafos podem:    ◦ Ser bastante custosos para resolver;    ◦ Demandar capacidade de processamento elevada...
   Cáceres, E.N.; Song, S.W.; Szwarcfiter, J.L. A    Parallel Algorithm for Transitive Closure.   Cormen. Thomas (2000);...
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Próximos SlideShares
Carregando em…5
×

Introdução à Teoria dos Grafos

12.427 visualizações

Publicada em

Publicada em: Educação
3 comentários
13 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
12.427
No SlideShare
0
A partir de incorporações
0
Número de incorporações
646
Ações
Compartilhamentos
0
Downloads
522
Comentários
3
Gostaram
13
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução à Teoria dos Grafos

  1. 1. Bianca de Almeida Dantas
  2. 2.  Introdução Terminologia Exemplos de Grafos Digrafos Percursos em Grafos Representação Computacional Problemas em Grafos Conclusões Bibliografia
  3. 3.  Ramo da matemática que se utiliza de modelos (os grafos) para estudar as relações entre os objetos de um conjunto.
  4. 4. Figura 1 – Grafo com 4 vértices e 6 arestas.
  5. 5.  Diversos problemas podem ser representados por grafos: ◦ Trajetos entre cidades ◦ Roteamento de veículos ◦ Mapa de páginas de um site ◦ Redes de computadores ◦ Representação de máquinas de estados finitos A obtenção de estruturas de dados e de algoritmos eficientes para manipulação de grafos é uma área de grande interesse da ciência da computação.
  6. 6.  Um grafo é um par ordenado (V, A), onde V é um conjunto qualquer e A é um subconjunto de V(2) , o conjunto de todos os pares não- ordenados de V. Chamamos os elementos de V de vértices e os elementos de A de arestas. Considere dois vértices u e v e uma aresta que os conecta, denotada por uv ou vu. Dizemos que a aresta uv incide em u e em v ou, ainda, que u e v são pontas da aresta uv.
  7. 7.  Quando dois vértices são pontas de uma mesma aresta, eles são ditos vizinhos ou adjacentes. Em algumas situações, é interessante dar nome a um grafo, por exemplo, G. Neste caso, o conjunto de vértices e de arestas são denotados por V(G) e A(G), respectivamente. O número de vértices, |V(G)|, de G é denotado por n e o número de arestas, |A(G)|, é denotado por m.
  8. 8. Vértices: t, u, v, w, x, y, zArestas: xu, uv, vw, wx, xy, yzn=7m=6
  9. 9.  O grau de um vértice é definido como o número de arestas incidentes em tal vértice. 2 0 2 3 1 2 2
  10. 10.  Um grafo regular é aquele em que todos os vértices possuem o mesmo grau. Um grafo regular com vértices de grau k é chamado de k-regular.0-regular 1-regular 2-regular 3-regular
  11. 11.  Um grafo completo G é aquele que possui arestas conectando todos os pares de vértices, ou seja, G(V, V(2)). Usualmente, são nomeados usando a letra K. Também é um grafo 5-regular Grafo completo com 6 vértices (K6)
  12. 12.  O complemento de um grafo (V, A) é definido como (V, V(2) A). u z u z u z y v yv y v w x w x w x Grafo Grafo completo Complemento
  13. 13.  Um caminho entre dois vértices v1 e v2 de um grafo é a sequência de arestas do trajeto saindo de v1 em direção a v2. Os vértices v1 e v2 são ditos extremos do caminho. O comprimento de um caminho é o seu número de arestas. Um caminho que começa e termina no mesmo vértice é chamado de ciclo ou circuito. Um ciclo de comprimento 1 é chamado de laço.
  14. 14. u tv x z y w Qual é o caminho de v a y?
  15. 15. u tv x z y w Alternativa 1 Comprimento: 3
  16. 16. u tv x z y w Alternativa 2 Comprimento: 3
  17. 17. Ciclo a partir do vértice u u t v x z y w
  18. 18. u tv x z y w Um laço no vértice t
  19. 19.  Em um grafo simples não existem laços e há no máximo uma aresta entre quaisquer par de vértices, ou seja, não existem arestas paralelas. Um grafo G(V, A) é conexo se existe um caminho entre todos os pares de vértices de V.
  20. 20.  Grafos podem ter pesos associados a suas arestas, representado por um número rotulando cada aresta. Neste caso, o comprimento do caminho entre dois vértices (ou peso do caminho) corresponde à soma dos pesos das arestas que compõem o caminho.
  21. 21. Dizemos que o caminho vermelho é um caminhomínimo entre v e y, pois tem o menor peso entre os caminhos possíveis. u t 2 4 v x z 3 7 y 6 1 w Caminhos entre v e y? Alternativa 1 (verde):Peso = 13 Alternativa 2 (vermelho):Peso = 11
  22. 22.  O grafo dos estados do Brasil é definido assim: cada vértice é um dos estados da República Federativa do Brasil; dois estados são adjacentes se têm uma fronteira comum.
  23. 23. Grafo que representa as adjacências entre os estados do Brasil
  24. 24.  Tipos especiais de grafos nos quais todas as arestas são direcionadas. Caminhos em digrafos devem levar em consideração a direção das arestas. Dois tipos de graus de vértices: ◦ Grau de entrada: número de arestas que “chegam” no vértice; ◦ Grau de saída: números de arestas que “saem” do vértice.
  25. 25. u tv x z y w Caminho de v até y? E de y até v?
  26. 26. Quais os graus de entrada (E) e saída (S)? E: 0 E: 2 S: 0 u t S: 0 v x z yE: 0 E: 1 E: 1S: 2 w S: 2 E: 1 S: 0 E: 1 S: 1 S: 1 Única alternativa de v até y! De y até v não existe caminho.
  27. 27.  Um digrafo D(V, A) é dito fortemente conexo se, para todos os pares de vértices (u, v) existe caminho de u para v e de v para u. Um digrafo é fracamente conexo se sua “versão não-direcionada” for conexa.
  28. 28. Digrafo fortemente conexo uv x z y w Digrafo fracamente conexo
  29. 29.  Existem duas formas de percorrer todos os vértices de um grafo, geralmente chamadas de buscas: ◦ Busca em Largura ou BFS (Breadth-First Search); ◦ Busca em Profundidades ou DFS (Depth-First Search).
  30. 30.  Nesse percurso, partimos de um vértice inicial e percorremos todos os seus vizinhos, um a um, e então percorremos os vizinhos de cada um de seus vizinhos, na ordem em que foram visitados no passo anterior.
  31. 31. 1
  32. 32. 12
  33. 33. 12 3
  34. 34. 1 2 34
  35. 35. 1 2 34 5
  36. 36. 1 2 34 5 6
  37. 37. 1 2 34 5 6 7
  38. 38. 1 2 34 5 6 7
  39. 39. 1 2 34 5 6 7
  40. 40. 1 2 34 5 6 7
  41. 41. 1 2 34 5 6 7 Grafos com essa estrutura são chamados de árvores.
  42. 42.  Partindo de um vértice inicial, esse algoritmo visita os vértices um a um até o “filho mais profundo” que pode ser alcançado e, após descer na hierarquia, passa para o próximo “filho”.
  43. 43. 1
  44. 44. 12
  45. 45. 1 23
  46. 46. 1 23
  47. 47. 1 23 4
  48. 48. 1 23 4
  49. 49. 1 23 4
  50. 50. 1 2 53 4
  51. 51. 1 2 53 4 6
  52. 52. 1 2 53 4 6
  53. 53. 1 2 53 4 6 7
  54. 54. 1 2 53 4 6 7
  55. 55. 1 2 53 4 6 7
  56. 56. 1 2 53 4 6 7
  57. 57.  Existem diversas estruturas que podem ser utilizadas para armazenar as informações de um grafo ou digrafo. Pode-se citar: ◦ Matriz de adjacências; ◦ Lista de adjacências; ◦ Lista de arestas; ◦ Matriz de incidências; ◦ Listas de vértices e arestas
  58. 58.  A matriz de adjacências para um grafo (digrafo) G (V, A) é uma matriz M de dimensão |V|x|V| na qual o elemento Mi,j será igual a 1 se existe uma aresta de i para j ou 0, caso contrário.
  59. 59. v6v1 v3 v5 v4 v2 v1 v2 v3 v4 v5 v6 v1 0 1 0 0 0 1 v2 0 0 1 0 0 0 v3 0 0 0 1 0 1 v4 0 0 0 0 1 0 v5 0 0 0 0 0 0 v6 0 0 0 0 0 0 Matriz de adjacências para o digrafo
  60. 60. v6 v1 v3 v5 v4 v2 v1 v2 v3 v4 v5 v6 v1 0 1 0 0 0 1 Matriz v2 1 0 1 0 0 0simétrica! v3 0 1 0 1 0 1 v4 0 0 1 0 1 0 v5 0 0 0 1 0 0 v6 1 0 1 0 0 0 Matriz de adjacência para o grafo
  61. 61.  Uma lista de adjacências para um grafo (digrafo) G (V, A) armazena para cada vértice u de V uma lista de todos os vértices v para os quais existe uma aresta uv.
  62. 62. v6v1 v3 v5 v4 v2 v1 v2 v6 v2 v3 v3 v4 v6 v4 v5 v5 v6 Lista de adjacências para o digrafo
  63. 63.  A representação de um grafo (digrafo) G(V,A) por lista de arestas utiliza dois vetores com |A| elementos para armazenar os extremos das arestas pertencentes a A.
  64. 64. v6 v1 v3 v5 v4 v2Vetor1 v1 v1 v2 v3 v3 v4Vetor2 v2 v6 v3 v4 v6 v5 Lista de arestas para o digrafo
  65. 65.  Uma matriz de incidências para um digrafo G(V,A) é uma matriz M de dimensão |V|x|A| em que cada elemento segue a equação:  1, se v i for o vértice inicial de a j  mij   1, se v i for o vértice final de a j   0, caso contrário No caso de grafos não-direcionais, temos que mij será 1 se vi for extremo de aj ou 0 caso contrário.
  66. 66. v6 a5 a6v1 v3 v5 v4 a1 a2 a3 a4 v2 a1 a2 a3 a4 a5 a6 v1 1 0 0 0 1 0 v2 -1 1 0 0 0 0 v3 0 -1 1 0 0 1 v4 0 0 -1 1 0 0 v5 0 0 0 -1 0 0 v6 0 0 0 0 -1 -1 Matriz de incidências para o digrafo
  67. 67.  As listas de vértices e de arestas são a forma mais simples de representação de um grafo (digrafo) G(V,A). São mantidas duas listas uma com todos os vértices de G e outra com todas as arestas e seus extremos.
  68. 68. v6 a5 a6 v1 v3 v5 v4 a1 a2 a3 a4 v2Lista de Vértices Lista de Arestas vi vj v1 a1 v1 v2 v2 a2 v2 v3 v3 a3 v3 v4 v4 a4 v4 v5 v5 a5 v1 v6 v6 a6 v3 v6 Listas de vértices e de arestas para o digrafo
  69. 69.  Fecho transitivo Problema do caminho mínimo Caixeiro viajante Carteiro chinês Coloração de vértices
  70. 70.  O fecho transitivo Dt de um digrafo D é obtido adicionando uma aresta dirigida entre todos os pares de vértices vi e vj entre os quais exista um caminho que saia de vi em direção a vj. Digrafo Dt de D
  71. 71.  Ou seja, o fecho transitivo representa a inserção de uma nova aresta entre os vértices conectados indiretamente por um caminho. Diversos algoritmos foram propostos para solução. Muitas soluções se baseiam na matriz de adjacências.
  72. 72. 1 2 3 4 51 2 1 0 0 1 0 0 2 0 0 1 1 0 3 4 3 0 0 0 0 1 4 0 0 0 0 1 5 5 0 0 0 0 0
  73. 73. 1 2 3 4 51 2 1 0 0 1 0 1 2 0 0 1 1 1 3 4 3 0 0 0 0 1 4 0 0 0 0 1 5 5 0 0 0 0 0
  74. 74.  Complexidade θ(n3) Baseia-se na premissa de que, se existe uma aresta de vi para vk e uma aresta de vk para vj, então, deve existir uma aresta de vi para vj. Sua estrutura permite fácil paralelização.
  75. 75. AlgoritmoEntrada: M – matriz de adjacênciasSaída: Mt – matriz de adjacências dofechoinicio n <- |V| Mt <- M para k de 1 ate n faca para i de 1 ate n faca para j de 1 ate n faca se Mt[i,k]=1 e Mt[k,j]=1 entao Mt[i,j] <- 1 fimse fimpara fimpara fimparafimalgoritmo
  76. 76.  O problema do caminho mínimo consiste na minimização do custo de travessia de um grafo entre dois ou mais vértices, levando em consideração o peso de cada aresta percorrida. Caso os pesos sejam omitidos, considere-os iguais a um.
  77. 77. u t 2 4v x z 3 7 y 6 1 w Caminho mínimo entre v e y
  78. 78.  Computa os caminhos mínimos a partir de um vértice inicial v a todos os demais vértices. Ele utiliza uma estratégia gulosa baseada na busca em largura. Funciona apenas para grafos com pesos positivos.
  79. 79.  Bellman-Ford: permite que as arestas tenham peso negativo. A*: heurística que também permite arestas negativas. Floyd-Warshall: distância entre todos os pares de vértices do grafo. Johnson: realiza a mesma tarefa do anterior, podendo ser mais eficiente em grafos esparsos.
  80. 80.  Conhecido pela sigla TSP (Travelling Salesman Problem), consiste em encontrar o menor circuito a partir de um vértice fonte v e que passe por todos os demais vértices exatamente uma vez. Também é um problema de otimização .
  81. 81. 2 2 41 3 3 6 73 3 4 5 3 Qual rota o caixeiro deve seguir a partir de 1?
  82. 82. 2 2 41 3 3 6 73 3 4 5 3 Passo 1
  83. 83. 2 2 41 3 3 6 73 3 4 5 3 Passo 2
  84. 84. 2 2 41 3 3 6 73 3 4 5 3 Passo 3
  85. 85. 2 2 41 3 3 6 73 3 4 5 3 Passo 4
  86. 86. . Essa é a única solução???? 2 2 4 1 3 3 6 7 3 3 4 5 3 Fim
  87. 87.  Achar a melhor solução é um problema bastante difícil, envolvendo a exploração de todas as possibilidades. Problema NP-completo! A complexidade do problema cresce de acordo com o tamanho do gráfico. Utiliza heurísticas para encontrar uma aproximação para o problema, por exemplo, colônia de formigas.
  88. 88.  O problema do carteiro chinês, ou problema da inspeção de rotas, consiste em encontrar um ciclo em um grafo conexo e não direcionado que passe por todas as suas arestas exatamente uma única vez.
  89. 89. 2 2 41 3 6 7 4 5 3 Qual rota o carteiro deve seguir a partir de 1?
  90. 90. 2 2 41 3 6 7 4 5 3 Passo 1
  91. 91. 2 2 41 3 6 7 4 5 3 Passo 2
  92. 92. 2 2 41 3 6 7 4 5 3 Passo 3
  93. 93. 2 2 41 3 6 7 4 5 3 Passo 4
  94. 94. Novamente um problema difícil de otimizar. 2 2 4 1 3 6 7 4 5 3 Final.
  95. 95.  O problema da coloração de grafos consiste em rotular componentes do grafo (vértices, arestas ou faces) com uma determinada cor de forma que não haja dois elementos adjacentes da mesma cor. No caso de vértices, dois vértices vizinhos precisam ser coloridos de cores diferentes.
  96. 96.  No caso de vértices, dois vértices vizinhos precisam ser coloridos de cores diferentes. Coloração de vértices.
  97. 97.  No caso de arestas, arestas adjacentes ao mesmo vértice devem ter cores diferentes. Coloração de arestas.
  98. 98.  No caso de faces, as faces que compartilham fronteiras não devem ter a mesma cor. Coloração de faces.
  99. 99.  Problema bastante popular. O jogo Sudoku é baseado na coloração de vértices. Exemplo de Sudoku.
  100. 100.  Problemas em grafos podem: ◦ Ser bastante custosos para resolver; ◦ Demandar capacidade de processamento elevada; ◦ Exigir grande quantidade de espaço de armazenamento. Busca por alternativas à computação sequencial tradicional. Desenvolvimento de novas heurísticas e utilização de múltiplos núcleos de processamento.
  101. 101.  Cáceres, E.N.; Song, S.W.; Szwarcfiter, J.L. A Parallel Algorithm for Transitive Closure. Cormen. Thomas (2000); Leiserson, Charles.; Rivest, Ronald. Introduction to Algorithms, McGraw-Hill. http://www.ime.usp.br/~pf/teoriadosgrafos/ http://professor.ufabc.edu.br/~leticia.bueno/cla sses/teoriagrafos/materiais/caminhominimo.pdf http://www.prp.unicamp.br/pibic/congressos/xv icongresso/paineis/043171.pdf http://www.icmc.sc.usp.br/~sandra/2/cor.htm http://pt.wikipedia.org

×