Escolar Documentos
Profissional Documentos
Cultura Documentos
Grafos individuais
Conteúdo
i
ii CONTEÚDO
2.2.1 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Aresta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Tipos de arestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2 Relação de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.4 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Aresta múltipla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4.1 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Ciclos em um grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.1 Definição matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.2 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6 Clique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.1 Definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.2 Matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.3 Ciência da Computação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.4 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.5 Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.6 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.7 Links Externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6.8 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.9 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 O grau de um grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.1 Lema do aperto de mãos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.2 Sequência de graus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.3 Valores especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.4 Propriedades globais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.5 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8 Grafo bipartido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8.1 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8.2 Testando biparticidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8.3 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8.4 Modelagem de multigrafos e hipergrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8.5 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.6 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.7 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.8.8 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9 Grafo bipartido completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9.2 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9.3 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CONTEÚDO iii
2.18.3 Observações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.18.4 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.18.5 Veja também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.19 Isomorfismo de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.19.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.19.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.19.3 Reconhecimento de isomorfismo de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.19.4 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.19.5 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.20 Laço . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.20.1 Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.20.2 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.20.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.20.4 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.21 Pseudografo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.21.1 Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.21.2 Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.21.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.22 Pseudografo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.22.1 Etiquetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.22.2 Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.22.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.23 Quiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.23.1 Representações de quivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.23.2 Teorema de Gabriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.23.3 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.23.4 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.24 Vértice de corte (teoria dos grafos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.24.1 Encontrando Vértices de corte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.24.2 Algoritmo em C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.24.3 Vértices de corte em árvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.24.4 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.24.5 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.24.6 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.25 Vizinhança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.25.1 Propriedades locais em grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.25.2 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Árvores 40
3.1 Árvores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.1 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.2 Definições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
CONTEÚDO v
3.1.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Árvore de extensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.1 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Árvore de extensão mínima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.3 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Representação de Grafos 43
4.1 Matriz de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Matriz de incidência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Ver também . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.2 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Lista de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 Aplicação em ciência da computação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.2 Conflitos de escolha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5 Automorfismo de grafos 47
5.1 Automorfismo de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1 Complexidade computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2 Exibindo a Simetria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.3 Famílias de grafos definidas pelos seus automorfismos . . . . . . . . . . . . . . . . . . . . 47
5.1.4 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2 Grafo regular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.1 Propriedades algébricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.2 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.3 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3 Grafo fortemente regular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.1 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.2 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.4 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4 Grafo distância-regular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4.1 Números Intersecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4.2 Matrizes de adjacência distância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.4.3 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4.4 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.5 Grafo distância-transitivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.5.1 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
vi CONTEÚDO
6 Algoritmos em Grafos 60
6.1 Busca em largura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.2 Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.3 Pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.4 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.5 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.6 Exemplo de Implementação em Object Pascal . . . . . . . . . . . . . . . . . . . . . . . . 62
CONTEÚDO vii
8 Grafos individuais 77
8.1 Grafo de Biggs-Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1.1 Propriedades algébricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1.2 Galeria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.1.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2 Grafo de Brouwer-Haemers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.2.1 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.3 Grafo de Desargues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.3.1 Construções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.3.2 Propriedades algébricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.3.3 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.3.4 Outras propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.3.5 Galeria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.3.6 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
CONTEÚDO ix
8.13.1 Construção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.13.2 Propriedades algébricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.13.3 Propriedades topológicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.13.4 Propriedades geométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.13.5 História . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.13.6 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.14 Grafo de Papo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.14.1 Propriedades algébricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.14.2 Galeria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.14.3 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.15 Grafo de Petersen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.15.1 Construções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.15.2 Incorporações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.15.3 Simetrias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.15.4 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.16 Grafo de Shrikhande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.16.1 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.16.2 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.16.3 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.16.4 Galeria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.17 Grafos de Chang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.17.1 Ligações externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.1 Sete pontes de Königsberg duas foram destruídas durante a Segunda Guerra Mun-
dial e outras duas foram demolidas para dar lugar a uma
única via expressa. Atualmente apenas duas pontes são
da época de Leonhard Euler.
Discutia-se nas ruas da cidade a possibilidade de atra-
vessar todas as pontes sem repetir nenhuma. Havia-se
tornado uma lenda popular a possibilidade da façanha
quando Euler, em 1736, provou que não existia caminho
que possibilitasse tais restrições.
Euler usou um raciocínio muito simples. Transformou os
caminhos em linhas e suas intersecções em pontos, cri-
ando possivelmente o primeiro grafo da história. Então
percebeu que só seria possível atravessar o caminho in-
teiro passando uma única vez em cada ponte se houvesse
exatamente zero ou dois pontos de onde saísse um nú-
Esquema de pontes. mero ímpar de caminhos. A razão de tal coisa é que de
cada ponto deve haver um número par de caminhos, pois
será preciso um caminho para “entrar” e outro para “sair”.
Os dois pontos com caminhos ímpares referem-se ao iní-
cio e ao final do percurso, pois estes não precisam de um
para entrar e um para sair, respectivamente. Se não hou-
ver pontos com número ímpar de caminhos, pode-se (e
deve-se) iniciar e terminar o trajeto no mesmo ponto, po-
dendo esse ser qualquer ponto do grafo. Isso não é pos-
sível quando temos dois pontos com números ímpares de
caminhos, sendo obrigatoriamente um o início e outro o
fim.
Duas das sete pontes originais da cidade foram destruídas
durante o bombardeamento de Königsberg em agosto de
1944.[2]
1
2 CAPÍTULO 1. INTRODUÇÃO - TEORIA DOS GRAFOS
1.2 Grafo
Um grafo não direcionado (ou simplesmente grafo) é regiões disjuntas no plano e arestas são representadas por
dado por adjacências entre regiões; representações por intersecção
no qual vértices são representados como objetos geomé-
• um conjunto V de vértices, tricos não disjuntos e arestas são representadas por suas
intersecções; representações por visibilidade onde vérti-
• um conjunto E de arestas e ces são representados por regiões no plano e arestas são
representadas por regiões com uma linha de visão desobs-
• uma função w : E → P(V) que associa a cada aresta truída para cada vértice; desenhos confluentes, nos quais
um subconjunto de dois ou de um elemento de V, arestas são curvas suaves dentro de trilhos de trem; tex-
interpretado como os pontos terminais da aresta. turas onde vértices são linhas horizontais e arestas são li-
nhas verticais[6] ; e visualizações da matriz de adjacência
Em um grafo ou dígrafo com pesos, uma função adi- de um grafo.
cional E → R associa um valor a cada aresta, o que
O desenho de grafos em superfícies diferentes do plano é
pode ser considerado seu “custo"; tais grafos surgem em
também estudado.
problemas de rota ótima tais como o problema do caixeiro
viajante.
1.2.4 Armazenamento de grafos em me-
1.2.3 Representação gráfica mória
Há diversas maneiras de armazenarmos grafos em com-
putadores. A estrutura de dados usada dependerá tanto
6 da estrutura do grafo quanto do algoritmo usado para
manipulá-lo. Teoricamente, podemos dividir entre estru-
existe entre eles. No grafo acima, os vértices 1 e 2 são • para 1 ≤ i ≤ k a aresta ei incide sobre vi−1 e vi
adjacentes, mas os vértices 2 e 4 não são. O conjunto
de vizinhos de um vértice consiste de todos os vértices
adjacentes a ele. No grafo-exemplo, o vértice 1 possui 2 O tamanho de um passeio, definido por |p| corres-
vizinhos: vértice 2 e vértice 5. ponde ao número de arestas que possui, incluindo as
repetições[9] . Na figura ao lado, um passeio do vér-
Na computação, um grafo finito direcionado ou não- tice a até o vértice d possível é a lista p(a, d) =
direcionado (com, digamos, n vértices) é geralmente re- a, e9 , c, e2 , b, e1 , a, e9 , c, e8 , d de tamanho 5 . Note que
presentado por sua matriz de adjacência: uma matriz a aresta e9 se repete. É necessário listarmos as arestas
n-por-n cujo valor na linha i e coluna j fornece o número em um passeio para distinguirmos entre as diversas ares-
de arestas do i-ésimo ao j-ésimo vértices. tas existentes quando estamos trabalhando em um grafo
que não é simples. Em um grafo simples, basta listarmos
os vértices[9] .
Valência (Grau)
Passeio
• Caminho hamiltoniano em um grafo é o caminho
que visita cada vértice exatamente uma vez. Um
ciclo hamiltoniano é um ciclo que visita cada vér-
tice uma só vez. O grafo do exemplo contém um
caminho hamiltoniano. Enquanto determinar se um
dado grafo contém um caminho ou ciclo euleriano
é trivial, o mesmo problema para caminhos e ciclos
hamiltonianos é trabalhoso.
1.2.6 Tipos de grafos raiz. As árvores são muito usadas como estruturas
de dados em informática (veja estrutura de dados em
• Grafo simples é um grafo não direcionado, sem la- árvore).
ços e existe no máximo uma aresta entre quaisquer
dois vértices (sem arestas paralelas). Para um grafo • Floresta é um conjunto de árvores; equivalente-
simples, o número de vizinhos de um vértice é igual mente a uma floresta, em algum grafo acíclico.
à sua valência. • Subgrafo de um grafo G é um grafo cujo conjunto
• Grafo completo é o grafo simples em que, para dos vértices é um subconjunto do conjunto de vér-
cada vértice do grafo, existe uma aresta conectando tices G, cujo conjunto de arestas é um subconjunto
este vértice a cada um dos demais. Ou seja, todos do conjunto de arestas de G, e cuja função w é uma
os vértices do grafo possuem mesmo grau. O grafo restrição da função de G
completo de n vértices é frequentemente denotado • Subgrafo gerador é aquele obtido pela remoção de
por Kn. Ele tem n(n−1)/2 arestas (correspondendo uma ou mais arestas de um outro grafo, dizemos en-
a todas as possíveis escolhas de pares de vértices). tão que este novo grafo obtido é gerador do primeiro,
• Grafo nulo é o grafo cujo conjunto de vértices é • Subgrafo induzido é obtido pela remoção de vérti-
vazio. ces e consequente das arestas relacionadas com ele
• Grafo vazio é o grafo cujo conjunto de arestas é de um outro grafo, dizemos que este novo grafo é
vazio. um grafo induzido do original.
• Grafo trivial é o grafo que possui apenas um vértice • Grafo parcial de um grafo G é um subgrafo com
e nenhuma aresta. o mesmo conjunto de vértices que G. Uma árvore
parcial é um grafo parcial que é árvore. Todo grafo
• Grafo regular é um grafo em que todos os vértices tem pelo menos uma árvore parcial.
tem o mesmo grau.
• Clique em um grafo é um subgrafo que também é
• Multigrafo é um grafo que permite múltiplas ares- um grafo completo. No grafo do exemplo acima, os
tas ligando os mesmos vértices (arestas paralelas). vértices 1, 2 e 5 formam um clique.
• Pseudografo é um grafo que contém arestas para- • Conjunto independente em um grafo é um con-
lelas e laços. junto de vértices não adjacentes entre si. No exem-
plo acima, os vértices 1, 3 e 6 formam um conjunto
• Grafo conexo um grafo é conexo se for possível independente e 3, 5 e 6 são outro conjunto indepen-
estabelecer um caminho de qualquer vértice para dente.
qualquer outro vértice de um grafo. Se for sempre
possível estabelecer um caminho de qualquer vér- • Grafo planar é aquele que pode ser representado
tice para qualquer outro vértice mesmo depois de em um plano sem qualquer intersecção entre arestas.
remover k−1 vértices, então diz-se que o grafo está O grafo do exemplo é planar; o grafo completo de n
k-conexo. Note que um grafo está k-conexo se, e vértices, para n> 4, não é planar.
somente se, contém k caminhos independentes en-
tre qualquer par de vértices. O grafo de exemplo • Grafo bipartido é o grafo cujos vértices podem ser
acima é conexo (e portanto 1-conexo), mas não é 2- divididos em dois conjuntos, nos quais não há ares-
conexo. Em um grafo genérico G, o corte associado tas entre vértices de um mesmo conjunto. Para um
a um conjunto X de vértices é o conjunto de todas grafo ser bipartido ele não pode conter circuitos de
as arestas que têm uma ponta em X e outra em V(G) comprimento ímpar.
- X, onde V(G) é o conjunto de todos os vértices 1. Se um grafo G é bipartido, todo o circuito
pertencentes ao grafo G. de G possui comprimento par.Sejam V1 e
• Ponto de articulação ou Vértice de corte é um V2 os dois conjuntos em que, de acordo com
vértice cuja remoção desliga um grafo. Uma ponte a definição de grafo bipartido, se particiona
é uma aresta cuja remoção desliga um grafo. Um V(G). Toda a aresta de G conecta um vértice
componente biconectado é um conjunto máximo em V1 com outro em V2. Assim sendo, se X
de arestas tal que qualquer par de arestas do con- for um vértice de V1, para “voltar” a esse vér-
junto fazem parte de um ciclo simples comum. O tice terá de se ir a V2 e voltar a V1 um número
contorno de um grafo é o comprimento do ciclo indeterminado de vezes, e de cada vez serão
simples mais curto no grafo. O contorno de um percorridas duas arestas, uma de um vértice
grafo acíclico é, por definição, infinito. em V1 para um vértice em V2 e outra de um
vértice em V2 para um vértice em V1. Logo,
• Árvore é um grafo simples acíclico e conexo. Às o número de arestas a percorrer será par, ou
vezes, um vértice da árvore é distinto e chamado de seja, o comprimento do circuito é par.
6 CAPÍTULO 1. INTRODUÇÃO - TEORIA DOS GRAFOS
• Sete pontes de Königsberg [5] Di Battista, Giuseppe; Eades, Peter; Tamassia, Ro-
berto; Tollis, Ioannis G. (1994), “Algorithms for
• Árvore de extensão mínima
Drawing Graphs: an Annotated Bibliography”, Compu-
• Problema do caminho mínimo tational Geometry: Theory and Applications 4: 235–282,
doi:10.1016/0925-7721(94)00014-x
• Problema da inspeção de rotas (também co-
nhecido como o "Problema do carteiro chi- [6] Longabaugh, William (2012), “Combing the hair-
nês") ball with BioFabric: a new approach for visua-
lization of large networks”, BMC Bioinformatics
• Problema do caixeiro viajante 13: 275, doi:10.1186/1471-2105-13-275, PMID
23102059, http://www.biomedcentral.com/content/pdf/
• Fluxos de rede:
1471-2105-13-275.pdf
• Teorema do mínimo corte-máximo fluxo [7] Goodrich, Michael T.; Tamassia, Roberto (2001). Estru-
turas de Dados e Algoritmos em Java 2ª ed. (Porto Alegre:
• conjectura da reconstrução Bookman). p. 502-503. ISBN 85-363-0043-4.
• Problemas de Isomorfismo (casamento de grafos) [8] Goodrich, Michael T.; Tamassia, Roberto (2004). Pro-
jeto de Algoritmos. Fundamentos, Análise e Exemplos da
• Rotulação canônica? Internet (Porto Alegre: Bookman). p. 299-303. ISBN
85-363-0303-4.
• Isomorfismo de subgrafos e monomorfismos.
• Máximo subgrafo comum [9] West, Douglas Brent (2001). «Chapter 1 - Fundamental
Concepts». Introduction to Graph Theory 2nd ed. (USA:
Prentice Hall). p. 20. ISBN 0-13-014400-2.
1.2.8 Algoritmos importantes
1.2.11 Ver também
• algoritmo de Dijkstra
• Estrutura de dados árvore ordenada - DAGs, árvores
• algoritmo de Kruskal
binárias e outras formas especiais de grafos.
• algoritmo do vizinho mais próximo • Rede complexa
• algoritmo de Prim. • Teoria espectral de grafos
• Redes de pequeno mundo
1.2.9 Generalizações
• Modelo de Watts e Strogatz
Num hipergrafo uma aresta pode conectar mais que dois
vértices.
1.2.12 Ligações externas
Um grafo não-direcionado pode ser visto como um
complexo simplicial consistindo de símplices de uma di- • Uma Introdução Sucinta à Teoria dos Grafos
mensão (as arestas) e símplices de dimensão zero (os vér-
• Graph theory tutorial (em inglês)
tices). Ou seja, complexos são generalizações de grafos
que permitem símplices de maiores dimensões. • Graph theory Algorithms (em inglês) — algoritmos
em pseudocódigo
[1] Biggs, N.; Lloyd, E. and Wilson, R. (1986), Graph The- • Graph Theory Software (em inglês)
ory, 1736-1936, Oxford University Press
• Lista de algoritmos de grafos (em inglês) — com re-
[2] Cayley, A. (1857), “On the theory of the analytical forms ferências e links para bibliotecas de implementação
called trees”, Philosophical Magazine, Series IV 13 (85): de grafos
172–176, doi:10.1017/CBO9780511703690.046
[3] Tutte, W.T. (2001), Graph Theory, Cambridge University Ferramentas de grafos populares
Press, p. 30, ISBN 978-0-521-79489-3, https://books.
google.com/books?id=uTGhooU37h4C&pg=PA30, vi- • Graph Visualization Software (em inglês) — ferra-
sitado em 2016-03-14 menta para visualizar e interagir com diagramas de
grafos
[4] «The Four Color Theorem». Mathpages.com. Consul-
tado em 03 de junho de 2016. • Visualization of Compiler Graphs (em inglês)
8 CAPÍTULO 1. INTRODUÇÃO - TEORIA DOS GRAFOS
2.1.1 Histórico
9
10 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
Os grafos são geralmente representados graficamente da Há diversas maneiras de armazenarmos grafos em com-
seguinte maneira: é desenhado um círculo para cada vér- putadores. A estrutura de dados usada dependerá tanto
tice, e para cada aresta é desenhado um arco conectando da estrutura do grafo quanto do algoritmo usado para
suas extremidades. Se o grafo for direcionado, seu sen- manipulá-lo. Teoricamente, podemos dividir entre estru-
tido é indicado na aresta por uma seta. turas do tipo lista e do tipo matriz, mas em aplicações re-
ais, a melhor estrutura é uma combinação de ambas. Es-
O grafo de exemplo exibido à direita é um grafo simples truturas do tipo lista são frequentemente usadas em gra-
com o conjunto de vértices V = {1, 2, 3, 4, 5, 6} e um fos esparsos (grafos que possuem um pequeno número de
conjunto de arestas E = { {1,2}, {1,5}, {2,3}, {2,5}, arestas em relação ao número de vértices, oposto ao grafo
{3,4}, {4,5}, {4,6} } (com o mapeamento w sendo a denso, onde o número de arestas se aproxima do máximo
identidade). de arestas possível) já que exigem menor uso da memória.
Note que essa representação gráfica não deve ser confun- Por outro lado, estruturas do tipo matriz fornecem um rá-
dida com o grafo em si (a estrutura abstrata, não-gráfica). pido acesso em algumas aplicações, mas podem consumir
2.1. GRAFO 11
uma grande quantidade de memória. par. Também em grafos não direcionados a soma
Estruturas do tipo lista incluem a lista de adjacência que dos graus de todos os vértices é igual ao dobro do
associa a cada vértice do grafo uma lista de todos os ou- número de arestas.
tros vértices com os quais ele tem uma aresta e a lista
de incidência, que armazena para cada vértice uma lista Passeio
de objetos que representam as arestas incidentes a esse
vértice[7][8] .
Estruturas do tipo matriz incluem a matriz de incidência,
uma matriz de 0’s e 1’s com suas linhas representando
vértices e suas colunas as arestas e a matriz de adjacência
onde ambas linhas e colunas possuem vértices. Em am-
bos casos um 1 indica dois objetos adjacentes e 0 indica
dois objetos não adjacentes.
euleriano é um ciclo que usa cada aresta exatamente • Grafo conexo um grafo é conexo se for possível
uma vez. estabelecer um caminho de qualquer vértice para
qualquer outro vértice de um grafo. Se for sempre
• Caminho hamiltoniano em um grafo é o caminho possível estabelecer um caminho de qualquer vér-
que visita cada vértice exatamente uma vez. Um tice para qualquer outro vértice mesmo depois de
ciclo hamiltoniano é um ciclo que visita cada vér- remover k−1 vértices, então diz-se que o grafo está
tice uma só vez. O grafo do exemplo contém um k-conexo. Note que um grafo está k-conexo se, e
caminho hamiltoniano. Enquanto determinar se um somente se, contém k caminhos independentes en-
dado grafo contém um caminho ou ciclo euleriano tre qualquer par de vértices. O grafo de exemplo
é trivial, o mesmo problema para caminhos e ciclos acima é conexo (e portanto 1-conexo), mas não é 2-
hamiltonianos é trabalhoso. conexo. Em um grafo genérico G, o corte associado
a um conjunto X de vértices é o conjunto de todas
as arestas que têm uma ponta em X e outra em V(G)
Ciclo (ou circuito) é um caminho que começa e acaba - X, onde V(G) é o conjunto de todos os vértices
com o mesmo vértice. Ciclos de comprimento 1 são la- pertencentes ao grafo G.
ços. No grafo de exemplo, (1, 2, 3, 4, 5, 2, 1) é um ci-
clo de comprimento 6. Um ciclo simples é um ciclo que • Ponto de articulação ou Vértice de corte é um
tem um comprimento pelo menos de 3 e no qual o vértice vértice cuja remoção desliga um grafo. Uma ponte
inicial só aparece mais uma vez, como vértice final, e os é uma aresta cuja remoção desliga um grafo. Um
outros vértices aparecem só uma vez. No grafo acima, (1, componente biconectado é um conjunto máximo
5, 2, 1) é um ciclo simples. Um grafo chama-se acíclico de arestas tal que qualquer par de arestas do con-
se não contém ciclos simples. junto fazem parte de um ciclo simples comum. O
contorno de um grafo é o comprimento do ciclo
Laço (loop) num grafo ou num dígrafo é uma aresta e em simples mais curto no grafo. O contorno de um
E cujas terminações estão no mesmo vértice. grafo acíclico é, por definição, infinito.
• Árvore é um grafo simples acíclico e conexo. Às
2.1.6 Tipos de grafos vezes, um vértice da árvore é distinto e chamado de
raiz. As árvores são muito usadas como estruturas
• Grafo simples é um grafo não direcionado, sem la- de dados em informática (veja estrutura de dados em
ços e existe no máximo uma aresta entre quaisquer árvore).
dois vértices (sem arestas paralelas). Para um grafo
• Floresta é um conjunto de árvores; equivalente-
simples, o número de vizinhos de um vértice é igual
mente a uma floresta, em algum grafo acíclico.
à sua valência.
• Subgrafo de um grafo G é um grafo cujo conjunto
• Grafo completo é o grafo simples em que, para dos vértices é um subconjunto do conjunto de vér-
cada vértice do grafo, existe uma aresta conectando tices G, cujo conjunto de arestas é um subconjunto
este vértice a cada um dos demais. Ou seja, todos do conjunto de arestas de G, e cuja função w é uma
os vértices do grafo possuem mesmo grau. O grafo restrição da função de G
completo de n vértices é frequentemente denotado
por Kn. Ele tem n(n−1)/2 arestas (correspondendo • Subgrafo gerador é aquele obtido pela remoção de
a todas as possíveis escolhas de pares de vértices). uma ou mais arestas de um outro grafo, dizemos en-
tão que este novo grafo obtido é gerador do primeiro,
• Grafo nulo é o grafo cujo conjunto de vértices é
• Subgrafo induzido é obtido pela remoção de vérti-
vazio.
ces e consequente das arestas relacionadas com ele
• Grafo vazio é o grafo cujo conjunto de arestas é de um outro grafo, dizemos que este novo grafo é
vazio. um grafo induzido do original.
• Grafo parcial de um grafo G é um subgrafo com
• Grafo trivial é o grafo que possui apenas um vértice
o mesmo conjunto de vértices que G. Uma árvore
e nenhuma aresta.
parcial é um grafo parcial que é árvore. Todo grafo
tem pelo menos uma árvore parcial.
• Grafo regular é um grafo em que todos os vértices
tem o mesmo grau. • Clique em um grafo é um subgrafo que também é
um grafo completo. No grafo do exemplo acima, os
• Multigrafo é um grafo que permite múltiplas ares- vértices 1, 2 e 5 formam um clique.
tas ligando os mesmos vértices (arestas paralelas).
• Conjunto independente em um grafo é um con-
• Pseudografo é um grafo que contém arestas para- junto de vértices não adjacentes entre si. No exem-
lelas e laços. plo acima, os vértices 1, 3 e 6 formam um conjunto
2.1. GRAFO 13
• Problema do caminho mínimo [6] Longabaugh, William (2012), “Combing the hair-
ball with BioFabric: a new approach for visua-
• Problema da inspeção de rotas (também co- lization of large networks”, BMC Bioinformatics
nhecido como o "Problema do carteiro chi- 13: 275, doi:10.1186/1471-2105-13-275, PMID
nês") 23102059, http://www.biomedcentral.com/content/pdf/
• Problema do caixeiro viajante 1471-2105-13-275.pdf
[7] Goodrich, Michael T.; Tamassia, Roberto (2001). Estru-
• Fluxos de rede: turas de Dados e Algoritmos em Java 2ª ed. (Porto Alegre:
Bookman). p. 502-503. ISBN 85-363-0043-4.
• Teorema do mínimo corte-máximo fluxo
[8] Goodrich, Michael T.; Tamassia, Roberto (2004). Pro-
• conjectura da reconstrução jeto de Algoritmos. Fundamentos, Análise e Exemplos da
Internet (Porto Alegre: Bookman). p. 299-303. ISBN
• Problemas de Isomorfismo (casamento de grafos) 85-363-0303-4.
[9] West, Douglas Brent (2001). «Chapter 1 - Fundamental
• Rotulação canônica?
Concepts». Introduction to Graph Theory 2nd ed. (USA:
• Isomorfismo de subgrafos e monomorfismos. Prentice Hall). p. 20. ISBN 0-13-014400-2.
• Máximo subgrafo comum
2.1.11 Ver também
2.1.8 Algoritmos importantes • Estrutura de dados árvore ordenada - DAGs, árvores
binárias e outras formas especiais de grafos.
• algoritmo de Dijkstra
• Rede complexa
• algoritmo de Kruskal
• Teoria espectral de grafos
• algoritmo do vizinho mais próximo • Redes de pequeno mundo
• algoritmo de Prim. • Modelo de Watts e Strogatz
2.2. VÉRTICE 15
2.1.12 Ligações externas por exemplo, uma rede semântica é um grafo no qual os
vértices representam conceitos ou classes de objetos.
• Uma Introdução Sucinta à Teoria dos Grafos
Os dois vértices formando uma aresta são ditos suas ex-
• Graph theory tutorial (em inglês) tremidades e a aresta é dita que é incidente para com os
vértices.[1] Um vértice w é dito ser adjacente a outro vér-
• Graph theory Algorithms (em inglês) — algoritmos tice v se o grafo contém uma aresta (v,w).[2] A adjacência
em pseudocódigo de um vértice v é um subgrafo induzido do grafo, formado
por todos os vértices adjacentes a v.
• Algorithm Animations (em inglês)
O grau de um vértice em um grafo é o número de ares-
• Graph Theory Software (em inglês) tas incidentes a ele.[3] Um vértice isolado é um vértice
• Lista de algoritmos de grafos (em inglês) — com re- com grau zero, isto é, um vértice que não é um ponto fi-
ferências e links para bibliotecas de implementação nal de toda a aresta. Um vértice folha (também vértice
de grafos pendente) é um vértice de grau um. Em um grafo dire-
cionado, pode-se distinguir o grau de saída (número de
arestas divergentes) do grau de entrada (número de ares-
Ferramentas de grafos populares tas convergentes); uma fonte é um vértice com grau de
entrada zero, enquanto um sumidouro (ou poço) é um
• Graph Visualization Software (em inglês) — ferra- vértice com grau de saída nulo[2] .
menta para visualizar e interagir com diagramas de
Um vértice de corte é um vértice cuja remoção (junta-
grafos
mente com as arestas a ele conectadas) provoca um redu-
• Visualization of Compiler Graphs (em inglês) ção na conexidade do grafo;[4] Um separador é uma cole-
ção de vértices cuja remoção desconecta o grafo restante
• Data Visualization Software (em inglês) em pedaços pequenos.[5] Um grafo k-conexo é um gráfico
• Planarity Game (em inglês) — jogo sobre Grafos em que a remoção de menos de k vértices sempre deixa
Planares o grafo ainda conectado. Um conjunto independente é
um conjunto de vértices tal que não existem dois vérti-
ces adjacentes contido neste conjunto, e uma cobertura
de vértices é um conjunto de vértices, que inclui o ponto
2.2 Vértice de extremidade de cada aresta do grafo. O espaço de vér-
tices de um grafo é um espaço vetorial com um conjunto
Nota: Para outros usos veja Vértice de vetores de base correspondente aos vértices do gráfico.
Em teoria dos grafos, um vértice (plural vértices) ou
Um grafo é vértice-transitivo se ele tiver simetrias que
mapeiam qualquer vértice para qualquer outro vértice.
No contexto da enumeração de grafos e isomorfismo de
6 grafos, é importante fazer a distinção entre vértices ro-
5
tulados e vértices sem rótulo. Um vértice rotulado é
4 1
um vértice que está associado com informação extra que
possa o distinguir de outros vértices rotulados; dois grafos
podem ser considerados isomórficos somente se a corres-
pondência entre seus vértices emparelham vértices com
rótulos iguais. Um vértice não marcado é aquele que
2.2.1 Referências
[1] Even, Shimon (1979). Graph Algorithms (Rockville,
Maryland: Computer Science Press). p. 249. ISBN 0-
914894-21-8.
[2] Even, Shimon (1979). Graph Algorithms (Rockville, [2] FURTADO, Antonio Luz (1973). Teoria dos Grafos. Al-
Maryland: Computer Science Press). p. 1. ISBN 0- goritmos (Rio de Janeiro, Guanabara: LTC/Editora da
914894-21-8. USP). p. 6. CDD 511.2076.
[3] BAASE, Sara (1988). Computer Algorithms. Introduc- [3] BOAVENTURA NETTO, Paulo Oswaldo (2001). Gra-
tion to Design and Analysis (em inglês) 2ª ed. (Reading, fos. Teoria, Modelos Algoritmos (São Paulo: Edgard Blü-
Massachusetts: Addison-Wesley). p. 149. ISBN 0-201- cher). p. 24. ISBN 85-212-0292-X.
06035-3.
[4] SZWARCFITER, Jayme Luiz (1988). Grafos e algorit-
mos computacionais (Rio de Janeiro: Campus). ISBN 85-
2.3.4 Ver também 7001-341-8.
2.4.1 Referências
[1] «Multiple Edge» (em inglês). Wolfram Alpha. Consul-
tado em 14 de novembro de 2015.
em redes sociais para modelar cliques de pessoas; ou seja, • A Conjectura de Hadwiger, ainda não provada, re-
grupos de pessoas onde todas se conhecem. O Clique lata o tamanho do maior clique mínimoem um grafo
possui várias outras aplicações na ciênca, principalmente (o seu número de Hadwiger) para seu número cro-
na bioinformática. mático.
2.6.9 Referências
seqüência (di)i₌₁,...,n sendo di ≥di+1 é uma sequência de grau ímpar. Se tem 0 vértices de grau ímpar, o
de grau de um grafo simples sse, a soma da sequência é caminho Euleriano é um circuito Euleriano.
par e
• Um grafo direcionado é uma pseudofloresta se e so-
mente se se cada vértice tem um grau de saída no
máximo 1. Um grafo funcional é um caso especial
∑
k ∑
n
di ≤ k(k−1)+ min(di , k) fork ∈ {1, . . . , n}. de um pseudofloresta em que cada vértice tem exa-
i=1 i=k+1 tamente um grau de saída 1.
Havel e Hakimi provaram que (d 1 , d2 , ..., dn) é uma • Pelo Teorema de Brooks, qualquer grafo que não
seqüência de grau de um grafo simples sse (d2 − 1, d3 seja um clique ou um ciclo ímpar tem um número
− 1, ..., dd 1 ₊₁ − 1, dd 1 ₊₂, dd 1 ₊₃, ..., dn) é. Este fato leva cromático, de no máximo Δ, e pelo Teorema de Vi-
a um algoritmo simples (o algoritmo Havel-Hakimi) para zing, um grafo tem um índice cromático de no má-
a realização de um grafo simples, com uma seqüência de ximo Δ + 1.
determinado grau de realização: Comece com um grafo
sem bordas. Mantenha uma lista de vértices cujo grau
2.7.5 Referências
de exigência não tenha ainda sido atingido em ordem não
crescente de exigência de grau residual. Conecte o pri- [1] Diestel (2005). Graph Theory 3ª ed. (Berlin, New York:
meiro vértice com os próximos d1 vértices na lista, e de- Springer-Verlag). ISBN 978-3-540-26183-4. Parâmetro
pois remova-o da lista. Reordene a lista e repita até que desconhecido |Nome= ignorado (|nome=) (Ajuda).
todas as exigências do grau estejam cumpridas.
[2] Even, Shimon (1979). Graph Algorithms (Rockville,
Maryland: Computer Science Press). p. 249. ISBN 0-
914894-21-8.
2.7.3 Valores especiais
[3] Szwarcfiter, Jayme Luiz (1988). Grafos e algoritmos com-
putacionais (Rio de Janeiro: Campus). ISBN 85-7001-
341-8.
U V
1 4
2
3 4
0
2.8.4 Modelagem de multigrafos e hiper-
grafos
1 4 5
Grafos bipartidos podem modelar inteiramente o mais
Encontrando uma bipartição usando paridade geral multigrafo. Dada um multigrafo M, tome U como
o conjunto de vértices de M e tome V como o conjunto
Se um grafo bipartido é conexo, a sua bipartição pode ser de arestas de M. Então junte-se um elemento de V para
definida pela paridade das distâncias de qualquer vértice precisamente os dois elementos de U que são as extremi-
escolhido arbitrariamente v: um subconjunto consiste dos dades da aresta em M. Assim, cada multigrafo é descrito
vértices a uma distância par de v e o outro subconjunto completamente por um grafo bipartido, que é unilateral
consiste dos vértices a uma distância ímpar de v. regular de grau 2, e vice-versa.
Assim, pode-se testar eficientemente se um grafo é bipar- Da mesma forma, cada hipergrafo direcionado pode ser
tido, usando esta técnica de paridade de se atribuir vér- representado por um grafo bipartido. Tome U como o
tices para os dois subconjuntos U e V, separadamente a conjunto de vértices no hipergrafo, e V como conjunto
cada componente conectado do grafo e, em seguida, exa- de arestas. para cada u ∈ U e v ∈ V , conecte u a v se a
minar cada aresta para verificar se ela tem terminações aresta do hipergrafo contém u como entrada, e conecte v
designadas para os diferentes subgrupos. a u se v contém u como saída.
2.9. GRAFO BIPARTIDO COMPLETO 23
2.9 Grafo bipartido completo • Dado um grafo bipartido completo, ele possui dois
autovalores simétricos (o índice e o seu simétrico) e
os demais nulos.[1]
No campo da matemática da teoria dos grafos, um grafo
bipartido completo ou biclique é um tipo especial de • Dado um grafo bipartido, encontrar o seu subgrafo
grafo bipartido onde cada vértice do primeiro conjunto bipartido completo Km,n com o número máximo de
está associado a cada vértice do segundo conjunto. arestas mn é um problema NP-completo.
24 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
• Um grafo planar não pode conter K₃,₃ como um 2.10 Grafo caminho
menor; um grafo periplanar não pode conter K₃,₂
como um menor (Estas não são condições suficien- No campo da matemática da teoria dos grafos, um grafo
tes de planaridade e planaridade exterior, mas ne- caminho ou grafo linear é um exemplo particularmente
cessárias). simples de uma árvore, ou seja, uma árvore com dois
ou mais vértices que não tem ramificações, ou seja, con-
• Um grafo bipartido completo Kn,n é um grafo de
tém somente vértices de grau 2 e 1.[1] Em particular, ela
Moore e uma (n,4)-gaiola.
tem dois vértices terminais (vértices que têm grau 1), en-
• Um grafo bipartido completo Kn,n ou K , ₊₁ é um quanto todos os outros (se houver) têm grau 2.
grafo de Turán.
Biggs-Smith.
O grafo de Petersen é um grafo cúbico.
W. T. Tutte classificou os grafos simétricos cúbicos pelo
menor número inteiro s tal que cada dois caminhos ori-
entados de comprimento s podem ser mapeados entre si
por exatamente uma simetria do grafo. Ele mostrou que s
é no máximo 5, e deu exemplos de grafos com cada valor
possível de s de 1 a 5[3] .
Grafoos cúbicos semi-simétrico incluem o grafo de Gray
( o menor grafo cúbico semi-simétrico), o grafo de Lju-
bljana, e o gaiola-12 de Tutte.
O grafo de Frucht é o menor grafo cúbico sem qualquer
simetria: possui apenas um único automorfismo de gra-
fos, o automorfismo identidade.
O grafo bipartido completo K3,3 é um exemplo de grafo bicúbico De acordo com o teorema de Brooks todo grafo cúbico
com exceção do grafo completo K 4 pode ser colorido
com no máximo três cores. Portanto, todo grafo cúbico
No campo da matemática da teoria dos grafos, um grafo
diferente de K₄ tem um conjunto independente de pelo
cúbico é um grafo regular no qual todos os vértices tem
menos n/3 vértices, onde n é o número de vértices no
grau três[1] . Em outras palavras um grafo cúbico é um
grafo: por exemplo, a maior classe de cor em uma 3-
grafo 3-regular. Grafos cúbicos são também chamados
coloração tem pelo menos estes vértices.
grafos trivalentes.
De acordo com o teorema de Vizing todo grafo cúbico ne-
Um grafo bicúbico é um grafo bipartido cúbico.
cessita três ou quatro cores para uma coloração de arestas.
Uma 3-aresta-coloração é conhecida como uma colora-
ção Tait, e fgorma uma partição das arestas do grafo em
2.12.1 Simetria
três acoplamentos perfeitos. Pelo teorema de coloração
Em 1932, Ronald M. Foster começou a recolher exem- de linhas de König todo grafo bicúbico tem uma colora-
plos de grafos simétricos cúbicos, formando o início do ção de Tait.
censo de Foster[2] . Muitos grafos individuais conhecidos Os grafos cúbicos sem ponte que não tem uma colora-
são cúbicos e simétricos, incluindo o grafo de Petersen, ção de Tait são conhecidos como snarks. Eles incluem
o grafo de Nauru, o grafo de Coxeter, o grafo de Tutte– o grafo de Petersen, grafo de Tietze, os snarks Blanuša,
Coxeter, o grafo de Dyck, o grafo de Foster e o grafo de o snark flor, o snark dupla-estrela, o snark Szekeres e o
26 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
[12] «O censo de Foster». Consultado em 2010-11-13. pode ser incorporado isometricamente em um espaço eu-
[13] Petr Hliněný (2003). «Crossing Number Is Hard for Cu- clideano de qualquer dimensão[9] .
bic Graphs» (PDF). MFCS 2004. pp. 772–782. A rede em estrela, uma rede de computadores modelado
em um grafo de estrela, é importante em computação dis-
tribuída.
2.13 Grafo Estrela
Em teoria dos grafos, uma estrela S é o grafo bipartido 2.13.3 Referências
completo K₁,k, uma árvore com um nó interno e k folhas.
Uma estrela com 3 arestas é chamada uma garra[1] . [1] BOAVENTURA NETTO, Paulo Oswaldo (2001). Gra-
fos. Teoria, Modelos Algoritmos (São Paulo: Edgard Blü-
A estrela S é aresta-elegante quando k é par e não quando cher). p. 27. ISBN 85-212-0292-X.
k é ímpar. Ela é aresta-transitiva, unidade-distância e têm
diâmtero 2, cintura ∞, índice cromático k e número cro- [2] FAUDREE, Ralph; FLANDRIN, Evelyne; RYJÁčEK,
mático 2. Zdeněk. (1997). “Claw-free graphs — A sur-
vey”. Discrete Mathematics 164 (1–3): 87–147.
Estrelas também podem ser descritas como os únicos gra- DOI:10.1016/S0012-365X(96)00045-3..
fos conectados em que no máximo um vértice tem grau
maior que um. [3] Chudnovsky, Maria; Seymour, Paul (2005), “The
structure of claw-free graphs”, Surveys in combina-
torics 2005, London Math. Soc. Lecture Note
2.13.1 Relação com outras famílias de gra- Ser., 327, Cambridge: Cambridge Univ. Press, pp.
fos 153–171, http://publications.ias.edu/files/2005/02/u:4_
p:180____claws_survey.pdf.
Garras são notáveis na definição de grafos sem garra, os
grafos que não tem qualquer garra como subgrafo indu- [4] Gottlieb, J.; Julstrom, B. A.; Rothlauf, F.; Raidl, G.
R. (2001), “Prüfer numbers: A poor representation of
zido[2][3] .
spanning trees for evolutionary search”, Proc. Gene-
Uma estrela é um tipo especial de árvore. Como acontece tic and Evolutionary Computation Conference, Morgan
com qualquer árvore, as estrelas podem ser codificados Kaufmann, pp. 343–350, http://www.ads.tuwien.ac.at/
por uma sequência Prüfer; A sequência Prüfer para uma publications/bib/pdf/gottlieb-01.pdf
estrela K₁,k consiste de k − 1 cópias do vértice central[4] .
Uma árvore pode ser vista como um conjunto de estrelas [5] BARBOSA, Ruy Madsen (1975). Combinatória e Gra-
(pares ou ímpares) ligadas pelos pontos centrais[5] . fos 2 (São Paulo: Livraria Nobel). p. 196. Parâmetro
desconhecido |volumes= ignorado (|volume=) (Ajuda)
Diversos grafos invariantes são definidos em termos de
estrelas. Arboricidade de estrela é o menor número de [6] Hakimi, S. L.; Mitchem, J.; Schmeichel, E. E. (1996),
florestas que um grafo pode ser particionado em tal modo “Star arboricity of graphs”, Discrete Math. 149: 93–98,
que cada árvore em cada floresta é uma estrela[6] , e o doi:10.1016/0012-365X(94)00313-8
número cromático de estrela de um grafo é o menor nú-
mero de cores necessário para colorir seus vértices de tal [7] FERTIN, Guillaume; RASPAUD, André; REED, Bruce.
forma que cada duas classes de coloração, juntas, formam (2004). “Star coloring of graphs”. Journal of Graph The-
ory 47. DOI:10.1002/jgt.20029.
um subgrafo em que todos os componentes conectados
são estrelas[7] . Os grafos de comprimento de ramo 1 são
[8] ROBERTSON, Neil; SEYMOUR, Paul D.. (1991).
exatamente os grafos em que cada componente conectado “Graph minors. X. Obstructions to tree-decomposition”.
é uma estrela[8] . Journal of Combinatorial Theory 52 (2): 153–190.
DOI:10.1016/0095-8956(91)90061-N.
2.13.2 Outras aplicações [9] Linial, Nathan (2002), “Finite metric spaces–
combinatorics, geometry and algorithms”, Proc.
O conjunto de distâncias entre os vértices de uma garra International Congress of Mathematicians, Beijing, 3, pp.
fornece um exemplo de um espaço métrico finito, que não 573–586, Arxiv
28 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
2 9 10
1 2
é o seu grau de saída.
O grau de entrada é denotado deg− (v) e o grau de saída
como deg+ (v).. Um vértice com deg− (v) = 0 é cha-
mado de fonte, uma vez que é a origem de cada uma das
suas arestas incidentes. Da mesma forma, um vértice com
deg+ (v) = 0 é chamado de sumidouro (ou poço).
A fórmula da soma dos graus afirma que, para um grafo
direcionado
∑ ∑
deg+ (v) = deg− (v) = |A| .
v∈V v∈V
+ −
3 4
Se para cada nodo, v ∈ V, deg (v) = deg (v), o grafo
é chamado de digrafo balanceado.
[1] BOAVENTURA NETTO, Paulo Oswaldo (2001). Gra- Em muitos problemas, no entanto, interessa apenas o
fos. Teoria, Modelos Algoritmos (São Paulo: Edgard Blü- inter-relacionamento dos vértices - e não se definem fun-
cher). p. 7-8. ISBN 85-212-0292-X.. ções, ou se pode considerar que elas são constantes. Diz-
se então que o grafo é um grafo não-valorado.
[2] FURTADO, Antonio Luz (1973). Teoria dos Grafos. Al-
goritmos (Rio de Janeiro, Guanabara: LTC/Editora da
USP). CDD 511.2076.. 2.17.1 Representação
[3] SZWARCFITER, Jayme Luiz (1988). Grafos e algorit-
mos computacionais (Rio de Janeiro: Campus). p. 64. Em um grafo valorado se pode usar as representações
ISBN 85-7001-341-8. usuais para grafos. A matriz de adjacência é comu-
mente conhecida como matriz de valores das ligações
[4] BANG-JENSEN, Jørgen; GUTIN, Gregory (2000). ou simplesmente matriz de valores.[4] Na lista de ad-
Digraphs: Theory, Algorithms and Applications Springer jacência cada linha vem acompanhada de seus valores
[S.l.] ISBN 1-85233-268-9. respectivos[4] . A figura a seguir ilustra um exemplo:
[5] DIESTEL, Reinhard (2005). Graph Theory 3ª ed. Sprin-
ger [S.l.] ISBN 3-540-26182-6.
2.17.2 Referências
[6] BONDY, John Adrian; MURTY, U. S. R. (1976). Graph
Theory with Applications North-Holland [S.l.] ISBN 0- [1] GOODRICH, Michael T.; TAMASSIA, Roberto (2001).
444-19451-7.. Estruturas de Dados e Algoritmos em Java 2ª ed. (Porto
Alegre: Bookman). p. 532-560. ISBN 85-363-0043-4.
2.15.7 Ligações externas [2] FURTADO, Antonio Luz (1973). Teoria dos Grafos. Al-
goritmos (Rio de Janeiro, Guanabara: LTC/Editora da
• Oriented Graph (em inglês) USP). p. 2-3. CDD 511.2076.
• Algoritmo de Dijkstra
de tal forma que quaisquer dois vértices u e v de G são guir as propriedades de grafos inerentes às estruturas dos
adjacentes em G se e somente se ƒ(u) e ƒ(v) são adja- próprios grafos das propriedades associadas com as re-
centes em H. Este tipo de bijeção é comumente cha- presentações do grafo: desenho dos grafos, estruturas de
mado de “bijeção com preservação de arestas”, de acordo dados para grafos, rótulos de grafos, etc. Por exemplo, se
com a noção geral de isomorfismo sendo uma bijeção de um grafo tem exatamente um ciclo, em seguida, todos os
preservação-de-estrutura. grafos da sua classe de isomorfismo também têm exata-
Na definição acima, os grafos são entendidos como grafos mente um ciclo. Por outro lado, no caso comum quando
grafos não dirigidos, não-rotulados e não ponderados. No os vértices de um grafo são (representados por) inteiros
1, 2, ... N, então a expressão
entanto, a noção de isomorfismo pode ser aplicada a todas
as outras variantes da noção de grafo, somando os requi-
sitos necessários para preservar os elementos adicionais ∑
correspondentes da estrutura: as direções do arco, os pe- v · degv
v∈V (G)
sos das arestas, etc, com a seguinte exceção. Quando se
fala em rótulo com rótulos exclusivos, geralmente tirados pode ser diferente para dois grafos isomorfos.
do intervalo inteiro 1 ,...,n, onde n é o número dos vérti-
ces do grafo, dois grafos rotulados são ditos isomórficos
se os grafos subjacentes correspondentes não rotulados 2.19.3 Reconhecimento de isomorfismo de
são isomórficos. grafos
Se um isomorfismo existe entre dois grafos, então os gra-
fos são chamados de isomorfos e nós denotamos por Teorema de Whitney
G ≃ H . No caso, quando a bijeção é um mapeamento
de um grafo em si mesmo, ou seja, quando G e H são um
e o mesmo grafo, a bijeção é chamada de automorfismo
de G.
O isomorfismo de grafos é uma relação de equivalência
em grafos e, como tal, particiona as classes de todos os
grafos em classes de equivalência. Um conjunto de grafos
isomorfos entre si é chamado de classe de isomorfismo
de grafos. A exceção do teorema de Whitney: estes dois grafos não são iso-
mórficos, mas tem grafos de linha isomórfica.
2.20.1 Grau
2.19.5 Referências
Para um grafo não direcionado, o grau de um vértice é
[1] H. Whitney, “Congruent graphs and the connectivity of
graphs”, Am. J. Math., 54(1932) pp. 160-168.
igual ao número de vértices adjacentes.
Um caso especial é um laço, que acrescenta dois para o
[2] Dirk L. Vertigan, Geoffrey P. Whittle: A 2-Isomorphism
grau. Isso pode ser entendido se deixando cada conexão
Theorem for Hypergraphs. J. Comb. Theory, Ser. B
71(2): 215-230. 1997. da contagem de arestas do laço como seu próprio vértice
adjacente. Em outras palavras, um vértice com um laço
[3] The latest one resolved was minimum-weight triangu- “vê" a si mesmo como um vértice adjacente de ambas as
lation, proved to be NP-complete in 2008. Mulzer, extremidades da aresta, assim, se soma dois e não um,
Wolfgang; Rote, Günter (2008), “Minimum-weight tri- para o grau.
angulation is NP-hard”, Journal of the ACM 55 (2): 1,
doi:10.1145/1346330.1346336, Arxiv. Para um grafo direcionado, um laço soma um ao grau de
entrada e um ao grau de saída
2.20 Laço
2.20.2 Ver também
Em teoria dos grafos, um laço ou auto-loop (em inglês:
• Ciclo (teoria dos grafos)
loop, self-loop ou buckle) é uma aresta que conecta um
vértice a ele mesmo. Um grafo simples, não contém ne-
nhum laço.
2.20.3 Referências
Dependendo do contexto, um grafo ou um multigrafo
pode ser definido de forma a permitir ou proibir a pre- [1] Balakrishnan, V. K. (1997). Graph Theory (em inglês)
sença de laços (muitas vezes em combinação com a per- (New York: McGraw-Hill). ISBN 0-07-005489-4.
missão ou proibição do uso de arestas múltiplas entre os
mesmos vértices: [2] GROSS, Jonathon L.;YELLEN, Jay (eds.) (2003). Hand-
book of Graph Theory (em inglês) CRC [S.l.] ISBN 1-
58488-090-2.
• Onde os grafos são definidos de modo a permitir la-
ços e arestas múltiplas, um grafo sem laços é muitas [3] ZWILLINGER, Daniel (2002). CRC Standard Mathema-
vezes chamado de multigrafo.[1][2][3] tical Tables and Formulae (em inglês) 31ª ed. Chapman
& Hall/CRC [S.l.] ISBN 1-58488-291-3.
• Onde os grafos são definidos de modo a não per-
mitir laços e arestas múltiplas, um multigrafo ou [4] BOLLOBÁS, Béla (2002). Modern Graph Theory (em
pseudografo é muitas vezes definido como um grafo inglês) 1ª ed. (New York/Berlin: Springer). ISBN 0-387-
que pode ter laços e arestas múltiplas.[4][5] 98488-7.
34 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
[5] DIESTEL, Reinhard (2000). Graph Theory (em inglês) 2ª • V um conjunto de vértices ou nós,
ed. (New York/Berlin: Springer). ISBN 0-387-98976-5.
• A um multiconjunto de pares ordenados de vértices,
chamado arestas dirigidas, arcos ou flechas.
2.20.4 Ligações externas
Um multigrafo misto G = (V, E, A) pode ser definido
• Grafos - Definições (UFSC)
do mesmo jeito que um grafo misto (com arestas que po-
dem ser dirigidas ou não).
2.21 Pseudografo
2.21.1 Etiquetas
Multigrafos e multidígrafos podem suportar a noção de
grafos etiquetados, de modo similar. Contudo não há
consenso na terminologia nesse caso.
As definições de multigrafos e multidígrafos etiquetados
são similares, e definiremos apenas o último:
Um multidígrafo etiquetado é um grafo etiquetado com
arcos etiquetados.
Formalmente: Um multidígrafo etiquetado G é um mul-
tigrafo com nós etiquetados e arcos. Formalmente é uma
8-tupla G = (ΣV , ΣA , V, A, s, t, ℓV , ℓA ) , em que:
2.22.1 Etiquetas
arestas com mesmos nós finais. Assim, dois vértices po- • s : A −→ V e t : A −→ V são duas funções indi-
dem estar conectados por mais de uma aresta. Formal- cando o nó de origem e o de destino de um arco.
mente, um multigrafo G é um par ordenado G = (V, E)
, sendo • ℓV : V −→ ΣV e ℓA : A −→ ΣA são duas funções
descrevendo a etiquetagem dos nós e arestas.
• V um conjunto de vértices ou nós,
2.22.2 Notas
• E um multiconjunto de pares não-ordenados de vér-
tices, chamado arestas ou linhas. [1] Para exemplos, veja. Bollobas, p. 7 and Diestel, p. 25.
f
Um multigrafo misto G = (V, E, A) pode ser definido V1 −→V2
do mesmo jeito que um grafo misto (com arestas que po- Representação de um quiver, consistindo de dois es-
dem ser dirigidas ou não). paços vetoriais (V1, V2) e um morfismo f
36 CAPÍTULO 2. CONCEITOS BÁSICOS E DEFINIÇÕES
2.24.6 Ligações externas Um vértice isolado não tem vértices adjacentes. O grau
de um vértice é igual ao número de vértices adjacentes.
• Wolfram Mathworld “Cut-Vertex” Um caso especial é um laço que une um vértice a ele pró-
prio; se tal aresta existe, o vértice pertence à sua própria
• Nirmala, K.; Ramachandra Rao, A. O número vizinhança.
de vértices de corte em um grafo regular. (em
português), Cah. Cent. Étud. Rech. Opér. 17,
295-299 (1975). 2.25.1 Propriedades locais em grafos
2.25 Vizinhança
6
4 5
1
3 2
2.25.2 Referências
[1] Even, Shimon (1979). Graph Algorithms (Rockville,
Maryland: Computer Science Press). p. 249. ISBN 0-
914894-21-8.
Árvores
3.1.2 Definições
3
• Uma árvore é denominada enraizada se um vértice
4 é escolhido como especial. Esse vértice é chamado
raiz. Uma árvore que não é enraizada é denominada
livre.
• Um grafo G é uma árvore se e somente se existir um
único caminho entre cada par de vértices de G[2] .
5
3.1.3 Referências
Uma árvore com 5 arestas e 6 vértices. [2] SZWARCFITER, Jayme Luiz (1988). Grafos e algorit-
mos computacionais (Rio de Janeiro: Campus). p. 43-45.
(existe caminho entre quaisquer dois de seus vértices) e ISBN 85-7001-341-8.
acíclico (não possui ciclos)[1][2] . Caso o grafo seja ací-
clico mas não conexo, ele é dito uma floresta. Uma flo-
resta também é definida como uma união disjunta de ár- 3.2 Árvore de extensão
vores.
Toda árvore é um grafo, mas nem todo grafo é uma ár- Uma árvore de extensão ou árvore de dispersão (em
vore. Toda árvore é um grafo bipartido e planar. Todo inglês: spanning tree) é o subconjunto de arestas de um
grafo conexo possui pelo menos uma árvore de extensão grafo que forma uma árvore contendo todos os vértices.
associada, composta de todos os seus vértices e algumas Uma árvore de extensão mínima ou árvore de exten-
de suas arestas. são de custo mínimo (em inglês: minimum spanning
tree) é o subconjunto de arestas de menor peso total em
um grafo valorado que forma uma árvore contendo todos
3.1.1 Propriedades
os nós.
Seja G um grafo. G é uma árvore se satisfaz as seguintes Uma árvore de extensão/dispersão apresenta as seguintes
condições: propriedades:
40
3.3. ÁRVORE DE EXTENSÃO MÍNIMA 41
4
1
3
2 7
8
2
3
8
beamento do campus, dado acima. É muito difícil que 3.3.3 Ligações externas
tenhamos duas possibilidades de cabeamento com exata-
mente o mesmo custo. Isso pode ser generalizado para • Comparação de algoritmos para o problema da ár-
florestas de árvores mínimas. vore de extensão mínima - Explicação detalhada de
dois algoritmos diferentes para o problema da ár-
vore de extensão mínima, código completo de cada
Subgrafo de custo mínimo um deles e comparação de performance entre eles.
Propriedade do corte
3.3.2 Algoritmos
Representação de Grafos
4.1 Matriz de adjacência 1 1 0 0 1 0
1 0 1 0 1 0
0 1 0 1 0 0
A=
Uma matriz de adjacência é uma das formas de se re- 0 0 1 0 1 1
presentar um grafo. 1 1 0 1 0 0
0 0 0 1 0 0
Dado um grafo G com n vértices, podemos representá-lo
em uma matriz n x n A(G)=[aij] (ou simplesmente A). A Em grafos não direcionados, as matrizes de adjacência
definição precisa das entradas da matriz varia de acordo são simétricas ao longo da diagonal principal - isto é, a
com as propriedades do grafo que se deseja representar, entrada aij é igual à entrada aji. Matrizes de adjacência
porém de forma geral o valor aij guarda informações so- de grafos direcionados, no entanto, não são assim. Num
bre como os vértices vi e vj estão relacionados (isto é, digrafo sem pesos, a entrada aij da matriz é 1 se há um
informações sobre a adjacência de vi e vj). arco de vi para vj e 0 caso contrário.
Para representar um grafo não direcionado, simples e sem Um resultado interessante ocorre quando consideramos a
pesos nas arestas, basta que as entradas aij da matriz A potência k da matriz de adjacência, ou seja, o produto
contenham 1 se vi e vj são adjacentes e 0 caso contrário.
Se as arestas do grafo tiverem pesos, aij pode conter, ao
invés de 1 quando houver uma aresta entre vi e vj, o peso Ak = A × ··· × A
| {z }.
dessa mesma aresta. k
Antes de apresentar o resultado, vamos definir um per-
curso em um grafo G. Um percurso corresponde a uma
sequência, finita e não vazia, de vértices do grafo, na qual
(v0 , v1 , ..., vi, ..., vk-1, vk) é tal que, para todo 0 ≤ i ≤
6 k-1, vi e vi+1 são vértices adjacentes. Os vértices v0 e vk
são chamados, respectivamente, de origem e fim do per-
3 4
curso, enquanto v1 , v2 , ..., vk-1 são os vértices internos ao
caminho. O inteiro k é o comprimento do percurso. Um
caminho em um digrafo é um percurso no qual todos os
arcos estão orientados no sentido origem do percurso-fim
do percurso.
Se A é a matriz de adjacência de um grafo G com con-
2 5
junto de vértices dado por V(G) = {v1 , v2 , ..., vn}, então a
entrada (i,j) de Ak , com k ≥ 1, corresponde ao número de
percursos (distintos) de comprimento k existentes entre
os vértices vi e vj.
[ ]
(k−1)
Por exemplo, a matriz de adjacência do grafo ao lado é Ak−1 = aij ,
43
44 CAPÍTULO 4. REPRESENTAÇÃO DE GRAFOS
[ ]
(k)
Ak = aij ,
4.2 Matriz de incidência
e como Ak = Ak-1 . A, temos que
Uma matriz de incidência representa computacional-
mente um grafo através de uma matriz bidimensional,
(k)
∑
n
(k−1) onde uma das dimensões são vértices e a outra dimensão
aij = aip apj .
p=1
são arestas.
Dado um grafo G com n vértices e m arestas, podemos
Observe que, na expressão acima, o elemento aij (k) é ob- representá-lo em uma matriz n x m M. A definição pre-
tido multiplicando-se os elementos da linha i de Ak-1 pe- cisa das entradas da matriz varia de acordo com as pro-
los respectivos elementos da coluna j de A e, em seguida, priedades do grafo que se deseja representar, porém de
efetuando-se a soma dos produtos obtidos. forma geral guarda informações sobre como os vértices
Todo percurso entre vi e vj de comprimento k em G con- se relacionam com cada aresta (isto é, informações sobre
[1]
siste de um percurso entre vi e vp de comprimento k - 1, a incidência de uma aresta em um vértice ).
onde vp é adjacente a vj, seguido da aresta {vp, vj} e do Para representar um grafo sem pesos nas arestas e
vértice vj. O resultado decorre da hipótese de indução e não direcionado, basta que as entradas da matriz M
da última equação. contenham 1 se a aresta incide no vértice, 2 caso seja um
O resultado permanece válido para digrafos, fazendo-se laço (incide duas vezes) e 0 caso a aresta não incida no
as devidas adequações: trocando arestas por arcos e per- vértice. Isto é,
cursos por caminhos.
Para ilustrar o resultado acima, observe as potências 2 e
3 da matriz de adjacência A correspondente ao grafo da
figura:
3 2 1 1 2 0
2 3 0 2 1 0
6
A 2
=
1 0 2 0 2 1 3
1 2 0 3 0 0, A
= 3 4
2 1 2 0 3 1
0 0 1 0 1 1
7 6 3 3 6 1
6 3 5 1 7 2
3 5 0 5 1 0
3 1 5 0 6 3 .
2 5
6 7 1 6 3 0
1 2 0 3 0 0
O elemento (4,6) de A2 indica que não há nenhum cami-
nho de comprimento 2 ligando os vértices 4 e 6 do grafo
1
acima. Por outro lado, o elemento (4,6) de A3 indica que
existem 3 caminhos de comprimento 3 ligando os vérti-
ces 4 e 6. São eles: (4,3,4,6), (4,5,4,6) e (4,6,4,6).
Grafos com 6 vértices.
• Matriz de adjacência
• Lista de adjacência
4.2.2 Referências
6
4 5
1
3 2
Ainda uma outra forma de representação é a lista de [2] BOAVENTURA NETTO, Paulo Oswaldo (2001). Gra-
adjacência com arrays em que um array indexado pe- fos. Teoria, Modelos Algoritmos (São Paulo: Edgard Blü-
los números dos vértices aponta para arrays contendo os cher). p. 11. ISBN 85-212-0292-X.
vértices[7] . [3] Guido van Rossum (1998). «Python Patterns — Imple-
menting Graphs». Consultado em 2010-10-29.
4.3.2 Conflitos de escolha [4] CORMEN, Thomas H.; LEISERSON, Charles E.; RI-
VEST Ronald L.; STEIN, Clifford (2001). Introduction
to Algorithms 2ª ed. MIT Press/McGraw-Hill. [S.l.] p.
A principal alternativa para a lista de adjacência é a
420. ISBN 0-262-03293-7.
matriz de adjacência. Para um grafo com uma matriz
de adjacência esparsa uma representação de lista de ad- [5] GOODRICH, Michael T.; TAMASSIA, Roberto (2001).
jacências do grafo ocupa menos espaço, porque ele não Estruturas de Dados e Algoritmos em Java 2ª ed. (Porto
usa nenhum espaço para representar as arestas que não Alegre: Bookman). p. 502-503. ISBN 85-363-0043-4.
estão presentes[8] . Usando uma implementação de listas
[6] GOODRICH, Michael T.; TAMASSIA, Roberto (2004).
de adjacência com um simples array em um computador Projeto de Algoritmos. Fundamentos, Análise e Exemplos
de 32 bits, uma lista de adjacência de um grafo não di- da Internet (Porto Alegre: Bookman). p. 299-303. ISBN
recionado requer cerca de 8e bytes de armazenamento, 85-363-0303-4.
onde e é o número de arestas: cada aresta dá origem a
entradas nas duas listas de adjacência e usa quatro bytes [7] SAHNI, Sartaj (2000). Data Structures, Algorithms, and
cada uma. Applications in Java (em inglês) 2ª ed. (Boston Burr
Ridge, IL: McGrawHill). p. 668-667. ISBN 0-07-
Por outro lado, pelo fato de que cada entrada em uma ma- 109217-X.
triz de adjacências requer apenas um bit, elas podem ser
representados de uma forma muito compacta, ocupando [8] EVEN, Shimon (1979). Graph Algorithms (Rockville,
Maryland: Computer Science Press). p. 4. ISBN 0-
apenas n2 /8 bytes de espaço contíguo, onde n é o número
914894-21-8.
de vértices. Além de apenas evitar desperdício de espaço,
essa compactação incentiva a localidade de referência.
Observando que um grafo pode ter no máximo n2 ares-
tas (permitindo laços) podemos fazer d = e/n2 denotar a
densidade do grafo. Então, se 8e > n2 /8, a representação
de lista de adjacência ocupa mais espaço, o que é verda-
deiro quando d > 1/64. Assim, um grafo deve ser muito
escasso para uma representação de lista de adjacência ser
mais eficiente em termos de memória do que uma ma-
triz de adjacência. No entanto, esta análise só é válida
quando a representação é usada para armazenar a estru-
tura de conectividade do grafo, sem qualquer informação
numérica sobre suas arestas.
Além do conflito de escolha relativo ao espaço, as estru-
turas de dados diferentes também facilitam operações di-
ferentes. É fácil encontrar todos os vértices adjacentes a
um vértice dada em uma representação lista de adjacên-
cia; você simplesmente le a sua lista de adjacência. Com
uma matriz de adjacência em vez disso se tem que pes-
quisar mais de uma linha inteira, gastando tempo O(n).
Se, pelo contrário, deseja realizar um teste de vizinhança
em dois vértices (isto é, determinar se eles têm uma aresta
entre eles), uma matriz de adjacência proporciona isso na
hora. No entanto, este teste de vizinhança em uma lista
de adjacências requer tempo proporcional ao número de
arestas associado com os dois vértices.
4.3.3 Referências
Automorfismo de grafos
47
48 CAPÍTULO 5. AUTOMORFISMO DE GRAFOS
• Um Grafo assimétrico é um grafo não direcionado, [6] Torán, Jacobo. (PDF). SIAM Journal on Com-
sem qualquer automorfismo não trivial. puting, vol. 33, nº. 5, 2004, pp. 1093-1108,
doi:10.1137/S009753970241096X http://theorie.
• Um Grafo vértice-transitivo é um grafo não direcio- informatik.uni-ulm.de/Personen/toran/papers/hard.pdf.
nado em que cada vértice pode ser mapeado por um Texto “On the Hardness of Graph Isomorphism” ignorado
automorfismo em qualquer outro vértice. (Ajuda); delete character character in |publicado= at
position 146 (Ajuda); Falta o |titulo= (Ajuda); Ligação
• Um Grafo aresta-transitivo é um grafo não direcio- externa em |publicado= (Ajuda)
nado em que cada aresta pode ser mapeada por um [7] Di Battista, Giuseppe; Tamassia, Roberto; Tollis, Ioan-
automorfismo em qualquer outra aresta. nis G. (1992), “Area requirement and symmetry display
of planar upward drawings”, Discrete and Computational
• Um Grafo simétrico é um grafo tal que cada par de Geometry 7 (1): 381–401, doi:10.1007/BF02187850; Ea-
vértices adjacentes podem ser mapeados por um au- des, Peter; Lin, Xuemin (2000), “Spring algorithms and
tomorfismo em qualquer outro par de vértices adja- symmetry”, Theoretical Computer Science 240 (2): 379–
centes. 405, doi:10.1016/S0304-3975(99)00239-X.
• Um Grafo distância-transitivo é um grafo tal que [8] Hong, Seok-Hee (2002), “Drawing graphs symmetrically
cada par de vértices pode ser mapeada por um au- in three dimensions”, Proc. 9th Int. Symp. Graph
tomorfismo em qualquer outro par de vértices que Drawing (GD 2001), Lecture Notes in Computer Science,
2265, Springer-Verlag, pp. 106–108, doi:10.1007/3-540-
estão à mesma distância.
45848-4_16.
• Um Grafo semi-simétrico é um grafo que é aresta-
transitivo, mas não vértice-transitivo.
5.2 Grafo regular
• Um Grafo meio-transitivo é um grafo que é vértice-
transitivo e aresta-transitivo mas não simétrico.
Em Teoria dos grafos, um grafo regular é um grafo
• Um Grafo anti-simétrico é um grafo dirigido, junta- onde cada vértice tem o mesmo número de adjacências,
mente com uma permutação σ sobre os vértices que i.e. cada vértice tem o mesmo grau ou valência. Um
mapeia as arestas para arestas, mas inverte o sentido grafo direcionado regular também deve satisfazer a con-
de cada aresta. Adicionalmente, σ necessita ser uma dição mais forte de que o grau de entrada e o grau de
involução. saída de cada vértice sejam iguais uns aos outros.[1] Um
grafo regular com vértices de grau k é chamado um grafo
k‑regular ou grafo regular de grau k.
Relações de inclusão entre estas famílias estão indicadas
no quadro seguinte: Grafos regulares de grau no máximo 2 são fáceis de clas-
sificar: Um grafo 0-regular é composto por vértices des-
conectados, um grafo 1-regular consiste de arestas des-
5.1.4 Referências conectadas, e um grafo 2-regular consiste de ciclos des-
conectados.
[1] GALLIAN, Joseph A. (1994). Contemporary Abstract Al- Um grafo 3-regular é conhecido como um grafo cúbico.
gebra (Lexington, Massachusetts: D. C. Heath). ISBN 0-
669-33907-5. Um grafo fortemente regular é um grafo regular, onde
cada par de vértices adjacentes tem o mesmo número
[2] Frucht, R. (1938), “Herstellung von Graphen mit vorge- l de vizinhos em comum, e cada par de vértices não-
gebener abstrakter Gruppe.” (em German), Compositio adjacentes tem o mesmo número n de vizinhos em co-
Mathematica 6: 239–250, ISSN 0010-437X, http://www. mum. Os menores grafos que são regulares, mas não for-
numdam.org/item?id=CM_1939__6__239_0. temente regulares são os grafos ciclos e os grafos circu-
[3] Frucht, R. (1949), “Graphs of degree three with a gi- lantes em 6 vértices.
ven abstract group”, Canadian Journal of Mathematics O grafo completo Km é fortemente regular para qualquer
1: 365–378, MR0032987, ISSN 0008-414X, http://cms. m.
math.ca/cjm/v1/p365
Um teorema de Nash-Williams diz que cada k‑grafo re-
[4] Luks, Eugene M. (1982), “Isomorphism of graphs of gular em 2k + 1 vértices tem um ciclo hamiltoniano.
bounded valence can be tested in polynomial time”, Jour-
nal of Computer and System Sciences 25 (1): 42–65,
• grafo 0-regular
doi:10.1016/0022-0000(82)90009-5.
• grafo 1-regular
[5] Köbler, Johannes; Uwe Schöning, Jacobo Torán (1993),
Graph Isomorphism Problem: The Structural Comple- • grafo 2-regular
xity, Birkhäuser Verlag, ISBN 0817636803, OCLC
246882287 • grafo 3-regular
5.3. GRAFO FORTEMENTE REGULAR 49
− c1 ··· cd−1 cd
a0 a1 ··· ad−1 ad ,
b0 b1 ··· bd−1 −
a0 b0 0 ··· 0 0
c1 a1 b1 ··· 0 0
0 c2 a2 ··· 0 0
B := . .. .. .. .. ,
.. . . . .
0 0 0 ··· ad−1 bd−1
0 0 0 ··· cd ad
igual a i. Façamos Ai ser a matriz de adjacência de Gi. Por 5.5 Grafo distância-transitivo
exemplo, A1 é a matriz de adjacência A de G. Além disso,
seja A0 = I, a matriz identidade. Isto nos dá d + 1 matrizes No campo da matemática da teoria dos grafos, um grafo
A0 , A1 , ..., Ad, chamadas as matrizes de distância de G. distância-transitivo é um grafo tal que, dados dois vér-
A soma é a matriz J em que cada entrada é 1. Há uma tices quaisquer v e w em qualquer distância i, e quais-
fórmula de produto importante: quer outros dois vértices x e y à mesma distância, há um
automorfismo do grafo que carrega v para x e w para y.
Um grafo distância-transitivo é vértice-transitivo e
AAi = ai Ai + bi Ai+1 + ci Ai−1 . simétrico bem como distância-regular.
A partir desta fórmula resulta que cada Ai é uma função Um grafo distância-transitivo é interessante, em parte,
polinomial de A, de grau i, e que A satisfaz um polinô- porque tem um grande grupo de automorfismo. Alguns
mio de grau d + 1. Além disso, A tem exatamente d + 1 exemplos interessantes de grupos finitos são os grupos de
autovalores distintos, dos quais o maior é k, o grau. automorfismos de grafos distância-transitivos, especial-
mente daqueles cujo diâmetro é de 2.
As matrizes de distância abrangem um subespaço veto-
rial do espaço vetorial de todas n × n matrizes reais. É Grafos distância-transitivos foram definidos primeira-
um fato notável que o produto Ai Aj de quaisquer duas mente em 1971 por Norman L. Biggs e D. H. Smith,
matrizes de distância é uma combinação linear das ma- que mostraram que existem apenas 12 grafos distância-
trizes de distância: transitivos trivalentes finitos. São eles:
Independente em 1969, um grupo de russos liderados por
Georgy Adelson-Velsky mostrou que existem grafos que
∑
d são distância-regulares, mas não distância-transitivos. O
Ai Aj = pkij Ak . único grafo deste tipo com um grau três é o Tutte 12-
k=0 gaiola de 126 vértices. O menor grafo distância-regular
que não é a distância-transitivo é o grafo de Shrikhande.
Isto significa que as matrizes de distância geram um
Listas completas de grafos distância-transitivos são co-
esquema de associação. A teoria dos esquemas de associ-
nhecidas para alguns graus maiores do que três, mas a
ação é fundamental para o estudo dos gráficos de distân-
classificação de grafos distância-transitivos com graus de
cia regular. Por exemplo, o fato de que Ai é uma função
vértice arbitrariamente grandes continua em aberto.
polinomial de A é um fato sobre os esquemas de associ-
ação. A mais simples família de exemplos assintótica de gra-
fos distância-transitivos são os grafos Hipercubo. Outras
famílias são os grafos cubo dobrado e os grafos torre qua-
5.4.3 Exemplos drados. Todas essas três famílias têm arbitrariamente um
grau elevado.
• Grafos completos são distância regular com diâme-
tro 1 e grau v−1.
5.5.1 Referências
• Ciclos C₂d₊₁ de comprimento ímpar são distância
regular com k = 2 e diâmetro d. Os números de Primeiros trabalhos
intersecção ai = 0, bi = 1, e ci = 1, exceto para os
casos usuais especiais (ver acima) e cd = 2.
• Adel’son-Vel’skii, G. M.; Veĭsfeĭler, B. Ju.; Le-
• Todos os grafos de Moore, em particular o grafo de man, A. A.; Faradžev, I. A. (1969), “An exam-
Petersen e o grafo de Hoffman–Singleton, são dis- ple of a graph which has no transitive group of au-
tância regulares. tomorphisms”, Doklady Akademii Nauk SSSR 185:
975–976, MR0244107.
• grafos fortemente regulares são distância regular.
• Biggs, Norman (1971), “Intersection matrices for
• Grafos ímpares são distância regular. linear graphs”, Combinatorial Mathematics and its
Applications (Proc. Conf., Oxford, 1969), London:
Academic Press, pp. 15–23, MR0285421.
5.4.4 Referências
[1] BROUWER, Andries E.;COHEN, A.M.; NEUMAIER, • Biggs, Norman (1971), Finite Groups of Auto-
A. (1989). Distance Regular Graphs (Berlin, New York: morphisms, London Mathematical Society Lecture
Springer-Verlag). p. 434. ISBN 3-540-50619-5, ISBN Note Series, 6, London & New York: Cambridge
0-387-50619-5. University Press, MR0327563.
52 CAPÍTULO 5. AUTOMORFISMO DE GRAFOS
Pesquisas
um grafo tal que o grupo de automorfismo atua transi- 5.6.3 Ligações externas
tivamente nos t-arcos, mas não nos (t+1)-arcos. Uma vez
que os 1-arcos são simplesmente arestas, qualquer grafo • grafos cúbicos simétricos (The Foster Census)
simétrico de grau 3 ou superior tem que ser t-transitivo
para algum t, e o valor de t pode ser usado para além • grafos trivalentes (cúbicos) simétricos com até 2048
disso classificar grafos simétricos. O cubo é 2-transitivo, vértices
por exemplo.[1]
5.6.1 Exemplos
5.7 Grafo meio-transitivo
Combinando a condição de simetria com a restrição de No campo da matemática da teoria dos grafos, um grafo
que os grafos sejam cúbicos (ou seja, todos os vértices meio-transitivo é um grafo que é tanto vértice-transitivo
tem grau 3) resulta abolutamente uma forte condição, e quanto aresta-transitivo, mas não é simétrico.[1] Em ou-
tais grafos são raros o bastante para serem citados. O tras palavras, um grafo é meio-transitivo, se o seu grupo
censo de Foster e suas extensões fornecem tais listas.[7] de automorfismo atua transitivamente em ambos os seus
O censo de Foster foi iniciado na década de 1930 por vértices e arestas, mas não em pares ordenados de vérti-
Ronald M. Foster enquanto ele era um contratado pela ces ligados.
Bell Labs,[8] e em 1988 (quando Foster estava com 92
anos de idade[1] ) o então censo de Foster corrente (lis-
tando todos os grafos cúbicos simétricos até 512 vértices)
foi publicado em forma de livro.[9]
5.6.2 Referências
[1] BIGGS, Norman (1993). Algebraic Graph Theory 2ª ed.
(Cambridge: Cambridge University Press). p. 118–140.
ISBN 0-521-45897-8.
[5] GROSS, J.L.; YELLEN, J. (2004). Handbook of Graph Todo grafo simétrico conectado deve ser vértice-
Theory CRC Press [S.l.] p. 491. ISBN 1584880902. transitivo e aresta-transitivo, e o inverso é verdadeiro
para grafos de grau ímpar,[2] de modo que os grafos
[6] HOLT, Derek F.. (1981). “A graph which is edge tran- meio-transitivos de grau ímpar não existem. Contudo,
sitive but not arc transitive”. Journal of Graph Theory 5 existem grafos meio-transitivos de grau par.[3] O menor
(2): 201–204. DOI:10.1002/jgt.3190050210.. grafo meio-transitivo é o grafo de Holt, com grau 4 e 27
vértices.[4][5]
[7] Marston Conder, Trivalent symmetric graphs on up to 768
vertices, J. Combin. Math. Combin. Comput, vol. 20, pp.
41–63
5.7.1 Referências
[8] Foster, R. M. “Geometrical Circuits of Electrical
Networks.” Transactions of the American Institute of Elec- [1] GROSS, J.L. and Yellen, J. (2004). Handbook of Graph
trical Engineers 51, 309–317, 1932. Theory CRC Press [S.l.] p. 491. ISBN 1584880902.
[9] “The Foster Census: R.M. Foster’s Census of Connected [2] BABAI, L.;GRAHAM, R. (ed.); GROETSCHEL, M.;
Symmetric Trivalent Graphs”, by Ronald M. Foster, I.Z. LOVASZ, L. (1996). «Automorphism groups, iso-
Bouwer, W.W. Chernoff, B. Monson and Z. Star (1988) morphism, reconstruction». Handbook of Combinatorics
ISBN 0919611192 Elsevier [S.l.]
54 CAPÍTULO 5. AUTOMORFISMO DE GRAFOS
[3] Bouwer, Z. “Vertex and Edge Transitive, But Not 1- nik, os quatro menores grafos cúbicos semissimétricos
Transitive Graphs.” Canad. Math. Bull. 13, 231–237, possíveis, após o grafo de Gray são o grafo de Iofinova-
1970. Ivanov em 110 vértices, o grafo de Ljubljana em 112
[4] BIGGS, Norman (1993). Algebraic Graph Theory 2ª ed. vértices,[3] um grafo de 120 vértices com cintura 8 e a
(Cambridge: Cambridge University Press). ISBN 0-521- gaiola-12 de Tutte.[4]
45897-8.
[5] HOLT, Derek F.. (1981). “A graph which is edge tran- 5.8.1 Referências
sitive but not arc transitive”. Journal of Graph Theory 5
(2): 201–204. DOI:10.1002/jgt.3190050210.. [1] FOLKMAN, J. (1967). “Regular line-symmetric
graphs”. Journal of Combinatorial Theory 3: 215–232.
DOI:10.1016/S0021-9800(67)80069-3.
5.8 Grafo semissimétrico [2] BOUWER, I. Z.. (1968). “An edge but not vertex transi-
tive cubic graph”. Bulletin of the Canadian Mathematical
Society 11: 533–535.
[3] Conder, M.; Malnič, A.; Marušič, D.; Pisanski, T.; Potoč-
nik, P. (2002), “The Ljubljana Graph”, IMFM Preprints
(Ljubljana: Institute of Mathematics, Physics and Me-
chanics) 40 (845), http://www.imfm.si/preprinti/PDF/
00845.pdf
Um grafo antissimétrico.
• Conjunto gerador de um grupo Conforme definido, por exemplo, por Goldberg e Kar-
zanov (1996)[2] , um grafo antissimétrico G é um grafo
direcionado, junto com uma função σ mapeando vérti-
5.11.4 Ligações externas ces de G a outros vértices de G, satisfazendo as seguintes
propriedades:
• Diagramas Cayley
1. Para cada vértice v, σ(v) ≠ v
[1] Wilhelm Magnus, Abraham Karrass, Donald Solitar 3. Para cada aresta (u,v), (σ(v),σ(u)) também deve ser
(1976). Combinatorial Group Theory Dover Publications, uma aresta.
Inc [S.l.]
Pode-se usar a terceira propriedade para estender σ para
[2] CAYLEY, Arthur. (1878). “Desiderata and suggestions: uma função de inversão de orientação das arestas de G.
No. 2. The Theory of groups: graphical representation”.
Amer. J. Math. 1 (2): 174–176. O grafo transposto de G é o grafo formado pela inversão
de todas as arestas de G, e σ define um isomorfismo de
grafos de G para a sua transposição. No entanto, em um
grafico anti-simétrico, é adicionalmente necessário que o
5.12 Grafo antissimétrico isomorfismo forme pares de cada vértice com um vértice
diferente, ao invés de permitir a um vértice ser mapeado
No campo da matemática da teoria dos grafos, um grafo para si pelo isomorfismo ou agrupar mais de dois vértices
antissimétrico é um grafo orientado que é isomórfico ao em um ciclo de isomorfismos.
seu próprio grafo transposto, o grafo formado pela inver-
são de todas as suas arestas. O isomorfismo necessita ser Um caminho ou um ciclo em um grafo anti-simétrico é
uma involução sem nenhum ponto fixo. dito ser regular se, para cada vértice v do caminho ou
do ciclo, o vértice correspondente σ(v) não faz parte do
Grafos antissimétricos foram primeiramente introduzi- caminho ou do ciclo.
dos sob o nome de “dígrafos antissimétricos” por Tutte,
1967[1] . Eles surgiram quando da modelagem da busca
de caminhos alternados e ciclos alternados em algorit- 5.12.2 Grafos switch e grafos bipartidos
mos para encontrar acoplamentos em grafos, em testes
se um padrão still life no jogo da vida, desenvolvido pelo um grafo anti-simétrico pode de forma equivalente ser
matemático britânico John Horton Conway, pode ser di- definido em termos de um grafo switch (para usar a termi-
vidido em componentes mais simples, em desenho de nologia de Cook, 2003[3] ), um grafo não direcionado em
58 CAPÍTULO 5. AUTOMORFISMO DE GRAFOS
5.12.3 Referências
[1] TUTTE, W. T.. (1967). “Antisymmetrical digraphs”.
Canadian Journal of Mathematics 19: 1101–1117.
5.13.4 Árvores
A menor árvore assimétrica tem sete vértices: consiste
de três caminhos de comprimentos de 1, 2 e 3, ligados a
um terminal comum[5] Em contraste com a situação dos
grafos, quase todas as árvores são simétricas. Em parti-
cular, se uma árvore é escolhida de forma uniforme ale-
atoriamente entre todas as árvores em n nós rotulados,
em seguida, com probabilidade tendendo a 1 quando n
aumenta, a árvore terá cerca de duas folhas adjacentes
ao mesmo nó e terá simetrias trocando entre essas duas
folhas.[1]
5.13.5 Referências
[1] Erdős, P.; Rényi, A. (1963), “Asymmetric
graphs”, Acta Mathematica Hungarica 14
(3): 295–315, doi:10.1007/BF01895716,
http://www.math-inst.hu/~{}p_erdos/1963-04.pdf.
Algoritmos em Grafos
60
6.1. BUSCA EM LARGURA 61
arestas são explorados pelo algoritmo, a complexidade Vértices Marcados= ∅; Fila(F)=∅. Vértices Marcados=
de tempo pode ser representada pela seguinte expressão 6; Fila(F)=6. Vértices Marcados= 6,4; Fila(F)=6,4.
O(|E| + |V |) , onde |E| significa o tempo total gasto nas Vértices Marcados= 6,4; Fila(F)=4. Vértices Marca-
operações sobre todas as arestas do grafo onde cada ope- dos= 6,4,3; Fila(F)=4,3. Vértices Marcados= 6,4,3,5;
ração requer um tempo constante O(1) sobre uma aresta, Fila(F)=4,3,5. Vértices Marcados= 6,4,3,5; Fila(F)=3,5.
e |V | que significa o número de operações sobre todos Vértices Marcados= 6,4,3,5,2; Fila(F)=3,5,2. Vérti-
os vértices que possui uma complexidade constante O(1) ces Marcados= 6,4,3,5,2; Fila(F)=5,2. Vértices Mar-
para cada vértice uma vez que todo vértice é enfileirado cados= 6,4,3,5,2,1; Fila(F)=5,2,1. Vértices Marca-
e desenfileirado uma unica vez. dos= 6,4,3,5,2,1; Fila(F)=2,1. Vértices Marcados=
6,4,3,5,2,1; Fila(F)=1. Vértices Marcados= 6,4,3,5,2,1;
Fila(F)=∅.
Complexidade de Espaço
250 km 502 km
6.1.4 Exemplo 1
Augsburg 167 km
84 km
6 München
4 5
1 Exemplo de um mapa da Alemanha com algumas conexões entre
as cidades.
3 2 C
Na teoria dos grafos, busca em profundidade (ou busca ria suficiente. Isso pode ser resolvido estabelecendo-se
em profundidade-primeiro, também conhecido em inglês um limite de aumento na profundidade da árvore.
por Depth-First Search - DFS) é um algoritmo usado para
realizar uma busca ou travessia numa árvore, estrutura
de árvore ou grafo. Intuitivamente, o algoritmo começa 6.2.2 Exemplo
num nó raiz (selecionando algum nó como sendo o raiz,
no caso de um grafo) e explora tanto quanto possível cada
um dos seus ramos, antes de retroceder(backtracking).
Uma versão da busca em profundidade foi investigada no
A
século XIX pelo matemático francês Charles Pierre Tré-
maux[1] como estratégia para solucionar labirintos.[2][3]
B C E
6.2.1 Definição Formal
D F G
Para esse grafo, quanto maior for a profundidade apli- 6.3.1 Definição matemática
cada, os dois ciclos “ABFE” e “AEFB” simplesmente fi-
carão maiores, antes que o algoritmo desista e tente outro Matematicamente: Seja G um grafo. Um caminho em G
ramo. é uma sequência de vértices de G, digamos
• Busca em largura
6.3.3 Referências
• YAGSBPL – Um template feito em biblioteca C++ • Korte, Bernhard; Lovász, László; Prömel, Hans Jür-
para procura de gráficos e planejamento gen; Schrijver, Alexander (Eds.) (1990). Paths,
Flows, and VLSI-Layout. Algorithms and Combi-
natorics 9, Springer-Verlag. ISBN 0-387-52685-4.
6.3 Caminho
Em teoria de grafos, um caminho em um grafo é uma 6.4 Caminho euleriano
sequência de vértices tal que de cada um de seus vértices
há uma aresta para o próximo vértice da sequência. O Um Caminho Euleriano é um caminho em um grafo que
primeiro vértice é chamado de vértice inicial e o último é visita cada aresta apenas uma vez. Com caso especial, um
chamado de vértice final. Circuito Euleriano é um caminho Euleriano que começa
6.5. CAMINHO HAMILTONIANO 65
• Caminho hamiltoniano
F
6.4.2 Referências
B H
E G [1] «Grafos Eulerianos». www.inf.ufsc.br. Consultado em
C I 2015-07-15.
A K
6.5 Caminho hamiltoniano
6.5.1 Definições
Um caminho Hamiltoniano (em preto) sobre um grafo (em azul). 6.5.3 Propriedades
Qualquer ciclo hamiltoniano pode ser convertido para um que o problema abordado envolve uma ordem parcial[1] ;
caminho Hamiltoniano, removendo-se uma de suas ares- algoritmos de ordenação topológica começaram a ser es-
tas, mas um caminho Hamiltoniano só pode ser estendido tudados no início dos anos 1960 no contexto da técnica
para um ciclo hamiltoniano se suas extremidades são ad- PERT para a agendamento de tarefas em gerenciamento
jacentes. de projetos.[2] Os trabalhos são representados por vérti-
O grafo linha de um grafo Hamiltoniano é Hamiltoniano. ces, e existe uma aresta de x para y se o trabalho x deve
O grafo linha de um grafo Euleriano é Hamiltoniano. estar concluído antes do trabalho y poder ser iniciado (por
exemplo, ao lavar roupas, a máquina de lavar deve termi-
Um torneio (com mais de 2 vértices) é Hamiltoniano se e nar antes de se poder colocar as roupas para secar). Em
somente se ele é fortemente conectado. seguida, uma ordenação topológica dá uma ordem na qual
Um ciclo Hamiltoniano pode ser usado como base de uma se possa realizar os trabalhos.
prova com zero conhecimentos. Em informática, as aplicações deste tipo surgem em
Número de diferentes ciclos hamiltonianos para um grafo agendamentos de instruções, ordenação de fórmulas de
completo = (n-1)! / 2. avaliação de células quando recalculando os valores de
fórmulas em planilhas, síntese lógica, determinação da
Número de diferentes ciclos hamiltonianos para um grafo ordem das tarefas de compilação para executar em arqui-
orientado completo = (n-1)!. vos "make", e resolução de dependências de símbolos em
ligadores.
6.5.4 Referências
[1] Computador feito com bactérias resolve problemas ma- 6.6.2 Algoritmos
temáticos Terra Tecnologia, acessado em 31 de julho de
2009 Os algoritmos usuais de ordenação topológica tem tempo
de execução linear no número de nós, mais o número de
arestas (O(|V|+|E|)).
6.5.5 Ver também
Um desses algoritmos, descrito pela primeira vez por
• Problema de Roteamento de Veículos Kahn[3] , trabalha escolhendo vértices na mesma ordem da
eventual ordenação topológica. Primeiro, encontra uma
• Problema do caixeiro viajante lista de nós "íniciais”, que não tem arestas de entrada e
• Caminho euleriano os insere em um conjunto S; pelo menos um nó devem
existir se o grafo é acíclico. Então:
L ← Lista vazia que irá conter os elementos ordenados S
6.5.6 Ligações externas ← Conjunto de todos os nós sem arestas de entrada en-
quanto S é não-vazio faça remova um nodo n de S insira
• Solução do problema utilizando bactérias n em L para cada nodo m com uma aresta e de n até
m faça remova a aresta e do grafo se m não tem mais
arestas de entrada então insira m em S se o grafo tem
6.6 Ordenação topológica arestas então escrever mensagem de erro (grafo tem pelo
menos um ciclo) senão escrever mensagem (ordenação
Em teoria dos grafos, uma ordenação topológica de um topológica proposta: L)
digrafo acíclico (DAG) é uma ordem linear de seus nós Se o grafo é um digrafo acíclico (DAG), a solução está
em que cada nó vem antes de todos nós para os quais contida na lista L (a solução não é única). Caso contrá-
este tenha arestas de saída. Cada DAG tem uma ou mais rio, o grafo tem pelo menos um ciclo e, portanto, uma
ordenações topológicas. ordenação topológica é impossível.
Mais formalmente, define-se a relação acessibilidade R Note-se que, reflectindo a não-exclusividade da ordena-
sobre os nós do DAG tal que xRy se e somente se existe ção resultante, a estrutura S pode ser simplesmente um
um caminho dirigido de x para y. Então, R é uma ordem conjunto ou uma fila ou uma pilha. Dependendo da or-
parcial, e uma ordenação topológica é uma extensão li- dem em que os nodos n são removidos do conjunto S,
near desta ordem parcial, isto é, uma ordem total compa- uma solução diferente é criada.
tível com a ordem parcial.
Um algoritmo alternativo para a ordenação topológica é
baseado em uma busca em profundidade. Para este algo-
6.6.1 Exemplos ritmo, as arestas apontam na direção oposta, como o al-
goritmo anterior (e no sentido oposto ao mostrado no di-
A aplicação canônica da ordenação topológica (ordem to- agrama na seção de exemplos acima). Existe uma aresta
pológica) está na programação de uma sequência de tra- de x para y se a tarefa x depende da tarefa y (em outras
balhos ou tarefas; tem uso potencial todas as vezes em palavras, se a tarefa y deve ser concluída antes da tarefa
68 CAPÍTULO 6. ALGORITMOS EM GRAFOS
• Roteamento otimizado. Nesta aplicação, o interesse 3. O próxima borda do grafo original é reponde-
é encontrar o caminho com o máximo fluxo entre rada usando os valores calculados pelo algoritmo
dois vértices. Isto significa que, em vez de calcular Bellman–Ford: uma borda de u para v, tendo com-
o mínimo no pseudocódigo acima, calcula-se o má- primento w(u,v), é dada pelo novo comprimento
ximo. Os pesos das arestas representam constantes w(u,v) + h(u) −h(v).
fixas de fluxo. Valores do caminho representam gar-
4. Finalmente, q é removido, e o algoritmo de Dijkstra
galos, logo a operação de soma acima é substituída
é usado para encontrar o menor caminho para cada
pela operação de subtração;
um dos nós s para todos os outros vértices no grafo
• Testar se um grafo não-orientado é bipartido.[1] reponderado.
6.10. ALGORITMO DE JOHNSON 71
72
7.2. ALGORITMO DE PRIM 73
7.2.3 Complexidade
A complexidade do algoritmo de Prim pode mudar de
acordo com a estrutura de dados utilizada para represen-
tar o grafo. As implementações mais comuns para um
grafo são por listas de adjacência e por matrizes de adja-
cência e suas respectivas complexidades O(|A|log|V |) e
O(V 2 ) no pior caso.
O(|V | + |A|log|V |) . Uma função adicional, primDes- utf8_decode(“Início”); echo utf8_decode("<br> T: ");
conexo, resolve o problema para grafos desconexos, sem print_r($t); echo utf8_decode("<br> V: "); print_r($v);
alterar a complexidade de tempo do algoritmo. echo utf8_decode("<br>"); // ------ Fim do passo inicial
# Implementacao do algoritmo de Prim O(E log V) $total_nos = count($origem); for($x =1 ; $x <= ($nos-1)
em Python # Note que a unica funcao que repre- ; $x++) { // Verifica origem -> destino $minimo1 =
senta a implementacao do algoritmo eh a funcao $infinito; for($i =1 ; $i <= $narcos ; $i++) { for($j
prim(graph,Vi=0,edge=[],vis=[]) # A funcao add_edge =1 ; $j <= $nos ; $j++) { if($origem[$i] == $t[$j]) {
eh apenas auxiliar, e a funcao primDesconexo(graph) for($k =1 ; $k <= $nos ; $k++) { if($destino[$i] ==
$v[$k]) { if($custo[$i] < $minimo1) { $minimo1 =
eh um adicional, e nao costuma sequer ser # im-
plementada para o algoritmo de Prim (pois no caso $custo[$i]; $aux1 = $i; } } } } } } // Verifica destino
-> origem $minimo2 = $infinito; for($i =1 ; $i <=
de um grafo ser desconexo, Kruskal eh a solucao
ideal). from heapq import heappop, heappush MAXV $narcos ; $i++) { for($j =1 ; $j <= $nos ; $j++) {
if($destino[$i] == $t[$j]) { for($k =1 ; $k <= $nos ;
= 1000 # numero de vertices no grafo graph = [[]
for x in xrange(MAXV)] def add_edge(v, u, w): $k++) { if($origem[$i] == $v[$k]) { if($custo[$i] <
$minimo2) { $minimo2 = $custo[$i]; $aux2 = $i; } } }
graph[v].append((u,w)) graph[u].append((v,w)) # con-
sidera que o grafo eh nao direcionado # Se o grafo } } } if($minimo2 < $minimo1) { $cont = 1; $minimo
for totalmente conectado, Vi pode receber qualquer = $minimo1; $aux = $aux1; echo utf8_decode("<br>
vertice sem diferenca no peso total da arvore gerada Aresta ($origem[$aux],$destino[$aux]) escolhida
# Se o grafo for desconexo, apenas a parte conectada de custo $custo[$aux]"); } else { $minimo = $mi-
a Vi tera sua arvore geradora minima calculada # nimo2; $aux = $aux2; echo utf8_decode("<br>
O retorno eh uma lista de tuplas edge[v]=(w,u), que Aresta ($destino[$aux],$origem[$aux]) escolhida de
representa, para cada v, a aresta u->v com peso w, custo $custo[$aux]"); $cont = 2; } if($cont == 1) {
usada para # conectar a sub-arvore de v a sub-arvore $t[$destino[$aux]] = $destino[$aux]; $v[$destino[$aux]]
de u na arvore geradora minima def prim(graph, Vi=0, = “nulo"; } else { $t[$origem[$aux]] = $origem[$aux];
edge=[], vis=[]): # edge[v] = (pesoDaAresta(u->v), u) $v[$origem[$aux]] = “nulo"; } echo utf8_decode("<br>
# Se edge[] ou vis[] nao tiverem sido gerados ainda, ".$x."° iteração”); echo utf8_decode("<br> T: ");
geramos. Geralmente esta condicao nao existe, e ambas print_r($t); echo utf8_decode("<br> V: "); print_r($v);}
as listas # sao geradas dentro do proprio prim; porem,
para manter o primDesconexo em O(V + E log V),
permitimos que sejam # passadas pelos parametros da
7.2.6 Referências
funcao. if edge == []: edge = [(−1,−1)] * len(graph) if
vis == []: vis = [False] * len(graph) edge[Vi] = (0,−1)
heap = [(0,Vi)] while True: v = −1 while len(heap) 7.2.7 Bibliografia
> 0 and (v < 0 or vis[v]): v = heappop(heap)[1] if
v < 0 or edge[v][0] < 0: break vis[v] = True for (u, • Cormen, Thomas; Stein, Clifford (2001). «23». In-
w) in graph[v]: if edge[u][0] < 0 or edge[u][0] > w: troduction to Algorithms (em inglês) 2 ed. MIT Press
edge[u] = (w, v) heappush(heap, (edge[u][0],u)) return and McGraw-Hill [S.l.] ISBN 0-262-03293-7.
edge # Se o grafo for desconexo, pode-se usar: def
primDesconexo(graph): edge = [(−1,−1)] * len(graph)
vis = [False] * len(graph) for i in xrange(len(graph)):
7.2.8 Ligações externas
if edge[i][0] == −1: prim(graph, i, edge, vis) return edge
• Algoritmo de Prim
O([m+n]log n) onde m é o número de arestas e n é o nú- u e v são vértices quaisquer e s é o vértice inicial. ffd
mero de vértices. O algoritmo que serve para resolver o extrair-mín(Q), pode usar um heap de mínimo ou uma
mesmo problema em um grafo com pesos negativos é o lista de vértices onde se extrai o elemento u com menor
algoritmo de Bellman-Ford, que possui maior tempo de valor d[u].
execução que o Dijkstra. No final do algoritmo teremos o menor caminho entre s
O algoritmo de Dijkstra assemelha-se ao BFS, mas é e qualquer outro vértice de G. O algoritmo leva tempo
um algoritmo guloso, ou seja, toma a decisão que parece O(m + n log n) caso seja usado um heap de Fibonacci,
ótima no momento. Para a teoria dos grafos uma “es- O(m log n) caso seja usado um heap binário e O(n²) caso
tratégia gulosa” é conveniente já que sendo P um menor seja usado um vetor para armazenar Q.
caminho entre 2 vértices U e V, todo sub-caminho de P
é um menor caminho entre 2 vértices pertencentes ao ca-
minho P, desta forma construímos os melhores caminhos 7.3.2 Problemas relacionados
dos vértices alcançáveis pelo vértice inicial determinando
todos os melhores caminhos intermediários. Nota: diz-se O algoritmo de Dijkstra não consegue encontrar o menor
'um menor caminho' pois caso existam 2 'menores cami- caminho em um grafo com pesos negativos. Para esse
nhos’ apenas um será descoberto. propósito, pode-se usar o algoritmo de Floyd-Warshall,
que consegue descobrir a menor distância entre todos os
O algoritmo considera um conjunto S de menores cami-
pares de vértices de qualquer grafo sem ciclos com peso
nhos, iniciado com um vértice inicial I. A cada passo do
negativo em uma complexidade de tempo O(V³). Se o
algoritmo busca-se nas adjacências dos vértices perten-
problema não exigir o cálculo da distância entre todos os
centes a S aquele vértice com menor distância relativa a
pares de vértices ou se existirem ciclos com peso nega-
I e adiciona-o a S e, então, repetindo os passos até que
tivo, pode-se aplicar o algoritmo de Bellman-Ford, com
todos os vértices alcançáveis por I estejam em S. Arestas
complexidade de tempo O(V*E). Em uma árvore, é pos-
que ligam vértices já pertencentes a S são desconsidera-
sível encontrar a distância entre um vértice inicial e todos
das.
os outros vértices em tempo O(V+E), utilizando busca
Um exemplo prático do problema que pode ser resolvido em profundidade (também conhecida como DFS). Em
pelo algoritmo de Dijkstra é: alguém precisa se deslocar um grafo cujas arestas têm todas o mesmo peso, pode-
de uma cidade para outra. Para isso, ela dispõe de várias se encontrar a distância entre um vértice inicial e todos
estradas, que passam por diversas cidades. Qual delas os outros vértices, para um grafo qualquer, em O(V+E),
oferece uma trajetória de menor caminho? utilizando busca em largura (também conhecida como
BFS). O processo utilizado no algoritmo de Dijkstra é
bastante similar ao processo usado no algoritmo de Prim.
7.3.1 Algoritmo de Dijkstra O propósito deste último, entretanto, é encontrar a árvore
geradora mínima que conecta todos os nós de um grafo.
• 1º passo: iniciam-se os valores:
w(u, v) é o peso(weight) da aresta que vai de u a v. • (em inglês) Simulação do algoritmo de Dijkstra
76 CAPÍTULO 7. ALGORITMOS PARA OBTER A ÁRVORE DE EXTENSÃO MÍNIMA
7.3.5 Referências tivo agora será voltar a executar os passos 1 a 3 até que
existam apenas 2 vértices e um único arco.
[1] Dijkstra, Edsger; Thomas J. Misa, Editor (2010-08).
A título de exemplo
«An Interview with Edsger W. Dijkstra». Commu-
nications of the ACM [S.l.: s.n.] 53 (8): 41–47. Seja V um grafo não orientado cuja representação matri-
doi:10.1145/1787234.1787249. «What is the shortest cial é a seguinte:
way to travel from Rotterdam to Groningen? It is the al-
gorithm for the shortest path which I designed in about 20 Nota: As posições (i,j) e (j,i) da matriz anterior têm os mesmos
minutes. One morning I was shopping with my young fi- valores. Isso indica que o grafo em análise é não orientado.
anceé, and tired, we sat down on the café terrace to drink Executando o passo 1 acima referido sobre esta matriz
a cup of coffee and I was just thinking about whether I
passaríamos a ter a seguinte matriz:
could do this, and I then designed the algorithm for the
shortest path.» Analisando esta nova matriz podemos ver que existem
duas linhas a zero (e e f), o que claramente indica a exis-
[2] Dijkstra 1959 tência de dois subgrafos. Como verificar quais os subgra-
fos? É um processo simples de verificar quais as linhas
e colunas que se cruzam. Neste caso os novos subgrafos
7.4 Algoritmo de Boruvka são dados pelas seguintes matrizes:
Notar que é necessário reter,da matriz original os valores
O algoritmo de Borůvka (ou Barůvka como também que cruzam os vértices dos diferentes subgrafos gerados
é conhecido) é um algoritmo para encontrar uma árvore no passo 1, ou seja, a arco a-b (com peso 4), o arco c-b
geradora mínima em um grafo para o qual todos os pesos (com peso 2), o arco b-e (com peso 5) e o arco e-f (com
de arestas sejam distintos. peso 2). Estes arcos são usados para unir os vértices do
arco gerado no passo 3.
Este algoritmo caracteriza-se pela divisão do grafo origi-
nal em vários subgrafos para os quais é calculado a Mini- Neste exemplo bastante simples, o passo 2 representado
mum Spanning Tree (árvore geradora mínima). Ou seja, pelas duas matrizes anteriores. Deste modo, não é ne-
no fundo, pode ser considerada uma variação de algorit- cessário encontrar a Minimum Spanning Tree para cada
mos como os de Prim e Kruskal. É um algoritmo que, de uma destas matrizes já que quando se executa o passo 1
modo diverso dos algoritmos de Kruskal e Prim, não usa estas são encontradas automaticamente (outros exemplos
uma fila de prioridades[1] . há em que é necessário executar o passo 2). Isto leva,
então, à geração do grafo do passo 3 em que temos dois
É um algoritmo com uma velocidade de convergência (ou
vértices (um para cada uma das matrizes anteriores) e que
resolução) bastante rápida sendo ideal para implementa-
pode ser representado sob a seguinte forma
ção em computadores paralelos já que a Minimum Span-
ning Tree de cada um dos subgrafos pode ser calculada Note-se que a diagonal principal da matriz está a zero
numa máquina diferente. mas a outra diagonal não (é apenas uma questão de re-
presentacão. (matriz transposta esta matriz ir-se-ia obter
Este algoritmo é recursivo e só termina quando existe ape-
a diagonal principal não nula e a outra diagonal a zero.)
nas um vértice.
Estes valores indicam possíveis arcos que ligam os vérti-
O algoritmo de Baruvka compreende os seguintes passos: ces deste grafo. Então, volta-se a executar o passo 1 sobre
1 - para cada vértice escolher o seu arco com peso mí- este grafo pelo que se chega à conclusão de que o grafo
nimo. Deste passo poderão resultar vários subgrafos. inicial deu origem a um grafo final cuja representação é a
seguinte:
2 - caso o passo 1 dê origem a grafos não conecta-
dos, considere-se cada subgrafo gerado no passo anterior
como um vértice do grafo final. Estes vértices do grafo 7.4.1 Ver também
final conterão os vértices de cada umdos subgrafos ge-
rados no passo 1. Para cada um dos subgrafos gerados • Otakar Borůvka
execute-se de novo o passo 1 (recursividade). Neste mo-
• algoritmo de Prim
mento pode-se, caso existam várias máquinas diferentes,
correr este algoritmo nas várias máquinas sendo que cada • algoritmo de Kruskal
máquina irá ter assignada a si um dos subgrafos gerados
no passo 1 (este tipo de distribuição de processamento é
mais conhecido como Single Instruction Multiple Data já 7.4.2 Referências
que cada máquina vai executar as mesmas instruções mas
sobre um conjunto de dados diferentes). [1] GOODRICH, Michael T.; TAMASSIA, Roberto (2004).
Projeto de Algoritmos. Fundamentos, Análise e Exemplos
3 - Quando for encontrada a Minimum Spanning Tree da Internet (Porto Alegre: Bookman). p. 369-370. ISBN
para cada um dos grafos gerar um novo grafo onde cada 85-363-0303-4.
um vértices deste grafo é um dos subgrafos. O objec-
Capítulo 8
Grafos individuais
8.1 Grafo de Biggs-Smith [2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A.
Distance-Regular Graphs. New York: Springer-Verlag,
1989.
No campo da matemática da teoria dos grafos o grafo
de Biggs–Smith é um grafo não-orientado 3-regular com [3] Royle, G. F102A data
102 vértices e 153 arestas.[1]
[4] Conder, M. and Dobcsányi, P. “Trivalent Symmetric
Ele tem número cromático 3, índice cromático 3, raio
Graphs Up to 768 Vertices.” J. Combin. Math. Combin.
7, diâmetro 7 e cintura 9. É tanto 3-vértice-conectado Comput. 40, 41–63, 2002
quanto 3-aresta-conectado.
Todos os grafos distância-regular cúbicos são [5] E. R. van Dam and W. H. Haemers, Spectral Characte-
conhecidos.[2] O grafo Biggs–Smith é um destes 13 rizations of Some Distance-Regular Graphs. J. Algebraic
Combin. 15, pages 189–202, 2003
grafos.
77
78 CAPÍTULO 8. GRAFOS INDIVIDUAIS
conhecido cubo parcial cúbico não-planar , e tem sido Pode-se interpretar esta representação de produtos do
aplicado em bases de dados químicos. grupo de simetria em termos de construções do grafo de
O nome “grafo de Desargues” também tem sido usado Desargues: o grupo simétrico em cinco pontos é o grupo
para se referir ao complemento do grafo de Petersen[2] . de simetria da configuração de Desargues, e o subgrupo
de ordem-2 troca os papéis dos vértices que represen-
tam pontos da configuração de Desargues e os vértices
8.3.1 Construções que representam as linhas. Como alternativa, em ter-
mos do grafo bipartido de Kneser, o grupo simétrico em
Existem várias maneiras diferentes de construir o grafo cinco pontos de age em separado sobre os subconjuntos
de Desargues: de cinco pontos de dois elementos e de três elementos, e a
complementação dos subconjuntos formam um grupo de
ordem dois que transforma um tipo de subconjunto em
• É o grafo de Petersen generalizado G(10, 3). Para outro. O grupo simétrico em cinco pontos é também o
formar o grafo de Desargues desta forma, conecte grupo de simetria do grafo de Petersen, e o subgrupo de
dez dos vértices em um decágono regular, e conecte ordem-2 troca os vértices dentro de cada par de vértices
os outros dez vértices em uma estrela de dez pon- formados na construção da dupla cobertura.
tas que conecta os pares de vértices a uma distância
três em um segundo decágono. O grafo de Desargue O grafo de Petersen generalizado G(n, k) é vértice-
2
consiste das 20 arestas destes dois polígonos junta- transitivo se e somente se n = 10 e k = 2 ou se k ≡ ±1
mente com 10 arestas adicionais de pontos de cone- (mod n) e é aresta-transitivo somente nos seguintes sete
xão de um decágono para os pontos correspondentes casos: (n, k) = (4, 1), (5, 2), (8, 3), (10, 2), (10, 3), (12, 5),
do outro. (24, 5).[3] Assim, o grafo de Desargues é um dos apenas
sete grafos de Petersen generalizados simétricos. Entre
• É o grafo de Levi da configuração de Desargues. estes sete grafos estão o grafo cúbico G(4, 1), o grafo de
Esta configuração é composta por dez pontos e dez Petersen G(5, 2), o grafo de Möbius–Kantor G(8, 3), o
linhas descrevendo dois triângulos em perspectiva, grafo dodecaédrico G(10, 2) e o grafo de Nauru G(12, 5).
seu centro de perspectiva, e seu eixo de perspec-
O polinômio característico do grafo de Desargues é:
tiva. O grafo de Desargues tem um vértice para cada
ponto, um vértice para cada linha, e uma aresta para
cada par de linhas de ponto incidente. O teorema
de Desargues, nomeado em honra ao matemático (x − 3)(x − 2) (x − 1) (x + 1) (x + 2) (x + 3).
4 5 5 4
[7] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. 8.5 Grafo de Foster
Distance-Regular Graphs. New York: Springer-Verlag,
1989. No campo da matemática da teoria dos grafos, o Grafo
de Foster é um grafo 3-regular com 90 vértices e 135
arestas.[1]
8.4 Grafo de Folkman O grafo de Foster é Hamiltoniano e tem número cromá-
tico 2, índice cromático 3, raio 8, diâmetro 8 e cintura 10.
No campo da matemática da teoria dos grafos o grafo de Ele é também um grafo 3-vértice-conectado e 3-aresta-
Folkman, nomeado em honra a Jon Folkman, é um grafo conectado.
bipartido 4-regular com 20 vértices e 40 arestas.[1]
Todos os grafos distância-regular cúbicos são
O grafo de Folkman é Hamiltoniano e tem número cro- conhecidos.[2] O grafo de Foster é um destes 13
mático 2, índice cromático 4, raio 3, diâmetro 4 e cintura grafos. É o único grafo distância-transitivo com array de
4. e é um grafo perfeito tanto 4-vértice-conectado quanto intersecção {3,2,2,2,2,1,1,1;1,1,1,1,2,2,2,3}.[3] Pode ser
4-aresta-conectado. construído como o grafo de incidência do espaço parcial
linear, que é a única cobertura tripla com nenhum 8-gono
do quadrângulo generalizado GQ(2,2). É nomeado em
8.4.1 Propriedades algébricas honra a R. M. Foster, cujo censo de Foster de grafos
simétricos cúbicos incluíam este grafo.
O grupo de automorfismo do grafo de Folkman age tran-
sitivamente em suas arestas, mas não em seus vértices. É
o menor grafo não direcionado, que é aresta-transitivo e 8.5.1 Propriedades algébricas
regular, mas não é vértice-transitivo.[2] Esses grafos são
chamados semi-simétricos e foram estudados pela pri- O grupo de automorfismo do grafo de Foster é um grupo
meira vez por Folkman em 1967 que descobriu o grafo de ordem 4320.[4] Ele age transitivamente sobre os vér-
de 20 vértices, que agora é nomeado em sua honra.[3] tices, nas arestas e nos arcos do grafo. Portanto o grafo
80 CAPÍTULO 8. GRAFOS INDIVIDUAIS
de Foster é um grafo simétrico. Ele tem automorfismos deste teorema também devido à Frucht afirma que qual-
que levam qualquer vértice para qualquer outro vértice e quer grupo pode ser percebido como as simetrias de um
qualquer aresta a qualquer outra aresta. Segundo o censo grafo 3-regular;[4] o grafo de Frucht fornece um exemplo
de Foster, o grafo de Foster, referenciado como F90A, é desta realização para o grupo trivial.
o único grafo cúbico simétrico em 90 vértices.[5] O polinômio característico do grafo de Frucht é igual a
O polinômio característico do grafo de Foster é igual a (x − 3)(x − 2)x(x + 1)(x + 2)(x3 + x2 − 2x − 1)(x4 +
(x − 3)(x − 2)9 (x − 1)18 x10 (x + 1)18 (x + 2)9 (x + x3 − 6x2 − 5x + 4) .
3)(x2 − 6)12 .
8.6.2 Galeria
8.5.2 Galeria
• O grafo de Frucht é planar.
• Grafo de Foster colorido para ressaltar vários ciclos.
• O número cromático do grafo de Frucht é 3.
• O número cromático do grafo de Foster é 2.
• O grafo de Frucht é Hamiltoniano.
• O índice cromático do grafo de Foster é 3.
8.6.3 Referências
8.5.3 Referências
[1] Eric W. Weisstein, Frucht Graph em MathWorld
[1] Eric W. Weisstein, Foster Graph em MathWorld
[2] Frucht, R. (1939), “Herstellung von Graphen mit vorge-
[2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. gebener abstrakter Gruppe.” (em German), Compositio
Distance-Regular Graphs. New York: Springer-Verlag, Mathematica 6: 239–250, ISSN 0010-437X, http://www.
1989. numdam.org/item?id=CM_1939__6__239_0
[3] Cubic distance-regular graphs, A. Brouwer. [3] Skiena, S. Implementing Discrete Mathematics: Combi-
natorics and Graph Theory with Mathematica. Reading,
[4] Royle, G. F090A data MA: Addison-Wesley, 1990
[5] Conder, M. and Dobcsányi, P. “Trivalent Symmetric [4] FRUCHT, R.. (1949). "Graphs of degree three with a
Graphs Up to 768 Vertices.” J. Combin. Math. Combin. given abstract group". Canadian Journal of Mathematics
Comput. 40, 41-63, 2002 1: 365–378. ISSN 0008-414X.
três linhas, através dele, e cada linha tem exatamente três [3] Monson, B.; Pisanski, T.; Schulte, E.; Ivic-Weiss, A.
pontos sobre ela. O grafo de Gray é o grafo de Levi dessa (2007), “Semisymmetric Graphs from Polytopes”, Jour-
configuração, que tem um vértice para cada ponto e para nal of Combinatorial Theory, Series A 114: 421–435
cada linha da configuração, e uma aresta para cada par [4] v, Dragan; Pisanski, Tomaž. (2000). “The Gray
de um ponto e uma linha que se tocam. Esta construção graph revisited”. Journal of Graph Theory 35:
generaliza (Bouwer 1972) para qualquer dimensão n ≥ 3, 1–7. DOI:<1::AID-JGT1>3.0.CO;2-7 10.1002/1097-
rendendo um grafo de Levi n-valente com propriedades 0118(200009)35:1<1::AID-JGT1>3.0.CO;2-7..
algébricas semelhantes às do gráfico deGray.
[5] Marušič, Dragan; Pisanski, Tomaž; Wilson, Steve.
Em (Monson, Pisanski, Schulte, Ivic-Weiss 2007)[3] , o (2005). “The genus of the Gray graph is 7”. Euro-
grafo de Gray aparece como um tipo diferente de grafo pean Journal of Combinatorics 26 (3–4) p. 377–385.
de Levi com as arestas e faces triangulares de uma deter- DOI:10.1016/j.ejc.2004.01.015..
minada localmente toroidal resumo regular 4 politopo.
É, portanto, o primeiro de uma família infinita de grafos
cúbicos similarmente construídos. 8.7.4 Ligações externas
Marušič e Pisanski (2000)[4] indicaram vários métodos • O grafo de Gray é o menor grafo de seu tipo , em
alternativos de construção do grafo de Gray. Como acon- MathWorld.
tece com qualquer grafo bipartido, não há ciclos de com-
primento impar, e também não há ciclos de quatro ou
seis vértices, de modo que a cintura do gráfico Gray é 8. 8.7.5 Galeria
A superfície orientada mais simples sobre a qual o grafo
de Gray pode ser incorporado tem gênero 7[5] . O grafo • O grafo de Gray
de Gray é hamiltoniano e pode ser construído a partir da
notação LCF: • O número cromático do grafo de Gray é 2.
• O índice cromático do grafo de Gray é 3.
O grafo de Heawood tem número de cruzamento 3, e é [3] BROWN, Ezra. (2002). "The many names of
o menor grafo cúbico com este número de cruzamento. (7,3,1)". Mathematics Magazine 75 (2): 83–94.
Incluindo o grafo de Heawood, existem 8 grafos distintos DOI:10.2307/3219140.
de ordem 14 com número de cruzamento 3.
[4] Heawood, P. J.. (1890). “Map colouring theorems”.
O grafo de Heawood é um grafo distância-unidade.[5] Quarterly J. Math. Oxford Ser. 24: 322–339.
Um grafo de Higman–Sims pode ser particionado em todos os automorfismos de grafos é obtida). Isso mos-
duas cópias do grafo de Hoffman–Singleton de 352 ma- tra que o grupo Higman-Sims ocorre dentro do grupo de
neiras. Conway Co2 (com sua extensão de ordem 2) e Co3 , e,
conseqüentemente, também Co1 .[6]
O grafo de Higman-Sims ocorre naturalmente no interior O grafo de Hoffman-Singleton. O subgrafo das arestas azuis é
da malha de Leech: se X, Y e Z são três pontos na malha a soma dos dez pentágonos disjuntos.
de Leech tais que as distâncias XY, XZ e YZ são 2, 3, 3
respectivamente, então há exatamente 100 pontos da ma- No campo da matemática da teoria dos grafos, o Grafo
lha de Leech T de tal forma que todas as distâncias XT, de Hoffman–Singleton é um grafo 7-regular não direci-
YT e ZT são iguais a 2, e se ligarmos dois pontos, tais onado com 50 vértices e 175 arestas. É o único grafo for-
T e T′ quando a distância entre eles é 2, O grafo resul- temente regular com parâmetros (50,7,0,1).[4] Foi cons-
tante é isomorfo ao grafo de Higman-Sims. Além disso, truído por Alan Hoffman e Robert Singleton ao tentar
o conjunto de todos os automorfismos da malha de Le- classificar todos os grafos de Moore, e é a mais alta ordem
ech (Isto é, congruências euclidiana fixando-a) que fixam de grafo de Moore esistente conhecida até o momento.[5]
cada um dos X, Y e Z é o grupo de Higman–Sims (Se Como é um grafo de Moore onde cada vértice tem grau
nós permitirmos trocar X e Y, a extensão de ordem 2 de 7, e sua cintura é 5, ele é um (7,5)-gaiola.
84 CAPÍTULO 8. GRAFOS INDIVIDUAIS
[1] Eric W. Weisstein, Hoffman-Singleton Graph em [2] ALSPACH, Brian; MARUŠIČ, Dragan; NOWITZ,
MathWorld Lewis. (1994). "Constructing Graphs which
are ½-Transitive". Journal of the Australian
[2] Hafner, P. R. “The Hoffman-Singleton Graph and Its Au- Mathematical Society (Series A) 56 (3): 391–402.
tomorphisms.” J. Algebraic Combin. 18, 7-12, 2003. DOI:10.1017/S1446788700035564..
[3] Royle, G. “Re: What is the Edge Chromatic Number of [3] Jonathan L. Gross, Jay Yellen, Handbook of Graph The-
Hoffman-Singleton?" GRAPHNET@istserv.nodak.edu ory, CRC Press, 2004, ISBN 1584880902, p. 491.
posting. 28 de Setembro de 2004.
[4] Doyle, P. G. (1976), On Transitive Graphs, Senior Thesis,
[4] Brouwer, Andries E., Hoffman-Singleton Harvard College. Como citado pela MathWorld.
graph, http://www.win.tue.nl/~{}aeb/drg/graphs/
Hoffman-Singleton.html. [5] HOLT, Derek F.. (1981). “A graph which is edge tran-
sitive but not arc transitive”. Journal of Graph Theory 5
[5] Hoffman, Alan J.; Singleton, Robert R. (1960), (2): 201–204. DOI:10.1002/jgt.3190050210..
“Moore graphs with diameter 2 and 3”, IBM Jour-
nal of Research and Development 5 (4): 497–504, [6] Eric W. Weisstein, Doyle Graph em MathWorld
MR0140437, http://www.research.ibm.com/journal/rd/
045/ibmrd0405H.pdf.
8.12 Grafo de Ljubljana
8.11 Grafo de Holt No campo da matemática da teoria dos grafos o grafo
de Ljubljana é um grafo não direcionado bipartido com
No campo da matemática da teoria dos grafos o grafo de 112 vértices e 168 arestas.
Holt ou grafo de Doyle é o menor grafo meio-transitivo,
ou seja, o menor exemplo de grafo vértice-transitivo e É um grafo cúbico com diâmetro 8, raio 7, número cro-
aresta-transitivo que não é também simétrico.[1][2] Esses mático 2 e índice cromático 3. Sua cintura é 10 e há exa-
grafos não são comuns.[3] É nomeado em honra a Peter G. tamente 168 ciclos de comprimento[1]
10 nele. Há também
Doyle e Derek F. Holt, que descobriram o mesmo grafo 168 ciclos de comprimento 12.
de forma independente em 1976[4] e 1981[5] respectiva-
mente.
8.12.1 Construção
O grafo de Holt tem um diâmetro de 3, raio 3, cintura 5,
número cromático 3, índice cromático 5 e é hamiltoniano O grafo de Ljubljana é Hamiltoniano e pode ser cons-
com 98472 ciclos distintos hamiltonianos.[6] é também truído a partir da notação LCF : [47, −23, −31, 39, 25,
um grafo 4-vértice-conectado e 4-aresta-conectado. −21, −31, −41, 25, 15, 29, −41, −19, 15, −49, 33, 39,
8.13. GRAFO DE NAURU 85
−35, −21, 17, −33, 49, 41, 31, −15, −29, 41, 31, −15, [2] Marston Conder, Aleksander Malnič, Dragan Marušič
−25, 21, 31, −51, −25, 23, 9, −17, 51, 35, −29, 21, and Primž Potočnik. “A census of semisymmetric cubic
−51, −39, 33, −9, −51, 51, −47, −33, 19, 51, −21, graphs on up to 768 vertices.” Journal of Algebraic Com-
29, 21, −31, −39]2 . binatorics: An International Journal. Volume 23, Issue 3,
pages 255-294, 2006.
O grafo de Ljubljana é o grafo de Levi da configuração de
Ljubljana, uma configuração quadrangular livre com 56 [3] Brouwer, A. E.; Dejter, I. J.; and Thomassen, C. “Highly
linhas e 56 pontos.[1] Nesta configuração, cada linha con- Symmetric Subgraphs of Hypercubes.” J. Algebraic Com-
tém exatamente três pontos, cada ponto pertence a exata- binat. 2, 25-29, 1993.
mente 3 linhas e quaisquer duas linhas se cruzam em no [4] Bouwer, I. A. “On Edge But Not Vertex Transitive Regu-
máximo um ponto. lar Graphs.” J. Combin. Th. Ser. B 12, 32-40, 1972.
(mod n) e é aresta-transitivo somente nos sete casos se- grafo de um octaedro regular substituindo cada aresta por
guintes: (n,k) = (4,1), (5,2), (8,3), (10,2), (10,3), (12,5), um feixe de três arestas paralelas.
(24,5)[6] . Assim, o grafo de Nauru é um de apenas sete O conjunto de faces de qualquer um destas duas incor-
grafos simétricos generalizados de Petersen. Entre estes porações é o conjunto de polígonos de Petrie da outra
sete grafos estão o grafo cubico G(4, 1) , o grafo de Peter- incorporação.
sen G(5, 2) , o grafo de Möbius–Kantor G(8, 3) , o grafo
dodecaedro G(10, 2) e o grafo de Desargues G(10, 3) .
O grafo de Nauru é um grafo de Cayley de S 4 , o grupo 8.13.4 Propriedades geométricas
de permutações simétricas em quatro elementos, gerados
pelas três maneiras diferentes de trocar o primeiro ele-
mento com um dos outros três: (1 2), (1 3) e (1 4).
O polinômio característico do grafo de Nauru é igual a
[4] Eric W. Weisstein, Graph Crossing Number em que levam qualquer vértice para qualquer outro vértice
MathWorld e qualquer aresta para qualquer outra aresta. De acordo
com o censo de Foster, o grafo de Biggs-Smith, referen-
[5] Royle, G. F024A data
ciado como F018A, é o único grafo cúbico simétrico em
[6] Frucht, R.; Graver, J. E.; Watkins, M. E.. (1971). “The 18 vértices.[4][5]
groups of the generalized Petersen graphs”. Proceedings
O polinômio característico do grafo de Pappus é: (x −
of the Cambridge Philosophical Society 70 p. 211–218.
3)x4 (x + 3)(x2 − 3)6 . É o único grafo com este polinô-
DOI:10.1017/S0305004100049811.
mio característico, tornando-se um grafo determinado
[7] McMullen, Peter (1992), “The regular polyhedra of type pelo seu espectro.
{p, 3} with 2p vertices”, Geometriae Dedicata 43 (3):
285–289, doi:10.1007/BF00151518.
[8] Žitnik, Arjana; Horvat, Boris; Pisanski, Tomaž (2010), 8.14.2 Galeria
All generalized Petersen graphs are unit-distance graphs,
IMFM preprints, 1109, http://www.imfm.si/preprinti/ • Grafo de Pappus colorido para destacar vários ci-
PDF/01109.pdf. clos.
[9] Foster, R. M. (1932). “Geometrical circuits of electri- • O índice cromático do grafo de Pappus é 3.
cal networks”. Transactions of the American Institute of
Electrical Engineers 51 p. 309–317. DOI:10.1109/T-
• O número cromático do grafo de Pappus é 2.
AIEE.1932.5056068..
8.14.3 Referências
8.14 Grafo de Papo
[1] Eric W. Weisstein, Pappus Graph em MathWorld
No campo da matemática da teoria dos grafos o grafo
de Pappus é um grafo não-orientado 3-regular com 18 [2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A.
vértices e 27 arestas formado como o grafo de Levi da Distance-Regular Graphs. New York: Springer-Verlag,
configuração de Pappus.[1] É nomeado em honra a Pappus 1989.
de Alexandria, um antigo matemático grego que se acre-
[3] Kagno, I. N. (1947), “Desargues’ and Pappus’ graphs
dita ter descoberto o “teorema do hexágono” que descreve
and their groups”, American Journal of Mathematics
a configuração de Pappus. Todos os grafos distância- (The Johns Hopkins University Press) 69 (4): 859–863,
regular cúbicos são conhecidos; o grafo de Pappus é um doi:10.2307/2371806, http://jstor.org/stable/2371806
destes 13 grafos.[2]
O grafo de Pappus tem um número de cruzamento reti- [4] Royle, G. “Cubic Symmetric Graphs (The Foster Cen-
líneo 5, e é o menor grafo cúbico com este número de sus).”
cruzamento. Tem cintura 6, diâmetro 4, raio 4, número
[5] Conder, M. and Dobcsányi, P. “Trivalent Symmetric
cromático 2, índice cromático 3 e é tanto 3-vértice-
Graphs Up to 768 Vertices.” J. Combin. Math. Combin.
conectado quanto 3-aresta-conectado. Comput. 40, 41-63, 2002.
O grafo de Pappus tem um polinômio cromático igual a:
(x−1)x(x16 −26x15 +325x14 −2600x13 +14950x12 −
65762x11 + 229852x10 − 653966x9 + 1537363x8 −
3008720x7 + 4904386x6 − 6609926x5 + 7238770x4 −
8.15 Grafo de Petersen
6236975x3 + 3989074x2 − 1690406x + 356509) .
No campo da matemática da teoria dos grafos o grafo de
O nome “grafo de Pappus” também tem sido usado para Petersen é um grafo não-orientado com 10 vértices e 15
se referir a um grafo relacionado com nove vértices [3] , arestas. É um pequeno grafo que serve como um exem-
com um vértice para cada ponto da configuração de Pap- plo útil e contra-exemplo para muitos problemas em teo-
pus e uma aresta para cada par de pontos na mesma linha; ria dos grafos. O grafo de Petersen é nomeado em honra
este grafo de nove vértice é 6-regular, e é o grafo com- a Julius Petersen, que em 1898 construiu o menor grafo
plementar da união de três grafos triângulo disjuntos. cúbico sem ponte cujas arestas não podem ser coloridas
com somente três cores[1] . Embora o grafo seja geral-
mente creditado a Petersen, ele tinha, de facto, aparecido
8.14.1 Propriedades algébricas
pela primeira vez 12 anos antes, em 1886[2] .
O grupo de automorfismo do grafo de Pappus é um grupo Donald Knuth afirma que o grafo de Petersen é “uma
de ordem 216. Ele age transitivamente sobre os vérti- configuração notável que serve como um contra-exemplo
ces, nas arestas e nos arcos do grafo. Portanto, o grafo para muitas previsões otimistas sobre o que poderia ser
de Pappus é im grafo simétrico. Ele tem automorfismos verdade para os grafos em geral.”[3]
88 CAPÍTULO 8. GRAFOS INDIVIDUAIS
8.15.1 Construções
O grafo de Petersen é o complementar do grafo linha de
K5 . É também o grafo Kneser KG5,2 ; isso significa que
ele tem um vértice para cada subconjunto de dois elemen-
tos de um conjunto de 5 elementos, e dois vértices são
conectados por uma aresta se e somente se os correspon-
dentes subconjuntos de dois elementos são disjuntos en-
tre si. Como um grafo de Kneser da forma KG2n−1,n−1
é um exemplo de um grafo ímpar.
Geometricamente, o grafo de Petersen é o grafo formado
pelos vértices e arestas do hemi-dodecaedro, ou seja, um
dodecaedro com os pontos opostos, linhas e faces identi-
ficadas em conjunto.
8.15.2 Incorporações
O grafo de Petersen é um grafo distância-unidade: ele pode ser
O grafo de Petersen é não-planar. Qualquer grafo não desenhado no plano com cada aresta tendo comprimento de uma
planar tem como menores tanto o grafo completo K5 , unidade.
quanto o grafo bipartido completo K3,3 , mas o grafo
de Petersen tem ambos os menores. O K5 menor pode
ser formado restringindo-se as arestas de um acoplamento O grafo de Petersen também pode ser desenhado (com
perfeito, por exemplo as cinco arestas curtas na primeira cruzamentos) no plano de tal forma que todas as arestas
figura. O menor K3,3 pode ser formado se deletando um tenham o mesmo comprimento. Ou seja, ele é um grafo
vértice (por exemplo, o vértice central do desenho do 3- distância-unidade.
simétrico) e contratando uma aresta incidente para cada A mais simples superfície não orientável em que o grafo
vizinho do vértice que foi excluído. de Petersen pode ser incorporado sem cruzamentos é o
plano projetivo. Esta é a incorporação dada pela constru-
ção em hemi-dodecaedro do grafo de Petersen. A incor-
poração no plano projetivo também pode ser formada a
partir do desenho padrão pentagonal do gráfico Petersen,
colocando uma superfície cross-cap dentro da estrela de
cinco pontas no centro do desenho, e dirigundo as arestas
da estrela através desta cross-cap; o desenho resultante
tem seis faces pentagonais. Esta construção forma um
mapa regular e mostra que o grafo de Petersen tem um
género não-orientável 1.
8.15.3 Simetrias
[3] Knuth, Donald E., The Art of Computer Programming; vo- [3] BROUWER, A. E.; COHEN, A. M.; NEUMAIER, A.
lume 4, pre-fascicle 0A. A draft of section 7: Introduction (1989). Distance-Regular Graphs (New York: Springer-
to combinatorial searching Verlag). pp. 104–105 e 136. ISBN 0387506195 ISBN
978-0387506197..
[4] Babai, László (1995). «Automorphism groups, iso-
morphism, reconstruction». In: Lovász, Ronald L.;
Grötschel, Martin; László, László. Handbook of Combi-
natorics I North-Holland [S.l.] p. 1447–1540. Corollary
8.16.3 Ligações externas
1.8..
• O grafo de Shrikhande , Peter Cameron, Agosto de
2010.
8.16.2 Referências
[1] SHRIKHANDE, S. S.. (1959). "The uniqueness of the
L2 association scheme". Annals of Mathematical Statistics
30: 781–798..
[2] BROUWER, A. E. «Shrikhande graph». Consultado em
2010-11-10..
Capítulo 9
9.1 Texto
• Sete pontes de Königsberg Fonte: https://pt.wikipedia.org/wiki/Sete_pontes_de_K%C3%B6nigsberg?oldid=45723946 Contribuidores:
Mschlindwein, Diego UFCG~ptwiki, LeonardoRob0t, Gameiro, Nuno Tavares, NTBot, JucaZero, Oraculo, RobotQuistnix, Jcb, Otavi-
oCC, Fasouzafreitas, YurikBot, Cícero, Bonás, LijeBot, Thegoergen, Thijs!bot, Paulonei, JAnDbot, Albmont, Maxtremus, Bot-Schafter,
TXiKiBoT, SieBot, YonaBot, BotMultichill, Agiesbrecht, Zdtrlik, Kaktus Kid, Selenium~ptwiki, Frelopes, Numbo3-bot, Luckas-bot,
LinkFA-Bot, DrFO.Tn.Bot, LaaknorBot, ArthurBot, Obersachsebot, Xqbot, FMTbot, Opera Omnia, Courcelles, WikitanvirBot, Mjbmr-
bot, MerlIwBot, Israel77, Dexbot, Legobot, Penumbroso, Lanarizon e Anónimo: 16
• Teoria dos grafos Fonte: https://pt.wikipedia.org/wiki/Teoria_dos_grafos?oldid=45819904 Contribuidores: JoaoMiranda, Jorge~ptwiki,
Hashar, Manuel Anastácio, Webkid~ptwiki, LeonardoG, Sobao~ptwiki, Muriel Gottrop, Mrsouza, Diego UFCG~ptwiki, E2m, E2mb0t,
LeonardoRob0t, Lusitana, Nuno Tavares, NTBot, Thiago Serra, RobotQuistnix, Rei-artur, Carbol, Opaulo, OS2Warp, YurikBot, Cícero,
Bonás, Firer, Luís Felipe Braga, Salgueiro, Leonardo.stabile, LijeBot, Rlopes, Israelrocha, He7d3r, Al Lemos, Rômulo Penido, Yanguas,
Thijs!bot, Rei-bot, JSSX, JAnDbot, Rickhard 22, Albmont, Maxtremus, Stego, VolkovBot, SieBot, Jonex, Lechatjaune, BOTijo, Joãofcf,
Dotti~ptwiki, Zdtrlik, GOE, Kaktus Kid, Gerakibot, Quiumen, Daniel Dias Branco Arthaud, Roxul84, AlexandreMBM, Darkicebot, An-
dreHahn, RadiX, BodhisattvaBot, Luckas-bot, Muro Bot, LaaknorBot, ArthurBot, BrunoSupremo, Xqbot, RibotBOT, Ricardo Ferreira
de Oliveira, Faustino.F, RedBot, Thiagoprocaci, Meriade, TjBot, Viniciusmc, EleferenBot, EmausBot, Jadolfo, Hallel, Idealmind, Chuis-
pastonBot, Antero de Quintal, Épico, Aisteco, Addihockey10 (automated), Allan Daemon, Dexbot, Legobot, Rodrigoalves1994, Bruno S.
Barros, Mbodock, Dewrys e Anónimo: 86
• Grafo Fonte: https://pt.wikipedia.org/wiki/Teoria_dos_grafos?oldid=45819904 Contribuidores: JoaoMiranda, Jorge~ptwiki, Hashar, Ma-
nuel Anastácio, Webkid~ptwiki, LeonardoG, Sobao~ptwiki, Muriel Gottrop, Mrsouza, Diego UFCG~ptwiki, E2m, E2mb0t, Leonar-
doRob0t, Lusitana, Nuno Tavares, NTBot, Thiago Serra, RobotQuistnix, Rei-artur, Carbol, Opaulo, OS2Warp, YurikBot, Cícero, Bo-
nás, Firer, Luís Felipe Braga, Salgueiro, Leonardo.stabile, LijeBot, Rlopes, Israelrocha, He7d3r, Al Lemos, Rômulo Penido, Yanguas,
Thijs!bot, Rei-bot, JSSX, JAnDbot, Rickhard 22, Albmont, Maxtremus, Stego, VolkovBot, SieBot, Jonex, Lechatjaune, BOTijo, Joãofcf,
Dotti~ptwiki, Zdtrlik, GOE, Kaktus Kid, Gerakibot, Quiumen, Daniel Dias Branco Arthaud, Roxul84, AlexandreMBM, Darkicebot, An-
dreHahn, RadiX, BodhisattvaBot, Luckas-bot, Muro Bot, LaaknorBot, ArthurBot, BrunoSupremo, Xqbot, RibotBOT, Ricardo Ferreira
de Oliveira, Faustino.F, RedBot, Thiagoprocaci, Meriade, TjBot, Viniciusmc, EleferenBot, EmausBot, Jadolfo, Hallel, Idealmind, Chuis-
pastonBot, Antero de Quintal, Épico, Aisteco, Addihockey10 (automated), Allan Daemon, Dexbot, Legobot, Rodrigoalves1994, Bruno S.
Barros, Mbodock, Dewrys e Anónimo: 86
• Vértice (teoria dos grafos) Fonte: https://pt.wikipedia.org/wiki/V%C3%A9rtice_(teoria_dos_grafos)?oldid=43785484 Contribuidores:
VolkovBot, Luckas-bot, Eamaral, Xqbot, TaBOT-zerem, Ricardo Ferreira de Oliveira, KamikazeBot, TjBot, FMTbot, ZéroBot, KLBot2 e
Anónimo: 3
• Aresta (teoria dos grafos) Fonte: https://pt.wikipedia.org/wiki/Aresta_(teoria_dos_grafos)?oldid=34692577 Contribuidores: Ricardo
Ferreira de Oliveira, RedBot e KLBot2
• Aresta múltipla Fonte: https://pt.wikipedia.org/wiki/Aresta_m%C3%BAltipla?oldid=43938279 Contribuidores: Alexg, JSSX, Brunonar,
FMTbot e Anónimo: 2
• Ciclo (teoria de grafos) Fonte: https://pt.wikipedia.org/wiki/Ciclo_(teoria_de_grafos)?oldid=34986042 Contribuidores: Waltercruz,
Adolfont, Ricardo Ferreira de Oliveira, Alph Bot, KLBot2 e Anónimo: 1
• Clique Fonte: https://pt.wikipedia.org/wiki/Clique?oldid=39773500 Contribuidores: Rui Silva, Nuno Tavares, Cícero, Salgueiro, Thijs!bot,
JAnDbot, Pintopc, RafaAzevedo, Csandrocampos, Fabiano Tatsch, MystBot, Amirobot, Salebot, Rubinbot, Guaycuru, Ricardo Ferreira de
Oliveira, MerlIwBot, JYBot, Pedrocnc, Legobot e Anónimo: 4
• Grau (teoria dos grafos) Fonte: https://pt.wikipedia.org/wiki/Grau_(teoria_dos_grafos)?oldid=45859136 Contribuidores: ArthurBot, Vi-
torvicentevalente, Ricardo Ferreira de Oliveira, RedBot, MastiBot, EmausBot, ZéroBot, KLBot2, Aisteco, Dexbot, Vítor e Anónimo: 4
• Grafo bipartido Fonte: https://pt.wikipedia.org/wiki/Grafo_bipartido?oldid=35141642 Contribuidores: Luckas-bot, Vanthorn, Ricardo
Ferreira de Oliveira, Ripchip Bot, FMTbot, Ebrambot, CocuBot, KLBot2, Amcorreia e Anónimo: 1
• Grafo bipartido completo Fonte: https://pt.wikipedia.org/wiki/Grafo_bipartido_completo?oldid=35141649 Contribuidores: Ricardo
Ferreira de Oliveira, FMTbot e KLBot2
90
9.1. TEXTO 91
9.2 Imagens
• Ficheiro:10-simplex_graph.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/8/86/10-simplex_graph.svg Licença: CC BY-
SA 3.0 Contribuidores: Obra do próprio Artista original: Koko90
• Ficheiro:11-simplex_graph.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/9/9b/11-simplex_graph.svg Licença: CC BY-
SA 3.0 Contribuidores: Obra do próprio Artista original: Koko90
• Ficheiro:4-simplex_graph.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/2/2d/4-simplex_graph.svg Licença: CC BY-
SA 3.0 Contribuidores: Obra do próprio Artista original: Koko90
• Ficheiro:4-tournament.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/8/89/4-tournament.svg Licença: Public domain
Contribuidores: Obra do próprio Artista original: Booyabazooka
• Ficheiro:4x4_grid_spanning_tree.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/d/d4/4x4_grid_spanning_tree.svg Li-
cença: Public domain Contribuidores: Obra do próprio Artista original: David Eppstein
• Ficheiro:5-simplex_graph.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/e/e9/5-simplex_graph.svg Licença: CC BY-
SA 3.0 Contribuidores: Obra do próprio Artista original: Koko90
• Ficheiro:6-simplex_graph.svg Fonte: https://upload.wikimedia.org/wikipedia/commons/c/c8/6-simplex_graph.svg Licença: CC BY-
SA 3.0 Contribuidores: Obra do próprio Artista original: Koko90
94 CAPÍTULO 9. FONTES, CONTRIBUIDORES E LICENÇAS DE TEXTO E IMAGEM
9.3 Licença
• Creative Commons Attribution-Share Alike 3.0