teoria dos grafos
TRANSCRIPT
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 1/157PDF gerado usando o pacote de ferramentas em código aberto mwlib. Veja http://code.pediapress.com/ para mais informações.
PDF generated at: Thu, 02 May 2013 03:28:05 UTC
Teoria dos GrafosGrafos individuais
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 2/157
Conteúdo
Páginas
Introdução - Teoria dos Grafos 1
Sete pontes de Königsberg 1
Teoria dos grafos 2
Conceitos Básicos e Definições 8
Grafo 8
Vértice 9
Aresta 11
Aresta múltipla 12
Ciclos em um grafo 12
Clique 12
O grau de um grafo 13
Grafo bipartido 15
Grafo bipartido completo 17
Grafo caminho 19
Grafo completo 20
Grafo cúbico 20
Grafo Estrela 23
Grafo nulo 24
Grafo orientado 25
Grafo simples 28
Grafo valorado 28
Homomorfismo de grafos 29
Isomorfismo de grafos 30
Laço 32
Multigrafo 33
Pseudografo 34
Quiver 36
Vértice de corte (teoria dos grafos) 37
Vizinhança 40
Árvores 42
Árvores 42
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 3/157
Árvore de extensão 43
Árvore de extensão mínima 44
Representação de Grafos 46
Matriz de adjacência 46
Matriz de incidência 48
Lista de adjacência 49
Automorfismo de grafos 52
Automorfismo de grafos 52
Grafo regular 55
Grafo fortemente regular 57
Grafo distância-regular 60
Grafo distância-transitivo 63
Grafo simétrico 65
Grafo meio-transitivo 68
Grafo semissimétrico 69
Grafo aresta-transitivo 70
Grafo vértice-transitivo 71
Grafo de Cayley 73
Grafo antissimétrico 75
Grafo assimétrico 77
Algoritmos em Grafos 79
Busca em largura 79
Busca em profundidade 86
Caminho 88
Caminho euleriano 89
Caminho hamiltoniano 90
Ordenação topológica 92Algoritmo de Bellman-Ford 94
Algoritmo A* 97
Algoritmo de Floyd-Warshall 98
Algoritmo de Johnson 100
Algoritmos para obter a árvore de extensão mínima 102
Algoritmo de Kruskal 102
Algoritmo de Prim 103
Algoritmo de Dijkstra 109
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 4/157
Algoritmo de Boruvka 113
Grafos individuais 116
Grafo de Biggs-Smith 116
Grafo de Brouwer-Haemers 118
Grafo de Desargues 119
Grafo de Folkman 121
Grafo de Foster 123
Grafo de Frucht 125
Grafo de Gray 126
Grafo de Heawood 128
Grafo de Higman-Sims 130
Grafo de Hoffman-Singleton 132Grafo de Holt 133
Grafo de Ljubljana 135
Grafo de Nauru 137
Grafo de Pappus 140
Grafo de Petersen 142
Grafo de Shrikhande 144
Grafos de Chang 146
ReferênciasFontes e Editores da Página 147
Fontes, Licenças e Editores da Imagem 149
Licenças das páginasLicença 153
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 5/157
1
Introdução - Teoria dos Grafos
Sete pontes de Königsberg
Esquema de pontes.
Grafo estilizado das pontes.
Sete pontes de Königsberg é um famoso
problema histórico da matemática resolvido
por Leonhard Euler em 1736, cuja solução
originou a teoria dos grafos.[1]
O problema é baseado na cidade de
Königsberg (território da Prússia até 1945,
atual Kaliningrado), que é cortada pelo Rio
Prególia, onde há duas grandes ilhas que,
juntas, formam um complexo que na época
continha sete pontes, conforme mostra a
figura ao lado. Das sete pontes originais,
uma foi demolida e reconstruída em 1935,
duas foram destruídas durante a Segunda
Guerra Mundial e outras duas foram
demolidas para dar lugar a uma única via
expressa. Atualmente apenas duas pontes
são da época de Leonard Euler.
Discutia-se nas ruas da cidade apossibilidade de atravessar 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 retas e suas intersecções em pontos, criando possivelmente o primeiro grafo da
história. Então percebeu que só seria possível atravessar o caminho inteiro passando uma única vez em cada ponte se
houvesse exatamente zero ou dois pontos de onde saísse um número ímpar de caminhos. A razão de tal coisa é quede 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 houver pontos com número ímpar de caminhos, pode-se (e
deve-se) iniciar e terminar o trajeto no mesmo ponto, podendo esse ser qualquer ponto do grafo. Isso não é possí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 do bombardeamento de Königsberg em agosto de
1944.[2]
[1] Leonhard Euler: Solutio problematis ad geometriam situs pertinentis (http:/ / www. math. dartmouth. edu/ ~euler/ docs/ originals/ E053. pdf)
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 6/157
Teoria dos grafos 2
Teoria dos grafos
Grafo com 4 vértices e 6 arestas. É um grafo
completo, conexo e planar.
A teoria dos grafos é um ramo da matemática que estuda as relações
entre os objetos de um determinado conjunto. Para tal são empregadas
estruturas chamadas de grafos, G(V,A), onde V é um conjunto não
vazio de objetos denominados vértices e A é um conjunto de pares não
ordenados de V, chamado arestas.
Dependendo da aplicação, arestas podem ou não ter direção, pode ser
permitido ou não arestas ligarem um vértice a ele próprio e vértices
e/ou arestas podem ter um peso (numérico) associado. Se as arestas
têm uma direção associada (indicada por uma seta na representação
gráfica) temos um grafo direcionado, grafo orientado ou digrafo. Um
grafo com um único vértice e sem arestas é conhecido como o grafo
trivial.
Estruturas que podem ser representadas por grafos estão em toda partee muitos problemas de interesse prático podem ser formulados como
questões sobre certos grafos. Por exemplo, a estrutura de links da Wikipedia pode ser representada por um dígrafo:
os vértices são os artigos da Wikipedia e existe uma aresta do artigo A para o artigo B se e somente se A contém um
link para B. Dígrafos são também usados para representar máquinas de estado finito. O desenvolvimento de
algoritmos para manipular grafos é um importante tema da ciência da computação.
HistóricoO artigo de Leonhard Euler, publicado em 1736, sobre o problema das sete pontes de Königsberg, é considerado o
primeiro resultado da teoria dos grafos.[]
É também considerado um dos primeiros resultados topológicos nageometria; isto é, não dependente de quaisquer medidas. Isso ilustra a profunda conexão entre a teoria dos grafos e
topologia.
Definições de grafos e digrafos
Na literatura, as definições básicas da teoria dos grafos variam bastante. Aqui estão as convenções usadas nesta
enciclopédia.
Um grafo direcionado (também chamado digrafo ou quiver) consiste de
• um conjunto V de vértices,
• um conjunto E de arestas e• mapas s, t : E → V , onde s(e) é a fonte e t (e) é o alvo da aresta direcionada e.
Um grafo não direcionado (ou simplesmente grafo) é dado por
• um conjunto V de vértices,
• um conjunto E de arestas e
• uma função w : E → P(V ) que associa a cada aresta um subconjunto de dois ou de um elemento de V , interpretado
como os pontos terminais da aresta.
Em um grafo ou digrafo com pesos, uma função adicional E → R associa um valor a cada aresta, o que pode ser
considerado seu "custo"; tais grafos surgem em problemas de rota ótima tais como o problema do caixeiro viajante.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 7/157
Teoria dos grafos 3
Representação gráfica (layout do grafo)
Os grafos são geralmente representados graficamente da seguinte maneira: é desenhado um círculo para cada vértice,
e para cada aresta é desenhado um arco conectando suas extremidades. Se o grafo for direcionado, seu sentido é
indicado na aresta por uma seta.
Note que essa representação gráfica (o layout) não deve ser confundida com o grafo em si (a estrutura abstrata,
não-gráfica). Vários diferentes layouts podem corresponder ao mesmo grafo.[1] O que importa é quais vértices estãoconectados entre si por quantas arestas.
Glossário dos conceitos básicos de teoria dos grafos
Um grafo com 6 vértices e 7 arestas
O grafo de exemplo exibido à direita é um grafo simples com o
conjunto de vértices V = {1, 2, 3, 4, 5, 6} e um conjunto de arestas E =
{ {1,2}, {1,5}, {2,3}, {2,5}, {3,4}, {4,5}, {4,6} } (com o mapeamento
w sendo a identidade).
Uma aresta conecta dois vértices; esses dois vértices são ditos como
incidentes à aresta. A valência (ou grau) de um vértice é o número dearestas incidentes a ele, com loops contados duas vezes. No grafo de
exemplo os vértices 1 e 3 possuem uma valência de 2, os vértices 2, 4 e
5 têm a valência de 3 e o vértice 6 tem a valência de 1. Se E é finito,
então a valência total dos vértices é o dobro do número de arestas. Em
um dígrafo, distingue-se o grau de saída (o número de arestas saindo de um vértice) e o grau de entrada (o número
de arestas entrando em um vértice). O grau de um vértice é igual à soma dos graus de saída e de entrada.
Dois vértices são considerados adjacentes se uma aresta existe entre eles. No grafo acima, os vértices 1 e 2 são
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 vizinhos: vértice 2 e vértice 5. Para um grafo simples, o
número de vizinhos de um vértice é igual à sua valência.
Na computação, um grafo finito direcionado ou não-direcionado (com, digamos, n vértices) é geralmente
representado por sua matriz de adjacência: uma matriz n-por-n cujo valor na linha i e coluna j fornece o número de
arestas do i-ésimo ao j-ésimo vértices.
Se for possível estabelecer um caminho de qualquer vértice para qualquer outro vértice de um grafo, diz-se que o
grafo é conexo. Se for sempre possível estabelecer um caminho de qualquer vértice para qualquer outro vértice
mesmo depois de remover k -1 vértices, então diz-se que o grafo está k-conexo. Note que um grafo está k -conexo se,
e somente se, contém k caminhos independentes entre qualquer par de vértices. O grafo de exemplo acima é conexo
(e portanto 1-conexo), mas não é 2-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êmuma ponta em X e outra em V(G) - X , onde V(G) é o conjunto de todos os vértices pertencentes ao grafo G.
• Grafo simples é um grafo não direcionado, sem laços e que existe no máximo uma aresta entre quaisquer dois
vértices (sem arestas paralelas). No grafo de exemplo, (1, 2, 5, 1, 2, 3) é um caminho com comprimento 5, e (5, 2,
1) é um caminho simples de comprimento 2.
• Grafo completo é o grafo simples em que, para cada vértice do grafo, existe uma aresta conectando este vértice a
cada um dos demais. Ou seja, todos os vértices do grafo possuem mesmo grau. O grafo completo de n vértices é
frequentemente denotado por K n. Ele tem n(n-1)/2 arestas (correspondendo a todas as possíveis escolhas de pares
de vértices).
• Grafo nulo é o grafo cujo conjunto de vértices é vazio.• Grafo vazio é o grafo cujo conjunto de arestas é vazio.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 8/157
Teoria dos grafos 4
• Grafo trivial é o grafo que possui apenas um vertice e nenhuma aresta.
• Grafo regular é um grafo em que todos os vértices tem o mesmo grau.
• Multigrafo é um grafo que permite múltiplas arestas ligando os mesmos vértices (arestas paralelas).
• Laço (loop) num grafo ou num digrafo é uma aresta e em E cujas terminações estão no mesmo vértice.
• Pseudografo é um grafo que contém arestas paralelas e laços.
• Ciclo (ou circuito) é um caminho que começa e acaba com o mesmo vértice. Ciclos de comprimento 1 são laços.
No grafo de exemplo, (1, 2, 3, 4, 5, 2, 1) é um ciclo de comprimento 6. Um ciclo simples é um ciclo que tem um
comprimento pelo menos de 3 e no qual o vértice inicial só aparece mais uma vez, como vértice final, e os outros
vértices aparecem só uma vez. No grafo acima, (1, 5, 2, 1) é um ciclo simples. Um grafo chama-se acíclico se não
contém ciclos simples.
• Ponto de articulação ou Vértice de corte é um vértice cuja remoção desliga um grafo. Uma ponte é uma aresta
cuja remoção desliga um grafo. Um componente biconectado é um conjunto máximo de arestas tal que qualquer
par de arestas do conjunto fazem parte de um ciclo simples comum. O contorno de um grafo é o comprimento do
ciclo simples mais curto no grafo. O contorno de um grafo acíclico é, por definição, infinito.
• Árvore é um grafo simples acíclico e conexo. Às vezes, um vértice da árvore é distinto e chamado de raiz.Árvores são comumente usadas como estruturas de dados em informática (veja estrutura de dados em árvore).
• Floresta é um conjunto de árvores; equivalentemente a uma floresta, em algum grafo acíclico.
• Subgrafo de um grafo G é um grafo cujo conjunto dos vértices é um subconjunto do conjunto de vértices G, cujo
conjunto de arestas é um subconjunto do conjunto de arestas de G, e cuja função w é uma restrição da função de
G
• Subgrafo gerador é aquele obtido pela remoção de uma ou mais arestas de um outro grafo, dizemos então que
este novo grafo obtido é gerador do primeiro,
• Subgrafo induzido é obtido pela remoção de vértices e consequente das arestas relacionadas com ele de um outro
grafo, dizemos que este novo grafo é um grafo induzido do original.
• Grafo parcial de um grafo G é um subgrafo com o mesmo conjunto de vértices que G. Uma árvore parcial é um
grafo parcial que é árvore. Todo grafo tem pelo menos uma árvore parcial.
• Clique em um grafo é um subgrafo que também é um grafo completo. No grafo do exemplo acima, os vértices 1,
2 e 5 formam um clique.
• Conjunto independente em um grafo é um conjunto de vértices não adjacentes entre si. No exemplo acima, os
vértices 1, 3 e 6 formam um conjunto independente e 3, 5 e 6 são outro conjunto independente.
• Grafo planar é aquele que pode ser representado em um plano sem qualquer intersecção entre arestas. O grafo do
exemplo é planar; o grafo completo de n vertices, para n> 4, não é planar.
• Caminho é uma sequência de vértices tal que de cada um dos vértices existe uma aresta para o vértice seguinte.Um caminho é chamado simples se nenhum dos vértices no caminho se repete. O comprimento do caminho é o
número de arestas que o caminho usa, contando-se arestas múltiplas múltiplas vezes. O custo de um caminho
num grafo balanceado é a soma dos custos das arestas atravessadas. Dois caminhos são independentes se não
tiverem nenhum vértice em comum, excepto o primeiro e o último.
• Caminho euleriano em um grafo é o caminho que usa cada aresta exatamente uma vez. Se tal caminho existir, o
grafo é chamado traversável. Um ciclo euleriano é um ciclo que usa cada aresta exatamente uma vez.
• Caminho hamiltoniano em um grafo é o caminho que visita cada vertice exatamente uma vez. Um ciclo
hamiltoniano é um ciclo que visita cada vértice 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 é extremamente árduo.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 9/157
Teoria dos grafos 5
• Lema do aperto de mãos diz que se os convidados de uma festa apertarem as mãos quando se encontrarem pela
primeira vez, o número de convidados que apertam a mão um número ímpar de vezes é par. Também em grafos
não direcionados a soma dos graus de todos os vértices é igual ao dobro do número de arestas.
• Grafo bipartido é o grafo cujos vértices podem ser divididos em dois conjuntos, nos quais não há arestas entre
vértices de um mesmo conjunto. Para um grafo ser bipartido ele não pode conter circuitos de comprimento ímpar.
•• 1. Se um grafo G é bipartido, todo o circuito de G possui comprimento par.• Sejam V1 e V2 os dois conjuntos em que, de acordo com a definição de grafo bipartido, se particiona V(G).
Toda a aresta de G conecta um vértice em V1 com outro em V2. Assim sendo, se X for um vértice de V1,
para “voltar” a esse vértice terá de se ir a V2 e voltar a V1 um número indeterminado de vezes, e de cada
vez serão percorridas duas arestas, uma de um vértice em V1 para um vértice em V2 e outra de um vértice
em V2 para um vértice em V1. Logo, o número de arestas a percorrer será par, ou seja, o comprimento do
circuito é par.
•• 2. Se todo o circuito de um grafo G possui comprimento par, então o grafo é bipartido.
•• Seja G um grafo em que todo o circuito tem comprimento par, e seja X um vértice de G. Denotemos por V1
o conjunto formado por X e por todos os vértices cuja distância a X é par. Seja V2 = V(G)\V1 (isto é, oconjunto formado pelos vértices de G que não pertencem a V1). Pretende mostrar-se que não existe
qualquer aresta que conecte vértices de V1 ou vértices de V2. Suponhamos a existência de tal aresta, isto é,
suponhamos a existência de dois vértices em V1 (ou V2), digamos Xi e Xj, conectados por uma aresta. Ora
existe já um caminho de comprimento par entre Xi e Xj, já que existem caminhos, ambos de comprimento
par (ou ímpar, no caso de Xi e Xj pertencerem a V2), entre Xi e X e entre X e Xj. Se a esse caminho
juntarmos a aresta {Xi;Xj} obtemos um circuito de comprimento ímpar o que contraria a hipótese de apenas
existirem circuitos de comprimento par.
• Grafo bipartido completo é o grafo bipartido, cujo qualquer vértice do primeiro conjunto é adjacente a todos
vértices do segundo conjunto
• Grafo k-partido ou grafo de k-coloração é um grafo cujos vértices podem ser particionados em k conjuntosdisjuntos, nos quais não há arestas entre vértices de um mesmo conjunto. Um grafo 2-partido é o mesmo que
grafo bipartido.
• Emparelhamento de grafos consiste em partir o grafo em conjuntos de vértices a qual não compartilham
nenhuma aresta entre eles.
• Teorema das quatro cores é baseado no problema das cores necessárias para se colorir um mapa sem que os
países vizinhos compartilhem da mesma cor. Transformando o mapa em um grafo pode-se provar que pode-se
representar qualquer mapa (um grafo planar) com apenas 4 cores (4 partições).
• Percurso árvores:
•• Percorrimento sistemático em todos os vértices e arestas do grafo. Grafo pode ser dirigido ou não.•• O percurso em árvores é o processo de visitar cada nó da árvore exatamente uma vez.
•• O percurso pode ser interpretado como colocar todos os nós em uma linha, não existe uma ordem para ser
seguida.
•• Existem n percursos diferentes, quase todos caóticos.
•• Os básicos são percurso em profundidade e percurso em largura
•• Fila: busca em largura
•• Pilha: busca em profundidade
• Busca em extensão ou largura: (Breadth-First Search ou BFS).
A propriedade especial está no fato de a árvore não possuir ciclos: dados dois vértices quaisquer, existe exatamente 1
caminho entre eles. Um percurso em extensão é visitar cada nó começando do menor nível e move-se para os níveis
mais altos nível após nível, visitando cada nó da esquerda para a direita. Sua implementação é direta quando uma fila
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 10/157
Teoria dos grafos 6
é utilizada. Depois que um nó é visitado, seus filhos, se houver algum, são colocados no final da fila e o nó no início
da fila é visitado. Assim, os nós do nível n+1 serão visitados somente depois de ter visitados todos os nós do nível n.
Computa a menor distância para todos os vértices alcançaveis. O sub-grafo contendo os caminhos percorridos é
chamado de breadth-first tree.
• Busca em profundidade (Depth-first search ou DFS).
Um algoritmo de busca em profundidade realiza uma busca não-informada que progride através da expansão doprimeiro nó filho da árvore de busca, e se aprofunda cada vez mais, até que o alvo da busca seja encontrado ou até
que ele se depare com um nó que não possui filhos (nó folha). Então a busca retrocede (backtrack) e começa no
próximo nó. Numa implementação não-recursiva, todos os nós expandidos recentemente são adicionados a uma
pilha, para realizar a exploração. A complexidade espacial de um algoritmo de busca em profundidade é muito
menor que a de um algoritmo de busca em largura. A complexidade temporal de ambos algoritmos são proporcionais
ao número de vértices somados ao número de arestas dos grafos aos quais eles atravessam. Quando ocorrem buscas
em grafos muito grandes, que não podem ser armazenadas completamente na memória, a busca em profundidade não
termina, em casos onde o comprimento de um caminho numa árvore de busca é infinito. O simples artifício de “
lembrar quais nós já foram visitados ” não funciona, porque pode não haver memória suficiente. Isso pode ser
resolvido estabelecendo-se um limite de aumento na profundidade da árvore.
Problemas que envolvem grafos• Coloração de grafos: o Teorema das quatro cores
•• Conjuntos de Grafos
•• Conjunto independente
•• Clique
•• Problemas de roteamento:
•• Sete pontes de Königsberg
•• Árvore de extensão mínima
•• Problema do caminho mínimo
• Problema da inspeção de rotas (também conhecido como o "Problema do carteiro chinês")
•• Problema do caixeiro viajante
• Fluxos de rede:
•• Teorema do mínimo corte-máximo fluxo
•• conjectura da reconstrução
•• Problemas de Isomorfismo (casamento de grafos)
•• Rotulação canônica?
•• Isomorfismo de subgrafos e monomorfismos.
•• Máximo subgrafo comum
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 11/157
Teoria dos grafos 7
Algoritmos importantes•• algoritmo de Dijkstra
•• algoritmo de Kruskal
•• algoritmo do vizinho mais próximo
• algoritmo de Prim.
GeneralizaçõesNum hipergrafo uma aresta pode conectar mais que dois vértices.
Um grafo não-direcionado pode ser visto como um complexo simplicial consistindo de símplices de uma dimensão
(as arestas) e símplices de dimensão zero (os vértices). Ou seja, complexos são generalizações de grafos que
permitem símplices de maiores dimensões.
[1] Ver por exemplo, (http:/ / www. aisee. com/ gallery/ graph23. htm)
Ligações externas
Em inglês
• Graph theory tutorial (http:/ / www.utm. edu/ departments/ math/ graph/ )
• Graph theory algorithm presentation (http:/ / www. cs.wpi. edu/ ~dobrush/ cs507/ presentation/ 2001/ Project10/
ppframe. htm)
• Some graph theory algorithm animations (http:/ / students. ceid.upatras. gr/ ~papagel/ project/ contents.htm)
•• Step through the algorithm to understand it.
• The compendium of algorithm visualisation sites (http:/ / www2.hig. no/ ~algmet/ animate.html)
• A search site for finding algorithm implementations, explanations and animations (http:/ / www. spectster. com/ )
• Graph Theory Software (http:/ / graphtheorysoftware. com/ )
Em português
• Material sobre grafos da USP São Carlos (http:/ / www. icmc. sc. usp. br/ manuals/ sce183/ grafos.html)
• Uma Introdução Sucinta à Teoria dos Grafos (http:/ / www. ime. usp. br/ ~pf/ teoriadosgrafos/ texto/
TeoriaDosGrafos. pdf)
• Material com "Atlas de Grafos" da FINTEC (http:/ / www. fintec. edu. br/ peter/ relat04/ atlas1/ atlas_index. htm)
• Enumeração de caminhos - Algoritmo Grafos (http:/ / thiagoprocaci. blogspot. com/ 2009/ 10/
enumeracao-de-caminhos-algoritmo-grafos. html)
Ferramentas de grafos populares• http:/ / www. graphviz. org/ (em Inglês)
• http:/ / www. absint. com/ aisee/ index_pt.htm (em Português)
• http:/ / www. aisee. com (em Inglês)
• http:/ / www. research. att. com/ sw/ tools/ graphviz/ (em Inglês)
• http:/ / www. cs. uni-sb. de/ RW/ users/ sander/ html/ gsvcg1.html (em Inglês)
• http:/ / www. tulip-software. org (em Inglês)
• http:/ / www. roxgt. org
• http:/ / planarity.net
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 12/157
8
Conceitos Básicos e Definições
Grafo
Um grafo com 6 vértices e 7 arestas.
Em matemática e ciência da computação, grafo é o objeto básico de
estudo da teoria dos grafos. Tipicamente, um grafo é representado
como um conjunto de pontos (vértices) ligados por retas (as arestas).
Dependendo da aplicação, as arestas podem ser direcionadas, e são
representadas por "setas".
Os grafos são muito úteis na representação de problemas da vida real,
em vários campos profissionais. Por exemplo, pode-se representar um
mapa de estradas através dos grafos e usar algoritmos específicos para
determinar o caminho mais curto entre dois pontos, ou o caminho mais
económico. Assim, os grafos podem possuir também pesos (ou custo),
quer nas arestas quer nos vértices, e o custo total em estudo será calculado a partir destes pesos.
Grafos podem ser utilizados também em redes PERT no âmbito do planejamento de projetos. Neste caso, a cada
aresta está associado o custo de execução, e as tarefas precedentes de uma outra serão suas afluentes.
Outro exemplo é o caso das redes de computadores, sendo cada terminal representado por um vértice, o cabo de rede
pelas arestas e o custo associado a latência, por exemplo, ou o número de máquinas que a comunicação atravessa
entre os nós. É nestes princípios que assenta todo o protocolo IP que torna possível a Internet ser uma realidade.
Grafos têm sido utilizados para representar o formalismo das redes complexas, onde o número de nós e de conexões
entre esses nós é muito alto e complexamente estabelecido.
IntroduçãoUma possível definição para grafos: "O grafo propriamente dito é uma representação gráfica das relações existentes
entre elementos de dados. Ele pode ser descrito num espaço euclidiano de n dimensões como sendo um conjunto V
de vértices e um conjunto A de curvas contínuas (arestas)". Podemos avaliar um grafo através de seu tipo,
propriedades e aplicações[1].
Busca em grafoVários problemas representados por um grafo podem ser resolvidos efetuando uma busca nesse grafo. A busca em
grafo consiste em explorar um grafo, de forma que obtenha um processo sistemático de como caminhar por seus
vértices e arestas. Às vezes é preciso visitar todos os vértices de um grafos, às vezes o problema pode ser resolvido
visitando somente um subconjunto dos vértices.
Se o grafo for uma árvore, esta questão se torna simples, podem utilizar as visitas em pré-ordem, ou ordem de nível.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 13/157
Grafo 9
Algoritmos de percursoExistem dois métodos de percurso em grafos: percurso em profundidade (depth-first search — DFS) e o percurso em
largura (breadth first search — BFS).
A ideia básica do DFS é buscar "mais a fundo" no grafo quando possível. Assim, a partir de um vértice v, as arestas
ainda não exploradas o são e, ao final, a busca retrocede.
A ideia do BFS é bastante simples: os vértices do grafo são visitados nível a nível, ou seja, todos os vértices a uma
distância k do vértice inicial são visitados antes de qualquer vértice a uma distância k +1 do inicial.
Referências• http:/ / www. icmc. sc. usp. br/ manuals/ sce183/ gfbus. html
• Cormen. Thomas (2000); Leiserson, Charles.; Rivest, Ronald. Introduction to Algorithmics, McGraw-Hill.
• Algoritmos em Grafos - Paulo Feofiloff [1]
Referências[1] http:/ / www. ime. usp. br/ ~pf/ algoritmos_em_grafos/ aulas/ grafos. html
Vértice
Um grafo com 6 vértices e 7 arestas onde o
vértice da extrema-direita é um vértice-folha ou
um vértice-pendente.
Em teoria dos grafos, um vértice (plural vértices) ou nodo é a unidade
fundamental da qual os grafos são formados: um grafo não dirigido
consiste de um conjunto de vértices e um conjunto de arestas (pares de
vértices não ordenados), enquanto um digrafo é constituído por um
conjunto de vértices e um conjunto de arcos (pares ordenados devértices). Do ponto de vista da teoria dos grafos, vértices são tratados
como objetos inexpressivos e indivisíveis, embora possam ter uma
estrutura adicional, dependendo da aplicação a partir da qual surge o
grafo; por exemplo, uma rede semântica é um grafo no qual os vértices
representam conceitos ou classes de objetos.
Os dois vértices formando uma aresta são ditos suas extremidades e a
aresta é dita que é incidente para com os vértices.[] Um vértice w é dito ser adjacente a outro vértice v se o grafo
contém uma aresta (v,w).[] A adjacência de um vértice v é um subgrafo induzido do grafo, formado por todos os
vértices adjacentes a v.
O grau de um vértice em um grafo é o número de arestas incidentes a ele. [] Um vértice isolado é um vértice com
grau zero, isto é, um vértice que não é um ponto final de toda a aresta. Um vértice folha (também vértice pendente)
é um vértice de grau um. Em um grafo direcionado, pode-se distinguir o grau de saída (número de arestas
divergentes) do grau de entrada (número de arestas convergentes); uma fonte é um vértice com grau de entrada zero,
enquanto um sumidouro (ou poço) é um vértice com grau de saída nulo[] .
Um vértice de corte é um vértice cuja remoção (juntamente com as arestas a ele conectadas) provoca um redução na
conexidade do grafo;[1] Um separador é uma coleção de vértices cuja remoção desconecta o grafo restante em
pedaços pequenos.[2] Um grafo k-conexo é um gráfico em que a remoção de menos de k vértices sempre deixa o
grafo ainda conectado. Um conjunto independente é um conjunto de vértices tal que não existem dois vértices
adjacentes contido neste conjunto, e uma cobertura de vértices é um conjunto de vértices, que inclui o ponto deextremidade de cada aresta do grafo. O espaço de vértices de um grafo é um espaço vetorial com um conjunto de
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 14/157
Vértice 10
vetores de base correspondente aos vértices do gráfico.
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 grafos, é importante fazer a distinção entre vértices rotulados e
vértices sem rótulo. Um vértice rotulado é 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
correspondência entre seus vértices emparelham vértices com rótulos iguais. Um vértice não marcado é aquele quepode ser substituído por qualquer outro vértice com base apenas em suas adjacências no gráfico e não baseado em
quaisquer informações adicionais.
Vértices em grafos são análogos, mas não o mesmo que, vértices de poliedros: o esqueleto de um poliedro forma um
grafo, os vértices do qual são vértices do poliedro, mas os vértices do poliedro tem uma estrutura adicional (sua
localização geométrica) que não se presume estar presente na teoria dos grafos. A Figura de vértice de um vértice de
um poliedro é análoga à vizinhança de um vértice em um grafo.
Em um dígrafo, estrela frontal de um nodo é definida como a suas arestas de saída. Em um grafo com um
conjunto de vértices e um conjunto de arestas , a estrela frontal de pode ser descrita como[3]
[1] Grafos - UFSC (http:/ / www. inf. ufsc. br/ grafos/ definicoes/ definicao. html)
[2] Algoritmos em Grafos - IME (http:/ / www. ime. usp. br/ ~pf/ algoritmos_em_grafos/ aulas/ two-flow. html)
• Berge, Claude, Théorie des graphes et ses applications. Collection Universitaire de Mathématiques, II Dunod,
Paris 1958, viii+277 pp. (English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961;
Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first
English edition. Dover, New York 2001)
• Chartrand, Gary. Introductory graph theory. New York: Dover, 1985. ISBN 0-486-24775-9
• Biggs, Norman; Lloyd, E. H.; Wilson, Robin J.. Graph theory, 1736-1936 . Oxford [Oxfordshire]: Clarendon
Press, 1986. ISBN 0-19-853916-9
• Harary, Frank. Graph theory. Reading, Mass.: Addison-Wesley Publishing, 1969. ISBN 0-201-41033-8
• Harary, Frank; Palmer, Edgar M.. Graphical enumeration. [S.l.]: New York, Academic Press, 1973. ISBN
0-12-324245-2
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 15/157
Aresta 11
Aresta
Tipos de arestas.
Em teoria dos grafos, uma aresta junto com os vértices ou nodos
formam as unidades fundamentais das quais os grafos são
formados[]: um grafo não dirigido consiste de um conjunto de
vértices e um conjunto de arestas (pares de vértices não
ordenados), enquanto um digrafo é constituído por um conjunto de
vértices e um conjunto de arcos (pares ordenados de vértices). As
arestas são consideradas as uniões entre os vértices. Uma aresta é
dita incidente ao0s elementos de um par de vértices que não são
necessariamente distintos[]. Normalmente as arestas denotam as
relações entre os vértices (vizinhanca, grau, herança, etc..)
Tipos de arestas
Uma aresta pode ser não-direcionada ou direcionada. No segundo
caso, o par de vértices é ordenado e o vértices são chamados
vértice-inícial e vértice-final. Arestas com o mesmo vértice-inicial
e o mesmo vértice final ( u, v ) são ditas paralelas[].
Relação de adjacência
As arestas de um grafo ou digrafo G=(V , E ) induzem uma relação
chamada de relação de adjacência[1]. Portanto um vértice v é
adjacente a um vértice w se e somente se v-w é uma aresta que
pertence ao conjunto E .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 16/157
Aresta múltipla 12
Aresta múltiplaAresta múltipla ou aresta paralela são arestas que possuem os mesmos vértices como extremidade.
Ciclos em um grafoUm ciclo em teoria de grafos é "um passeio de comprimento mínimo três, em que o primeiro e o último vértice
coincidem, mas nenhum outro vértice é repetido" [1]. Um ciclo é uma cadeia simples e fechada[][2]. Um ciclo é uma
cadeia fechada[].
O termo ciclo pode também ser usado para se referir ao grafo que contém os vértices e arestas de um ciclo na
definição acima[1].
Definição matemática
Matematicamente: Seja G um grafo. Um ciclo em G é um caminho{v
1, v
2, . . ., v
k, v
k+1}
sendo
v1
= vk+1
, 3 ≤ k[3]
Clique
Um grafo com 23 cliques de 1-vértice (its vertices), 42 cliques de 2-vértices (suas
arestas), 19 cliques de 3-vértices (os triângulos em azul claro), e 2 cliques de
4-vértices (azul escuro). Seis das arestas e 11 dos triângulos formam cliques
maximais. As duas 4-cliques em azul escuro são tanto máximas quanto maximais,
e o número de clique do grafo é 4.
Na área da matemática da teoria dos grafos,
uma clique em um grafo não-orientado é umsubconjunto de seus vértices tais que cada
dois vértices do subconjunto são conectados
por uma aresta. Uma clique em um grafo G
é um subgrafo de G que é completo. Eles
recebem a notação [1]. O tamanho de
uma clique é igual a cardinalidade de seu
conjunto de vértices. Por exemplo no grafo
G(V,E) sendo V seu conjunto de vértices e
E o de arestas, temos que:
Se V={1,2,3,4,5} e
E={(1,2),(1,3),(1,4),(1,5),(2,3),(2,4),(3,4),(4,5)},
o subgrafo induzido pelos vértices (1,2,3,4)
é uma clique de tamanho 4.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 17/157
Clique 13
Referências
O grau de um grafo
Um grafo com vértices rotulados por grau
Na teoria dos grafos, o grau (ou valência) de um vértice de um grafo éo número de arestas incidentes para com o vértice, com os laços
contados duas vezes. [1][] Ou de forma análoga, o número de vértices
adjacentes a ele.[]O grau de um vértice é denotado O grau
máximo de um grafo G, denotado por Δ(G), e o grau mínimo de um
grafo, denotado por δ(G), são os graus máximos e mínimos de seus
vértices. No grafo à direita, o grau máximo é 3 e o mínimo é 0. Em um
grafo regular, todos os graus são os mesmos, e assim podemos falar de
o grau do gráfico.
Lema do aperto de mãos
A fórmula da soma dos graus afirma que, dado um grafo ,
A fórmula implica que em qualquer grafo, o número de vértices de grau ímpar é par. Esta afirmação (bem como a
fórmula de soma grau) é conhecida como o Lema do aperto de mãos (em inglês, handshaking lemma). O último
nome vem de um problema matemático popular, para provar que, em qualquer grupo de pessoas o número de
pessoas que apertam as mãos com um número ímpar de outras pessoas do grupo é par.
Seqüência de graus
Dois grafos não isomorfos com a mesma seqüência de
graus (3, 2, 2, 2, 2, 1, 1, 1).
A seqüência de grau de um grafo não-direcionado é a seqüência
não crescente dos seus graus de vértices; [2] para o gráfico acima, é
(3, 3, 3, 2, 2, 1, 0). A seqüência de grau é um grafo invariável logo
grafos isomorfos têm a mesma seqüência. No entanto, a seqüência
de grau, em geral, não identifica unicamente um grafo; em alguns
casos, os grafos não isomorfos têm o mesmo grau de seqüência.
O problema da seqüência de graus, é o problema de encontrar
alguns ou todos os grafos com a seqüência de grau sendo umadada seqüência não crescente de números inteiros positivos. Zeros
finais podem ser ignorados, uma vez que são trivialmente
efetuados pela adição de um número adequado de vértices isolados
do grafo.
O problema de encontrar ou estimar o número de grafos com uma
seqüência de determinado grau é um problema do campo da
enumeração de grafos.
Como conseqüência da fórmula da soma de graus, toda a seqüência com uma soma ímpar, como (3, 3, 1), não pode
ser entendida como a seqüência de grau de um grafo. O inverso também é verdadeiro: se uma seqüência tem uma
soma par, é a seqüência de grau de um grafo. A construção de um grafo como este é simples: conecte vértices
ímpares em pares, e preencha com laços (auto-loops).
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 18/157
O grau de um grafo 14
Freqüentemente, se deseja procurar por grafos simples, tornando o problema da seqüência de graus mais desafiador.
Obviamente, a seqüência (8, 4) não é a seqüência de grau de um grafo simples, pois teríamos a contradição Δ(G)
> ((número de vértices;− 1). A seqüência (3, 3, 3, 1) também não é a seqüência de grau de um grafo simples, mas
neste caso o motivo é menos óbvio. Encontrar os critérios gerais de seqüências de grau de grafos simples é um
problema clássico; soluções têm sido oferecidas por Erdős e Gallai (1960), V. J. Havel (1955) e S. L. Hakimi (1961)
e S. A. Choudum.
Por exemplo, o Teorema de Erdös-Gallai afirma que a seqüência (d i)i=1,...,n
é uma seqüência de grau de um grafo
simples sse, a soma da seqüência é par e
Havel e Hakimi provaram que (d 1, d
2, ..., d
n) é uma seqüência de grau de um grafo simples sse ( d
2 − 1, d
3 − 1, ...,
d d 1+1 − 1, d
d 1+2, d
d 1+3, ..., d
n) é. Este fato leva a um algoritmo simples (o algoritmo Havel-Hakimi) para a
realização de um grafo simples, com uma seqüência de determinado grau de realização: Comece com um grafo sem
bordas. Mantenha uma lista de vértices cujo grau de exigência não tenha ainda sido atingido em ordem não-crescente
de exigência de grau residual. Conecte o primeiro vértice com os próximos d 1 vértices na lista, e depois remova-o dalista. Re-ordene a lista e repita até que todas as exigências do grau estejam cumpridas.
Valores especiais
Um grafo não-direcionado com nodos-folha 4, 5,
6, 7, 10, 11, e 12
• Um vértice com grau 0 é chamado de vértice isolado.
• Um vértice com grau 1 é chamado de vértice folha e a aresta
conectada a este vértice é chamada de aresta pendente. No grafo à
direita, {3,5} é uma aresta pendente. Esta terminologia é comum no
estudo de árvores em teoria dos grafos e em especial árvores como
estrutura de dados.
Propriedades globais
• Se cada vértice do grafo tem o mesmo grau k o grafo é chamado de
um grafo k -regular e o próprio grafo é dito ter grau k .
• Um grafo conexo, não-direcionado, tem um caminho euleriano se e somente se ele tem 0 ou 2 vértices de grau
ímpar. Se tem 0 vértices de grau ímpar, o caminho Euleriano é um circuito Euleriano.
• Um grafo direcionado é uma pseudofloresta se e somente se se cada vértice tem um grau de saída no máximo 1.
Um grafo funcional é um caso especial de um pseudofloresta em que cada vértice tem exatamente um grau de
saída 1.• Pelo Teorema de Brooks, qualquer grafo que não seja um clique ou um ciclo ímpar tem um número cromático, de
no máximo Δ, e pelo Teorema de Vizing, um grafo tem um índice cromático de no máximo Δ + 1.
[1][1] .
[2][2] Diestel p.278
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 19/157
Grafo bipartido 15
Grafo bipartido
Exemplo de um grafo bipartido
No campo da matemática da teoria dos grafos, um grafo bipartido
ou bigrafo é um grafo cujos vértices podem ser divididos em dois
conjuntos disjuntos U e V tais que toda aresta conecta um vértice
em U a um vértice em V ;[1] ou seja, U e V são conjuntos
independentes. Equivalentemente, um grafo bipartido é um grafo
que não contém qualquer ciclo de comprimento ímpar
Os dois conjuntos U e V podem ser pensados como uma coloração
do grafo com duas cores: se nós colorirmos todos os nodos em U
de azul, e todos os nodos em V de verde, cada aresta tem
terminações de cores diferentes, como é exigido no problema de
coloração de grafos. Em contrapartida, tal coloração é impossível
no caso de um grafo que não é bipartido, como um triângulo:
depois de um nó ser colorido de cor azul e outro de verde, oterceiro vértice do triângulo é ligado a vértices de ambas as cores,
impedindo que seja atribuída qualquer cor.
Frequentemente se escreve G = (U , V , E ) para denotar um grafo bipartido cuja partição tem as partes U e V . Se
|U | =|V |, ou seja, se os dois subconjuntos tem igual cardinalidade, então G é chamado um grafo bipartido balanceado.
Exemplos•• Qualquer grafo sem ciclos ímpares é bipartido. Como consequência disso:
• Toda árvore é bipartida.
• grafos ciclo com um número par de vértices são bipartidos.• Qualquer grafo planar onde todas as faces em sua representação planar consistem de um número par de arestas
é bipartido. Casos especiais destes são grafos grelha e grafos quadrado, em que cada face interna é composta
por 4 arestas.
Testando biparticidade
Encontrando uma bipartição usando paridade
Se um grafo bipartido é conexo, a sua bipartição pode ser definida pela
paridade das distâncias de qualquer vértice escolhido arbitrariamente v:
um subconjunto consiste dos vértices a uma distância par de v e o outro
subconjunto consiste dos vértices a uma distância ímpar de v.Assim, pode-se testar eficientemente se um grafo é bipartido, usando
esta técnica de paridade de se atribuir vértices para os dois
subconjuntos U e V , separadamente a cada componente conectado do
grafo e, em seguida, examinar cada aresta para verificar se ela tem
terminações designadas para os diferentes subgrupos.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 20/157
Grafo bipartido 16
AplicaçõesGrafos bipartidos são úteis para a modelagem de problemas de acoplamento. Um exemplo de grafo bipartido é um
problema de correspondência de empregos. Suponha que temos um conjunto P de pessoas e um conjunto J de postos
de trabalho, com nem todas as pessoas adequadas para todos os trabalhos. Podemos modelar isto como um grafo
bipartido ( P, J , E ). Se uma pessoa p x
é adequada para um determinado trabalho j y
existe uma aresta entre p x
e j y
no
grafo. O teorema do casamento fornece uma caracterização de grafos bipartidos que permitem acoplamentosperfeitos.
Grafos bipartidos são usados extensivamente na moderna teoria dos códigos, especialmente para decodificar palavras
de código recebidas do canal. Grafos Fator e grafos Tanner são exemplos disso.
Em ciência da computação, uma rede de Petri é uma ferramenta de modelagem matemática utilizada na análise e
simulação de sistemas concorrentes. Um sistema é modelado como um grafo bipartido dirigido com dois conjuntos
de nós: Um conjunto de nodos "lugar" que contêm recursos, e um conjunto de nodos "evento" que geram e/ou
consomem recursos. Existem restrições adicionais sobre os nós e arestas que condicionam o comportamento do
sistema. Redes de Petri utilizam as propriedades de grafos bipartidos dirigidos e outras propriedades para permitir
provas matemáticas do comportamento dos sistemas enquanto ao mesmo tempo, permitindo a fácil implementação
de simulações do sistema.
Em geometria projetiva, grafos de Levi são uma forma de grafo bipartido usada para modelar as incidências entre os
pontos e linhas em uma configuração.
Modelagem de multigrafos e hipergrafosGrafos bipartidos podem modelar inteiramente o mais geral multigrafo. Dada um multigrafo M, tome U como o
conjunto de vértices de M e tome V como o conjunto de arestas de M. Então junte-se um elemento de V para
precisamente os dois elementos de U que são as extremidades da aresta em M. Assim, cada multigrafo é descrito
completamente por um grafo bipartido, que é unilateral regular de grau 2, e vice-versa.
Da mesma forma, cada hipergrafo direcionado pode ser representado por um grafo bipartido. Tome U como o
conjunto de vértices no hipergrafo, e V como conjunto de arestas. para cada e , conecte u a v se a
aresta do hipergrafo contém u como entrada, e conecte v a u se v contém u como saída.
Propriedades• Um grafo é bipartido se e somente se ele não contém um ciclo ímpar. Portanto, um grafo bipartido não pode
conter uma clique de tamanho maior ou igual a 3.
• Um grafo é bipartido se e somente se ele é 2-colorível, (i.e. seu número cromático é menor ou igual a 2).
• O tamanho da cobertura de vértices mínima é igual ao tamanho do acoplamento máximo (teorema de König).
• O tamanho do conjunto independente máximo mais o tamanho do acoplamento máximo é igual ao número devértices.
• Para um grafo bipartido conectado o tamanho da cobertura de arestas mínima é igual ao tamanho do conjunto
independente máximo.
•• Para um grafo bipartido conectado o tamanho da cobertura de arestas mínima mais o tamanho da cobertura de
vértices mínima é igual ao número de vértices.
• Todo grafo bipartido é um grafo perfeito.
• O espectro de um grafo é simétrico se e somente se ele é um grafo bipartido.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 21/157
Grafo bipartido 17
Ligações externas• Sistema de informações sobre inclusões de classes de grafos [2]
grafo bipartido [3]
Referências[2] http:/ / wwwteo. informatik. uni-rostock. de/ isgci/ index. html
[3] http:/ / wwwteo. informatik. uni-rostock. de/ isgci/ classes/ gc_69. html
Grafo bipartido completo
Grafo bipartidocompleto
Um grafo bipartido completo com m = 5 n = 3
vértices n + m
arestas mn
Cintura 4
Automorfismos 2m!n! se m=n, caso contrário m!n!
Númerocromático
2
Índicecromático
max{m, n}
Notação
No campo da matemática da teoria dos grafos, um grafo bipartido completo ou biclique é um tipo especial de grafo
bipartido onde cada vértice do primeiro conjunto está associado a cada vértice do segundo conjunto.
Definição
Um grafo bipartido completo, G := (V 1 + V 2, E ), é um grafo bipartido tal que para quaisquer dois vértices, v1 ∈
V 1 ev
2 ∈ V
2, v
1v
2é uma aresta em G. O grafo bipartido completo com partições de tamanho |V
1|=m e |V
2|=n, é denotado
Km,n
.
Exemplos
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 22/157
Grafo bipartido completo 18
Os grafos estrela S 3, S
4, S
5e S
6.
O grafo de utilidade K 3,3
• Para qualquer k , K 1,k
é chamado
uma estrela. Todos os grafos
bipartidos completos que são
árvores são estrelas.
• O grafo K 1,3
é chamado uma garra,
e é usado para definir os grafos semgarra.
• O grafo K 3,3
é chamado de grafo de
utilidade. Esta prática vem de um
quebra-cabeça matemático
tradicional, no qual três utilidades
devem ser ligadas a cada três
edifícios; é impossível de resolver
sem cruzamentos, devido à
não-planaridade de K 3,3
.
Propriedades
• Dado um grafo bipartido completo, ele possui dois autovalores simétricos (o índice e o seu simétrico) e os demais
nulos.[1]
• Dado um grafo bipartido, encontrar o seu subgrafo bipartido completo Km,n
com o número máximo de arestas mn
é um problema NP-completo.
• Um grafo planar não pode conter K3,3
como um menor; um grafo periplanar não pode conter K3,2
como um
menor (Estas não são condições suficientes de planaridade e planaridade exterior, mas necessárias).
• Um grafo bipartido completo Kn,n
é um grafo de Moore e uma (n,4)-gaiola.
• Um grafo bipartido completo Kn,n ou Kn,n+1 é um grafo de Turán.• Um grafo bipartido completo K
m,ntem um número de cobertura de vértice do min{m,n} e um número de
cobertura de aresta de max{m,n}.
• Um grafo bipartido completo Km,n
tem um conjunto independente máximo de tamanho max{m,n}.
• A matriz de adjacência de um grafo bipartido completo Km,n
tem autovalores √(nm), −√(nm) e 0; com
multiplicidade 1, 1 e n+m−2 respectivamente.
• A matriz laplaciana de um grafo bipartido completo Km,n
tem autovalores n+m, n, m, e 0; com multiplicidade 1,
m−1, n−1 e 1 respectivamente.
• Um grafo bipartido completo Km,n
tem mn−1 nm−1 árvores de extensão.
• Um grafo bipartido completo Km,n
tem um acoplamento máximo de tamanho min{m,n}.
• Um grafo bipartido completo Kn,n tem uma n-coloração-de-arestas correspondente ao quadrado latino.• Os dois últimos resultados são corolários do teorema do casamento aplicado a um grafo bipartido k -regular.
Referências
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 23/157
Grafo caminho 19
Grafo caminho
Grafo caminho
Um grafo caminho em 6 vértices
vértices n
arestas n - 1
Raio ⌊n/2⌋
Diâmetro n - 1
Automorfismos 2
Númerocromático
2
Índice cromático 2
Propriedades Distância-unidadeGrafo bipartidoÁrvore
Notação
No campo da matemática da teoria dos grafos, um grafo caminho ou grafo linear é um exemplo particularmente
simples de uma árvore, ou seja, uma árvore com dois ou mais vértices que não tem ramificações, ou seja, contém
somente vértices de grau 2 e 1.[1] Em particular, ela tem dois vértices terminais (vértices que têm grau 1), enquanto
todos os outros (se houver) têm grau 2.
Ligações externas• Eric W. Weisstein, Path Graph [2] em MathWorld.
Referências[2] http:/ / mathworld. wolfram. com/ PathGraph. html
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 24/157
Grafo completo 20
Grafo completoUm grafo completo é um grafo simples em que todo vértice é adjacente a todos os outros vértices. O grafo completo
de n vértices é frequentemente denotado por .
Número de arestas
O grafo tem arestas (correspondendo a todas as possíveis escolhas de pares de vértices).
PlanaridadeO teorema de Kuratowski tem como consequência que um grafo é grafo planar se e somente se .
Grafo cúbico
O grafo de Petersen é um grafo cúbico.
O grafo bipartido completo é um exemplo
de grafo bicúbico
No campo da matemática da teoria dos grafos, um grafo cúbico é um
grafo regular no qual todos os vértices tem grau três[1]. Em outras
palavras um grafo cúbico é um grafo 3-regular. Grafos cúbicos são
também chamados grafos trivalentes.
Um grafo bicúbico é um grafo bipartido cúbico.
Simetria
Em 1932, Ronald M. Foster começou a recolher exemplos de grafossimétricos cúbicos, formando o início do censo de Foster[2]. Muitos
grafos individuais conhecidos são cúbicos e simétricos, incluindo o
grafo de Petersen, o grafo de Nauru, o grafo de Coxeter, o grafo de
Tutte – Coxeter, o grafo de Dyck, o grafo de Foster e o grafo de
Biggs-Smith.
W. T. Tutte classificou os grafos simétricos cúbicos pelo menor
número inteiro s tal que cada dois caminhos orientados 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 Ljubljana, e o gaiola-12 de
Tutte.
O grafo de Frucht é o menor grafo cúbico sem qualquer simetria:
possui apenas um único automorfismo de grafos, o automorfismo
identidade.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 25/157
Grafo cúbico 21
O grafo Frucht, o menor grafo cúbico
assimétrico.
Coloração e conjuntos independentes
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 diferente de K
4
tem um conjunto
independente de pelo menos n /3 vértices, onde n é o número de
vértices no grafo: por exemplo, a maior classe de cor em uma
3-coloração tem pelo menos estes vértices.
De acordo com o teorema de Vizing todo grafo cúbico necessita 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 três acoplamentos perfeitos. Pelo teorema de coloração de
linhas de König todo grafo bicúbico tem uma coloração de Tait.
Os grafos cúbicos sem ponte que não tem uma coloração de Tait são conhecidos como snarks. Eles incluem o grafo
de Petersen, grafo de Tietze, os snarks Blanuša, o snark flor, o snark dupla-estrela, o snark Szekeres e o snarkWatkins.
Existe um número infinito de snarks distintos. [4]
Hamiltonicidade
Houve muita pesquisa sobre Hamiltonicidade de grafos cúbicos. Em 1880, P.G. Tait conjecturou que todo grafos
poliédricos cúbicos tem um circuito Hamiltoniano. William Thomas Tutte forneceu um contra-exemplo para a
conjectura de Tait, o grafo de Tutte de 46 vértices, em 1946. Em 1971, Tutte conjecturou que todos os grafos
bicúbicos são hamiltonianos. No entanto, José Horton proporcionou um contra-exemplo com 96 vértices, o grafo de
Horton[5]. Mais tarde Mark Ellingham, construíu mais dois contra-exemplos: os grafos de Ellingham-Horton[6][7]. Aconjectura de Barnette, uma combinação de conjecturas de Tait e Tutte ainda aberta, afirma que todo grafo bicúbico
poliédrico é hamiltoniano. Quando um grafo cúbico é hamiltoniano, a notação LCF permite que ele seja representada
de forma concisa.
Se um grafo cúbico é escolhido aleatoriamente entre todos os grafos cúbicos de n-vértices, então é bem provável que
seja Hamiltoniano. a proporção de grafos cúbicos de n-vértices que são Hamiltonianos tende a um no limite a medida
que n vai para o infinito[8].
David Eppstein conjecturou que todo grafo cúbico de n-vértices tem no máximo 2n /3 (aproximadamente 1260n)
ciclos hamiltonianos distintos, e exemplificou com grafos cúbicos com esta quantidade de ciclos [9]. O melhor limite
superior que foi até agora comprovado no número de ciclos hamiltonianos distintos é 1,276n
.[10]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 26/157
Grafo cúbico 22
Outras propriedadesO comprimento do caminho de quaisquer grafo cúbico de n-vértices é no máximo n /6. No entanto, o limite inferior
melhor conhecido no comprimento do caminho de grafos cúbicos é menor, 0.082n.[11]
Se segue do lema do aperto de mãos, provado por Leonhard Euler em 1736 como parte do primeiro trabalho sobre
teoria dos grafos, que todo grafo cúbico tem um número par de vértices.
Algoritmos e complexidadeVários pesquisadores têm estudado a complexidade de tempo exponencial de algoritmos restritos a grafos cúbicos.
Por exemplo, através da aplicação de programação dinâmica para a decomposição do caminho do grafo, Fomin e
Høie mostraram como encontrar os seus conjuntos independentes máximos em tempo O(nn /6 + o(n)).[11]
História• 1880: Peter Guthrie Tait conjeturou que cada grafo sem pontes cúbico planar tem um circuito hamiltoniano.
William Thomas Tutte encontrou um contra-exemplo: un grafo de 46 vértices (agora com o seu nome) em 1946.
• 1934: Ronald M. Foster começou a colecionar exemplos de grafos simétricos cúbicos, com o que iria iniciar o
Censo de Foster .[12]
• 1971: William Tutte conjetura que todos os grafos bicúbicos são ciclos hamiltonianos. Entretanto, Horton
proporciona un grafo de contra-exemplo, com 96-vértices.
• 2003: Petr Hliněný mostra que o problema de encontrar o número de cruzamento (o número mínimo de arestas
que cruzam um dado grafo) de um grafo cúbico é NP-hard, apesar de terem um grau pequeno. Existem, não
obstante, algoritmos de aproximacão práticos para encontrar o número de cruzamento de grafos cúbicos[13].
[2] Foster, R. M. "Geometrical Circuits of Electrical Networks." Transactions of the American Institute of Electrical Engineers 51, 309-317,
1932
[3][3] .[4][4] .
[5][5] Bondy, J. A. and Murty, U. S. R. Graph Theory with Applications. New York: North Holland, p. 240, 1976.
[6][6] Ellingham, M. N. "Non-Hamiltonian 3-Connected Cubic Partite Graphs."Research Report No. 28, Dept. of Math., Univ. Melbourne,
Melbourne, 1981.
[7][7] Ellingham, M. N. and Horton, J. D. "Non-Hamiltonian 3-Connected Cubic Bipartite Graphs." J. Combin. Th. Ser. B 34, 350-353, 1983.
[8][8] .
[10][10] .
[11][11] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 27/157
Grafo Estrela 23
Grafo Estrela
Estrela
A estrela S 7 .
vértices k+1
arestas k
Diâmetro2
Cintura ∞
Númerocromático
2
Índicecromático
k
Propriedades aresta-transitivoÁrvoreDistância-unidadeBipartido
Notação S k
Em teoria dos grafos, uma estrela S k
é o grafo bipartido completo K 1,k
, uma árvore com um nó interno e k folhas.
Uma estrela com 3 arestas é chamada uma garra[1].
A estrela S k
é aresta-elegante quando k é par e não quando k é ímpar. Ela é aresta-transitiva, unidade-distância e têm
diâmtero 2, cintura ∞, índice cromático k e número cromático 2.
Estrelas também podem ser descritas como os únicos grafos conectados em que no máximo um vértice tem grau
maior que um.
Relação com outras famílias de grafosGarras são notáveis na definição de grafos sem garra, os grafos que não tem qualquer garra como subgrafo
induzido[2][3].
Uma estrela é um tipo especial de árvore. Como acontece com qualquer árvore, as estrelas podem ser codificados por
uma sequência Prüfer; A sequência Prüfer para uma estrela K 1,k
consiste de k − 1 cópias do vértice central[4]. Uma
árvore pode ser vista como um conjunto de estrelas (pares ou ímpares) ligadas pelos pontos centrais[5].
Diversos grafos invariantes são definidos em termos de estrelas. Arboricidade de estrela é o menor número de
florestas que um grafo pode ser particionado em tal modo que cada árvore em cada floresta é uma estrela[6], e o
número cromático de estrela de um grafo é o menor número de cores necessário para colorir seus vértices de tal
forma que cada duas classes de coloração, juntas, formam um subgrafo em que todos os componentes conectados são
estrelas[7]
. Os grafos de comprimento de ramo 1 são exatamente os grafos em que cada componente conectado é umaestrela[8].
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 28/157
Grafo Estrela 24
Os grafos estrela S 3, S
4, S
5e S
6.
Outras aplicaçõesO conjunto de distâncias entre os vértices de uma garra fornece um exemplo de um espaço métrico finito, que não
pode ser incorporado isometricamente em um espaço euclideano de qualquer dimensão[9].
A rede em estrela, uma rede de computadores modelado em um grafo de estrela, é importante em computaçãodistribuída.
[2][2] .
[3][3] .
Grafo nulo
Grafo
nulovértices 0
arestas 0
Automorfismos1
No campo da matemática da teoria dos grafos, o grafo nulo ou o grafo vazio ou é o grafo sem nenhum vértice e
(portanto) sem arestas, ou qualquer grafo sem arestas.
O grafo nulo (no sentido original) é o objeto inicial na categoria de grafos, de acordo com algumas definições de
categoria de grafos. Não tendo nenhum vértice, o grafo nulo, portanto, também não tem componentes ligados.
Assim, embora o grafo nulo seja uma floresta (um grafo sem ciclos), não é uma árvore, uma vez que as árvores têmcomponente ligados.
Grafo sem arestas
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 29/157
Grafo nulo 25
Grafo semarestas
vértices n
arestas 0
Automorfismos n!
Númerocromático
1
Propriedades IntegralSimétrico
Notação
Alguns autores entendem que um termo melhor para o último sentido (V , { }) para qualquer conjunto V é o mais
explícito grafo sem arestas. Assim se reserva o termo grafo nulo para o primeiro sentido: um grafo sem quaisquer
vértices. Outros, ainda, fazem essa distinção, aplicando o rótulo vazio para esses grafos sem arestas.
O grafo sem arestas de n-vértices é o grafo complementar para o grafo completo , e por isso é comumente
denotado como .
Mesmo que esta definição forneca uma base sólida para a definição de certas operações sobre grafos (por exemplo:
decomposição) considerando-se grafos como conjuntos de vértices e arestas (V , E ), esta definição levanta um
problema na singularidade do elemento nulo dos grafos.
Grafo orientado
Um grafo orientado (direcionado).
Um grafo orientado,[1] grafo dirigido,[2] grafo direcionado[3] ou digrafo é umpar (algumas vezes )(edge) de:[][][4]
• Um conjunto V , cujos elementos são chamados vértices ou nodos,
• um conjunto A de pares ordenados de vértices, chamados arcos, arestas
direcionadas, ou setas (e às vezes simplesmente arestas com o conjunto
correspondente chamado E ao invés de A).
Ele difere de um grafo não-direcionado comum, em que o último é definido em
termos de pares não ordenados de vértices, que são normalmente chamados arestas.
Por exemplo, ser possível ir de um nó A para um nó B, mas não o contrário através desse arco.Às vezes, um digrafo é chamado de um digrafo simples para distinguí-lo de um multigrafo direcionado (ou
multidigrafo ou ainda quiver), em que os arcos constituem um multiconjunto, ao invés de um conjunto, de pares
ordenados de vértices. Além disso, em um digrafo simples laços não são permitidos. Por outro lado, alguns textos
permitem laços, arcos múltiplos, ou ambos em um digrafo.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 30/157
Grafo orientado 26
Terminologia básica
Um arco é considerado ser direcionado de para ; é chamado de cabeça e é chamado de
cauda do arco; é dito ser um sucessor direto de , e é dito ser um predecessor direto de . Se um
caminho composto por um ou mais arcos sucessivos leva de para , então é dito ser um successor de , e
é dito ser um predecessor de . O arco é chamado de arco invertido.
Um grafo direcionado G é chamado de simétrico se, para cada arco, que pertence à G, o arco invertidocorrespondente também pertence à G. Um grafo dirigido simétrico sem laços é equivalente a um grafo não orientado
com os pares de arcos invertidos substituído por arestas, assim o número de arestas é igual ao número de arcos pela
metade.
A orientação de um grafo grafo não-direcionado simples é obtida através da atribuição de um sentido para cada
lado. Qualquer grafo direcionado construído desta forma é chamado de um grafo orientado. A distinção entre um
grafo direcionado simples e um grafo orientado é que se e são vértices, um grafo direcionado simples permite
tanto quanto como arestas, enquanto apenas uma é permitida em um grafo orientado.[]
Um digrafo ponderado é um digrafo com pesos atribuídos a seus arcos, à semelhança de um grafo ponderado.
A matriz de adjacência de um digrafo (com laços e arcos múltiplos) é uma matriz inteira com linhas e colunascorrespondendo aos nodos do digrafo, onde uma entrada não-diagonal é o número de arcos do nó i para o nó j, e
a entrada diagonal é o número de laços no nó i. A matriz de adjacência de um digrafo é única até as permutações
de linhas e colunas.
Outra representação de matriz para um dígrafo é sua matriz de incidência.
Veja glossário para mais definições.
Graus de saída e graus de entrada
Um digrafo com vértices rotulados (saída ou
entrada)
Para um nodo, o número de pontos de extremidade adjacente à cabeça
de um nó é chamado de grau de entrada do nodo e o número depontos de extremidade da cauda é o seu grau de saída.
O grau de entrada é denotado e o grau de saída como
. Um vértice com é chamado de fonte,
uma vez que é a origem de cada uma das suas arestas incidentes. Da
mesma forma, um vértice com é chamado de
sumidouro (ou poço).A fórmula da soma dos graus afirma que, para um grafo direcionado
Se para cada nodo, v ∈ V , , o grafo é chamado de digrafo balanceado.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 31/157
Grafo orientado 27
Conectividade de digrafosUm digrafo G é chamado de fracamente conectado (ou apenas conectado[]p. 19) se o grafo subjacente
não-direcionado obtido através da substituição de todas as arestas de G por arestas não direcionadas é um grafo
conexo. Um digrafo é fortemente conectado ou forte se ele contém um caminho orientado de u a v e um caminho
orientado de v a u para cada par de vértices u,v. Os componentes fortes são os subgrafos máximo fortemente
conectados.
Classes de digrafos
Um grafo direcionado acíclico simples
Um digrafo acíclico é um grafo direcionado sem ciclos direcionados.
Uma árvore enraizada naturalmente se define como um digrafo acíclico, se
todas as arestas da árvore subjacentes são dirigidas para longe da raiz.
um torneio com 4 vertices
Um torneio é um grafo orientado obtido ao se escolher uma direção para cada
aresta em um grafo completo não-direcionado.
Na teoria dos grupos de Lie, um quiver Q é um grafo direcionado servindo
como o domínio do e, portanto, caracterizando a forma de, uma
representação V definida como um functor, mais especificamente um objeto
da categoria functor FinVct K
F(Q)
onde F (Q) é a categoria livre em Qconstituída por caminhos em Q e FinVct
K é a categoria de espaços vetoriais
de dimensão finita sobre um campo K . Representações de um quiver rótulam
seus vértices com espaços vetoriais e suas arestas (e, portanto, caminhos) de
modo compatível com transformações lineares entre eles, e transformam
através das transformações naturais.
Referências[1][1] .
[2][2] .[4][4] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 32/157
Grafo simples 28
Grafo simplesEm teoria dos grafos, um grafo diz-se simples se entre cada par de vértices distintos existir no máximo uma aresta e
se, além disso, não contiver lacetes nem arestas paralelas, ou seja existir uma aresta que conecta um vertice a ele
mesmo.
Em grande parte dos textos o adjectivo simples (ou regular ) é omitido estando, no entanto, subentendido. Um grafo
que não é simples, diz-se um multigrafo.
Grafo valoradoUm grafo valorado ou grafo ponderado[1] é um grafo que possui funções relacionando o conjunto de vértices ou o
conjunto de arestas a conjunto de números.[2][]
O significado das funções depende do problema. Na maioria das aplicações de grafos existem dados quantitativos
associados a pontos(vértices) ou ligações(arestas) relacionados ao problema[] . Na maioria das aplicações de grafos a
problemas de engenharia, é necessário considerar-se grandezas tais como distâncias, altitudes, capacidades, fluxos,
etc., associadas a localidades, estradas, etc. que definem os vértices e os arcos (ou arestas) do grafo.
Em muitos problemas, no entanto, interessa apenas o inter-relacionamento dos vértices - e não se definem funções,
ou se pode considerar que elas são constantes. Diz-se então que o grafo é um grafo não-valorado.
RepresentaçãoEm um grafo valorado se pode usar as representações usuais para grafos. A matriz de adjacência é comumente
conhecida como matriz de valores das ligações ou simplesmente matriz de valores.[] Na lista de adjacência cada
linha vem acompanhada de seus valores respectivos[] . A figura a seguir ilustra um exemplo:
Grafo valorado Matriz de valores
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 33/157
Homomorfismo de grafos 29
Homomorfismo de grafosNo campo da matemática da teoria dos grafos um homomorfismo de grafos é um mapeamento entre dois grafos que
respeita suas estruturas. De forma mais concreta ele mapeia vértices adjacentes a vértices adjacentes.
DefiniçãoUm homomorfismo de grafos de um grafo para um grafo , denotado por
, é um mapeamento do conjunto de vértices de para o conjunto de vértices de
tal que sempre que .A definição acima é estendida para dígrafos (grafos com arestas dirigidas). Então, para um homomorfismo
, é um arco (aresta dirigida) de se é um arco de .
Se há um homomorfismo nós escreveremos , e caso contrário. Se
, é dito ser homomórfico a ou -colorável.
A composição de homomorfismos é também um homomorfismo. Se o homomorfismo é uma
bijeção cuja função inversa é também um homomorfismo de grafos, então é um isomorfismo de grafo.
Determinar se há ou não um isomorfismo entre dois grafos é um importante problema em complexidade
computacional; veja o problema do isomorfismo de subgrafos.Dois grafos e são homomorficamente equivalentes se e .
O resultado da retração de um grafo é um subgrafo de tal que existe um homomorfismo
, chamado retração com para todo vértice de . Um núcleo é um grafo que não se retrai a um
subgrafo próprio. Qualquer grafo é homomorficamente equivalente a um único núcleo.
GeneralizaçãoTome a seguinte definição de grafo:
Um grafo é uma estrutura
em que é o conjunto de nós do grafo, , (uma função parcial) e tais
que:
se ; ou , caso contrário.
O conceito de homomorfismo de grafos pode ser generalizado (usando essa estrutura para grafos) de funções (entre
nós dos grafos) para relações:
Sejam grafos. Uma bissimulação entre e é uma relação tal que:•
•
•
Se há tal relação, então e são chamados bissimilares (notação ). Se é de fato uma função
(caso em que chamaremos uma bissimulação funcional) temos um homomorfismo de grafo, tal que inclui
, sendo uma ordenação de homomorfismos definida como:
se , para algum homomorfismo
Os conceitos de bissimulação e ordenação de homomorfismos são bastante importantes na demonstração de
resultados sobre a confluência de sistemas de reescrita de grafos.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 34/157
Homomorfismo de grafos 30
Observações• Em termos de coloração de grafos, k -colorações de são exatamente homomorfismos , em
que é o grafo completo com nós. Como conseqüência se , o número cromático (menor
número de cores necessário para colorir um grafo) de é no máximo o de : (onde
representa o número cromático do grafo ).•• O homomorfismo de grafos preserva a conectividade.•• O produto tensorial de grafos é o produto categorial para a categoria dos grafos e dos homomorfismos de grafos.
• O problema de decisão associado, isto é, decidir se existe ou não um homomorfismo de um grafo para outro, é
NP-completo.
Referências• Hell, Pavol; Jaroslav Nešetřil. Graphs and Homomorphisms (Oxford Lecture Series in Mathematics and Its
Applications). [S.l.]: Oxford University Press, 2004. ISBN 0-19-852817-5
•• Term Rewriting Systems, Terese, Cambridge Tracts in Theoretical Computer Science, 2003.
Veja também•• Reescrita de Grafos
•• Teoria das categorias
Isomorfismo de grafosEm teoria dos grafos, um isomorfismo dos grafos G e H é uma bijeção entre os conjuntos de vértices de G e H
de tal forma que quaisquer dois vértices u e v de G são adjacentes em G se e somente se ƒ(u) e ƒ(v) são adjacentes em
H . Este tipo de bijeção é comumente chamado de "bijeção com preservação de arestas", de acordo com a noção geral
de isomorfismo sendo uma bijeção de preservação-de-estrutura.
Na definição acima, os grafos são entendidos como grafos grafos não dirigidos, não-rotulados e não ponderados. No
entanto, a noção de isomorfismo pode ser aplicada a todas as outras variantes da noção de grafo, somando os
requisitos necessários para preservar os elementos adicionais correspondentes da estrutura: as direções do arco, os
pesos das arestas, etc, com a seguinte exceção. Quando se fala em rótulo com rótulos exclusivos, geralmente tirados
do intervalo inteiro 1 ,...,n, onde n é o número dos vértices do grafo, dois grafos rotulados são ditos isomórficos se os
grafos subjacentes correspondentes não rotulados são isomórficos.
Se um isomorfismo existe entre dois grafos, então os grafos são chamados de isomorfos e nós denotamos por. 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.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 35/157
Isomorfismo de grafos 31
ExemploOs dois grafos abaixo são isomorfos, apesar de suas representações diferentes.
Grafo G Grafo H Um
isomorfismo
entre G e H
ƒ(a) = 1
ƒ(b) = 6
ƒ(c) = 8
ƒ(d ) = 3
ƒ(g) = 5
ƒ(h) = 2
ƒ(i) = 4
ƒ( j) = 7
MotivaçãoA noção formal de "isomorfismo", por exemplo, de "isomorfismo gráfico", captura a noção informal de que alguns
objetos têm "a mesma estrutura", se alguém ignora distinções individuais dos componentes de objetos "atômicos" em
questão, consulte o exemplo acima. Sempre que a individualidade dos componentes "atômicos" (vértices e arestas,
para grafos) é importante para a correta representação do que é modelado por grafos, o modelo é refinado pela
imposição de restrições adicionais sobre a estrutura, e outros objetos matemáticos são utilizados: digrafos, grafos
rotulados, grafos coloridos, árvores enraizadas e assim por diante. A relação de isomorfismo pode também ser
definida para todas essas generalizações de grafos: o isomorfismo bijeção deve preservar os elementos da estrutura
que define o tipo de objeto em questão: arcos, rótulos, cores de vértices/arestas, a raiz da árvore de raízes, etc.
A noção de "isomorfismo de grafos" permite-nos distinguir as propriedades de grafos inerentes às estruturas dospróprios grafos das propriedades associadas com as representações do grafo: desenho dos grafos, estruturas de dados
para grafos, rótulos de grafos, etc. Por exemplo, se um grafo tem exatamente um ciclo, em seguida, todos os grafos
da sua classe de isomorfismo também têm exatamente um ciclo. Por outro lado, no caso comum quando os vértices
de um grafo são (representados por) inteiros 1, 2, ... N , então a expressão
pode ser diferente para dois grafos isomorfos.
Reconhecimento de isomorfismo de grafosTeorema de Whitney
A exceção do teorema de Whitney: estes dois grafos
não são isomórficos, mas tem grafos de linha
isomórfica.
O teorema de isomorfismo de grafos de Whitney,[1] demonstrado
por H. Whitney, afirma que dois grafos conexos são isomorfos se e
somente se o seu grafos de linha são isomórficos, com uma única
exceção: K 3, o grafo completo em três vértices, e o grafo bipartido
completo K 1,3
, que não são isomórficos, mas ambos têm K 3
como
seu grafo de linha. O teorema de grafos de Whitney pode ser
estendido para hipergrafos.[2]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 36/157
Isomorfismo de grafos 32
abordagem algorítmica
Enquanto isomorfismos de grafos podem ser estudados de forma clássica da Matemática, como exemplificado pelo
teorema de Whitney, é reconhecido que é um problema a ser enfrentado com uma abordagem algorítmica. O
problema computacional de determinar se dois grafos finitos são isomorfos é chamado o problema do isomorfismo
de grafos.
Suas aplicações práticas incluem principalmente quimioinformática, matemática química (identificação decompostos químicos), e automação de projeto eletrônico (verificação da equivalência das diferentes representações
do desenho de um Circuito eletrônico
Curiosamente, é também um dos poucos problemas em teoria computacional da complexidade pertencente à classe
NP, mas não se sabe se pertence a nenhum de seus conhecidos subconjuntos (e, se P ≠ NP, disjuntos):P e
NP-completo. É um de apenas dois, dos 12 totais, problemas listados em Garey e Johnson (1979) cuja complexidade
está por se resolver.[3] Ou seja, eles não foram provados ser incluídos, nem excluídos, das classes P ou NP-completo.
Sua generalização, o problema do isomorfismo de subgrafos, é sabido ser NP-Completo.
As principais áreas de pesquisa para o problema é o projeto de algoritmos rápidos, tanto para o problema geral
quanto para classes especiais de grafos, e investigações teóricas de sua complexidade computacional.
Referências[1] H. Whitney, "Congruent graphs and the connectivity of graphs", Am. J. Math., 54(1932) pp. 160-168.
[2][2] Dirk L. Vertigan, Geoffrey P. Whittle: A 2-Isomorphism Theorem for Hypergraphs. J. Comb. Theory, Ser. B 71(2): 215-230. 1997.
[3] The latest one resolved was minimum-weight triangulation, proved to be NP-complete in 2008. .
Laço
Um grafo com um laço no vértice 1
Em teoria dos grafos, um laço ou auto-loop (em inglês: loop, self-loopou buckle) é uma aresta que conecta um vértice a ele mesmo. Um
grafo simples, não contém nenhum laço.
Dependendo do contexto, um grafo ou um multigrafo pode ser definido
de forma a permitir ou proibir a presença de laços (muitas vezes em
combinação com a permissão ou proibição do uso de arestas múltiplas
entre os mesmos vértices:
• Onde os grafos são definidos de modo a permitir laços e arestas
múltiplas, um grafo sem laços é muitas vezes chamado de
multigrafo.
[][][]
• Onde os grafos são definidos de modo a não permitir laços e arestas
múltiplas, um multigrafo ou pseudografo é muitas vezes definido
como um grafo que pode ter laços e arestas múltiplas.[][]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 37/157
Laço 33
GrauPara um grafo não direcionado, o grau de um vértice é igual ao número de vértices adjacentes.
Um caso especial é um laço, que acrescenta dois para o grau. Isso pode ser entendido se deixando cada conexão da
contagem de arestas do laço como seu próprio vértice adjacente. Em outras palavras, um vértice com um laço "vê" a
si mesmo como um vértice adjacente de ambas as extremidades da aresta, assim, se soma dois e não um, para o grau.
Para um grafo direcionado, um laço soma um ao grau de entrada e um ao grau de saída
Ligações externas• Grafos - Definições (UFSC) [1]
Referências[1] http:/ / www. inf. ufsc. br/ grafos/ definicoes/ definicao. html
Multigrafo
Multigrafo com laços (azul) e arestas múltiplas
(vermelho)
Multigrafo ou pseudografo é um grafo não dirigido que pode
possuir arestas múltiplas (ou paralelas), ou seja, arestas com
mesmos nós finais. Assim, dois vértices podem estar conectados
por mais de uma aresta. Formalmente, um multigrafo G é um par
ordenado , sendo
• um conjunto de vértices ou nós,
• um multiconjunto de pares não-ordenados de vértices,
chamado arestas ou linhas.Alguns autores também consideram multigrafos aqueles que têm
laços, isto é, uma aresta que conecta um vértice a ele mesmo [1];
outros chamam estes de pseudografos, reservando o termo
multigrafo para os casos em que não há laços[2].
Multigrafos podem ser usados, por exemplo, pra modelar as
possíveis conexões de vôo oferecidas por uma linha aérea. Nesse
caso o pseudografo seria um grafo dirigido com pares de arestas
paralelas dirigidas conectando cidades para mostrar que é possível voar para e a partir destas locações.
Um multidígrafo é um dígrafo (grafo com arestas dirigidas) em que pode-se ter arestas múltiplas. Um multidígrafoé um par ordenado , sendo
• um conjunto de vértices ou nós,
• um multiconjunto de pares ordenados de vértices, chamado arestas dirigidas, arcos ou flechas.
Um multigrafo misto pode ser definido do mesmo jeito que um grafo misto (com arestas que
podem ser dirigidas ou não).
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 38/157
Multigrafo 34
EtiquetasMultigrafos 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 multigrafo com nós etiquetados e arcos. Formalmente é uma
8-tupla , em que:
• é um conjunto de nós e é um multiconjunto de arcos.
• e são alfabetos finitos de nós e etiquetas de arcos disponíveis.
• e são duas funções indicando o nó de origem e o de destino de um arco.
• e são duas funções descrevendo a etiquetagem dos nós e arestas.
Notas
[1][1] Para exemplos, veja. Bollobas, p. 7 and Diestel, p. 25.[2] Graphs, Colourings and the Four-Colour Theorem, by Robert A. Wilson, 2002, ISBN 0198510624, p. 6 (http:/ / books. google. com/
books?id=iq0sSnIxJioC& pg=PA6& dq=pseudograph& lr=& ei=R-jrSKWoCJGgswOv0eiXBw&
sig=ACfU3U20xuoH7jZDq-XGqSnfsmC0oE8KjQ)
Referências• http:/ / www. utm. edu/ departments/ math/ graph/ glossary. html#multigraph
• Diestel, Reinhard; Graph Theory, Springer; 2nd edition (February 18, 2000). ISBN 0-387-98976-5.
Pseudografo
Multigrafo com laços (azul) e arestas múltiplas
(vermelho)
Multigrafo ou pseudografo é um grafo não dirigido que pode
possuir arestas múltiplas (ou paralelas), ou seja, arestas com
mesmos nós finais. Assim, dois vértices podem estar conectados
por mais de uma aresta. Formalmente, um multigrafo G é um par
ordenado , sendo
• um conjunto de vértices ou nós,
• um multiconjunto de pares não-ordenados de vértices,
chamado arestas ou linhas.
Alguns autores também consideram multigrafos aqueles que têm
laços, isto é, uma aresta que conecta um vértice a ele mesmo [1];
outros chamam estes de pseudografos, reservando o termo
multigrafo para os casos em que não há laços[2].
Multigrafos podem ser usados, por exemplo, pra modelar as
possíveis conexões de vôo oferecidas por uma linha aérea. Nesse
caso o pseudografo seria um grafo dirigido com pares de arestas
paralelas dirigidas conectando cidades para mostrar que é possível voar para e a partir destas locações.
Um multidígrafo é um dígrafo (grafo com arestas dirigidas) em que pode-se ter arestas múltiplas. Um multidígrafo
é um par ordenado , sendo
• um conjunto de vértices ou nós,
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 39/157
Pseudografo 35
• um multiconjunto de pares ordenados de vértices, chamado arestas dirigidas, arcos ou flechas.
Um multigrafo misto pode ser definido do mesmo jeito que um grafo misto (com arestas que
podem ser dirigidas ou não).
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 multigrafo com nós etiquetados e arcos. Formalmente é uma
8-tupla , em que:
• é um conjunto de nós e é um multiconjunto de arcos.
• e são alfabetos finitos de nós e etiquetas de arcos disponíveis.
• e são duas funções indicando o nó de origem e o de destino de um arco.
• e são duas funções descrevendo a etiquetagem dos nós e arestas.
Notas[1][1] Para exemplos, veja. Bollobas, p. 7 and Diestel, p. 25.
[2] Graphs, Colourings and the Four-Colour Theorem, by Robert A. Wilson, 2002, ISBN 0198510624, p. 6 (http:/ / books. google. com/
books?id=iq0sSnIxJioC& pg=PA6& dq=pseudograph& lr=& ei=R-jrSKWoCJGgswOv0eiXBw&
sig=ACfU3U20xuoH7jZDq-XGqSnfsmC0oE8KjQ)
Referências
• http:/ / www. utm. edu/ departments/ math/ graph/ glossary. html#multigraph• Diestel, Reinhard; Graph Theory, Springer; 2nd edition (February 18, 2000). ISBN 0-387-98976-5.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 40/157
Quiver 36
Quiver
Um digrafo.
Em matemática, um quiver (ou digrafo) é um grafo direcionado onde laços e
múltiplas setas entre dois vértices são permitidos. Eles são comumente utilizados
em teoria da representação: uma representação, V, de um quiver atribui um espaço
vetorial V(x) para cada vértice x do quiver e um mapa linear V(a) para cada seta a.
Representação de um quiver, consistindo de dois espaços vetoriais (V1, V2) e um morfismo f
Se K é um corpo e Γ é um quiver, então o quiver algébrico ou trilha algébrica K Γ
é definido como se segue. Uma trilha em Q é uma sequência de setas a_1 a_2 a_3
... a_n tal que a cabeça de a_{i+1} = cauda de a_i, usando a convenção de
concatenar trilhas da direita para esquerda. Então, a trilha algébrica é um espaço vetorial que tem todas as trilhas do
quiver como base e a multiplicação dada pela concatenação de trilhas. Se duas trilhas não podem ser concatenadas
porque o vértice final da primeira não é igual ao vértice inicial da segunda, seu produto é definido como zero. Isto
define uma álgebra associativa sobre K . Essa álgebra é unitária se e somente se o quiver possui somente muitos
vértices finitos. Neste caso, os módulos sobre K Γ são naturalmente identificados com as representações de Γ.
Se o quiver possui muitos vértices e setas finitos, e o vértice final e o inicial de qualquer trilha são sempre distintos
(isto é, Q não tem ciclos orientados), então K Γ é um anel hereditário de dimensão finita sobre K .
Representações de quiversUma representação de um quiver, Q, é dita ser trivial se V(x)=0 para todos os vértices x em Q.
Um morfismo, f:V->V', entre representações do quiver Q, é uma coleção de mapas lineares
tal que para cada seta em Q de x para y , isto é, todos os
quadrados que f forma com as setas de V e V' se comutem. Um morfismo, f, é um isomorfismo, se f(x) é invertível
para todos os vértices x no quiver. Com estas definições, as representações dum quiver formam uma categoria.
Se V e W são representações dum quiver Q, então a soma direta destas representações, , é definida por
para todos os vértices x em Q e é a soma direta dos
mapeamentos lineares V(a) e W(a).
Uma representação é dita ser decomponível se ela é isomórfica à soma direta das representações não-zero.
Uma definição categórica duma representação de quiver pode também ser dada. O quiver em si pode ser considerado
uma categoria, onde os vértices são objetos e trilhas são morfismos. Então, uma representação de Q é apenas um
funtor covariante desta categoria para a categoria de espaços vetoriais de dimensões finitas.
Teorema de GabrielUm quiver é dum tipo finito se possui muitas representações finitas não-isomórficas indecomponíveis. O teorema de
Gabriel classifica todas as representações de quiver do tipo finito. Mais precisamente, declara que:
1. Um quiver (conectado) é de um tipo finito se e somente se o seu grafo subjacente (quando as direções das setas
são ignoradas) é um dos seguintes diagramas de Dynkin: , , , , .
2. As representações indecomponíveis estão numa correspondência um-para-um com as raízes positivas do sistema
de raízes do diagrama de Dynkin.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 41/157
Quiver 37
Ligações externas• Quiver Representations [1], Harm Derksen e Jerzy Weyman, AMS Notices
• Notas sobre representações de quivers [2]
• Finite-dimensional algebras and quivers [3], Alistair Savage, "Encyclopedia of Mathematical Physics", eds. J.-P.
Françoise, G.L. Naber e Tsou S.T. Oxford: Elsevier, 2006, volume 2, pp. 313-320
• Digrafo [4] em USP
Referências[1] http:/ / www. ams. org/ notices/ 200502/ fea-weyman. pdf
[2] http:/ / www. amsta. leeds. ac. uk/ ~pmtwc/ quivlecs. pdf
[3] http:/ / www. arxiv. org/ pdf/ math/ 0505082
[4] http:/ / www. icmc. sc. usp. br/ manuals/ sce183/ gfdig. html
Vértice de corte (teoria dos grafos)
Um grafo não-dirigido com n=5
vertices e n-2=3 vértices de corte;
os vértices de corte (em vermelho)
são aqueles que não estão em
ambos as pontas
Em matemática e ciência da computação, um vértice de corte ou ponto de
articulação[1] é um vértice de um grafo tal que a remoção deste vértice provoca
um aumento no número de componentes conectados. Se o grafo era conectado
antes da remoção do vértice, ele será desconectado depois. Qualquer grafo
conectado com um vértice de corte tem uma conectividade de 1.
Embora bem definidos, mesmo para grafos dirigidos (digrafos), os vértices de corte
são utilizados principalmente em grafos não dirigidos. Em geral, um grafo
conectado, não-dirigido, com n vértices não pode ter mais do que n-2 vértices de
corte. Naturalmente, um grafo pode não ter nenhum vértice de corte.
Uma ponte é uma aresta análoga a um vértice de corte, ou seja, a remoção de uma
ponte aumenta o número de componentes conectados do grafo.
Encontrando Vértices de corte
Um algoritmo trivial é como se segue:
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 42/157
Vértice de corte (teoria dos grafos) 38
Um grafo não-dirigido sem
vértices de corte
C = conjunto vazio (no final do algoritmo ele irá conter os vértices de corte)
a = número de componentes em G (encontrado usando uma Busca em profundidade/Busca em largura)
para cada i em V com arestas incidentes
b = número de componentes em G com i removido
se b > a
i é um vértice de corte
C = C + {i}
fimse
fimpara
Um algoritmo com o tempo muito melhor execução [2] é conhecido usando uma Busca em
profundidade.
Algoritmo em C++
#include <algorithm>#include <set>
#include <vector>
#include <cstring>
#define MAX 100
using namespace std;
int n, time_s, visit[MAX];
vector<int> ADJ[MAX];
int dfs(int u, set<int>& ans){
int menor = visit[u] = time_s++;
int filhos = 0;
for(int i = 0; i<ADJ[u].size(); i++){
if(visit[ADJ[u][i]]==0){
filhos++;
int m = dfs(ADJ[u][i], ans);
menor = min(menor,m);
if(visit[u]<=m && (u!=0 || filhos>=2)){
ans.insert(u);
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 43/157
Vértice de corte (teoria dos grafos) 39
}
}else{
menor = min(menor, visit[ADJ[u][i]]);
}
}
return menor;
}
set<int> get_articulacoes(){
set<int> ans;
time_s = 1;
memset(visit, 0, n*sizeof(int));
dfs(0,ans);
return ans;
}
Teste seu código em: http:/ / br. spoj.pl/ problems/ MANUT/
Vértices de corte em árvoresUm vértice v de uma árvore G é um vértice de corte de G somente se o grau do vértice é maior que 1.
[2] Slides apresentando o algoritmo O(n+m) (http:/ / www. eecs. wsu. edu/ ~holder/ courses/ CptS223/ spr08/ slides/ graphapps. pdf)
Ligações externas• Wolfram Mathworld (http:/ / mathworld.wolfram.com/ Cut-Vertex. html) "Cut-Vertex"
• Nirmala, K.; Ramachandra Rao, A. O número de vértices de corte em um grafo regular. (em português), Cah.
Cent. Étud. Rech. Opér. 17, 295-299 (1975).
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 44/157
Vizinhança 40
Vizinhança
Um grafo consistindo de 6 vértices e 7 arestas
Em teoria dos grafos, um vértice adjacente de um vértice v em um
Grafo é um vértice que está ligado a v por uma aresta.[][] A vizinhança
ou adjacência de um vértice v em um grafo G é um subgrafo induzido
de G constituído por todos os vértices adjacentes a v e todas as arestas
ligando esses dois vértices. Por exemplo, a imagem mostra um gráfico
de 6 vértices e 7 arestas. O vértice 5 é adjacente aos vértices 1, 2 e 4,
mas não é adjacente aos vértices 3 e 6. A vizinhança do vértice 5 é o
grafo com três vértices, 1, 2 e 4, e uma aresta conectando os vértices 1
e 2.
A vizinhança é frequentemente denotada N G
(v) ou (quando o grafo não é ambíguo) N (v). A mesma notação de
vizinhança também pode ser usada para se referir a um conjunto de vértices adjacentes ao invés dos subgrafos
induzidos correspondentes. A adjacência descrita acima não inclui v em si, e mais especificamente, a vizinhança
aberta de v; também é possível definir uma adjacência na qual v está incluído, chamada de vizinhança fechada edenotada por N
G[v]. Quando não se afirma nada, a vizinhança é considerada aberta.
Vizinhanças podem ser usadas para representar grafos em algoritmos de computador, através da representações de
lista de adjacência e matriz de adjacência . Vizinhanças também são usadas no coeficiente de agrupamento de um
grafo, que é uma medida da densidade média de suas adjacências. Além disso, muitas classes importantes de grafos
podem ser definidas pelas propriedades de suas vizinhanças, ou por simetrias que relacionam vizinhanças umas com
as outras.
Um vértice isolado não tem vértices adjacentes. O grau de um vértice é igual ao número de vértices adjacentes. 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
vizinhança.
Propriedades locais em grafos
No grafo octaédrico, a vizinhança de qualquer
vértice é um 4-ciclo.
Se todos os vértices em G tem adjacências que são isomorfas para o
mesmo grafo H ,G é dito ser localmente H , e se todos vértices em G
tem adjacências que pertencem a alguma família de grafos F , G é dito
ser localmente F (Hell 1978, Sedlacek, 1983). Por exemplo, no grafo
octaédrico mostrado na figura, cada vértice tem uma adjacência
isomorfa a um grafo cíclico de quatro vértices, de modo que o octaedro
é localmente C
4
.
Por exemplo:
• Qualquer grafo completo K n
é localmente K n-1
. Os únicos grafos
que são localmente completos são uniões disjuntas de grafos
completos.
• Um grafo de Turán T (rs,r ) é localmente T ((r -1)s,r -1). Mais
genericamente qualquer grafo Turan é localmente Turan.
• Todo grafo planar é localmente periplanar. No entanto, nem todos os grafos localmente periplanares são planares.
• Um grafo é livre de triângulos sse é localmente independente.
• Todo grafo k -cromático é localmente (k -1)-cromático. Todo grafo localmente k -cromático tem um númerocromático .[]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 45/157
Vizinhança 41
• Se uma família de grafos F é fechada sob a operação de tomar subgrafos induzidos, então cada grafo em F é
também localmente F . Por exemplo, todos os grafos cordais são localmente cordais; cada grafo perfeito é
localmente perfeito; todos os grafos de comparabilidade são localmente comparáveis.
• Um grafo é localmente cíclico se cada vizinhança é um ciclo. Por exemplo, o octaedro é o único grafo localmente
C 4, o icosaedro é o único grafo localmente C
5e o gráfico Paley de ordem 13 é localmente C
6.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 46/157
42
Árvores
Árvores
Uma árvore com 5 arestas e 6 vértices.
Na teoria dos grafos, uma árvore é um grafo conexo (existe caminho
entre quaisquer dois de seus vértices) e acíclico (não possui
ciclos)[1][2]. Caso o grafo seja acíclico mas não conexo, ele é dito uma
floresta. Uma floresta também é definida como uma união disjunta de
árvores.
Toda árvore é um grafo, mas nem todo grafo é uma árvore. Toda
árvore é um grafo bipartido e planar. Todo grafo conexo possui pelo
menos uma árvore de extensão associada, composta de todos os seus
vértices e algumas de suas arestas.
Propriedades
Seja G um grafo. G é uma árvore se satisfaz as seguintes condições:
• G é conexo e há exatamente um caminho entre dois vértices
quaisquer. Já em uma floresta, há no máximo um caminho entre dois
vértices, devido à não-conectividade.
• G é acíclico, e um simples ciclo é formado se qualquer aresta for adicionada a G.
• G é conexo, e deixará de ser conexo se qualquer aresta for removida de G.
• G é conexo, acíclico e tem n − 1 arestas.
Definições•• Uma árvore é denominada enraizada se um vértice é 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].
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 47/157
Árvore de extensão 43
Árvore de extensão
Exemplo de uma árvore de dispersão (composta pelasarestas azuis)
Uma árvore de extensão ou árvore de dispersão (em inglês:
spanning tree) é o subconjunto de arestas de um grafo que forma
uma árvore contendo todos os vértices.
Uma árvore de extensão mínima ou árvore de extensã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 os nós.
Uma árvore de extensão/dispersão apresenta as seguintes
propriedades:
•• Define um subconjunto de arestas que mantém o grafo
conectado em um único componente;
•• Em um grafo não-valorado qualquer árvore de dispersão é
mínima;•• Podem ser calculadas em tempo polinomial;
Os algoritmos usuais para a determinação de árvores de
extensão/dispersão são o algoritmo de Prim (1957) e o algoritmo de Kruskal (1956).
Referências• Eppstein, David (1999). "Spanning trees and spanners [1]". Handbook of Computational Geometry: 425 – 461,
Elsevier.
• Garey, Michael R.; Johnson, David S.. Computers and Intractability: A Guide to the Theory of NP-Completeness.
[S.l.]: W.H. Freeman, 1979. ISBN 0-7167-1045-5 A2.1: ND2, pg.206.• Wu, Bang Ye; Chao, Kun-Mao. Spanning Trees and Optimization Problems. [S.l.]: CRC Press, 2004. ISBN
1584884363
Referências[1] http:/ / www. ics. uci. edu/ ~eppstein/ pubs/ Epp-TR-96-16. pdf
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 48/157
Árvore de extensão mínima 44
Árvore de extensão mínima
A árvore de extensão mínima de um grafo plano. Cada aresta é identificada como
seu peso, o qual é aproximadamente igual ao seu comprimento.
Dado um grafo não orientado conectado,
uma árvore de extensão deste grafo é um
subgrafo o qual é uma árvore que conecta
todos os vértices. Um único grafo pode ter
diferentes árvores de extensão. Nós
podemos assinalar um peso a cada aresta,
que é um número que representa quão
desfavorável ela é, e atribuir um peso a
árvore de extensão calculado pela soma dos
pesos das arestas que a compõem. Uma
árvore de extensão mínima (também
conhecida como árvore de extensão de
peso mínimo ou árvore geradora mínima)
é então uma árvore de extensão com peso
menor ou igual a cada uma das outras
árvores de extensão possíveis.
Generalizando mais, qualquer grafo não
direcional (não necessariamente conectado)
tem uma floresta de árvores mínimas, que é uma união de árvores de extensão mínimas de cada uma de suas
componentes conexas.
Um exemplo de uso de uma árvore de extensão mínima seria a instalação de fibras óticas num campus de uma
faculdade. Cada trecho de fibra ótica entre os prédios possui um custo associado (isto é, o custo da fibra, somado ao
custo da instalação da fibra, mão de obra, etc). Com esses dados em mãos (os prédios e os custos de cada trecho defibra ótica entre todos os prédios), podemos construir uma árvore de extensão que nos diria um jeito de conectarmos
todos os prédios sem redundância. Uma árvore geradora mínima desse grafo nos daria uma árvore com o menor
custo para fazer essa ligação.
Propriedades
Possível Multiplicidade
Podem existir várias árvores de extensão mínima com o mesmo peso; Em particular, em um grafo não ponderado
(onde todos os pesos são iguais), toda árvore de extensão é mínima.
Unicidade
Se cada aresta tem um peso distinto, então existirá somente uma árvore de extensão mínima distinta. Isso pode ser
provado por indução ou por contradição. Isso é verdade em muitas situações realísticas, como no exemplo do
cabeamento do campus, dado acima. É muito difícil que tenhamos duas possibilidades de cabeamento com
exatamente o mesmo custo. Isso pode ser generalizado para florestas de árvores mínimas.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 49/157
Árvore de extensão mínima 45
Subgrafo de custo mínimo
Se todos os pesos são não-negativos, então uma árvore de extensão mínima é o subgrafo de custo mínimo
conectando todos os vértices, já que qualquer subgrafo contendo cíclos vai possuir um peso total maior.
Propriedade dos ciclos
Para qualquer ciclo C no grafo, se o peso de uma aresta e de C é maior do que os pesos das outras arestas de C ,
então essa aresta não pode pertencer a uma árvore de extensão mínima.
Propriedade do corte
Para qualquer corte C no grafo, se o peso de uma aresta e de C é menor do que os pesos de outras arestas C , então
essa aresta pertence a todas as árvores de extensão mínima possíveis do grafo.
AlgoritmosO primeiro algoritmo a encontrar uma arvore de extensão mínima foi desenvolvido pelo cientista checo Otakar
Borůvka em 1926 (veja algoritmo de Boruvka). Seu propósito era fornecer uma cobertura elétrica eficiente na árearural da cidade de Morávia do Sul. Existem hoje dois algoritmos comummente usados, o algoritmo de Prim e o
algoritmo de Kruskal. Todos são algoritmos gulosos que rodam em tempo polinomial, então o problema de encontrar
tais árvores pertence a classe de complexidade P.
O mais rápido algoritmo de árvore mínima de extensão foi desenvolvido por Bernard Chazelle, e foi baseado no
algoritmo de Borůvka. Ele roda em um tempo de O(m α(m,n)), onde m é o número de arestas, n refere-se ao número
de vértices e α é a clássica função inversa da função de Ackermann. A função α cresce de forma extremamente lenta,
então para todos os propósitos práticos ele pode ser considerado uma constante não maior que quatro; portanto o
algoritmo de Chazelle chega muito perto de um tempo O(m).
Qual é o algoritmo mais rápido possível para este problema? Isto é um dos mais antigos problemas em aberto na
ciência da computação. Há claramente um limite linear inferior, já que é necessário examinar todas as arestas ao
menos uma vez.
Ligações externas• Comparação de algoritmos para o problema da árvore de extensão mínima [1] - Explicação detalhada de cinco
algoritmos diferentes para o problema da árvore de extensão mínima, código completo de cada um deles e
comparação de performance entre eles.
Referências[1] http:/ / danielamaral. wikidot. com/ paa-2007-1-projeto-1-arvore-geradora-minima
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 50/157
46
Representação de Grafos
Matriz de adjacênciaUma matriz de adjacência é uma das formas de se representar um grafo.
Dado um grafo G com n vértices, podemos representá-lo em uma matriz n x n A(G)=[aij] (ou simplesmente A). A
definição precisa das entradas da matriz varia de acordo com as propriedades do grafo que se deseja representar,
porém de forma geral o valor aij
guarda informações sobre como os vértices vi
e v j
estão relacionados (isto é,
informações sobre a adjacência de vie v
j).
Para representar um grafo não direcionado, simples e sem pesos nas arestas, basta que as entradas aij
da matriz A
contenham 1 se vi
e v j
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 vie v
j, o peso dessa mesma aresta.
Por exemplo, a matriz de adjacência do grafo ao lado é
Em grafos não direcionados, as matrizes de adjacência são simétricas ao longo da diagonal principal - isto é, a
entrada aij
é igual à entrada a ji
. Matrizes de adjacência de grafos direcionados, no entanto, não são assim. Num
digrafo sem pesos, a entrada aij
da matriz é 1 se há um arco de vipara v
je 0 caso contrário.
Um resultado interessante ocorre quando consideramos a potência k da matriz de adjacência, ou seja, o produto
Antes de apresentar o resultado, vamos definir um percurso 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 ≤ 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 percurso,
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 51/157
Matriz de adjacência 47
enquanto v1 , v
2 , ..., v
k-1sã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 conjunto de vértices dado por V(G) = {v1 , v
2 , ..., v
n}, 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 v j.Pode-se mostrar esse resultado por indução. Quando k = 1, o resultado segue de modo natural da definição de matriz
de adjacência, uma vez que existe um percurso de comprimento 1 entre o vértice vie o vértice v
jse e só se {v
i , v
j} é
uma aresta de G. Seja
e assuma que aij (k-1) é o número de percursos distintos de comprimento k - 1 entre os vértices v
ie v
jem G.
Considerando
e como Ak = A
k-1 . A, temos que
Observe que, na expressão acima, o elemento aij (k) é obtido multiplicando-se os elementos da linha i de A
k-1 pelos
respectivos elementos da coluna j de A e, em seguida, efetuando-se a soma dos produtos obtidos.
Todo percurso entre vie v
jde comprimento k em G consiste de um percurso entre v
ie v
pde comprimento k - 1, onde
v p
é adjacente a v j, seguido da aresta {v
p , v
j} e do vértice v
j. O resultado decorre da hipótese de indução e da última
equação.
O resultado permanece válido para digrafos, fazendo-se as devidas adequações: trocando arestas por arcos e
percursos 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:
.
O elemento (4,6) de A2 indica que não há nenhum caminho de comprimento 2 ligando os vértices 4 e 6 do grafo
acima. Por outro lado, o elemento (4,6) de A3 indica que existem 3 caminhos de comprimento 3 ligando os vértices 4e 6. São eles: (4,3,4,6), (4,5,4,5) e (4,6,4,6).
Bibliografia• CHARTRAND, G., LESNIAK, L. Graphs & Digraphs. Editora CRC Press, 2004.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 52/157
Matriz de incidência 48
Matriz de incidênciaUma matriz de incidência representa computacionalmente um grafo através de uma matriz bidimensional, onde
uma das dimensões são vértices e a outra dimensão são arestas.
Dado um grafo G com n vértices e m arestas, podemos representá-lo em uma matriz n x m M. A definição precisa
das entradas da matriz varia de acordo com as propriedades do grafo que se deseja representar, porém de forma geral
guarda informações sobre como os vértices se relacionam com cada aresta (isto é, informações sobre a incidência de
um vértice em uma aresta).
Para representar um grafo sem pesos nas arestas e não direcionado, basta que as entradas da matriz M contenham 1
se o vértice incide na aresta, 2 caso seja um laço (incide duas vezes) e 0 caso o vertice não incida na aresta.
Por exemplo, a matriz de incidência do grafo ao lado é
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 53/157
Lista de adjacência 49
Lista de adjacência
Um grafo não dirigido com 6 vértices e 7 arestas.
Em teoria dos grafos, uma lista de adjacência, estrutura de
adjacência[1] ou dicionário[2] é a representação de todas arestas ou
arcos de um grafo em uma lista.
Se o grafo é não direcionado, cada entrada é um conjunto (ou
multiconjunto) de dois nós contendo as duas extremidades da aresta
correspondente; se ele for dirigido, cada entrada é uma tupla de dois
nós, um indicando o nó de origem e o outro denotando o nó destino do
arco correspondente.
Normalmente, as listas de adjacência são desordenadas.
Aplicação em ciência da computação
O grafo da figura acima tem essa representação de lista de adjacência:
1 adjacente a 2,5
2 adjacente a 1,3,5
3 adjacente a 2,4
4 adjacente a 3,5,6
5 adjacente a 1,2,4
6 adjacente a 4
Lista de adjacências do grafo acima como encontrada em Cormen el al..
Em ciência da computação, uma listade adjacência é uma estrutura de dados
para representar grafos. Em uma
representação de lista de adjacência,
podemos manter, para cada vértice do
grafo, uma lista de todos os outros
vértices com os quais ele tem uma
aresta (a "lista de adjacência", deste
vértice). Por exemplo, a representação
sugerida por van Rossum[3], em que
uma tabela de dispersão (tabela hash)é usada para associar cada vértice com
um array de vértices adjacentes, pode
ser vista como um exemplo deste tipo
de representação. Outro exemplo é a
representação encontrada em Cormen
et al. em que um array indexado pelos números dos vértices aponta para uma lista simplesmente encadeada dos
vizinhos de cada vértice[4].
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 54/157
Lista de adjacência 50
Lista de adjacências do grafo acima como sugerida por van Rossum.
Uma dificuldade com a estrutura da
lista de adjacência é que ela não tem
lugar óbvio para armazenar dados
associados com as arestas de um grafo,
tais como o comprimento ou custos das
arestas. Para remediar isso, algunstextos, como o de Goodrich e
Tamassia[5][6], defendem uma variante
mais orientada a objeto da estrutura da
lista de adjacência, às vezes chamada
de lista de incidência, que armazena
para cada vértice uma lista de objetos
que representam as arestas incidentes a
esse vértice. Para completar a
estrutura, cada aresta deve apontar de
volta para os dois vértices quecompõem a sua extremidade. Os
objetos extras nesta versão da lista de
adjacência aumentam o uso de
memória em relação à versão em que
vértices adjacentes são listados
diretamente, mas estas arestas extras também são um local conveniente para armazenar informações adicionais sobre
cada aresta (por exemplo, o seu comprimento).
Ainda uma outra forma de representação é a lista de adjacência com arrays em que um array indexado pelos
números dos vértices aponta para arrays contendo os vértices
[7]
.
Conflitos de escolhaA principal alternativa para a lista de adjacência é a matriz de adjacência. Para um grafo com uma matriz de
adjacência esparsa uma representação de lista de adjacências do grafo ocupa menos espaço, porque ele não usa
nenhum espaço para representar as arestas que não estão presentes[8]. Usando uma implementação de listas de
adjacência com um simples array em um computador de 32 bits, uma lista de adjacência de um grafo não
direcionado requer cerca de 8e bytes de armazenamento, onde e é o número de arestas: cada aresta dá origem a
entradas nas duas listas de adjacência e usa quatro bytes cada uma.
Por outro lado, pelo fato de que cada entrada em uma matriz de adjacências requer apenas um bit, elas podem ser
representados de uma forma muito compacta, ocupando apenas n2 /8 bytes de espaço contíguo, onde n é o número 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 arestas (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 é verdadeiro
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 matriz de adjacência. No entanto, esta análise só é válida quando a
representação é usada para armazenar a estrutura de conectividade do grafo, sem qualquer informação numérica
sobre suas arestas.
Além do conflito de escolha relativo ao espaço, as estruturas de dados diferentes também facilitam operações
diferentes. É fácil encontrar todos os vértices adjacentes a um vértice dada em uma representação lista de adjacência;você simplesmente le a sua lista de adjacência. Com uma matriz de adjacência em vez disso se tem que pesquisar
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 55/157
Lista de adjacência 51
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.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 56/157
52
Automorfismo de grafos
Automorfismo de grafosNo campo da matemática da teoria dos grafos, um automorfismo de um grafo é uma forma de simetria em que o
grafo é mapeado em si, preservando a conectividade vértice-aresta. Formalmente, um automorfismo de um grafo
G = (V , E ) é uma permutação σ do conjunto de vértices V , tal que para qualquer aresta e = (u,v), σ(e) = (σ(u),σ(v)) é
também uma aresta. Ou seja, ele é um isomorfismo de grafos de G para ele mesmo.[1] Automorfismos podem ser
definidos dessa maneira, tanto para grafos direcionados quando para grafos não-direcionados.
A composição de dois automorfismos é outro automorfismo, e o conjunto de automorfismos de um grafo dado, sob a
operação de composição, forma uma grupo, o grupo de automorfismo do grafo. No sentido inverso, pelo teorema de
Frucht, todos os grupos pode ser representados como o grupo de automorfismo de um grafo conexo. - Na verdade, de
um grafo cúbico.[2][3]
Complexidade computacionalConstruir o grupo de automorfismo é pelo menos tão difícil (em termos de complexidade computacional) quanto
resolver o problema do isomorfismo de grafos, para determinar se dois grafos dados correspondem vértice com
vértice e aresta com aresta. Pois, G e H são isomorfos se e somente se o grafo desconectado formado pelo união
disjunta de grafos G e H tem um automorfismo que troca os dois componentes.[4]
Este desenho do grafo de Petersen mostra um
subgrupo de suas simetrias, isomorfo ao grupodiedro D
5, mas o grafo tem simetrias adicionais
que não estão presentes no desenho(uma vez que
o grafo é simétrico, todas as ligações são
equivalentes, por exemplo).
O problema do automorfismo de grafos é o problema de testar se um
grafo tem um automorfismo não trivial. Ele pertence à classe NP de
problemas de complexidade computacional. De forma semelhante aoproblema do isomorfismo de grafos, não se sabe se ele tem um
algoritmo que o resolva em tempo polinomial ou se é NP-completo.
Sabe-se que o problema do automorfismo de grafos é redutível
muitos-para-um em tempo polinomial para o problema do isomorfismo
de grafos, mas a redução inversa é desconhecida.[5] [6]
Exibindo a Simetria
Vários pesquisadores de desenho de grafos têm investigado algoritmos
para desenhar grafos de tal forma que o automorfismo do grafo setorne visível como simetrias do desenho. Isso pode ser feito usando um
método que não é projetado em torno de simetrias, mas que gera
automaticamente os desenhos simétricos, quando possível,[7] ou
explicitamente identificand as simetrias e usando-as para orientar a
colocação de vértice no desenho.[8] Nem sempre é possível mostrar
todas as simetrias do grafo, simultaneamente, de modo que talvez seja necessário escolher quais simetrias mostrar e
quais deixar sem visualização.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 57/157
Automorfismo de grafos 53
Famílias de grafos definidas pelos seus automorfismosVárias famílias de grafos são definidas por terem certos tipos de automorfismos:
• Um Grafo assimétrico é um grafo não direcionado, sem qualquer automorfismo não trivial.
• Um Grafo vértice-transitivo é um grafo não direcionado em que cada vértice pode ser mapeado por um
automorfismo em qualquer outro vértice.
• Um Grafo aresta-transitivo é um grafo não direcionado em que cada aresta pode ser mapeada por umautomorfismo em qualquer outra aresta.
• Um Grafo simétrico é um grafo tal que cada par de vértices adjacentes podem ser mapeados por um automorfismo
em qualquer outro par de vértices adjacentes.
• Um Grafo distância-transitivo é um grafo tal que cada par de vértices pode ser mapeada por um automorfismo em
qualquer outro par de vértices que estão à mesma distância.
• Um Grafo semi-simétrico é um grafo que é aresta-transitivo, mas não vértice-transitivo.
• Um Grafo meio-transitivo é um grafo que é vértice-transitivo e aresta-transitivo mas não simétrico.
• Um Grafo anti-simétrico é um grafo dirigido, juntamente com uma permutação σ sobre os vértices que mapeia as
arestas para arestas, mas inverte o sentido de cada aresta. Adicionalmente, σ necessita ser uma involução.
Relações de inclusão entre estas famílias estão indicadas no quadro seguinte:
distância-transitivo distância-regular fortemente regular
simétrico(arco-transitivo) t -transitivo, t ≥ 2
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 58/157
Automorfismo de grafos 54
(se conectado)
transitivo nos vértices e nas
arestas
aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
Grafo de Cayley
[2][2] .
[4][4] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 59/157
Automorfismo de grafos 55
[7][7] ; .
[8][8] .
Grafo regular
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
Em Teoria dos grafos, um grafo regular é um grafo onde cada vértice tem o mesmo número de adjacências, i.e. cada
vértice tem o mesmo grau ou valência. Um grafo direcionado regular também deve satisfazer a condição mais forte
de que o grau de entrada e o grau de saída de cada vértice sejam iguais uns aos outros.[] Um grafo regular com
vértices de grau k é chamado um grafo k‑regular ou grafo regular de grau k.
Grafos regulares de grau no máximo 2 são fáceis de classificar: Um grafo 0-regular é composto por vértices
desconectados, um grafo 1-regular consiste de arestas desconectadas, e um grafo 2-regular consiste de ciclos
desconectados.Um grafo 3-regular é conhecido como um grafo cúbico.
Um grafo fortemente regular é um grafo regular, onde cada par de vértices adjacentes tem o mesmo número l de
vizinhos em comum, e cada par de vértices não-adjacentes tem o mesmo número n de vizinhos em comum. Os
menores grafos que são regulares, mas não fortemente regulares são os grafos ciclos e os grafos circulantes em 6
vértices.
O grafo completo é fortemente regular para qualquer .
Um teorema de Nash-Williams diz que cada k‑grafo regular em 2k + 1 vértices tem um ciclo hamiltoniano.
grafo 0-regular grafo 1-regular grafo 2-regular grafo 3-regular
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 60/157
Grafo regular 56
Propriedades algébricas
Seja A a matriz de adjacência de um grafo. Então, o grafo é regular se e somente se é um autovetor
de A..[1] Seu autovalor será o grau constante do grafo. Autovetores correspondentes a outros autovalores são
ortogonais a , assim como para tais autovetores , nós temos .
Um grafo regular de grau k é conectado se e somente se o autovalor k tem uma multiplicidade 1.[1]
[1][1] Cvetković, D. M.; Doob, M.; and Sachs, H. Spectra of Graphs: Theory and Applications, 3rd rev. enl. ed. New York: Wiley, 1998.
Ligações externas• GenReg (http:/ / www. mathe2.uni-bayreuth.de/ markus/ reggraphs. html) software e dados por Markus
Meringer.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 61/157
Grafo fortemente regular 57
Grafo fortemente regular
O Grafo Paley de ordem 13, um grafo fortemente regular com
parâmetros gfr(13,6,2,3).
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
Na teoria dos grafos, uma disciplina dentro da matemática, um grafo fortemente regular é definido como se segue.
Seja G = (V , E ) um grafo regular com v vértices e grau k . G é dito ser fortemente regular se houver também inteiros
λ e μ tais que:
• Cada dois vértices adjacentes tem λ vizinhos em comum.
• Cada dois vértices não-adjacentes tem μ vizinhos em comum.
Um grafo deste tipo é dito às vezes ser um gfr(v,k ,λ,μ).
Alguns autores excluem grafos que satisfazem a definição trivial, ou seja, os grafos que são a união disjunta de um
ou mais grafos completos de tamanho igual, e os seus complementares, os grafos de Turan.
Um grafo fortemente regular é um grafo distância-regular com diâmetro 2, mas somente se μ não é zero.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 62/157
Grafo fortemente regular 58
Propriedades• Os quatro parãmetros em um grs(v,k ,λ,μ) não são independentes, como é fácil mostrar que:
• Seja I denotando a matriz identidade (de ordem v) e faça-se J denotar a matriz cujas entradas são todas iguais a 1.
A matriz de adjacência A de um grafo fortemente regular satisfaz as seguintes propriedades:
•
(Esta é uma reafirmação trivial da exigência para os graus de vértices).
•
(O primeiro termo indica o número de caminhos de 2-passos de cada vértice para todos os vértices. Para os
pares de vértices diretamente ligados por uma aresta, a equação reduz-se o número de tais caminhos em 2
passos sendo igual a . Para os pares de vértices não directamente ligados por uma aresta, a equação reduz-se
ao número de tais caminhos em 2 passos sendo igual a . Para os auto-pares triviais, a equação reduz-se para
o grau igual a k ).• O grafo tem exatamente três autovalores:
• cuja multiplicidade é 1
• cuja multiplicidade é
• cuja multiplicidade é
• Grafos fortemente regulares para os quais são chamados grafos de conferênciadevido a sua conexão com matrizes de conferência simétricas. Seus parâmetros se reduzem a
.
• Grafos fortemente regulares para os quais tem autovalores inteiros com
multiplicidades desiguais.• O complemento de um gfr(v,k ,λ,μ) também é fortemente regular. É um gfr(v, v− k −1, v−2−2k +μ, v−2k +λ)
Exemplos• O grafo de Shrikhande é um gfr(16,6,2,2) que não é um grafo distância-transitivo.
• O ciclo de comprimento 5 é um gfr(5,2,0,1).• O grafo de Petersen é um gfr(10,3,0,1).
• Os grafos de Chang são gfr(28,12,6,4).
• O grafo de Hoffman – Singleton é um gfr(50,7,0,1).
• O grafo de Higman – Sims é um gfr(100,22,0,4).
• Os grafos de Paley de ordem q são gfr(q, (q − 1)/2, (q − 5)/4, (q − 1)/4.
• O grafo de rook quadrado n × n é um gfr(n2, 2n − 2, n − 2, 2).
• O grafo de Brouwer – Haemers é um gfr(81,20,1,6).
• O grafo de Schläfli é um gfr(27,16,10,8).
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 63/157
Grafo fortemente regular 59
Bibliografia• A.E. Brouwer, A.M. Cohen, and A. Neumaier (1989), Distance Regular Graphs. Berlin, New York:
Springer-Verlag. ISBN 3-540-50619-5, ISBN 0-387-50619-5
• Chris Godsil and Gordon Royle (2004), Algebraic Graph Theory. New York: Springer-Verlag. ISBN
0-387-95241-1
Ligações externas• Eric W. Weisstein, Mathworld artigo com numerosos exemplos. [1]
• Gordon Royle, Lista dos maiores grafos e famílias. [2]
• Andries E. Brouwer, Parametros de grafos fortemente regulares. [3]
Referências[1] http:/ / mathworld. wolfram. com/ StronglyRegularGraph. html
[2] http:/ / people.csse.uwa. edu. au/ gordon/ remote/ srgs/
[3] http:/
/
www.
win.tue.
nl/
~aeb/
graphs/
srg/
srgtab.
html
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 64/157
Grafo distância-regular 60
Grafo distância-regular
O grafo de Shrikhande, um grafo
distância-regular.
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo distância-regular é um grafo regular tal que para quaisquer
dois vértices v e w a uma distância i o número de vértices adjacentes a w e à distância j a partir de v é o mesmo. Todo
grafo distância-transitivo é distância regular. Com efeito, grafos distância-regular foram introduzidos como uma
generalização combinatória de grafos distância-transitivos, tendo as propriedades de regularidade numérica do
último, sem ter necessariamente um grande grupo de automorfismo.
Alternativamente, um grafo distância-regular é um grafo para o qual existem inteiros bi,ci,i=0,...,d tais que paraquaisquer dois vértices x, y em G e distância i=d(x,y), há exatamente c
ivizinhos de y em G
i-1(x) e b
ivizinhos de y
em Gi+1
(x), onde Gi(x) é o conjunto de vértices y de G com d(x,y)=i (Brouwer et al. 1989, p. 434). [1] O array de
inteiros caracterizando um grafo distância regular é conhecido como o seu array de interseção.
Um grafo distância-regular com diâmetro 2 é fortemente regular, e reciprocamente (a menos que o grafo seja
desconexo).
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 65/157
Grafo distância-regular 61
Números IntersecçãoÉ usual utilizar a seguinte notação para um grafo distância-regular G. O número de vértices é n. O número de
vizinhos de w (Isto é, os vértices adjacentes a w) cuja distância de v é i, i + 1, e i − 1 é denotada por ai, b
i, e c
i,
respectivamente; estes são os números de intersecção de G. Obviamente, a0
= 0, c0
= 0, e b0
é igual a k , o grau de
qualquer vértice. Se G tem um diâmetro finito, então d denota o diâmetro enós temos bd
= 0. Também temos que
ai+bi+ci= k
Os numeros ai, b
i, e c
isão frequentemente mostrados em um array de três linhas.
chamado o array de intersecção de G. Eles podem ser formados também por uma matriz tridiagonal
chamada de matriz de intersecção.
Matrizes de adjacência distânciaSuponha que G é um grafo distância-regular conexo. Para cada distância i = 1, ..., d , podemos formar um grafo G
ino
qual os vértices são adjacentes se sua distância em G é igual a i. Façamos Aiser a matriz de adjacência de G
i. Por
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
A0, A1, ..., Ad , chamadas as matrizes de distância de G. A soma é a matriz J em que cada entrada é 1. Há umafórmula de produto importante:
A partir desta fórmula resulta que cada Aié uma função polinomial de A, de grau i, e que A satisfaz um polinômio de
grau d + 1. Além disso, A tem exatamente d + 1 autovalores distintos, dos quais o maior é k , o grau.
As matrizes de distância abrangem um subespaço vetorial do espaço vetorial de todas n × n matrizes reais. É um fato
notável que o produto Ai A
jde quaisquer duas matrizes de distância é uma combinação linear das matrizes de
distância:
Isto significa que as matrizes de distância geram um esquema de associação. A teoria dos esquemas de associação é
fundamental para o estudo dos gráficos de distância regular. Por exemplo, o fato de que Aié uma função polinomial
de A é um fato sobre os esquemas de associação.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 66/157
Grafo distância-regular 62
Exemplos• Grafos completos são distância regular com diâmetro 1 e grau v−1.
• Ciclos C 2d +1
de comprimento ímpar são distância regular com k = 2 e diâmetro d . Os números de intersecção ai=
0, bi= 1, e c
i= 1, exceto para os casos usuais especiais (ver acima) e c
d = 2.
• Todos os grafos de Moore, em particular o grafo de Petersen e o grafo de Hoffman – Singleton, são distância
regulares.• grafos fortemente regulares são distância regular.
• Grafos ímpares são distância regular.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 67/157
Grafo distância-transitivo 63
Grafo distância-transitivo
O grafo de Biggs-Smith, o maior grafo
distância-transitivo 3-regular.
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo distância-transitivo é um grafo tal que, dados dois vértices
quaisquer v e w em qualquer distância i, e quaisquer 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 simétrico bem como distância-regular.
Um grafo distância-transitivo é interessante, em parte, porque tem um grande grupo de automorfismo. Alguns
exemplos interessantes de grupos finitos são os grupos de automorfismos de grafos distância-transitivos,
especialmente daqueles cujo diâmetro é de 2.
Grafos distância-transitivos foram definidos primeiramente em 1971 por Norman L. Biggs e D. H. Smith, que
mostraram que existem apenas 12 grafos distância-transitivos trivalentes finitos. São eles:
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 68/157
Grafo distância-transitivo 64
Nome do grafo Contagem de vértices Diâmetro Cintura array de interseção
grafo completo K4
4 1 3 {3;1}
grafo bipartido completo K3,3
6 2 4 {3,2;1,3}
grafo de Petersen 10 2 5 {3,2;1,1}
grafo do cubo 8 3 4 {3,2,1;1,2,3}
grafo de Heawood 14 3 6 {3,2,2;1,1,3}
grafo de Pappus 18 4 6 {3,2,2,1;1,1,2,3}
grafo de Coxeter 28 4 7 {3,2,2,1;1,1,1,2}
grafo de Tutte – Coxeter 30 4 8 {3,2,2,2;1,1,1,3}
grafo do dodecaedro 20 5 5 {3,2,1,1,1;1,1,1,2,3}
grafo de Desargues 20 5 6 {3,2,2,1,1;1,1,2,2,3}
grafo de Biggs-Smith 102 7 9 {3,2,2,2,1,1,1;1,1,1,1,1,1,3}
grafo de Foster 90 8 10 {3,2,2,2,2,1,1,1;1,1,1,1,2,2,2,3}
Independente em 1969, um grupo de russos liderados por Georgy Adelson-Velsky mostrou que existem grafos que
são distância-regulares, mas não distância-transitivos. O único grafo deste tipo com um grau três é o Tutte 12-gaiola
de 126 vértices. O menor grafo distância-regular que não é a distância-transitivo é o grafo de Shrikhande. Listas
completas de grafos distância-transitivos são conhecidas para alguns graus maiores do que três, mas a classificação
de grafos distância-transitivos com graus de vértice arbitrariamente grandes continua em aberto.
A mais simples família de exemplos assintótica de grafos distância-transitivos são os grafos Hipercubo. Outras
famílias são os grafos cubo dobrado e os grafos torre quadrados. Todas essas três famílias têm arbitrariamente um
grau elevado.
Primeiros trabalhos• Adel'son-Vel'skii, G. M.; Veĭsfeĭler, B. Ju.; Leman, A. A.; Faradžev, I. A. (1969), "An example of a graph which
has no transitive group of automorphisms", Doklady Akademii Nauk SSSR 185: 975 – 976, MR 0244107 (http:/ /
www. ams. org/ mathscinet-getitem?mr=0244107).
• Biggs, Norman (1971), "Intersection matrices for linear graphs", Combinatorial Mathematics and its Applications
(Proc. Conf., Oxford, 1969), London: Academic Press, pp. 15 – 23, MR 0285421 (http:/ / www. ams. org/
mathscinet-getitem?mr=0285421).
• Biggs, Norman (1971), Finite Groups of Automorphisms, London Mathematical Society Lecture Note Series, 6,
London & New York: Cambridge University Press, MR 0327563 (http:/ / www. ams. org/
mathscinet-getitem?mr=0327563).
• Biggs, N. L.; Smith, D. H. (1971), "On trivalent graphs", Bulletin of the London Mathematical Society 3:
155 – 158, doi: 10.1112/blms/3.2.155 (http:/ / dx. doi. org/ 10. 1112/ blms/ 3.2. 155), MR 0286693 (http:/ / www.
ams. org/ mathscinet-getitem?mr=0286693).
• Smith, D. H. (1971), "Primitive and imprimitive graphs", The Quarterly Journal of Mathematics, Oxford, Second
Series 22: 551 – 557, doi: 10.1093/qmath/22.4.551 (http:/ / dx. doi. org/ 10. 1093/ qmath/ 22. 4. 551), MR 0327584
(http:/ / www.ams. org/ mathscinet-getitem?mr=0327584).
Pesquisas
• Biggs, N. L. (1993), "Distance-Transitive Graphs", Algebraic Graph Theory (2nd ed.), Cambridge University
Press, pp. 155 – 163, chapter 20.
• Van Bon, John (2007), "Finite primitive distance-transitive graphs", European Journal of Combinatorics 28 (2):
517 – 532, doi: 10.1016/j.ejc.2005.04.014 (http:/ / dx. doi. org/ 10. 1016/ j. ejc. 2005. 04.014), MR 2287450 (http:/
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 69/157
Grafo distância-transitivo 65
/ www. ams. org/ mathscinet-getitem?mr=2287450).
• Brouwer, A. E.; Cohen, A. M.; Neumaier, A. (1989), "Distance-Transitive Graphs", Distance-Regular Graphs,
New York: Springer-Verlag, pp. 214 – 234, chapter 7.
• Cohen, A. M. Cohen (2004), "Distance-transitive graphs", in Beineke, L. W.; Wilson, R. J., Topics in Algebraic
Graph Theory, Encyclopedia of Mathematics and its Applications, 102, Cambridge University Press,
pp. 222 – 249.• Godsil, C.; Royle, G. (2001), "Distance-Transitive Graphs", Algebraic Graph Theory, New York:
Springer-Verlag, pp. 66 – 69, section 4.5.
• Ivanov, A. A. (1992), "Distance-transitive graphs and their classification", in Faradžev, I. A.; Ivanov, A. A.; Klin,
M. et al., The Algebraic Theory of Combinatorial Objects, Math. Appl. (Soviet Series), 84, Dordrecht: Kluwer,
pp. 283 – 378, MR 1321634 (http:/ / www. ams. org/ mathscinet-getitem?mr=1321634).
Grafo simétrico
O grafo de Petersen é um grafo (cúbico) simétrico.
Qualquer par de vértices ligados pode ser mapeado
para outro por um automorfismo, uma vez que
qualquer anel de cinco vértices pode ser mapeado para
qualquer outro.
Famílias de grafos definidos por seus automorfismos
distância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 70/157
Grafo simétrico 66
No campo da matemática da teoria dos grafos, um grafo G é simétrico (ou arco-transitivo) se, dados quaisquer dois
pares de vértices ligados u1 —v
1e u
2 —v
2de G , há um automorfismo
f : V (G) → V (G)
tal que
f (u1) = u
2and f (v
1) = v
2.[]
Em outras palavras, um grafo é simétrico se seu grupo de automorfismo age transitivamente em pares ordenados de
vértices ligados (isto é, sobre as arestas consideradas como tendo um sentido).[] Tal grafo é chamado às vezes
também 1-arco-transitivo[] ou flag-transitivo.[]
Por definição (ignorando u1
e u2), um grafo simétrico sem vértices isolados deve também ser vértice-transitivo.[]
Como a definição acima mapeia uma aresta a outra, um grafo simétrico também deve ser aresta-transitivo. Contudo,
um grafo aresta-transitivo não precisa ser simétrico, uma vez que a —b pode mapear a c —d , mas não a d —c. Grafos
simétricos, por exemplo, aão aresta-transitivos e regulares, mas não vértice-transitivos.
Todo grafo simétrico conexo deve, portanto, ser tanto vértice-transitivo quanto aresta-transitivo, e o inverso é
verdadeiro para grafos de grau ímpar.[] No entanto, para graus pares, existem grafos conectados que são
vértice-transitivos e aresta-transitivos, mas não simétricos.[1]
Tais grafos são denominados meio-transitivos.[]
Omenor grafo conexo meio-transitiva é o grafo de Holt, com grau 4 e 27 vértices. [][2] De forma confusa, alguns
autores usam o termo "grafo simétrico" para significar um grafo que é vértice-transitivo e aresta-transitivo, ao invés
de um grafo arco-transitivo. Tal definição inclui grafos meio-transitivos, que são excluídos pela definição acima.
Um grafo distância-transitivo é aquele em que em vez de considerar pares de vértices ligados (i.e. vértices a uma
distância de um), a definição abrange dois pares de vértices, cada um à mesma distância. Tais grafos são
automaticamente simétricos, por definição.[]
Um t -arco é definido como uma sequência de t +1 vértices ligados, com quaisquer vértices repetidos estando a mais
de 2 passos distante. Um grafo t-transitivo é um grafo tal que o grupo de automorfismo atua transitivamente nos
t -arcos, mas não nos (t +1)-arcos. Uma vez que os 1-arcos são simplesmente arestas, qualquer grafo 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 disso classificar grafos
simétricos. O cubo é 2-transitivo, por exemplo.[]
ExemplosCombinando a condição de simetria com a restrição de que os grafos sejam cúbicos (ou seja, todos os vértices tem
grau 3) resulta abolutamente uma forte condição, e tais grafos são raros o bastante para serem citados. O censo de
Foster e suas extensões fornecem tais listas.[3] O censo de Foster foi iniciado na década de 1930 por Ronald M.
Foster enquanto ele era um contratado pela Bell Labs,[4] e em 1988 (quando Foster estava com 92 anos de idade[]) o
então censo de Foster corrente (listando todos os grafos cúbicos simétricos até 512 vértices) foi publicado em forma
de livro.[5]
[2][2] .
[3] Marston Conder, Trivalent symmetric graphs on up to 768 vertices (http:/ / www. math. auckland. ac. nz/ ~conder/ preprints/ cubic768. ps) , J.
Combin. Math. Combin. Comput, vol. 20, pp. 41 – 63
[4] Foster, R. M. "Geometrical Circuits of Electrical Networks." Transactions of the American Institute of Electrical Engineers 51, 309 – 317,
1932.
[5][5] "The Foster Census: R.M. Foster's Census of Connected Symmetric Trivalent Graphs", by Ronald M. Foster, I.Z. Bouwer, W.W. Chernoff, B.
Monson and Z. Star (1988) ISBN 0919611192
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 71/157
Grafo simétrico 67
Ligações externas• grafos cúbicos simétricos (The Foster Census) (http:/ / people. csse. uwa. edu.au/ gordon/ remote/ foster/ )
• grafos trivalentes (cúbicos) simétricos com até 2048 vértices (http:/ / www. math. auckland.ac. nz/ ~conder/
symmcubic2048list. txt)
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 72/157
Grafo meio-transitivo 68
Grafo meio-transitivo
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo meio-transitivo é um grafo que é tanto vértice-transitivo
quanto aresta-transitivo, mas não é simétrico.[] Em outras palavras, um grafo é meio-transitivo, se o seu grupo de
automorfismo atua transitivamente em ambos os seus vértices e arestas, mas não em pares ordenados de vértices
ligados.
O grafo de Holt é o menor grafo meio-transitivo. A
falta de simetria reflexiva neste desenho destaca o fato
de que as arestas não são equivalentes aos suas
inversas.
Todo grafo simétrico conectado deve ser vértice-transitivo e
aresta-transitivo, e o inverso é verdadeiro para grafos de grau
ímpar,[] de modo que os grafos meio-transitivos de grau ímpar não
existem. Contudo, existem grafos meio-transitivos de grau par.[1]
O menor grafo meio-transitivo é o grafo de Holt, com grau 4 e 27
vértices.
[][2]
[1] Bouwer, Z. "Vertex and Edge Transitive, But Not 1-Transitive Graphs."
Canad. Math. Bull. 13, 231 – 237, 1970.
[2][2] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 73/157
Grafo semissimétrico 69
Grafo semissimétrico
O grafo de Folkman, o menor grafo semissimétrico.
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo semissimétrico é um grafo não-direcionado que é
aresta-transitivo e regular, mas não é vértice transitivo.
Em outras palavras, um grafo é semissimétrico se cada vértice tem o mesmo número de arestas incidentes, e há uma
simetria tomando qualquer das suas arestas para quaisquer outras de suas arestas, mas há algum par de vértices quenão podem ser mapeados entre si por uma simetria. Um grafo semissimétrico deve ser bipartido e seu grupo de
automorfismo deve agir transitivamente em cada um dos dois conjuntos de vértices da bipartição. No diagrama da
direita, os vértices verdes não podem ser mapeados para os vermelhos por qualquer automorfismo.
Grafos semissimétricos foram primeiramente estudados por Jon Folkman em 1967, que descobriu o menor grafo
semissimétrico, o grafo de Folkman em 20 vértices[1].
O menor grafo cúbico semissimétrico é o grafo de Gray em 54 vértices. Foi observado pela primeira vez que era
semissimétrico por Bouwer em 1968.[] Foi provado ser o menor grafo cúbico semissimétrico por Dragan Marušič e
Aleksander Malnič[] .
Todos os grafos cúbicos semissimétricos de até 768 vértices são conhecidos. Segundo Malnič, Marušič e Potočnik,
os quatro menores grafos cúbicos semissimétricos possíveis, após o grafo de Gray são o grafo de Iofinova-Ivanov em
110 vértices, o grafo de Ljubljana em 112 vértices,[] um grafo de 120 vértices com cintura 8 e a gaiola-12 de Tutte.[2]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 74/157
Grafo semissimétrico 70
[2][2] .
Grafo aresta-transitivo
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo aresta-transitivo é um grafo G tal que, dadas duas arestas
e1
e e2
de G, há um automorfismo de G que mapeia e1
em e2.[]
Em outras palavras, um grafo é aresta-transitivo, se o seu grupo de automorfismo atua transitivamente em suas
arestas.
Exemplos e propriedades
O grafo Gray é aresta-transitivo e regular, mas não é
vértice-transitivo.
Grafos aresta-transitivos incluem qualquer grafo bipartido
completo , e qualquer grafo simétrico, como os vértices e
as arestas do cubo.[] Grafos simétricos são també vértice-transitivo
(se eles são conectados), mas no geral grafos aresta-transitivos não
precisam ser vértice-transitivos. O grafo Gray é um exemplo de
um grafo que é aresta-transitivo, mas não vértice-transitivo. Todos
estes grafos são bipartidos,[] e, portanto, podem ser coloridos, com
apenas duas cores.
Um grafo aresta-transitivo que també é regular, mas não
vértice-transitivo, é chamado semi-simétrico. O grafo Gray mais
uma vez dá um exemplo.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 75/157
Grafo vértice-transitivo 71
Grafo vértice-transitivo
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo vértice-transitivo é um grafo G tal que, dados quaisquer
dois vértices v1
e v2
de G, existe algum automorfismo
tal que
Em outras palavras, um grafo é vértice-transitivo se o seu grupo de automorfismo atua transitivamente em seus
vértices.[1] Um grafo é vértice-transitivo se e somente se seu grafo complementar é, uma vez que as ações do grupo
são idênticas.
Todo grafo simétrico, sem vértices isolados é vértice-transitivo, e cada grafo vértice-transitivo é regular. No entanto,
nem todos os grafos vértice-transitivos são simétricos (por exemplo, as arestas do tetraedro truncado), e nem todos os
grafos regulares são vértice-transitivos (por exemplo, o grafo de Frucht).
Exemplos finitos
As arestas do tetraedro truncado formam um grafo
vértice-transitivo (também um grafo de Cayley) que não é
simétrico.
Grafos vértice-transitivos finitos incluem os grafos simétricos
(como o grafo de Petersen, o grafo de Heawood e os vértices e
arestas dos sólidos platônicos). Os grafos de Cayley finitos
(como ciclos de cubos conectados) também são
vértice-transitivos, como o são os vértices e arestas dos
sólidos de Arquimedes (embora apenas dois deles sejam
simétricos).
Propriedades
A conectividade de arestas de um grafo vértice-transitivo é
igual ao grau d , enquanto a conectividade de vértices será, no
mínimo, 2(d +1)/3.[2] Se o grau é de 4 ou menos, ou o grafo
também é aresta-transitivo, ou o grafo é um grafo de Cayley
mínimo, então a conectividade de vértice também será igual a d .[3]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 76/157
Grafo vértice-transitivo 72
Exemplos infinitosGrafos vértice-transitivos finitos incluem:
• caminhos infinitos (infinitos em ambas as direções)
• árvores regulares infinitas, por exemplo o grafo de Cayley dos grupos livres
• grafos de Cayley infinitos
• o grafo de Rado
Dois grafos vértice-transitivos contáveis são chamados quase-isométricos se a razão de suas funções distância é
delimitada a partir de baixo e de cima. Uma conjectura conhecida diz que todo grafo infinito vértice-transitivo é
quase-isométrico a um grafo de Cayley. Um contra-exemplo foi proposto por Diestel e Leader.[4] Mais recentemente,
Eskin, Fisher e Whyte confirmaram o contra-exemplo.[5]
Referências[3] (http:/ / www. cs. uchicago. edu/ files/ tr_authentic/ TR-94-10. ps)
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 77/157
Grafo de Cayley 73
Grafo de Cayley
O grafo de Cayley do grupo livre em dois
geradores a e b
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
Em matemática, área da teoria dos grafos, um grafo de Cayley, também conhecido como grafo colorido de Cayley,
diagrama de Cayley, diagrama de grupo, ou grupo colorido[] é um grafo que codifica a estrutura abstrata de um
grupo. Sua definição é sugerida pelo teorema de Cayley (nomeado em honra a Arthur Cayley) e usa um conjunto de
geradores específico, usualmente finito, para o grupo. É um instrumento central em combinatória e teoria geométrica
de grupos.
Definição
Suponha que seja um grupo e seja um conjunto de geradores. O grafo de Cayley é um grafo
direcionado colorido construído como se segue[1]
• A cada elemento de é atribuído um vértice: o conjunto de vértices de é identificado com• A cada gerador de é atribuída uma cor .
• Para qualquer os vértices correspondentes aos elementos e são unidos por uma aresta de
cor . Assim, o conjunto de arestas consiste em pares da forma com proporcionando a
cor.
Na teoria geométrica de grupos, o conjunto é geralmente assumido ser finito, simétrico, isto é e nãocontendo o elemento identidade do grupo. Neste caso, o grafo de Cayley incolor é um grafo comum: suas arestas não
são orientadas e não contém laços se e somente se .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 78/157
Grafo de Cayley 74
Exemplos• Suponha que é o grupo cíclico infinito e o conjunto S consiste em um gerador padrão e sua inversa (-1
na notação aditiva), então o grafo de Cayley é uma cadeia infinita.
• Similarmente, se é o grupo cíclico finito de ordem n e o conjunto S consiste de dois elementos, o
gerador padrão de G e o seu inverso, então o grafo de Cayley é o ciclo .
• O grafo de Cayley do produto direto de grupos é o produto cartesiano dos grafos de Cayley correspondentes.
Assim, o grafo de Cayley do grupo abeliano com o conjunto de geradores que consiste em quatro elementos
é a grade no plano , enquanto que para o produto direto com geradores
semelhantes o grafo de Cayley é a grade finita em um toro.
O grafo de Cayley do grupo diedro D4
em dois
geradores α e β
• O grafo Cayley do grupo diedro D4
em dois geradores α e β é
descrito à esquerda. As setas vermelhas representam a
multiplicação à esquerda pelo elemento α. Uma vez que o
elemento β é auto-inversível, as linhas azuis que representam a
multiplicação à esquerda pelo elemento β são não direcionadas.
Portanto, o grafo é misto: ele tem oito vértices, oito setas, equatro arestas. A tabela Cayley do grupo D4
pode ser derivada a
partir da apresentação do grupo
Ligações externas
• Diagramas Cayley [2]
[2] http:/ / www. weddslist. com/ groups/ cayley-plat/ index. html
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 79/157
Grafo antissimétrico 75
Grafo antissimétrico
Um grafo antissimétrico.
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo antissimétrico é um grafo orientado que é isomórfico ao
seu próprio grafo transposto, o grafo formado pela inversão de todas as suas arestas. O isomorfismo necessita ser
uma involução sem nenhum ponto fixo.
Grafos antissimétricos foram primeiramente introduzidos 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 algoritmos
para encontrar acoplamentos em grafos, em testes se um padrão still life no jogo da vida, desenvolvido pelo
matemático britânico John Horton Conway, pode ser dividido em componentes mais simples, em desenho de grafos,
e em grafos de implicação usados para resolver eficientemente o problema da 2-satisfatibilidade.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 80/157
Grafo antissimétrico 76
DefiniçãoConforme definido, por exemplo, por Goldberg e Karzanov (1996)[], um grafo antissimétrico G é um grafo
direcionado, junto com uma função σ mapeando vértices de G a outros vértices de G, satisfazendo as seguintes
propriedades:
1. Para cada vértice v, σ(v) ≠ v
2. Para cada vértice v, σ(σ(v)) = v
3. Para cada aresta (u,v), (σ(v),σ(u)) também deve ser uma aresta.
Pode-se usar a terceira propriedade para estender σ para uma função de inversão de orientação das arestas de G.
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
isomorfismo forme pares de cada vértice com um vértice diferente, ao invés de permitir a um vértice ser mapeado
para si pelo isomorfismo ou agrupar mais de dois vértices em um ciclo de isomorfismos.
Um caminho ou um ciclo em um grafo anti-simétrico é dito ser regular se, para cada vértice v do caminho ou do
ciclo, o vértice correspondente σ(v) não faz parte do caminho ou do ciclo.
Grafos switch e grafos bipartidosum grafo anti-simétrico pode de forma equivalente ser definido em termos de um grafo switch (para usar a
terminologia de Cook, 2003[2]), um grafo não direcionado em que as arestas incidentes a cada vértice são divididas
em dois subgrupos. Cada vértice do grafo switch corresponde a dois vértices do grafo antissimétrico, e cada aresta do
grafo alternado corresponde a duas arestas do grafo antissimétrico. Esta equivalência é a utilizada por Goldberg e
Karzanov (1996)[] para modelar problemas de acoplamento em termos de grafos antissimétricos; nesta aplicação, os
dois subconjuntos de arestas em cada vértice são as arestas não acopladas e as arestas acopladas. Cook visualiza os
vértices de um grafo switch como pontos onde várias faixas de um trilho de trem se reúnem: se um trem entra em um
switch através de um trilho que vem de uma direção, deve sair através de um trilho na outra direção.
O problema de se encontrar curvas suaves que não se auto-interceptam entre os pontos dados em um trilho de trem
vem em testar se determinados tipos de desenhos de grafos são válidos[3] e pode ser modelado como a busca de um
caminho comum em um grafo anti-simétrico.
Um conceito relacionado é o de grafo bidirecionado de Edmonds e Johnson, 1969 [4], um grafo em que cada uma das
duas extremidades de cada aresta pode ser tanto uma cabeça ou uma cauda, independentemente do outro lado.
[4] . Reimpresso em Combinatorial Optimization — Eureka, You Shrink!, Springer-Verlag, Lecture Notes in Computer Science 2570, 2003,
pp. 27 – 30, DOI:10.1007/3-540-36478-1 3.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 81/157
Grafo assimétrico 77
Grafo assimétrico
Os 8 grafos assimétricos de 6-vértices
O grafo Frucht, o menor grafo cúbico
assimétrico.
Famílias de grafos definidos por seus automorfismosdistância-transitivo distância-regular fortemente regular
simétrico (arco-transitivo) t -transitivo, t ≥ 2
(se conectado)
transitivo nos vértices e nas arestas aresta-transitivo e regular aresta-transitivo
vértice-transitivo regular
grafo de Cayley anti-simétrico assimétrico
No campo da matemática da teoria dos grafos, um grafo não direcionado é chamado um grafo assimétrico se não
tiver simetrias não triviais.
Formalmente, um automorfismo de um grafo é uma permutação p de seus vértices com a propriedade que quaisquer
dois vértices u e v são adjacentes se e somente se p(u) e p(v) são adjacentes. O mapeamento identidade de um grafo
em si é sempre um automorfismo, e é chamado de automorfismo trivial do grafo. Um grafo assimétrico é um grafo
para os quais não existem outros automorfismos.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 82/157
Grafo assimétrico 78
ExemplosO menor grafo não trivial assimétrico tem 6 vértices[1] O menor grafo regular assimétrico têm dez vértices; existem
grafos assimétricos de dez vértices são 4-regulares e 5-regulares[2][3].
O menor grafo cúbico assimétrico é o grafo de Frucht de doze vértices descoberto em 1939.[] De acordo com uma
versão reforçada do teorema de Frucht, há infinitamente mais grafos cúbicos assimétricos.
PropriedadesA classe de grafos assimétrica é fechada em complementos: um grafo G é assimétrico se e somente se seu
complemento o é.[1] Qualquer grafo assimétrico de n-vértices pode ser feito simétrico, adicionando e removendo um
total de, no máximo n /2 + o(n) arestas.[1]
Grafos aleatóriosA proporção de grafos sobre n vértices com automorfismo não trivial tende a zero a medida que n cresce, que é
informalmente expressado como "quase todos grafos finitos são assimétricos". Em contraste, uma vez mais
informalmente, "quase todos os grafos infinitos são simétricos". Mais especificamente, grafos aleatórios infinitos e
contáveis no modelo Erdős – Rényi são, com probabilidade 1, isomórficos ao altamente simétrico grafo Rado.[1]
ÁrvoresA 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[4] Em contraste com a situação dos grafos, quase todas as árvores são simétricas. Em particular, se
uma árvore é escolhida de forma uniforme aleatoriamente 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]
[1][1] .[2][2] .
[3][3] .
[4][4] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 83/157
79
Algoritmos em Grafos
Busca em largura
Ordem dos vértices explorados na busca em largura
Na teoria dos grafos, busca em largura (ou busca em
amplitude, também conhecido em inglês por
Breadth-First Search (BFS)) é um algoritmo de busca
em grafos utilizado para realizar uma busca ou
travessia num grafo e estrutura de dados do tipo árvore.
Intuitivamente, você começa pelo vértice raiz e explora
todos os vértices vizinhos. Então, para cada um desses
vértices mais próximos, exploramos os seus vértices
vizinhos inexplorados e assim por diante, até que eleencontre o alvo da busca.
Definição
Percurso realizado pelo algoritmo
Formalmente, uma busca em largura é um método de busca
não-informada (ou desinformada) que expande e examina
sistematicamente todos os vértices de um grafo direcionado ou
não-direcionado. Em outras palavras, podemos dizer que o algoritmo
realiza uma busca exaustiva num grafo passando por todas as arestas e
vértices do grafo. Sendo assim, o algoritmo deve garantir que nenhum
vértice ou aresta será visitado mais de uma vez e, para isso, utiliza uma
estrutura de dados fila para garantir a ordem de chegada dos vértices.Dessa maneira, as visitas aos vértices são realizadas através da ordem
de chegada na estrutura fila e um vértice que já foi marcado não pode
retornar a esta estrutura.
Uma analogia muito conhecida (figura ao lado) para demonstrar o funcionamento do algoritmo é pintando os
vértices de branco, cinza e preto. Os vértices na cor branca ainda não foram marcados e nem infileirados, os da cor
cinza são os vértices que estão na estrutura fila e os pretos são aqueles que já tiveram todos os seus vértices vizinhos
infileirados e marcados pelo algoritmo.
Tal mecanismo permite que se descubra todos os vértices a uma distância n do vértice raiz antes de qualquer outro
vértice de distancia n+a com a≥
1, sendo n o número de arestas para atingir qualquer outro vértice no grafoconsiderado. Essa característica do algoritmo permite construir uma árvore de distâncias mínimas (menor número de
arestas) entre o vértice raiz e os demais, sendo que o vértice responsável por infileirar o seu vizinho na cor branca
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 84/157
Busca em largura 80
que será o vértice pai deste na representação em árvore gerada.
Características
Complexidade de Tempo
Considerando um grafo representado em listas de adjacência, o pior caso, aquele em que todos os vértices e arestassão explorados pelo algoritmo, a complexidade de tempo pode ser representada pela seguinte expressão
, onde significa o tempo total gasto nas operações sobre todas as arestas do grafo onde cada
operação requer um tempo constante sobre uma aresta, e que significa o número de operações sobre
todos os vértices que possui uma complexidade constante para cada vértice uma vez que todo vértice é
enfileirado e desinfileirado uma unica vez.
Complexidade de Espaço
Quando o número de vértices no grafo é conhecido e supondo-se a representação deste em listas de adjacência, a
complexidade de espaço do algoritmo pode ser representada por onde representa o número total de
vértices no grafo.
PseudocódigoA seguir é apresentado um pseudocódigo do algoritmo busca em largura para uma estrutura de dados grafo com lista
de adjacência. A letra F representa uma fila (FIFO) inicialmente vazia, G é o grafo em questão e s, v, w representam
vértices do grafo onde listaDeAdjacência representa a lista de adjacência de um vértice.
BuscaEmLargura
escolha uma raiz s de G
marque s
insira s em F
enquanto F não está vazia faça
seja v o primeiro vértice de F
para cada w ∈ listaDeAdjacência de v faça
se w não está marcado então
visite aresta entre v e w
marque w
insira w em F
senao se w ∈ F entao
visite aresta entre v e w
fim se
fim para
retira v de F
fim enquanto
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 85/157
Busca em largura 81
Exemplo 1
Grafo exemplo 1
Seguindo os passos do pseudocódigo acima e iniciando no vértice 6 da
figura ao lado, o algoritmo estará com a sequência de vértices
marcados e a fila assim:
Vértices Marcados= ∅; Fila(F)=∅.
Vértices Marcados= 6; Fila(F)=6.
Vértices Marcados= 6,4; Fila(F)=6,4.
Vértices Marcados= 6,4; Fila(F)=4.Vértices Marcados= 6,4,5; Fila(F)=4,5.
Vértices Marcados= 6,4,5,3; Fila(F)=4,5,3.
Vértices Marcados= 6,4,5,3; Fila(F)=5,3.
Vértices Marcados= 6,4,5,3,1; Fila(F)=5,3,1.
Vértices Marcados= 6,4,5,3,1,2; Fila(F)=5,3,1,2.
Vértices Marcados= 6,4,5,3,1,2; Fila(F)=3,1,2.
Vértices Marcados= 6,4,5,3,1,2; Fila(F)=1,2.
Vértices Marcados= 6,4,5,3,1,2; Fila(F)=2.
Vértices Marcados= 6,4,5,3,1,2; Fila(F)=∅.
Exemplo 2Aplicando o pseudocódigo nesse grafo de cidades alemãs e iniciando o algoritmo na cidade de Frankfurt, repare que
para montar a arvore da figura foi necessário gravar na figura apenas as arestas que são processadas na primeira
condição "se" do pseudocódigo (se w não está marcado então). Caso as arestas desse exemplo não fossem valoradas
(como no primeiro exemplo) ficaria fácil encontrar a distância para o vértice raiz com o algoritmo busca em largura,
mas, para o grafo deste exemplo (que são valoradas) pesquise por Algoritmo de Dijkstra para encontrar o menor
caminho de um vértice a outro.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 86/157
Busca em largura 82
Exemplo de um mapa da Alemanha com algumas conexões entre as
cidades.
Árvore gerada em um algoritmo BFS começando em Frankfurt.
C
int BuscaEmLargura(Grafo *G, Fila *F, int raiz)
{
int *verticesMarcados = (int*)malloc(G->NumVertices *
sizeof(int));//vetor de vertices marcados
int tamVerticesMarcados= 0;
int vertice1;
no_lista *p;
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 87/157
Busca em largura 83
verticesMarcados[0] = raiz;//marca raiz
tamVerticesMarcados++;
PoeVerticeNaFila(F , raiz); //poe raiz na fila
while(!FilaVazia(F))//enquanto a fila nao esta vazia
{
vertice1 = F->ini->vertice;//vertice que esta no inicio da fila
p = G->Ladj[vertice1-1].inicio;// Ladj = lista de adjacencia de
vertice1
while(p!=NULL)//enquanto a lista de adjacencia do vertice1 nao
acaba
{
if(!BuscaVertice(p->vertice, verticesMarcados,tamVerticesMarcados))//busca p->vertice no vetor verticesMarcados
{
verticesMarcados[tamVerticesMarcados ++] =
p->vertice;//marcou p->vertice
PoeVerticeNaFila(F , p->vertice);//poe p->vertice na fila
//arestas que compoem arvore geradora mínima, aresta
(vertice1, p->vertice)
}
else if(WPertenceF(p->vertice, F))//se p->vertice pertence a F
{
//arestas (vertice1, p->vertice) que não compoem árvore
geradora mínima
}
p = p->prox;
}
RetiraVerticeFila(F);
}
return 0;}
Exemplo de Implementação em Object Pascal program Busca_em_largura;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 88/157
Busca em largura 84
vListaNos : array[1..8] of char;
function NoEsquerdo(pNoAtual: Integer): integer;
begin
result := (2 * pNoAtual);
end ;
function NoDireito(pNoAtual: Integer): integer;
begin
result := (2 * pNoAtual) + 1;
end ;
function busca_Largura (Inicio : integer; Alvo: Char): integer;
var
vAchou : Boolean;
vLoop : integer;
begin
vAchou := false;vLoop := Inicio;
Result := -1;
if vListaNos[Inicio] = Alvo then begin
vAchou := true;
Result := Inicio;
end ;
while (not vAchou) and (vLoop <= 8) do begin
if vListaNos[NoEsquerdo(vLoop)] = Alvo then begin
vAchou := true;
Result := NoEsquerdo(vLoop); end else if vListaNos[NoDireito(vLoop)] = Alvo then begin
vAchou := true;
Result := NoDireito(vLoop);
end ;
inc(vLoop);
end ;
end ;
begin
{ Busca em largura na árvore binária } // Preenchimento da arvore, demostração gráfica e posicionamento na
mesma…
vListaNos[1] := 'R'; { R 1 }
vListaNos[2] := 'G'; { / \ / \ }
vListaNos[3] := 'Q'; { G Q 2 3 }
vListaNos[4] := 'Y'; { /\ /\ /\ /\ }
vListaNos[5] := 'J'; { Y J B E 4 5 6 7 }
vListaNos[6] := 'B'; { / / }
vListaNos[7] := 'E'; { P 8 }
vListaNos[8] := 'P'; // Pesquisa por elementos na árvore…
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 89/157
Busca em largura 85
Writeln('A letra "J" esta no no numero: '+ IntToStr(busca_Largura(2,
'J')));
Writeln('A letra "B" esta no no numero: '+ IntToStr(busca_Largura(1,
'B')));
Writeln('A letra "R" esta no no numero: '+ IntToStr(busca_Largura(1,
'R')));
Writeln('A letra "P" esta no no numero: '+ IntToStr(busca_Largura(4,
'P')));
Writeln('A letra "Y" esta no no numero: '+ IntToStr(busca_Largura(1,
'Y')));
Writeln('A letra "E" esta no no numero: '+ IntToStr(busca_Largura(1,
'E')));
Writeln('A letra "Q" esta no no numero: '+ IntToStr(busca_Largura(1,
'Q')));
Readln;
end .
Usos e extensões•• Achar componentes conectados
•• Achar todos os nódulos contectado a apenas um componente
•• Achar o menor caminho entre um nó raiz e os outros nós do grafo
•• Testar bipartição em grafos
O conjunto de nós alcançados pela busca em largura são os maiores componentes conectados que contém o nó
inicial. Se não houver arestas nos nós adjacentes numa mesma camada de busca, então o grafo deve conter um
número ímpar de ciclos e não ser bipartido.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 90/157
Busca em profundidade 86
Busca em profundidade
Ordem dos vértices explorados na busca em profundidade
Busca em profundidade (ou busca em
profundidade-primeiro, também usada a
sigla em inglês DFS) é um algoritmo usado
para realizar uma busca ou travessia numa
árvore, estrutura de árvore ou grafo.
Intuitivamente, o algoritmo começa 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).
Definição Formal
Representação visual de uma busca em profundidade
Formalmente, um algoritmo de busca em profundidade realiza
uma busca não-informada que progride através da expansão do
primeiro nó filho da árvore de busca, e se aprofunda cada vez
mais, até que o alvo da busca seja encontrado ou até que ele se
depare com um nó que não possui filhos (nó folha). Então a buscaretrocede (backtrack) e começa no próximo nó. Numa
implementação não-recursiva, todos os nós expandidos
recentemente são adicionados a uma pilha, para realizar a
exploração.
A complexidade espacial de um algoritmo de busca em
profundidade é muito menor que a de um algoritmo de busca em
largura. A complexidade temporal de ambos algoritmos são
proporcionais ao número de vértices somados ao número de
arestas dos grafos aos quais eles atravessam.
Quando ocorrem buscas em grafos muito grandes, que não podem ser armazenadas completamente na memória, a
busca em profundidade não termina, em casos onde o comprimento de um caminho numa árvore de busca é infinito.
O simples artifício de “ lembrar quais nós já foram visitados ” não funciona, porque pode não haver memória
suficiente. Isso pode ser resolvido estabelecendo-se um limite de aumento na profundidade da árvore.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 91/157
Busca em profundidade 87
Exemplo
Exemplo Busca em profundidade
gráfico transversal
Para o grafo ao lado, uma busca em profundidade começando em
A, assumindo-se que as arestas esquerdas do grafo apresentado
sejam escolhidas antes das arestas direitas, e assumindo que a
busca relembre os nós previamente visitados e que não os repita
(desde que este seja um grafo pequeno), visitaremos os nós naseguinte ordem : A, B, D, F, E, C, G.
Modificando essa mesma busca, sem que nos recordemos dos nós
previamente visitados, teríamos como resultado a seguinte ordem
de visita dos nós: A, B, D, F, E, A, B, D, F, E, etc, eternamente, já
que a busca ficaria presa no ciclo A,B,D,F,E e nunca alcançaria G
ou C.
O aprofundamento iterativo previne esse looping, alcançando os
seguintes nós, nas seguintes profundidades, assumindo-se que ele
prossiga da esquerda para a direita, como mostrado abaixo:• 0: A
• 1: A (repetido), B, C, E
(Perceba que o aprofundamento iterativo agora enxergou C, ao passo que uma busca em profundidade convencional
não enxergaria.)
• 2: A, B, D, F, C, G, E, F
(Perceba que a busca ainda enxerga C, mas que ele vem depois. Perceba também que ele enxerga E via diferentes
caminhos, e passa duas vezes pelo F .)
• 3: A, B, D, F, E, C, G, E, F, B
Para esse grafo, quanto maior for a profundidade aplicada, os dois ciclos “ABFE” e “AEFB” simplesmente ficarãomaiores, antes que o algoritmo desista e tente outro ramo.
Aplicações• Achar componentes conectados
• Achar componentes fortemente conectados
•• Ordenação topológica
• Resolução de quebra-cabeças como labirinto
Pseudocódigofunction Busca_Profundidade(Inicio, Alvo)
empilha(Pilha,Inicio)
while Pilha is not empty
var Nodo := desempilha(Pilha)
Colore(Nodo, Cinza)
if Nodo = Alvo
return Nodo
for Filho in Expande(Nodo)
if Filho.cor = Branco
empilha(Pilha, Filho)
Colore(Nodo, Preto)
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 92/157
Caminho 88
CaminhoEm teoria de grafos, um caminho em um grafo é uma 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 primeiro vértice é chamado de vértice inicial e o último é
chamado de vértice final.
Definição matemáticaMatematicamente: Seja G um grafo. Um caminho em G é uma sequência de verticess de G, digamos
({vi1, v
j1} , . . ., {v
ir, v
jr})
tal que
v ja = v
ia+1,
para todo 1 ≤ a ≤ r − 1.
Tipos de caminhosUm ciclo de comprimento r é um caminho constituído por r + 1 vértices, onde o primeiro vértice é igual ao último.
Note que a escolha do vértice inicial em um ciclo é arbitrária.
Um caminho sem vértices repetidos é chamado de caminho simples e um ciclo sem vértices repetidos com exceção
do inicial/final é um ciclo simples. Por vezes o termo "simples" é omitido de "caminho simples" e "ciclo simples",
embora essa não seja a regra.
Um ciclo simples que envolva todos os vértices de um grafo é chamado de caminho hamiltoniano.
Um grafo é dito conexo se para quaisquer dois vértices existe um caminho que começa num vértice e termina no
outro.
Referências• Bondy, J. A.; Murty, U. S. R. (1976). Graph Theory with Applications. North Holland. pp. 12 – 21. ISBN
0-444-19451-7.
• Diestel, Reinhard (2005). Graph Theory [1] (3rd ed. ed.). Graduate Texts in Mathematics, vol. 173,
*Springer-Verlag. pp. 6 – 9. ISBN 3-540-26182-6.
• Gibbons, A. (1985). Algorithmic Graph Theory. Cambridge University Press. pp. 5 – 6. ISBN 0-521-28881-9.
• Korte, Bernhard; Lovász, László; Prömel, Hans Jürgen; Schrijver, Alexander (Eds.) (1990). Paths, Flows, and
VLSI-Layout . Algorithms and Combinatorics 9, Springer-Verlag. ISBN 0-387-52685-4.
Referências[1] http:/ / www. math.uni-hamburg. de/ home/ diestel/ books/ graph. theory/
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 93/157
Caminho euleriano 89
Caminho euleriano
O grafo das pontes de Königsberg. Este grafo
não é Euleriano, portanto, uma solução não
existe.
Cada vértice deste grafo tem um grau
par,portanto este é um grafo Euleriano. Seguindo
as arestas em ordem alfabética obtém-se um
circuito/ciclo Euleriano.
Um Caminho Euleriano é um caminho em um grafo que visita cada
aresta apenas uma vez. Com caso especial, um Circuito Euleriano é
um caminho Euleriano que começa e termina no mesmo vértice. O
conceito foi introduzido por Leonard Euler para a resolução do famoso
problema das sete pontes de Königsberg em 1736.
Grafos que possuem um circuito Euleriano são chamados Grafos
Eulerianos. Uma das principais condições para um grafo ser Euleriano
é que todos os vértices precisam ser de grau par. Esta condição é
também suficiente. Euler provou que uma condição necessária para a
existência de circuitos eulerianos é de que todos os vértices tenham
grau par, e afirmou, sem prova de que grafos conexos com todos os
vértices pares tem um circuito Euleriano. A primeira prova completa
desta última afirmação foi publicada em 1873 por Carl Hierholzer.[1]
Há, ainda, grafos com caminhos Eulerianos se houver 2 vértices de
grau ímpar. Nesse caso, ao se acrescentar uma aresta ligando estes dois
vértices, o novo grafo passa a ser Euleriano.
Pode-se assim enunciar um corolário do Teorema de Euler para
Grafos* como sendo: Um grafo G conexo possui caminho euleriano se
e somente se ele tem exatamente zero ou dois vértices de grau impar .
Não confundir com caminho hamiltoniano em que o caminho deve
passar uma vez em cada vértice.
Referências
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 94/157
Caminho hamiltoniano 90
Caminho hamiltoniano
O caminho vermelho é hamiltoniano.
Um caminho hamiltoniano é um caminho que permite passar por
todos os vértices de um grafo G, não repetindo nenhum, ou, seja,
passar por todos uma e uma só vez por cada. Caso esse caminho seja
possível descrever um ciclo, este é denominado ciclo hamiltoniano
(ou circuito hamiltoniano) em G. E, um grafo que possua tal circuito
é chamado de grafo hamiltoniano.
O problema de decidir se um dado grafo é hamiltoniano é completo em
NP, o que significa que é pouco provável que exista um algoritmo
polinomial para o problema. Outro objetivo provavelmente ambicioso demais: mostrar que o problema está em
co-NP, ou seja, obter uma boa condição necessária e suficiente para existência de ciclo hamiltoniano.
Um problema que envolve caminhos hamiltonianos é o problema do caixeiro viajante, em que um caixeiro deseja
visitar um conjunto de N cidades (vértices), passando por cada cidade exatamente uma vez e retornando à cidade de
origem, fazendo o caminho de menor tamanho possível.
Em 2009 conseguiu-se uma resolução para este problema utilizando-se de bactérias [1] na implementação do
algoritmo, que historicamente costuma ter um custo de tempo de computação exponencial.
Definições
Um caminho Hamiltoniano (em preto) sobre um
grafo (em azul).
Um caminho Hamiltoniano ou caminho rastreável é um caminho que
visita cada vértice exatamente uma vez. Um grafo que contém um
caminho Hamiltoniano é chamado um grafo rastreável. Um grafo é
Hamilton-conectado se para cada par de vértices existe um caminho
Hamiltoniano entre os dois vértices.
Um ciclo Hamiltoniano, circuito Hamiltoniano, passeio em vértices ou
grafo ciclo é um ciclo que visita cada vértice exatamente uma vez
(exceto o vértice que é tanto o início quanto o fim, e portanto é visitado
duas vezes). Um grafo que contémum ciclo Hamiltoniano é chamado
de grafo Hamiltoniano.
Noções semelhantes podem ser definidas para grafos orientados, onde
cada aresta (arco) de um caminho ou ciclo só pode ser atravessada em
uma única direção (i.e., os vértices são conectados com as setas e as
arestas atravessadas "da cauda para a ponta").Uma decomposição Hamiltoniana é uma decomposição de arestas de um grafo em circuitos Hamiltonianos.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 95/157
Caminho hamiltoniano 91
Exemplos
Um ciclo Hamiltoniano em um dodecaedro.
Como todos os sólidos platônicos, o dodecaedro é
Hamiltoniano.
• Um grafo completo com mais de dois vértices é Hamiltoniano
• Todo grafo ciclo é Hamiltoniano
• Todo torneio tem um número ímpar de caminhos Hamiltonianos
• Todo sólido platônico, considerado como um grafo é Hamiltoniano
Propriedades
Um caminho hamiltoniano no grafo de Mycielski.
Qualquer ciclo hamiltoniano pode ser convertido para um caminho
Hamiltoniano, removendo-se uma de suas arestas, mas um caminho
Hamiltoniano só pode ser estendido para um ciclo hamiltoniano se suas
extremidades são adjacentes.
O grafo linha de um grafo Hamiltoniano é Hamiltoniano. O grafo linha
de um grafo Euleriano é Hamiltoniano.
Um torneio (com mais de 2 vértices) é Hamiltoniano se e somente se
ele é fortemente conectado.
Um ciclo Hamiltoniano pode ser usado como base de uma prova com
zero conhecimentos.
Número de diferentes ciclos hamiltonianos para um grafo completo =
(n-1)! / 2.
Número de diferentes ciclos hamiltonianos para um grafo orientado completo = (n-1)!.
[1] Computador feito com bactérias resolve problemas matemáticos (http:/ / tecnologia. terra. com. br/ interna/
0,,OI3896704-EI4801,00-Computador+ feito+ com+ bacterias+ resolve+ problemas+ matematicos. html) Terra Tecnologia, acessado em 31
de julho de 2009
Ligações externas• Solução do problema utilizando bactérias (http:/ / tecnologia.terra. com. br/ interna/
0,,OI3896704-EI4801,00-Computador+ feito+ com+ bacterias+ resolve+ problemas+ matematicos. html)
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 96/157
Ordenação topológica 92
Ordenação topológicaEm teoria dos grafos, uma ordenação topológica de um digrafo acíclico (DAG) é uma ordem linear de seus nós em
que cada nó vem antes de todos nós para os quais este tenha arestas de saída. Cada DAG tem uma ou mais
ordenações topológicas.
Mais formalmente, define-se a relação acessibilidade R sobre os nós do DAG tal que xRy se e somente se existe um
caminho dirigido de x para y. Então, R é uma ordem parcial, e uma ordenação topológica é uma extensão linear desta
ordem parcial, isto é, uma ordem total compatível com a ordem parcial.
ExemplosA aplicação canônica da ordenação topológica (ordem topológica) está na programação de uma seqüência de
trabalhos ou tarefas; tem uso potencial todas as vezes em que o problema abordado envolve uma ordem parcial[1];
algoritmos de ordenação topológica começaram a ser estudados no início dos anos 1960 no contexto da técnica
PERT para a agendamento de tarefas em gerenciamento de projetos.[2] Os trabalhos são representados por vértices, e
existe uma aresta de x para y se o trabalho x deve estar concluído antes do trabalho y poder ser iniciado (porexemplo, ao lavar roupas, a máquina de lavar deve terminar antes de se poder colocar as roupas para secar). Em
seguida, uma ordenação topológica dá uma ordem na qual se possa realizar os trabalhos.
Em informática, as aplicações deste tipo surgem em agendamentos de instruções, ordenação de fórmulas de
avaliação de células quando recalculando os valores de fórmulas em planilhas, síntese lógica, determinação da ordem
das tarefas de compilação para executar em arquivos "make", e resolução de dependências de símbolos em ligadores.
O grafo mostrado à esquerda tem muitas ordenações topológicas, incluindo:
•• 7, 5, 3, 11, 8, 2, 9, 10 (visual esquerda-para-direita, de-cima-para-baixo)
•• 3, 5, 7, 8, 11, 2, 9, 10 (vértice de menor número disponível primeiro)
•• 3, 7, 8, 5, 11, 10, 2, 9
•• 5, 7, 3, 8, 11, 10, 9, 2 (menor número de arestas primeirofirst)
•• 7, 5, 11, 3, 10, 8, 9, 2 (vértice de maior número disponível primeiro)
•• 7, 5, 11, 2, 3, 8, 9, 10
AlgoritmosOs 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|)).
Um desses algoritmos, descrito pela primeira vez por Kahn[3], trabalha escolhendo vértices na mesma ordem da
eventual ordenação topológica. Primeiro, encontra uma lista de nós "íniciais", que não tem arestas de entrada e 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 ← Conjunto de todos os nós sem arestas de entrada
enquanto S é não-vazio faça
remova um nodo n de S
insira n em L
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 97/157
Ordenação topológica 93
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 arestas então
escrever mensagem de erro (grafo tem pelo menos um ciclo)
senão
escrever mensagem (ordenação topológica proposta: L)
Se o grafo é um digrafo acíclico (DAG), a solução está contida na lista L (a solução não é única). Caso contrário, o
grafo tem pelo menos um ciclo e, portanto, uma ordenação topológica é impossível.
Note-se que, reflectindo a não-exclusividade da ordenação resultante, a estrutura S pode ser simplesmente um
conjunto ou uma fila ou uma pilha. Dependendo da ordem em que os nodos n são removidos do conjunto S, uma
solução diferente é criada.
Um algoritmo alternativo para a ordenação topológica é baseado em uma busca em profundidade. Para este
algoritmo, as arestas apontam na direção oposta, como o algoritmo anterior (e no sentido oposto ao mostrado nodiagrama na seção de exemplos acima). Existe uma aresta de x para y se a tarefa x depende da tarefa y (em outras
palavras, se a tarefa y deve ser concluída antes da tarefa x poder ser iniciada). O algoritmo faz um loop através de
cada nó do grafo, em uma ordem arbitrária, iniciando uma busca em profundidade que termina quando se atinge
qualquer nó que já foi visto desde o início da ordenação topológica:
L ← Lista vazia que irá conter os elementos ordenados
S ← Conjunto de todos os nós sem arestas de entrada
função visita(nodo n)
se n não foi visitado ainda então
marque n como visitado
para cada nodo m com uma aresta de n para m faça
visite(m)
adicione n em L
para cada nodo n em S faça
visite(n)
Note que cada nodo n é adicionado à lista de saída L somente após considerar todos os outros nodos dos quais n
depende (todos os nodos descendentes de n no grafo). Especificamente, quando o algoritmo acrescenta o nodo n,
temos a garantia que todos os nodos dos quais n depende já estão na lista de saída L: eles foram adicionados a Ltanto pela chamada recursiva anterior à visite(), ou por uma chamada anterior à visite(). Uma vez que cada aresta e
nodo é visitado uma vez, o algoritmo executa em tempo linear. Note que o simples pseudocódigo acima não
consegue detectar o caso de erro, onde o grafo de entrada contém ciclos. O algoritmo pode ser refinado para detectar
os ciclos, observando nodos que são visitados mais de uma vez durante toda a seqüência de chamadas recursivas
aninhadas à visite() (por exemplo, passar uma lista adiante como um argumento extra para visite(), indicando que
nodos já foram visitados na pilha de chamada corrente).
Este algoritmo de busca em profundidade é o descrito por Cormen, Leiserson, Rivest e Stein[4]; parece ter sido
descrito pela primeira vez em artigo por Tarjan[5]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 98/157
Ordenação topológica 94
UnicidadeSe uma ordenação topológica tem a propriedade de todos os pares de vértices consecutivos na ordem de classificação
serem conectados por arestas, essas arestas formam um caminho hamiltoniano dirigido no DAG. Se existe um
caminho Hamiltoniano, a ordenação topológica é única, nenhuma outra ordem respeita as arestas caminho.
Inversamente, se uma ordenação topológica não formar um caminho Hamiltoniano, o DAG terá duas ou mais
ordenações topológicas válidas, porque neste caso, é sempre possível formar-se uma segunda ordenação válida ao setrocar dois vértices consecutivos, que não são ligados por uma aresta, uns com os outros. Portanto, é possível testar
em tempo polinomial se existe uma única ordenação, e se existe um caminho hamiltoniano, apesar da característica
NP-hard do problema do caminho hamiltoniano para grafos dirigidos mais gerais[6]
Ligações externas• Dicionário (NIST) de Algoritmos e Estruturas de Dados: ordenação topológica [7]
[2][2] .
[3][3] *.
[5][5] .
[6][6] .[7] http:/ / www. nist.gov/ dads/ HTML/ topologicalSort. html
Algoritmo de Bellman-FordO Algoritmo de Bellman-Ford é um algoritmo de busca de caminho mínimo em um dígrafo ponderado, ou seja,
cujas arestas têm peso, inclusive negativo. O Algoritmo de Dijkstra resolve o mesmo problema, em um tempo
menor, porém exige que todas as arestas tenham pesos positivos. Portanto, o algoritmo de Bellman-Ford é
normalmente usado apenas quando existem arestas de peso negativo.
O algoritmo de Bellman-Ford executa em tempo onde v é o número de vértices e a o número de arestas.
Pseudocódigofunção BellmanFord(lista vértices, lista arestas, vértice origem)
// Esta implementação recebe um grafo representado como uma
// lista de vértices e arestas e modifica os vértices para
// que que seus atributos distância e anterior armazenem
// os caminhos mais curtos.
// Passo 1: Inicializar o grafo para cada vértice v em vértices faça:
se v é origem então:
v.distância = 0
senão:
v.distância := infinito
v.anterior := nulo
// Passo 2: Ajustar as arestas repetidamente
repita tamanho (vértices) vezes:
para cada aresta uv em arestas faça:u := uv.origem
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 99/157
Algoritmo de Bellman-Ford 95
v := uv.destino // uv é a aresta de u para v
se v.distância > u.distância + uv.peso então:
v.distância := u.distância + uv.peso
v.anterior := u
// Passo 3: Verificar a existência de ciclos com peso negativo
para cada aresta uv em arestas faça:
u := uv.origem
v := uv.destino
se v.distância < u.distância + uv.peso então:
erro "O grafo contém um ciclo de peso negativo."
Código em C++
#include <iostream>
#define INFINITY 0x3f3f3f3f
#define NODOS 1000
using namespace std;
typedef struct {
int source;
int dest; //destino
int weight; //peso
} Edge;
int distancia[NODOS];
void BellmanFord(Edge edges[], int edgecount, int nodecount, int
source) {
int i,j,trocou;
for (i = 0; i < nodecount; i++) {
distancia[i] = INFINITY;
}
distancia[source]=0;
for (i = 0; i < nodecount; i++) {
trocou = 0;
for (j = 0; j < edgecount; j++) {
if (distancia[edges[j].dest] > distancia[edges[j].source] +
edges[j].weight) {
distancia[edges[j].dest] = distancia[edges[j].source] +
edges[j].weight;
trocou=1;
}
}
// se nenhuma iteração teve efeito, futuras iterações estão
dispensadas
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 100/157
Algoritmo de Bellman-Ford 96
if (trocou==0) break;
}
// usado somente para detectar ciclos negativos (dispensável)
for (i = 0; i < edgecount; i++) {
if (distancia[edges[i].dest] > distancia[edges[i].source] +
edges[i].weight) {
cout << "Ciclo negativo de pesos de arestas detectado" << endl;
break;
}
}
for (i = 0; i < nodecount; i++) {
cout << "A distancia mais curta entre os nodos " << source << " e " << i <<" eh " << distancia[i] << endl;
}
}
int main (void){
// Este caso de teste produzira as distancias entre o nodo 0 e os
outros nodos
Edge Arestas[10] = {{0, 1, 5}, {0,2, 8}, {0,3, -4}, {1,0, -2},
{2, 1, -3}, {2,3, 9}, {3,1, 7}, {3,4, 2},
{4,0, 6}, {4,2, 7}};
// BellmanFord(Estrutura, arestas, vertices,origem);
BellmanFord(Arestas, 10, 5, 0);
return 0;
}
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 101/157
Algoritmo A* 97
Algoritmo A*Algoritmo A* (Lê-se: A-estrela) é um algoritmo para Busca de Caminho. Ele busca o caminho em um grafo de um
vértice inicial até um vértice final. Ele é a combinação de aproximações heurísticas como do algoritmo Best-first
Search e da formalidade do Algoritmo de Dijkstra.
O algoritmo foi descrito pela primeira vez em 1968 por Peter Hart, Nils Nilsson, e Bertram Raphael. Na publicação
deles, ele foi chamado de algoritmo A; usando este algoritmo com uma heurística apropriada atinge-se um
comportamento ótimo, e passou a ser conhecido por A*.
Sua aplicação vai desde aplicativos para encontrar rotas de deslocamento entre localidades a resolução de problemas,
como a resolução de um quebra-cabeças. Ele é muito usado em jogos.
AlgoritmoSejam
Q = conjunto de nós a serem pesquisados;
S = o estado inicial da busca
Faça:
1. Inicialize Q com o nó de busca (S) como única entrada;
2. Se Q está vazio, interrompa. Se não, escolha o melhor elemento de Q;
3. Se o estado (n) é um objetivo, retorne n;
4. (De outro modo) Remova n de Q;
5. Encontre os descendentes do estado (n) que não estão em visitados e crie todas as extensões de n para cada
descendente;
6. Adicione os caminhos estendidos a Q e vá ao passo 2;
caminhos expandidos;
Uma estimativa que sempre subestima o comprimento real do caminho ate o objetivo é chamada de admissível. O
uso de uma estimativa admissível garante que a busca de custo-uniforme ainda encontrará o menor caminho.
Ligações externas• (em português) A* Pathfinding para Iniciantes [1]
• (em português) Projeto de Pesquisa de Algoritmos de Busca [2]
• (em inglês) Amit's A* Pages -- Path finding [3] Texto bastante completo sobre busca de caminhos (Path finding)
usando o Algoritmo A*
Referências[1] http:/ / www. policyalmanac. org/ games/ aStarTutorial_port. htm
[2] http:/ / www2. dc. uel.br/ ~rarosa/ pixel/ path. html
[3] http:/ / theory. stanford. edu/ ~amitp/ GameProgramming/
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 102/157
Algoritmo de Floyd-Warshall 98
Algoritmo de Floyd-WarshallNa ciência da computação, o algoritmo de Floyd-Warshall (às vezes chamado de algoritmo de Roy-Floyd ou
algoritmo de Warshall) é um algoritmo que resolve o problema de calcular o caminho mais curto entre todos os
pares de vértices em um grafo orientado (com direção) e valorado (com peso). Sua complexidade é cúbica.
Definição
O algoritmo de Floyd-Warshall recebe como entrada uma matriz de adjacência que representa um grafo
orientado e valorado. O valor de um caminho entre dois vértices é a soma dos valores de todas as arestas ao longo
desse caminho. As arestas do grafo podem ter valores negativos, mas o grafo não pode conter nenhum ciclo de
valor negativo. O algoritmo calcula, para cada par de vértices, o menor de todos os caminhos entre os vértices. Por
exemplo, o caminho de menor custo. Sua ordem de complexidade é .
O algoritmo se baseia nos passos abaixo:
• Assumindo que os vértices de um grafo orientado são , considere um subconjunto
;• Para qualquer par de vértices em , considere todos os caminhos de a cujos vértices intermediários
pertencem ao subconjunto , e como o mais curto de todos eles;• O algoritmo explora um relacionamento entre o caminho e os caminhos mais curtos de a com todos os
vértices intermediários em ;• O relacionamento depende de ser ou não um vértice intermediário do caminho .
Abaixo segue uma implementação em pseudocódigo do algoritmo de Floyd-Warshall:
ROTINA fw(Inteiro[1..n,1..n] grafo)
# Inicialização
VAR Inteiro[1..n,1..n] dist := grafoVAR Inteiro[1..n,1..n] pred
PARA i DE 1 A n
PARA j DE 1 A n
SE dist[i,j] < Infinito ENTÃO
pred[i,j] := i
# Laço principal do algoritmo
PARA k DE 1 A n
PARA i DE 1 A n
PARA j DE 1 A n
SE dist[i,j] > dist[i,k] + dist[k,j] ENTÃOdist[i,j] = dist[i,k] + dist[k,j]
pred[i,j] = pred[k,j]
RETORNE dist
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 103/157
Algoritmo de Floyd-Warshall 99
AplicaçõesO algoritmo de Floyd-Warshall pode ser utilizado para resolver os problemas abaixo:
•• Caminhos mais curtos em grafos orientados (algoritmo de Floyd). Para funcionar, os valores de todas as arestas
são configurados para o mesmo número positivo. Esse número é normalmente escolhido como único, tanto é que
o valor de um caminho coincide com o número de arestas ao longo desse caminho;
• Proximidade transitiva de grafos orientados (algoritmo de Warshall). Na formulação original deste último, o grafose torna desvalorado (perde valores) e é representado por uma matriz booleana de adjacência. Depois, a operação
de soma é substituída por conjunção lógica (E) e a operação de subtração por disjunção lógica (OU);
• Encontrar uma expressão regular denotando a linguagem regular aceita por um autômato finito (algoritmo de
Kleene);
•• Inversões de matrizes de números reais (algoritmo de Gauss-Jordan);
•• Roteamento otimizado. Nesta aplicação, o interesse é encontrar o caminho com o máximo fluxo entre dois
vértices. Isto significa que, em vez de calcular o mínimo no pseudocódigo acima, calcula-se o máximo. Os pesos
das arestas representam constantes fixas de fluxo. Valores do caminho representam gargalos, logo a operação de
soma acima é substituída pela operação de subtração;
• Testar se um grafo não-orientado é bipartido.
Ligações externas• Uma implementação em Javascript está disponível em Alex Le's Blog [1]
• Algoritmo de Floyd-Warshall em C++ [2]
Referências[1] http:/ / alexle. net/ stuff/ floyd-algorithm/
[2] http:/ / lampiao. ic. unicamp. br/ maratona/ ?name=implementa#toc15
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 104/157
Algoritmo de Johnson 100
Algoritmo de Johnson
Algoritmo deJohnson
classe Algoritmo de busca
estrutura dedados
Grafo
Algoritmos
Algoritmo de Johnson é uma forma de encontrar o menor caminho entre entre dois pontos. Ele permite que algumas
bordas tenham número negativo, mas ciclos negativos não devem existir. Este algoritmo trabalha com base no
Algoritmo de Bellman-Ford, para computar uma transformação de um grafo de entrada, que remove todas os pesos
negativos, permitindo o uso do algoritmo de Dijkstra no grafo transformado. Recebe esse nome em homenagem a
Donald B. Johnson, o primeiro a descreve-lo, em 1977.
Descrição do algoritmoÉ formado pelos seguintes passos:
1. Primeiro, um novo nó q é
adicionado ao grafo, conectado com
peso zero (0) com cada um dos
outros nós.
2. Segundo, é usado o algoritmo de
Bellman – Ford, começando a partir
do novo nó q, para encontrar cada
um dos vértices v, o de menor peso
h(v) do caminho de q para v. Se esse
passo detectar um ciclo negativo, o algoritmo é terminado.
3. O próxima borda do grafo original é reponderada usando os valores calculados pelo algoritmo Bellman – Ford:
uma borda de u para v, tendo comprimento w(u,v), é dada pelo novo comprimento w(u,v) + h(u) −h(v).
4. Finalmente, q é removido, e o algoritmo de Dijkstra é usado para encontrar o menor caminho para cada um dos
nós s para todos os outros vértices no grafo reponderado.
Veja tambémalgoritmo de Bellman-Ford
Algoritmo de Dijkstra
Problema do caminho mais curto
Grafo
Ligações externas• Boost: All Pairs Shortest Paths [1]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 105/157
Algoritmo de Johnson 101
Referências[1] http:/ / www. boost. org/ doc/ libs/ 1_40_0/ libs/ graph/ doc/ johnson_all_pairs_shortest. html
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 106/157
102
Algoritmos para obter a árvore de extensãomínima
Algoritmo de KruskalO algoritmo de Kruskal é um algoritmo em teoria dos grafos que busca uma árvore geradora mínima para um grafo
conexo com pesos. Isto significa que ele encontra um subconjunto das arestas que forma uma árvore que inclui todos
os vértices, onde o peso total, dado pela soma dos pesos das arestas da árvore, é minimizado. Se o grafo não for
conexo, então ele encontra uma floresta geradora mínima (uma árvore geradora mínima para cada componente
conexo do grafo). O algoritmo de Kruskal é um exemplo de um algoritmo guloso (também conhecido como
ganancioso ou greedy).
Seu funcionamento é mostrado a seguir:• crie uma floresta F (um conjunto de árvores), onde cada vértice no grafo é uma árvore separada
• crie um conjunto S contendo todas as arestas do grafo
• enquanto S for não-vazio, faça:
• remova uma aresta com peso mínimo de S
•• se essa aresta conecta duas árvores diferentes, adicione-a à floresta, combinando duas árvores numa única
árvore parcial
•• do contrário, descarte a aresta
Ao fim do algoritmo, a floresta tem apenas um componente e forma uma árvore geradora mínima do grafo.
Com o uso de uma estrutura de dados aceitável, o algoritmo de Kruskal pode ser demonstrado que executa em tempoO (m log n), onde m é o número de arestas e n o número de vértices.
Exemplo
Grafo original a ser computado o algoritmo de Kruskal. Os números representam o peso nas arestas, e no
momento não existe aresta selecionada.
As arestas AD e CE são as mais leves do grafo e ambas podem ser selecionadas. É escolhido ao acaso AD.
Agora a aresta CE é a mais leve. Já que ele não forma um laço com AD ela é selecionada.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 107/157
Algoritmo de Kruskal 103
A próxima aresta é a DF com peso 6. Ela não forma um laço com as arestas já selecionadas então ela é
selecionada.
Agora duas arestas com peso 7 podem ser selecionadas e uma é escolhida ao acaso. A aresta BD é marcadapois forma um laço com as outras arestas já selecionadas.
Agora a outra aresta de peso 7 é selecionada pois cobre todos os requisitos de seleção. Similarmente ao
passo anterior, outras arestas são marcadas para não serem selecionadas, pois resultariam em um laço.
Para finalizar é selecionada a aresta EG com peso 9. FG é marcada. Já que agora todas as arestas
disponíveis formariam um laço, chega-se ao final do algoritmo e a árvore geradora mínima é encontrada.
Algoritmo de PrimNa ciência da computação o algoritmo de Prim é um algoritmo guloso (greedy algorithm) empregado para
encontrar uma árvore geradora mínima (minimal spanning tree) num grafo conectado, valorado e não direcionado.
Isso significa que o algoritmo encontra um subgrafo do grafo original no qual a soma total das arestas é minimizada
e todos os vértices estão interligados. O algoritmo foi desenvolvido em 1930 pelo matemático Vojtěch Jarník e
depois pelo cientista da computação Robert C. Prim em 1957 e redescoberto por Edsger Dijkstra em 1959.
Outros algoritmos conhecidos para encontrar árvores geradoras mínimas são o algoritmo de Kruskal e algoritmo de
Boruvka. No entanto estes algoritmos podem ser empregados em grafos desconexos, enquanto o algoritmo de Prim
precisa de um grafo conexo.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 108/157
Algoritmo de Prim 104
Descrição
Figura 1: passo a passo da execução do algoritmo de Prim iniciado
pelo vértice 0
O algoritmo de Prim encontra uma árvore geradora
mínima para um grafo desde que ele seja valorado e
não direcionado. Por exemplo, se na figura 1 os
vértices deste grafo representassem cidades e as arestas
fossem estradas de terra que interligassem estascidades, como poderíamos determinar quais estradas
asfaltar gastando a menor quantidade de asfalto
possível para interligar todas as cidades. O algoritmo
de Prim neste caso fornecerá uma resposta ótima para
este problema que não necessariamente é única. A
etapa f) da figura 1 demonstra como estas cidades
devem ser conectadas com as arestas em negrito.
Algoritmo genéricoUm algoritmo genérico para o algoritmo de Prim é
dado da seguinte forma:
Escolha um vértice S para iniciar o subgrafo
enquanto há vértices que não estão no
subgrafo
selecione uma aresta segura
insira a aresta segura e seu vértice
no subgrafo
ComplexidadeA complexidade do algoritmo de Prim pode mudar de acordo com a estrutura de dados utilizada para representar o
grafo. As implementações mais comuns para um grafo são por listas de adjacência e por matrizes de adjacência e
suas respectivas complexidades e no pior caso.
Exemplo de execuçãoRepare neste exemplo de execução do algoritmo como as arestas são escolhidas para entrar no subgrafo. O conjunto
V\U são os vértices que ainda não entraram no subgrafo, o conjunto U são os vértices que já estão no subgrafo, as
arestas possíveis é uma lista de arestas que poderiam ser incluidas no subgrafo, pois conectam vértices contidos no
subgrafo com os que ainda não estão e as arestas incluídas são aquelas que já estão no subgrafo. Dessa maneira e
segundo o algoritmo genérico dado acima, para escolhermos uma aresta segura devemos observar o conjunto de
arestas possíveis e selecionar aquelas que não formam ciclos com o subgrafo até entao formado e cujo peso é o
mínimo possível naquele momento. Se uma aresta apresentar todos estes quesitos podemos considerá-la uma aresta
segura.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 109/157
Algoritmo de Prim 105
Imagem Arestas
incluídas
no subgrafo
U Arestas
possíveis
V \ U Descrição
{} {} {A,B,C,D,E,F,G} Este é o grafo original. Os números próximos das arestas
significam o seu peso.
{DA} {D} {D,A} = 5V
{D,B}=9
{D,E}=15
{D,F}=6
{A,B,C,E,F,G} O vértice D foi escolhido como ponto inicial do algoritmo.
Vértices A, B, E e F estão conectados com D através de
uma única aresta. A é o vértice mais próximo de D e,
portanto a aresta AD será escolhida para formar o
subgrafo.
{DA, DF} {A,D} {D,B}=9
{D,E}=15
{D,F}=6V
{A,B}=7
{B,C,E,F,G} O próximo vértice escolhido é o mais próximo de D ou A.
B está a uma distância 9 de D, E numa distância 15 e F
numa distância 6. E A está a uma distância de 7 de B.
Logo devemos escolher a aresta DF, pois é o menor peso.
{DA, DF,
AB}
{A,D,F} {D,B}=9
{D,E}=15
{A,B}=7V{F,E}=8
{F,G}=11
{B,C,E,G} Agora devemos escolher o vértice mais próximo dos
vértices A, D ou F. A aresta em questão é a aresta AB.
{DA, DF,
AB, BE}
{A,B,D,F} {B,C}= 8
{B,E}=7V
{D,B}=9ciclo
{D,E}=15
{F,E}=8
{F,G}=11
{C,E,G} Agora podemos escolher entre os vértices C, E, e G. C
está a uma distância de 8 de B, E está a uma distância 7 de
B e G está a 11 de F. E é o mais próximo do subgrafo e,
portanto escolhemos a aresta BE.
{DA, DF,
AB, BE, EC}
{A,B,D,E,F} {B,C}=8
{D,B}=9ciclo
{D,E}=15ciclo{E,C}=5V
{E,G}=9
{F,E}=8 ciclo
{F,G}=11
{C,G} Restam somente os vértices C e G. C está a uma distância
5 de E e de G a E 9. C é escolhido, então a aresta EC
entra no subgrafo construído.
{DA, DF,
AB, BE, EC,
EG}
{A,B,C,D,E,F} {B,C}=8ciclo
{D,B}=9ciclo
{D,E}=15ciclo
{E,G}=9V
{F,E}=8ciclo
{F,G}=11
{G} Agora só resta o vértice G. Ele está a uma distância de 11
de F, e 9 de E. E é o mais próximo, então G entra no
subgrafo conectado pela aresta EG.
{DA, DF,
AB, BE, EC,
EG}
{A,B,C,D,E,F,G} {B,C}=8 ciclo
{D,B}=9 ciclo
{D,E}=15
ciclo
{F,E}=8 ciclo
{F,G}=11 ciclo
{} Aqui está o fim do algoritmo e o subgrafo formado pelas
arestas em verde representam a árvore geradora mínima.
Nesse caso esta árvore apresenta a soma de todas as suas
arestas o número 39.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 110/157
Algoritmo de Prim 106
Implementação em PHP
$origem = array( 1 => 1,1,2,2,2,3,4,4,5);
$destino = array( 1 => 2,3,3,4,5,5,6,5,6);
$custo = array( 1 => 1,3,1,2,3,2,3,-3,2);
$nos = 6;
$narcos = 9;
// Define o infinito como sendo a soma de todos os custos
$infinito = array_sum($custo);
// Imprimindo origem destino e custo
echo utf8_decode("Grafo:<br>");
for($i =1 ; $i <= count($origem) ; $i++) {
echo utf8_decode("$origem[$i] $destino[$i] $custo[$i]<br>");
}
// ------ Passo inicial
// Seta os valores de T
for($i =1 ; $i <= 6 ; $i++) {
if($i == 1) {
$t[$i] = $i;
} else {
$t[$i] = "nulo";
}
}
// Seta os valores de V
for($i =1 ; $i <= 6 ; $i++) {
if($i == 1) {
$v[$i] = "nulo";
} else {
$v[$i] = $i;
}
}
echo utf8_decode("Início");
echo utf8_decode("<br> T: ");
print_r($t);
echo utf8_decode("<br> V: ");
print_r($v);
echo utf8_decode("<br>");
// ------ Fim do passo inicial
$total_nos = count($origem);
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 111/157
Algoritmo de Prim 107
for($x =1 ; $x <= ($nos-1) ; $x++) {
// Verifica origem -> destino
$minimo1 = $infinito;
for($i =1 ; $i <= $narcos ; $i++) {
for($j =1 ; $j <= $nos ; $j++) {
if($origem[$i] == $t[$j]) {
for($k =1 ; $k <= $nos ; $k++) {
if($destino[$i] == $v[$k]) {
if($custo[$i] < $minimo1) {
$minimo1 =
$custo[$i];
$aux1 = $i;
}
}
}
}}
}
// Verifica destino -> origem
$minimo2 = $infinito;
for($i =1 ; $i <= $narcos ; $i++) {
for($j =1 ; $j <= $nos ; $j++) {
if($destino[$i] == $t[$j]) {
for($k =1 ; $k <= $nos ; $k++) {
if($origem[$i] == $v[$k]) {if($custo[$i] < $minimo2) {
$minimo2 =
$custo[$i];
$aux2 = $i;
}
}
}
}
}
}
if($minimo2 < $minimo1) {
$cont = 1;
$minimo = $minimo1;
$aux = $aux1;
echo utf8_decode("<br> Aresta ($origem[$aux],$destino[$aux])
escolhida de custo $custo[$aux]");
} else {
$minimo = $minimo2;
$aux = $aux2;echo utf8_decode("<br> Aresta ($destino[$aux],$origem[$aux])
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 112/157
Algoritmo de Prim 108
escolhida de custo $custo[$aux]");
$cont = 2;
}
if($cont == 1) {
$t[$destino[$aux]] = $destino[$aux];
$v[$destino[$aux]] = "nulo";
} else {
$t[$origem[$aux]] = $origem[$aux];
$v[$origem[$aux]] = "nulo";
}
echo utf8_decode("<br> ".$x."° iteração");
echo utf8_decode("<br> T: ");
print_r($t);
echo utf8_decode("<br> V: ");
print_r($v);}
Bibliografia• Cormen, Thomas; Stein, Clifford. Introduction to Algorithms (em inglês). 2 ed. [S.l.]: MIT Press and
McGraw-Hill, 2001. Capítulo: 23, ISBN 0-262-03293-7
Ligações Externas• Algoritmo de Prim (http:/ / www.mincel.com/ java/ prim.html)
• Exemplo animado de um algoritmo de Prim (http:/ / students.ceid. upatras. gr/ ~papagel/ project/ prim.htm)
• Demonstração em Python de uma árvore mínima (http:/
/
people.
csail.mit.
edu/
rivest/
programs.
html)• Implementção em Java do algoritmo de Prim (http:/ / code.google. com/ p/ annas/ )
• Implementação em C# do algoritmo de Prim (http:/ / code. google. com/ p/ ngenerics/ )
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 113/157
Algoritmo de Dijkstra 109
Algoritmo de Dijkstra
Algoritmo de Dijkstra
classe Algoritmo de busca
estrutura de dados Grafo
complexidade pior
casoAlgoritmos
O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado
em 1959[][1], soluciona o problema do caminho mais curto num grafo dirigido ou não dirigido com arestas de peso
não negativo, em tempo computacional O([m+n]log n) onde m é o número de arestas e n é o número de vértices. O
algoritmo que serve para resolver o mesmo problema em um grafo com pesos negativos é o algoritmo de
Bellman-Ford, que possui maior tempo de execução que o Dijkstra.
O algoritmo de Dijkstra assemelha-se ao BFS, mas é um algoritmo guloso, ou seja, toma a decisão que parece
ótima no momento. Para a teoria dos grafos uma "estratégia gulosa" é conveniente já que sendo P um menor
caminho entre 2 vértices U e V, todo sub-caminho de P é um menor caminho entre 2 vértices pertencentes aocaminho P, desta forma construímos os melhores caminhos dos vértices alcançáveis pelo vértice inicial
determinando todos os melhores caminhos intermediários. Nota: diz-se 'um menor caminho' pois caso existam 2
'menores caminhos' apenas um será descoberto.
O algoritmo considera um conjunto S de menores caminhos, iniciado com um vértice inicial I. A cada passo do
algoritmo busca-se nas adjacências dos vértices pertencentes a S aquele vértice com menor distância relativa a I e
adiciona-o a S e, então, repetindo os passos até que todos os vértices alcançáveis por I estejam em S. Arestas que
ligam vértices já pertencentes a S são desconsideradas.
Um exemplo prático do problema que pode ser resolvido pelo algoritmo de Dijkstra é: alguém precisa se deslocar de
uma cidade para outra. Para isso, ela dispõe de várias estradas, que passam por diversas cidades. Qual delas oferece
uma trajetória de menor caminho?
Algoritmo de Dijkstra• 1º passo: iniciam-se os valores:
para todo v ∈ V[G]
d[v]← ∞
π[v] ← nulo
d[s] ← 0
V[G] é o conjunto de vértices(v) que formam o Grafo G. d[v] é o vetor de distâncias de s até cada v. Admitindo-se apior estimativa possível, o caminho infinito. π[v] identifica o vértice de onde se origina uma conexão até v de
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 114/157
Algoritmo de Dijkstra 110
maneira a formar um caminho mínimo.
• 2º passo: temos que usar o conjunto Q, cujos vértices ainda não contém o custo do menor caminho d[v]
determinado.
Q ← V[G]
• 3º passo: realizamos uma série de relaxamentos das arestas, de acordo com o código:enquanto Q ≠ ø
u ← extrair-mín(Q) //Q ← Q - {u}
para cada v adjacente a u
se d[v] > d[u] + w(u, v) //relaxe (u, v)
então d[v] ← d[u] + w(u, v)
π[v] ← u
Q ← Q ∪ {v}
w(u, v) é o peso(weight) da aresta que vai de u a v.
u e v são vértices quaisquer e s é o vértice inicial.extrair-mín(Q), pode usar um heap de mínimo ou uma lista de vértices onde se extrai o elemento u com menor valor
d[u].
No final do algoritmo teremos o menor caminho entre s e qualquer outro vértice de G. O algoritmo leva tempo O(m
+ n log n) caso seja usado um heap de Fibonacci, O(m log n) caso seja usado um heap binário e O(n²) caso seja
usado um vetor para armazenar Q.
Implementação em C/C++Implementação em C utilizando uma matriz de adjacências. Dependendo da quantidade limite de vértices (MAXV)
pode se tornar ineficiente quanto ao uso de memória, sendo recomendado usar uma lista de adjacências.#include <string.h> //memset
// MAXV é uma constante que define a quantidade máxima de vértices
#define MAXV 100
// Matriz de adjacências
// Se MAdj[i][j] > 0, então há aresta que liga 'i' a 'j' com custo MAdj[i][j].
int MAdj[MAXV][MAXV];
// Armazena a distância mínima partindo de um vértice 'i' até todos os outros vértices
// dis[j] representa a menor distância de 'i' a 'j'.
int dis[MAXV];
// Calcula as distâncias de 'Vi' a todos os outros vértices de um grafo com 'V' vértices e armazena-as em dis[]
void dijkstra (int Vi, int V)
{
// vis[i] informa se o vértice 'i' já foi visitado/analisado ou não (inicialmente nenhum vértice foi)
char vis[MAXV];
memset (vis, 0, sizeof (vis));
// Inicialmente afirmamos que a menor distância encontrada entre Vi e qualquer outro vértice (exceto o próprio Vi) é infinita
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 115/157
Algoritmo de Dijkstra 111
memset (dis, 0x7f, sizeof (dis));
dis[Vi] = 0;
while (1)
{
int i, n = -1;
for (i = 0; i < V; i++)
if (! vis[i] && (n < 0 || dis[i] < dis[n]))
n = i;
if (n < 0)
break;
vis[n] = 1;
for (i = 0; i < V; i++)
if (MAdj[n][i] && dis[i] > dis[n] + MAdj[n][i])
dis[i] = dis[n] + MAdj[n][i];
}
}
Implementação em C++ utilizando uma lista de adjacências.
#include <string.h> //memset
#include <vector>
using namespace std;
// MAXV é uma constante que define a quantidade máxima de vértices
#define MAXV 100
// Lista de adjacências
// Para inserir uma aresta - partindo do vértice 'i' ao vértice 'j', com custo 'c' - na lista, podemos usar:
// LAdj[i].push_back (make_pair (j, c));
vector < pair <int, int> > LAdj[MAXV];
// Armazena a distância mínima partindo de um vértice 'i' até todos os outros vértices
// dis[j] representa a menor distância de 'i' a 'j'.
int dis[MAXV];
// Calcula as distâncias de 'Vi' a todos os outros vértices de um grafo com 'V' vértices e armazena-as em dis[]
void dijkstra (int Vi, int V)
{
// vis[i] informa se o vértice 'i' já foi visitado/analisado ou não (inicialmente nenhum vértice foi)
char vis[MAXV];
memset (vis, 0, sizeof (vis));
// Inicialmente afirmamos que a menor distância encontrada entre Vi e qualquer outro vértice (exceto o próprio Vi) é infinita
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 116/157
Algoritmo de Dijkstra 112
memset (dis, 0x7f, sizeof (dis));
dis[Vi] = 0;
while (1)
{
int i, n = -1;
for (i = 0; i < V; i++)
if (! vis[i] && (n < 0 || dis[i] < dis[n]))
n = i;
if (n < 0)
break;
vis[n] = 1;
for (i = 0; i < LAdj[n].size (); i++)
// Aresta n -> LAdj[n][i].first com custo LAdj[n][i].second
if (dis[LAdj[n][i].first] > dis[n] + LAdj[n][i].second)
dis[LAdj[n][i].first] = dis[n] + LAdj[n][i].second;
}
}
A implementação do algorítmo utilizando uma lista de adjacências é ligeiramente mais rápida que a implementação
com uma matriz de adjacências para casos em que o número de arestas não se aproxima do pior caso (uma aresta
ligando cada par de vértices); quando próximo ao pior caso, o desempenho é similar. Ambos possuem complexidade
de tempo em torno de O(V²).
É possível obter uma solução em O(E + V log V) (custo amortizado), onde E é o número de arestas, utilizando um
heap de fibonacci ou O(E log V) usando priority queue da STL de C++ para extrair o vértice não-visitado com
menor distância. O heap simples, embora levemente mais lento que o heap de fibonacci, também pode ser usado para
obter uma complexidade similar.
Ligações externas• Artigo explicativo sobre o algoritmo [2]
• Artigo e Implementação do Algoritmo de Dijkstra em C [3]
• (em espanhol) Algoritmo de Dijkstra em C [4]
• (em inglês) Algoritmo de Dijkstra em C# [5]
• (em inglês) [6] - NIST
• (em inglês) Applet do algoritmo de Dijkstra [7]
[2] http:/ / www. inf. ufsc. br/ grafos/ temas/ custo-minimo/ dijkstra. html
[3] http:/ / www. vivaolinux. com. br/ script/ Algoritmo-de-Dijkstra
[4] http:/ / www. mis-algoritmos. com/ source-154. html
[5] http:/ / www. codeproject. com/ useritems/ Shortest_Path_Problem. asp
[6] http:/ / www. nist.gov/ dads/ HTML/ dijkstraalgo. html
[7] http:/ / www-b2. is.tokushima-u. ac. jp/ ~ikeda/ suuri/ dijkstra/ Dijkstra. shtml
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 117/157
Algoritmo de Boruvka 113
Algoritmo de BoruvkaO o algoritmo de Borůvka (ou Barůvka como também é conhecido) é um algoritmo para encontrar uma árvore
geradora mínima em um grafo para o qual todos os pesos de arestas sejam distintos.
Este algoritmo caracteriza-se pela divisão do grafo original em vários subgrafos para os quais é calculado a Minimum
Spanning Tree (árvore geradora mínima). Ou seja, no fundo, pode ser considerada uma variação de algoritmos como
os de Prim e Kruskal. É um algoritmo que, de modo diverso dos algoritmos de Kruskal e Prim, não usa uma fila de
prioridades[1].
É um algoritmo com uma velocidade de convergência (ou resolução) bastante rápida sendo ideal para implementação
em computadores paralelos já que a Minimum Spanning Tree de cada um dos subgrafos pode ser calculada numa
máquina diferente.
Este algoritmo é recursivo e só termina quando existe apenas um vértice.
O algoritmo de Baruvka compreende os seguintes passos:
1 - para cada vértice escolher o seu arco com peso mínimo. Deste passo poderão resultar vários subgrafos.
2 - caso o passo 1 dê origem a grafos não conectados, considere-se cada subgrafo gerado no passo anterior como um
vértice do grafo final. Estes vértices do grafo final conterão os vértices de cada umdos subgrafos gerados no passo 1.
Para cada um dos subgrafos gerados execute-se de novo o passo 1 (recursividade). Neste momento pode-se, caso
existam várias máquinas diferentes, correr este algoritmo nas várias máquinas sendo que cada 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á que cada máquina vai executar as mesmas instruções mas sobre um
conjunto de dados diferentes).
3 - Quando for encontrada a Minimum Spanning Tree para cada um dos grafos gerar um novo grafo onde cada um
vértices deste grafo é um dos subgrafos. O objectivo agora será voltar a executar os passos 1 a 3 até que existam
apenas 2 vértices e um único arco.A título de exemplo
Seja V um grafo não orientado cuja representação matricial é a seguinte:
Exemplo 1
- a b c d e f
a 0 4 2 0 0 0
b 4 0 2 0 5 1
c 2 2 0 10 1 0
d 0 0 10 0 15 0
e 0 5 1 15 0 2
f 0 1 0 0 2 0
Nota: As posições (i,j) e (j,i) da matriz anterior têm os mesmos valores. Isso indica que o grafo em análise é não orientado.
Executando o passo 1 acima referido sobre esta matriz passaríamos a ter a seguinte matriz:
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 118/157
Algoritmo de Boruvka 114
- a b c d e f
a 0 0 2 0 0 0
b 0 0 0 0 0 1
c 0 0 0 0 1 0
d 0 0 10 0 0 0
e 0 0 0 0 0 0
f 0 0 0 0 0 0
Analisando esta nova matriz podemos ver que existem duas linhas a zero (e e f ), o que claramente indica a existência
de dois subgrafos. Como verificar quais os subgrafos? É um processo simples de verificar quais as linhas e colunas
que se cruzam. Neste caso os novos subgrafos são dados pelas seguintes matrizes:
- b f
b 0 1
f 0 0
- a c d e
a 0 2 0 0
c 0 0 0 1
d 0 10 0 0
e 0 0 0 0
Notar que é necessário reter,da matriz original os valores que cruzam os vértices dos diferentes subgrafos gerados no
passo 1, ou seja, a arco a-b (com peso 4), o arco c-b (com peso 2), o arco b-e (com peso 5) e o arco e-f (com peso 2).Estes arcos são usados para unir os vértices do arco gerado no passo 3.
Neste exemplo bastante simples, o passo 2 representado pelas duas matrizes anteriores. Deste modo, não é necessário
encontrar a Minimum Spanning Tree para cada uma destas matrizes já que quando se executa o passo 1 estas são
encontradas automaticamente (outros exemplos há em que é necessário executar o passo 2). Isto leva, então, à
geração do grafo do passo 3 em que temos dois vértices (um para cada uma das matrizes anteriores) e que pode ser
representado sob a seguinte forma
- bf acde
bf 0 4/2/2/5
acde 4/2/2/5 0
Note-se que a diagonal principal da matriz está a zero mas a outra diagonal não (é apenas uma questão de
representacão. (matriz transposta esta matriz ir-se-ia obter a diagonal principal não nula e a outra diagonal a zero.)
Estes valores indicam possíveis arcos que ligam os vértices deste grafo. Então, volta-se a executar o passo 1 sobre
este grafo pelo que se chega à conclusão de que o grafo inicial deu origem a um grafo final cuja representação é a
seguinte:
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 119/157
Algoritmo de Boruvka 115
- bf acde
bf 0 2
acde 0 0
Referências
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 120/157
116
Grafos individuais
Grafo de Biggs-SmithGrafo de
Biggs –Smith
O grafo de Biggs – Smith
vértices 102
arestas 153
Raio 7
Diâmetro 7
Cintura 9
Automorfismos 2448 (PGL(2,17))
Númerocromático
3
Índicecromático
3
Propriedades CúbicoHamiltonianosimétricodistância-regular
No campo da matemática da teoria dos grafos o grafo de Biggs –Smith é um grafo não-orientado 3-regular com 102
vértices e 153 arestas.[1]
Ele tem número cromático 3, índice cromático 3, raio 7, diâmetro 7 e cintura 9. É tanto 3-vértice-conectado quanto
3-aresta-conectado.
Todos os grafos distância-regular cúbicos são conhecidos.[2] O grafo Biggs – Smith é um destes 13 grafos.
Propriedades algébricasO grupo de automorfismo do grafo de Biggs – Smith é um grupo de ordem 2448[3] isomórfico ao PGL(2,17). Ele age
transitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto, o grafo de Biggs – Smith é im grafo
simétrico. Ele tem automorfismos que levam qualquer vértice para qualquer outro vértice e qualquer aresta para
qualquer outra aresta. De acordo com o censo de Foster , o grafo de Biggs-Smith, referenciado como F102A, é oúnico grafo cúbico simétrico em 102 vértices.[4]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 121/157
Grafo de Biggs-Smith 117
O grafo de Biggs – Smith é também singularmente determinado por seu espectro de grafo, o conjunto de autovalores
do grafo de sua matriz de adjacência.[5]
O polinômio característico do grafo de Biggs – Smith é:
.
Galeria
O número cromático do grafo de
Biggs – Smith graph é 3.
O índice cromático do grafo de
Biggs – Smith graph é 3.
Desenho alternativo do grafo de
Biggs – Smith.
[2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. Distance-Regular Graphs. New York: Springer-Verlag, 1989.
[3] Royle, G. F102A data (http:/ / www. csse. uwa. edu. au/ ~gordon/ foster/ F102A. html)
[4] Conder, M. and Dobcsányi, P. "Trivalent Symmetric Graphs Up to 768 Vertices." J. Combin. Math. Combin. Comput. 40, 41 – 63, 2002
[5] E. R. van Dam and W. H. Haemers, Spectral Characterizations of Some Distance-Regular Graphs. J. Algebraic Combin. 15, pages 189 – 202,
2003
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 122/157
Grafo de Brouwer-Haemers 118
Grafo de Brouwer-Haemers
Grafo deBrouwer –Haemers
vértices 81
arestas 810
Cintura 3
Automorfismos 233280
Númerocromático
7
Propriedades Fortemente regular
No campo da matemática da teoria dos grafos, o Grafo de Brouwer –Haemers é um grafo não direcionado
20-regular com 81 vértices e 810 arestas. É o único grafo fortemente regular com parâmetros (81, 20, 1, 6).
Propriedades algébricas
O automorfismo de grupo do grafo de Brouwer-Haemers é um grupo da oredem de 233280. O polinômio
característico do grafo de Brouwer-Haemers é: .
Ligações externas• Weisstein, Eric W. "Brouwer – Haemers Graph." From MathWorld —A Wolfram Web Resource. [1]
• Página de Andries E. Brouwer. [2]
Referências
[1] http:/
/
mathworld.
wolfram.
com/
Brouwer-HaemersGraph.
html[2] http:/ / www. win.tue. nl/ ~aeb/ graphs/ Brouwer-Haemers. html
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 123/157
Grafo de Desargues 119
Grafo de Desargues
Grafo deDesargues
O grafo de Desargues
Nomeado em
honra a
Girard Desargues
vértices 20
arestas 30
Raio 5
Diâmetro 5
Cintura 6
Automorfismos 240 (S5× Z /2Z)
Número cromático 2
Índice cromático 3
Propriedades CúbicoHamiltonianosimétricodistância-regularBipartido
No campo da matemática da teoria dos grafos o grafo de Desargues é um grafo cúbico, distância-transitivo com 20
vértices e 30 arestas.[1] É nomeado em honra a Girard Desargues, surge a partir de diferentes construções
combinatória, tem um elevado nível de simetria, é o único conhecido cubo parcial cúbico não-planar , e tem sido
aplicado em bases de dados químicos.
O nome "grafo de Desargues" também tem sido usado para se referir ao complemento do grafo de Petersen
[2]
.
ConstruçõesExistem várias maneiras diferentes de construir o grafo de Desargues:
• É o grafo de Petersen generalizado G(10, 3). Para formar o grafo de Desargues desta forma, conecte dez dos
vértices em um decágono regular, e conecte os outros dez vértices em uma estrela de dez pontas que conecta os
pares de vértices a uma distância três em um segundo decágono. O grafo de Desargue consiste das 20 arestas
destes dois polígonos juntamente com 10 arestas adicionais de pontos de conexão de um decágono para os pontos
correspondentes do outro.
• É o grafo de Levi da configuração de Desargues. Esta configuração é composta por dez pontos e dez linhas
descrevendo dois triângulos em perspectiva, seu centro de perspectiva, e seu eixo de perspectiva. 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
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 124/157
Grafo de Desargues 120
ponto incidente. O teorema de Desargues, nomeado em honra ao matemático francês do século 17 Girard
Desargues, descreve um conjunto de pontos e linhas que formam essa configuração, e a configuração e o grafo
devem seu nome a ela.
• É a cobertura bipartida dupla do grafo de Petersen, formada pela substituição de cada vértice do grafo de Petersen
por um par de vértices e cada aresta do grafo de Petersen por um par de arestas cruzadas.
• É o grafo de Kneser bipartido H 5,2
. Seus vértices podem ser rotulados pelos dez subconjuntos de dois elementos e
os dez subconjuntos de três elementos de um conjunto de cinco elementos, com uma aresta conectando dois
vértices quando um dos conjuntos correspondentes é um subconjunto do outro.
• O grafo de Desargues é Hamiltoniano e pode ser construído pela notação LCF: [5,−5,9,−9]5
Propriedades algébricasO grafo de Desargues é um grafo simétrico: tem simetrias que levam qualquer vértice para qualquer outro vértice e
qualquer aresta para qualquer outra aresta. Seu grupo de simetria tem ordem 240, e é isomórfico ao o produto de um
grupo simétrico em 5 pontos, com um grupo de ordem 2.
Pode-se interpretar esta representação de produtos do grupo de simetria em termos de construções do grafo de
Desargues: o grupo simétrico em cinco pontos é o grupo de simetria da configuração de Desargues, e o subgrupo de
ordem-2 troca os papéis dos vértices que representam pontos da configuração de Desargues e os vértices que
representam as linhas. Como alternativa, em termos do grafo bipartido de Kneser, o grupo simétrico em cinco pontos
de age em separado sobre os subconjuntos 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
outro. O grupo simétrico em cinco pontos é também o grupo de simetria do grafo de Petersen, e o subgrupo de
ordem-2 troca os vértices dentro de cada par de vértices formados na construção da dupla cobertura.
O grafo de Petersen generalizado G(n, k ) é vértice-transitivo se e somente se n = 10 e k = 2 ou se k 2 ≡ ±1 (mod n) e é
aresta-transitivo somente nos seguintes sete casos: (n, k ) = (4, 1), (5, 2), (8, 3), (10, 2), (10, 3), (12, 5), (24, 5).[3]
Assim, o grafo de Desargues é um dos apenas sete grafos de Petersen generalizados simétricos. Entre estes setegrafos estão o grafo cúbico G(4, 1), o grafo de Petersen G(5, 2), o grafo de Möbius – Kantor G(8, 3), o grafo
dodecaédrico G(10, 2) e o grafo de Nauru G(12, 5).
O polinômio característico do grafo de Desargues é:
Portanto o grafo de Desargues é um grafo integral: seu espectro consiste inteiramente de inteiros.
AplicaçõesEm química, o grafo de Desargues é conhecido como o grafo de Desargues-Levi; é utilizado para organizar
sistemas de estereoisômeros de compostos 5-ligantes. Nesta aplicação, as trinta arestas do grafo correspondem apseudorotações dos ligantes[4][5].
Outras propriedadesO grafo de Desargues tem um número de cruzamento retilíneo 6, e é o menor grafo cúbico com este número de
cruzamento (sequência A110507 na OEIS). É o único conhecido cúbico não planar cubo parcial[6] .
O grafo de Desargues tem um número cromático 2, índice cromático 3, raio 5, diâmetro 5 e cintura 6. É também um
grafo hamiltoniano, 3-vértice-conectado, e 3-aresta-conectado.
Todos os grafos distância-regular cúbicos são conhecidos.[7] O grafo de Desargues é um destes 13 grafos.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 125/157
Grafo de Desargues 121
Galeria
O grafo de Desargues colorido para
sobresaltar vários ciclos.
O índice cromático do grafo de Desargues é 3. O número cromático do grafo de Desargues
é 2.
[3][3] .[7][7] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. Distance-Regular Graphs. New York: Springer-Verlag, 1989.
Grafo de Folkman
Grafo deFolkman
O grafo de Folkman
Nomeado emhonra a
J. Folkman
vértices 20
arestas 40
Raio 3
Diâmetro 4
Cintura 4
Número cromático 2
Índice cromático 4
Propriedades PerfeitoHamiltonianoSemi-simétrico
BipartidoRegularEuleriano
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 126/157
Grafo de Folkman 122
No campo da matemática da teoria dos grafos o grafo de Folkman, nomeado em honra a Jon Folkman, é um grafo
bipartido 4-regular com 20 vértices e 40 arestas.[1]
O grafo de Folkman é Hamiltoniano e tem número cromático 2, índice cromático 4, raio 3, diâmetro 4 e cintura 4. e é
um grafo perfeito tanto 4-vértice-conectado quanto 4-aresta-conectado.
Propriedades algébricasO grupo de automorfismo do grafo de Folkman age transitivamente em suas arestas, mas não em seus vértices. É o
menor grafo não direcionado, que é aresta-transitivo e regular, mas não é vértice-transitivo.[2] Esses grafos são
chamados semi-simétricos e foram estudados pela primeira vez por Folkman em 1967 que descobriu o grafo de 20
vértices, que agora é nomeado em sua honra.[3]
Como um grafo semi-simétrico, o gráfico de Folkman é bipartido, e seu grupo de automorfismo age transitivamente
em cada um dos dois conjuntos de vértices da bipartição. No diagrama abaixo, indicando o número cromático do
grafo, os vértices verdes não podem ser mapeados para os vermelhos por qualquer automorfismo, mas qualquer
vértice vermelho pode ser mapeado em qualquer outro vértice vermelho e qualquer vértice verde pode ser mapeado
em qualquer outro vértice verde.
O polinômio característico do grafo de Folkman é .
Galeria
O índice cromático do grafo de Folkman
é 4.
O número cromático do grafo de Folkman
é 2.
O grafo de Folkman é Hamiltoniano.
[2][2] Skiena, S. Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Reading, MA: Addison-Wesley, pp.
186-187, 1990
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 127/157
Grafo de Foster 123
Grafo de Foster
Grafo de Foster
Nomeado emhonra a
Ronald Martin Foster
vértices 90
arestas 135
Raio 8
Diâmetro 8
Cintura 10
Automorfismos 4320
Número cromático 2
Índice cromático 3
Propriedades Cúbico
simétricodistância-transitivoHamiltonianosimétrico
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]
O grafo de Foster é Hamiltoniano e tem número cromático 2, índice cromático 3, raio 8, diâmetro 8 e cintura 10. Ele
é também um grafo 3-vértice-conectado e 3-aresta-conectado.
Todos os grafos distância-regular cúbicos são conhecidos.[2] O grafo de Foster é um destes 13 grafos. É o único
grafo distância-transitivo com array de intersecção {3,2,2,2,2,1,1,1;1,1,1,1,2,2,2,3}.[3] Pode ser 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 honra a R. M. Foster, cujo censo de Foster de grafos simétricos cúbicos
incluíam este grafo.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 128/157
Grafo de Foster 124
Propriedades algébricasO grupo de automorfismo do grafo de Foster é um grupo de ordem 4320.[4] Ele age transitivamente sobre os vértices,
nas arestas e nos arcos do grafo. Portanto o grafo de Foster é um grafo simétrico. Ele tem automorfismos que levam
qualquer vértice para qualquer outro vértice e qualquer aresta a qualquer outra aresta. Segundo o censo de Foster , o
grafo de Foster, referenciado como F90A, é o único grafo cúbico simétrico em 90 vértices.[5]
O polinômio característico do grafo de Foster é igual a.
Galeria
Grafo de Foster colorido para ressaltar vários
ciclos.
O número cromático do grafo de Foster é 2. O índice cromático do grafo de Foster é 3.
[2][2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. Distance-Regular Graphs. New York: Springer-Verlag, 1989.
[3] Cubic distance-regular graphs (http:/ / www. win. tue. nl/ ~aeb/ graphs/ cubic_drg. html), A. Brouwer.
[4] Royle, G. F090A data (http:/ / www. csse. uwa. edu. au/ ~gordon/ foster/ F090A. html)
[5][5] Conder, M. and Dobcsányi, P. "Trivalent Symmetric Graphs Up to 768 Vertices." J. Combin. Math. Combin. Comput. 40, 41-63, 2002
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 129/157
Grafo de Frucht 125
Grafo de Frucht
Grafo de Frucht
Nomeado emhonra a
Robert Frucht
vértices 12
arestas 18
Raio 3
Diâmetro 4
Cintura 3
Automorfismos 1 ({id })
Número cromático 3
Índice cromático 3
Propriedades CúbicoPlanarHamiltoniano
No campo da matemática da teoria dos grafos, o Grafo de Frucht é um grafo 3-regular com 12 vértices e 18 arestas
e nenhuma simetria não-trivial.[1] Foi descrito pela primeira vez por Robert Frucht em 1939.[]
O grafo de Frucht é um grafo Halin com número cromático 3, índice cromático 3, raio 3, diâmetro 4, e cintura 3.
Como em todos os grafos Halin, o grafo de Frucht é planar, 3-vértice-conectado, e poliédrico. É também um grafo
3-aresta-conectado.
O grafo de Frucht é hamiltoniano e pode ser construído a partir da notação LCF: [−5,−2,−4,2,5,−2,2,5,−2,−5,4,2].
Propriedades algébricas
O grafo de Frucht é o menor grafo cúbico possuindo somente um único automorfismo de grafos, a identidade [2](ouseja, cada vértice pode ser distinguido topologicamente de todos os outros vértices). Tais grafos são chamados
assimétricos (ou identidade). O teorema de Frucht diz que qualquer grupo pode ser compreendido como o grupo de
simetrias de um grafo,[] e um reforço deste teorema também devido à Frucht afirma que qualquer grupo pode ser
percebido como as simetrias de um grafo 3-regular;[3] o grafo de Frucht fornece um exemplo desta realização para o
grupo trivial.
O polinômio característico do grafo de Frucht é igual a
.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 130/157
Grafo de Frucht 126
Galeria
O grafo de Frucht é planar. O número cromático do grafo de Frucht
é 3.
O grafo de Frucht é Hamiltoniano.
[2][2] Skiena, S. Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Reading, MA: Addison-Wesley, 1990
Grafo de Gray
Grafo de Gray
O grafo de Gray
Nomeado emhonra a
Marion Cameron Gray
vértices 54
arestas 81
Raio 6
Diâmetro 6
Cintura 8
Automorfismos 1296
Número cromático 2
Índice cromático 3
Propriedades CúbicoHamiltonianoSemi-simétrico
No campo da matemática da teoria dos grafos o grafo de Gray é um grafo não direcionado bipartido, com 54
vértices e 81 arestas. É um grafo cúbico: todo vértice toca exatamente três arestas. Foi descoberto por Marion C.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 131/157
Grafo de Gray 127
Gray, em 1932, (de forma inédita), em seguida, descoberto independentemente por Bouwer 1968, em resposta a uma
pergunta feita por Jon Folkman em 1967[1]. O grafo de Gray é interessante como o primeiro exemplo conhecido de
um grafo cúbico tendo a propriedade algébrica de ser aresta-transitivo, mas não sendo vértice-transitivo (ver abaixo).
O grafo de Gray tem um número cromático 2, índice cromático 3, raio 6 e diâmetro 6. Ele é também um grafo
3-vértice-conectado e 3-aresta-conectado não-planar.
ConstruçãoO grafo de Gray pode ser construído [2] dos 27 pontos de uma grade de 3 × 3 × 3 e as 27 linhas de eixo paralelo a
esses pontos. Esta coleção de pontos e linhas formam um configuração projetiva: cada ponto tem exatamente três
linhas, através dele, e cada linha tem exatamente três pontos sobre ela. O grafo de Gray é o grafo de Levi dessa
configuração, que tem um vértice para cada ponto e para cada linha da configuração, e uma aresta para cada par de
um ponto e uma linha que se tocam. Esta construção generaliza (Bouwer 1972) para qualquer dimensão n ≥ 3,
rendendo um grafo de Levi n-valente com propriedades algébricas semelhantes às do gráfico deGray.
Em (Monson, Pisanski, Schulte, Ivic-Weiss 2007)[3], o grafo de Gray aparece como um tipo diferente de grafo de
Levi com as arestas e faces triangulares de uma determinada localmente toroidal resumo regular 4 politopo. É,
portanto, o primeiro de uma família infinita de grafos cúbicos similarmente construídos.
Marušič e Pisanski (2000)[4] indicaram vários métodos alternativos de construção do grafo de Gray. Como acontece
com qualquer grafo bipartido, não há ciclos de comprimento impar, e também não há ciclos de quatro ou seis
vértices, de modo que a cintura do gráfico Gray é 8. A superfície orientada mais simples sobre a qual o grafo de Gray
pode ser incorporado tem gênero 7[5]. O grafo de Gray é hamiltoniano e pode ser construído a partir da notação LCF:
Propriedades algébricas
O grupo de automorfismo do grafo de Gray é um grupo de ordem 1296. Ele atua transitivamente nas arestas dografo, mas não em seus vértices : existem simetrias levando cada aresta para qualquer outra aresta mas não tomando
cada vértice para qualquer outro vértice. Os vértices que correspondem a pontos da configuração subjacentes apenas
podem ser simétricos para outros vértices que correspondem a pontos, e os vertices que correspondem a linhas só
podem ser simétricos para outros vértices que correspondem a linhas. Portanto, o grafo de Gray é um grafo
semi-simétrico, o menor possível grafo semi-simétrico cúbico.
O polinômio característico do grafo de Gray é
[1][1] .
[2][2] .
[4][4] .[5][5] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 132/157
Grafo de Gray 128
Ligações externas• O grafo de Gray é o menor grafo de seu tipo (http:/ / mathworld. wolfram. com/ news/ 2002-04-09/ graygraph/ ) ,
em MathWorld.
Galeria
O grafo de Gray O número cromático do grafo
de Gray é 2.
O índice cromático do grafo de
Gray é 3.
A configuração básica do
grafo de Gray.
Grafo de Heawood
Grafo de Heawood
Nomeado emhonra a
Percy John Heawood
vértices 14
arestas 21
Raio 3
Diâmetro 3
Cintura 6
Automorfismos 336 (PGL2(7))
Número cromático 2
Índice cromático 3
Propriedades Cúbicogaioladistância-transitivodistância-regular
ToroidalHamiltonianosimétrico
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 133/157
Grafo de Heawood 129
No campo da matemática da teoria dos grafos o grafo de Heawood é um grafo não-orientado com 14 vértices e 21
arestas.[1] O grafo é cúbico, e todos os ciclos do grafo têm seis ou mais arestas. Todos os menores grafos cúbicos têm
ciclos mais curtos, de modo que este grafo é o gaiola-6, o menor grafo cúbico de cintura 6.
É também o grafo de Levi do plano de Fano, o grafo que representa a incidência entre os pontos e linhas nesta
geometria. É um grafo distância-regular; o seu grupo de simetrias é PGL2
(7).[2]
Há 24 correspondências perfeitas no grafo de Heawood; para cada correspondência, o conjunto de arestas fora das
correspondências forma um ciclo Hamiltoniano. Por exemplo, a figura mostra os vértices do grafo colocados em um
ciclo, com as diagonais internas do ciclo formando uma correspondência. Subdividindo as arestas do ciclo em duas
correspondências, podemos particionar o grafo de Heawood em três correspondências perfeitas (isto é, usando 3
cores em suas arestas) em oito formas diferentes (Brouwer).
O grafo de Heawood foi batizado em honra de Percy John Heawood, que em 1890 provou que cada subdivisão do
toro em polígonos pode ser colorida, no máximo, com sete cores.[3][4] O grafo de Heawood forma uma subdivisão do
toro com sete regiões adjacentes mutuamente, mostrando que esse limite é apertado.
O grafo de Heawood tem número de cruzamento 3, e é o menor grafo cúbico com este número de cruzamento.
Incluindo o grafo de Heawood, existem 8 grafos distintos de ordem 14 com número de cruzamento 3.
O grafo de Heawood é um grafo distância-unidade.[5]
Propriedades algébricasO grupo de automorfismo do grafo de Heawood é isomórfico ao grupo linear projetivo PGL
2(7), um grupo de ordem
336.[6] Ele atua transitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto o grafo Heawood é um
grafo simétrico. Ele tem automorfismos que levam qualquer vértice para qualquer outro vértice e qualquer aresta
para qualquer outra aresta. De acordo com o censo Foster, o grafo de Heawood, referenciado como F014A, é o único
grafo cúbico simétrico com 14 vértices.[7][8]
O polinômio característico do grafo de Heawood é . É o único grafo com este
polinômio característico, tornando-se um grafo determinado pelo seu espectro.
Incorporado em um ToroO grafo de Heawood é um grafo toroidal; ou seja, ele pode ser incorporado sem cruzamentos em um toro. Uma
incorporação deste tipo coloca seus vértices e arestas em um espaço euclidiano tri-dimensional como o conjunto de
vértices e arestas de um poliedro convexo com a topologia de um toro, o poliedro de Szilassi.
Galeria
O poliedro de Szilassi. O grafo de Heawood tem número
de cruzamento 3.
O índice cromático do grafo
de Heawood é 3.
O número cromático do
grafo de Heawood é 2.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 134/157
Grafo de Heawood 130
A incorporação do grafo de
Heawood em um toro (mostrado
como um quadrado com
condições de contorno
periódicas) particionando-o em
sete regiões mutuamente
adjacentes
[7] Royle, G. "Cubic Symmetric Graphs (The Foster Census)." (http:/
/
www.
cs.
uwa.
edu.
au/
~gordon/
remote/
foster/
#census)[8][8] Conder, M. and Dobcsányi, P. "Trivalent Symmetric Graphs Up to 768 Vertices." J. Combin. Math. Combin. Comput. 40, 41-63, 2002.
Grafo de Higman-Sims
Grafo de Higman –Sims
Desenho baseado em uma construção de Paul R. Hafner[1]
Nomeado em honra a Donald G. HigmanCharles C. Sims
vértices 100arestas 1100
Raio 2
Diâmetro 2
Cintura 4
Automorfismos 88704000 (HS:2)
Propriedades Fortemente regularAresta-transitivoHamiltonianoEuleriano
Integral
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 135/157
Grafo de Higman-Sims 131
As partes em separado da construção de Hafner.
No campo da matemática da teoria dos grafos, o Grafo de
Higman –Sims é um grafo não direcionado, 22-regular com
100 vértices e 1100 arestas. É o único grafo fortemente
regular com 100 vértices e valência 22, onde nenhum par de
vértices vizinhos partilham um vizinho comum e cada par de
vértices não-vizinhos partilham seis vizinhos comuns.[2]
Foiconstruído em 1968 por Donald G. Higman e Charles C. Sims
como uma forma de definir o grupo de Higman – Sims, e este
grupo é um subgrupo do índice dois no grupo de
automorfismos do grafo de Higman – Sims.[3]
A construção começa com o grafo M22
, cujos 77 vértices são os blocos do S(3,6,22) sistema de Steiner W22
.
Vértices adjacentes são definidos como blocos disjuntos. Este grafo é fortemente regular; qualquer vértice tem 16
vizinhos, quaisquer dois vértices adjacentes não tem vizinhos comuns, e quaisquer dois vértices não adjacentes têm 4
vizinhos comuns. Este grafo tem M22
:2 como seu automorfismo de grupo, sendo M22
o seu grupo Mathieu.
O grafo de Higman – Sims é formado anexando os 22 pontos de W22
e um 100º vértice C. Os vizinhos de C são
definidos ser estes 22 pontos. Um ponto adjacente a um bloco é definido ser aquele que está incluído.
Um grafo de Higman – Sims pode ser particionado em duas cópias do grafo de Hoffman – Singleton de 352 maneiras.
Propriedades algébricasO grupo de automorfismo do grafo de Higman – Sims graph é um grupo de ordem 88704000 isomórfico ao produto
semidireto do grupo de Higman – Sims de ordem 44352000 com o grupo cíclico de ordem 2. [4] Ele tem
automorfismos que levam qualquer aresta para outra aresta, fazendo o grafo de Higman – Sims um grafo
aresta-transitivo.[5]
O polinômio característico do grafo de Higman – Sims graph is ( x − 22)( x − 2)77( x + 8)22. Portanto o grafo de
Higman – Sims é um grafo integral: seu espectro de grafo consiste inteiramente de inteiros. Ele é também considerado
o único grafo com este polinômio característico, fazendo dele um grafo determinado por seu espectro.
Dentro da malha de Leech
Uma projeção do grafo de Higman-Sims dentro da malha de
Leech.
O grafo de Higman-Sims ocorre naturalmente no interior da
malha de Leech: se X , Y e Z são três pontos na malha de Leech
tais que as distâncias XY , XZ e YZ são 2, 3, 3 respectivamente,
então há exatamente 100 pontos da malha de Leech T de tal
forma que todas as distâncias XT , YT e ZT são iguais a 2, e se
ligarmos dois pontos, tais T e T ′ quando a distância entre eles
é 2, O grafo resultante é isomorfo ao grafo de Higman-Sims.
Além disso, o conjunto de todos os automorfismos da malha
de Leech (Isto é, congruências euclidiana fixando-a) que
fixam cada um dos X , Y e Z é o grupo de Higman – Sims (Se
nós permitirmos trocar X e Y , a extensão de ordem 2 de todos
os automorfismos de grafos é obtida). Isso mostra que o grupo
Higman-Sims ocorre dentro do grupo de Conway Co2
(com
sua extensão de ordem 2) e Co3, e, conseqüentemente,
também Co1
.[6]
[1][1] .
[5] Brouwer, A. E. and Haemers, W. H. "The Gewirtz Graph: An Exercise in the Theory of Graph Spectra." Euro. J. Combin. 14, 397 – 407, 1993.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 136/157
Grafo de Hoffman-Singleton 132
Grafo de Hoffman-Singleton
Grafo deHoffman –Singleton
Nomeado em
honra a
Alan J. Hoffman
Robert R. Singleton
vértices 50
arestas 175
Raio 2
Diâmetro 2[]
Cintura 5[]
Automorfismos 252000 (PGL(3,52):2)[1]
Número cromático 4
Índice cromático 7[2]
Propriedades SimétricoGrafo de MooreHamiltonianoIntegralGaiolaFortemente regular
O grafo de Hoffman-Singleton. O subgrafo das arestas azuis é a
soma dos dez pentágonos disjuntos.
No campo da matemática da teoria dos grafos, o Grafo
de Hoffman –Singleton é um grafo 7-regular não
direcionado com 50 vértices e 175 arestas. É o únicografo fortemente regular com parâmetros (50,7,0,1).[3]
Foi construído por Alan Hoffman e Robert Singleton ao
tentar classificar todos os grafos de Moore, e é a mais
alta ordem de grafo de Moore esistente conhecida até o
momento.[4] Como é um grafo de Moore onde cada
vértice tem grau 7, e sua cintura é 5, ele é um
(7,5)-gaiola.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 137/157
Grafo de Hoffman-Singleton 133
ConstruçãoUma construção simples, direta é como se segue: Tome cinco pentágonos P
he cinco pentagramas Q
i, de forma que o
vértice j de Ph
seja adjacente aos vértices j-1,j+1 de Ph
e o vértice j de Qiseja adjacente aos vértices j-2,j+2 de Q
i.
Agora conecte o vértice j de Ph
ao vértice hi+j de Qi. (Todos os índices mod 5.)
Propriedades algébricasO grupo de automorfismo do grafo de Hoffman-Singleton é um grupo de ordem 252000 isomórfico a PΣU(3,52). Ele
age transitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto, o grafo de Biggs – Smith é im grafo
simétrico.
O polinômio característico do grafo de Hoffman-Singleton é igual a . Portanto o
grafo de Hoffman-Singleton é um grafo integral: seu espectro de grafo consiste inteiramente de inteiros.[1][1] Hafner, P. R. "The Hoffman-Singleton Graph and Its Automorphisms." J. Algebraic Combin. 18, 7-12, 2003.
[2] Royle, G. "Re: What is the Edge Chromatic Number of Hoffman-Singleton?" [email protected] posting. 28 de Setembro de
2004. (http:/ / listserv. nodak. edu/ scripts/ wa. exe?A2=ind0409& L=graphnet& F=& S=& P=4981. )
[3][3] .
[4][4] .
Grafo de Holt
Grafo de Holt
No grafo de Holt, todos os vértices são equilvalentes, e todas as arestas são equivalentes, mas as arestas não são necessáriamenteequivalentes as suas inversas.
Nomeado em honra a Derek F. Holt
vértices 27
arestas 54
Raio 3
Diâmetro 3
Cintura 5
Automorfismos 54
Número cromático 3
Índice cromático 5
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 138/157
Grafo de Holt 134
Propriedades Vértice-transitivoAresta-transitivoMeio-transitivografo de CayleyHamiltonianoEuleriano
No campo da matemática da teoria dos grafos o grafo de Holt ou grafo de Doyle é o menor grafo meio-transitivo,
ou seja, o menor exemplo de grafo vértice-transitivo e aresta-transitivo que não é também simétrico.[1][2] Esses
grafos não são comuns.[3] É nomeado em honra a Peter G. Doyle e Derek F. Holt, que descobriram o mesmo grafo
de forma independente em 1976[4] e 1981[5] respectivamente.
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
com 98472 ciclos distintos hamiltonianos.[] é também um grafo 4-vértice-conectado e 4-aresta-conectado.
Ele tem um grupo de automorfismo da ordem de 54 automorfismos.[] Este é um grupo menor que um grafo simétrico
com o mesmo número de vértices e arestas teria. O desenho do grafo à direita destaca isto, na medida em que carece
de simetria reflexiva.
O polinômio característico do grafo de Holt é:
Galeria
O número cromático do grafo de Holt é 3. O índice cromático do grafo de Holt é 5. O grafo de Holt é Hamiltoniano.
[1] Doyle, P. "A 27-Vertex Graph That Is Vertex-Transitive and Edge-Transitive But Not L-Transitive." October 1998. (http:/ / arxiv. org/ abs/
math/ 0703861/ )
[2][2] .
[3] Jonathan L. Gross, Jay Yellen, Handbook of Graph Theory, CRC Press, 2004, ISBN 1584880902, p. 491.
[4][4] . Como citado pela MathWorld.
[5][5] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 139/157
Grafo de Ljubljana 135
Grafo de Ljubljana
Grafo deLjubljana
O grafo de Ljubljana
vértices 112
arestas 168
Raio 7
Diâmetro 8
Cintura 10
Automorfismos 168
Númerocromático
2
Índicecromático
3
Propriedades Cúbico
HamiltonianoSemi-simétrico
No campo da matemática da teoria dos grafos o grafo de Ljubljana é um grafo não direcionado bipartido com 112
vértices e 168 arestas.
É um grafo cúbico com diâmetro 8, raio 7, número cromático 2 e índice cromático 3. Sua cintura é 10 e há
exatamente 168 ciclos de comprimento 10 nele. Há também 168 ciclos de comprimento 12.[1]
ConstruçãoO grafo de Ljubljana é Hamiltoniano e pode ser construído a partir da notação LCF : [47, -23, -31, 39, 25, -21, -31,
-41, 25, 15, 29, -41, -19, 15, -49, 33, 39, -35, -21, 17, -33, 49, 41, 31, -15, -29, 41, 31, -15, -25, 21, 31, -51, -25, 23,
9, -17, 51, 35, -29, 21, -51, -39, 33, -9, -51, 51, -47, -33, 19, 51, -21, 29, 21, -31, -39] 2.
O grafo de Ljubljana é o grafo de Levi da configuração de Ljubljana, uma configuração quadrangular livre com 56
linhas e 56 pontos.[1] Nesta configuração, cada linha contém exatamente três pontos, cada ponto pertence a
exatamente 3 linhas e quaisquer duas linhas se cruzam em no máximo um ponto.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 140/157
Grafo de Ljubljana 136
Propriedades algébricasO grupo de automorfismo do grafo de Ljubljana é um grupo de ordem 168. Ele age transitivamente em suas arestas,
mas não em seus vértices: existem simetrias levando cada aresta para qualquer outra aresta, mas não levando cada
vértice para qualquer outro vértice. Portanto, o grafo de Ljubljana é um grafo semi-simétrico, o terceiro menor grafo
cúbico semi-simétrico possível após o grafo de Levi em 54 vértices e o grafo de Iofinova-Ivanov em 110 vértices.[2]
O polinômio característico do grafo de Ljubljana é
HistóriaO grafo de Ljubljana foi publicado pela primeira vez em 1993 por Brouwer, Dejter e Thomassen.[3]
Em 1972, Bouwer já estava falando de uma de um grafo cúbico de 112 vértices aresta- mas não vértice-transitivo
encontrado por R. M. Foster, mas não publicado ainda.[4] Conder, Malnic, Marusic, Pisanski e Potočnik
redescobriram este grafo de 112 vértices em 2002 e nomearam-no grafo de Ljubljana capital da Eslovénia. Eles
provaram que ele era o único grafo cúbico de 112 vértices aresta- mas não vértice-transitivo cúbicos e, portanto, que
o grafo era aquele encontrado por Foster.
Galeria
O número cromático do grafo de
Ljubljana é 2.
O índice cromático do grafo de
Ljubljana é 3.
Desenho alternativo do grafo de
Ljubljana.
O grafo de Ljubljana é o grafo de
Levi desta configuração.
[1] Conder, M.; Malnič, A.; Marušič, D.; Pisanski, T.; and Potočnik, P. "The Ljubljana Graph." 2002. (http:/ / citeseer. ist. psu. edu/
conder02ljubljana. html).
[2][2] Marston Conder, Aleksander Malnič, Dragan Marušič and Primž Potočnik. "A census of semisymmetric cubic graphs on up to 768 vertices."
Journal of Algebraic Combinatorics: An International Journal. Volume 23, Issue 3, pages 255-294, 2006.
[3][3] Brouwer, A. E.; Dejter, I. J.; and Thomassen, C. "Highly Symmetric Subgraphs of Hypercubes." J. Algebraic Combinat. 2, 25-29, 1993.
[4][4] Bouwer, I. A. "On Edge But Not Vertex Transitive Regular Graphs." J. Combin. Th. Ser. B 12, 32-40, 1972.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 141/157
Grafo de Nauru 137
Grafo de Nauru
Grafo de Nauru
O grafo Nauru
vértices 24
arestas 36
Raio 4
Diâmetro 4
Cintura 6
Automorfismos 144 (S4×S
3)
Númerocromático
2
Índicecromático
3
Propriedades CúbicoHamiltoniano
simétricoIntegralBipartidoGrafo de Cayley
No campo da matemática da teoria dos grafos o grafo de Nauru é um grafo simétrico, bipartido cúbico com 24
vértices e 36 arestas. Foi nomeado por David Eppstein em alusão a estrela de doze pontas da bandeira do Nauru[1]
Ele tem número cromático 2, índice cromático 3, raio 4, diâmetro 4, e cintura 6 [2]. Ele também é
3-vértice-conectado, e 3-aresta-conectado.
Os menores grafos cúbicos com número de cruzamento entre 1 e 8 são conhecidos (sequência A110507 na OEIS). O
menor grafo com 8 cruzamentos é o grafo de Nauru. Existe 5 grafos cúbicos não-isomorfos de ordem 24 com
número de cruzamentos de 8[3]. Um deles é o grafo de McGee também conhecido como (3-7)-gaiola[4].
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 142/157
Grafo de Nauru 138
ConstruçãoO grafo de Nauru é Hamiltoniano e pode ser descrito pela notação LCF : [5, −9, 7, −7, 9, −5]4.[1]
O grafo de Nauru também pode ser construído como o grafo de Petersen generalizado G(12, 5) que é formado pelos
vértices de um dodecágono, ligado aos vértices de uma estrela de doze pontos, em que cada ponta da estrela está
ligada aos pontos quer estão a cinco passos de distância dela.
Propriedades algébricasO grupo de automorfismo do grafo de Nauru é um grupo de ordem 144[5]. É isomórfico ao produto direto dos grupos
simétricos S 4
e S 3
e age transitivamente nos vértices, nas arestas e nos arcos do grafo. Portanto o grafo de Nauru é
um grafo simétrico (embora não seja distância-transitivo). Ele tem automorfismos que levam qualquer vértice para
qualquer outro vértice e qualquer aresta para qualquer outra aresta. De acordo com o censo de Foster , o grafo de
Nauru é o único grafo cúbico simétrico em 24 vértices[2].
O grafo generalizado de Petersen G(n,k ) é vértice-transitivo se e somente se n = 10 e k =2 ou se k 2 ≡ ±1 (mod n) e é
aresta-transitivo somente nos sete casos seguintes: (n,k ) = (4,1), (5,2), (8,3), (10,2), (10,3), (12,5), (24,5)[6]. Assim, o
grafo de Nauru é um de apenas sete grafos simétricos generalizados de Petersen. Entre estes sete grafos estão o grafocubico , o grafo de Petersen , o grafo de Möbius – Kantor , o grafo dodecaedro
e o grafo de Desargues .
O grafo de Nauru é um grafo de Cayley de S 4, o grupo de permutações simétricas em quatro elementos, gerados
pelas três maneiras diferentes de trocar o primeiro elemento com um dos outros três: (1 2), (1 3) e (1 4).
O polinômio característico do grafo de Nauru é igual a
tornando-o um grafo integral —um grafo cujo espectro consiste inteiramente de inteiros.
Toro simétrico incorporado
O toro é formado, topologicamente, colando-se arestas
opostas de um hexágono regular com o outro. Grafo de Petersen generalizado
As cores e permutações indicam, que este é um grafo
de Cayley de S 4.
Matriz de adjacência
Cada aresta é representada por duas entradas na mesma
cor, que são simétricas à diagonal principal.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 143/157
Grafo de Nauru 139
Propriedades topológicas
Uma incorporação simétrica do grafo de Nauru sobre uma superfície de gênero-4,
com seis faces dodecagonais.
O grafo de Nauru tem duas incorporções
diferentes como poliedros regulares
generalizados:
superfícies topológicas particionadas em
arestas, vértices e faces de tal forma que há
uma simetria levando qualquer bandeira
(uma tripla incidente de um vértice, uma
aresta e uma face) em qualquer outra
bandeira[7].
Uma destas duas incorporações forma um
toro, de modo que o grafo de Nauru é um
grafo toroidal: consiste de 12 faces
hexagonais, juntamente com os 24 vértices e
36 arestas do grafo de Nauru. O grafo dualdesta incorporação é um grafo simétrico
6-regular com 12 vértices e 36 arestas.
A outra incorporação simétrica do gráfico Nauru tem seis faces dodecagonais, e formas de uma superfície de gênero
4. Seu dual não é um grafo simples, uma vez que cada face compartilha três arestas com quatro outras faces, mas um
multigrafo. Este dual pode ser formado a partir do grafo de um octaedro regular substituindo cada aresta por um
feixe de três arestas paralelas.
O conjunto de faces de qualquer um destas duas incorporações é o conjunto de polígonos de Petrie da outra
incorporação.
Propriedades geométricas
O grafo de Nauru como um grafo unidade de distância, em Žitnik, Horvat &
Pisanski (2010).
Tal como acontece com todos os grafos
generalizados de Petersen, o grafo de Nauru
pode ser representado por pontos no plano
de tal forma que os vértices adjacentes estão
em unidade de distância à parte; isto é, ele é
um grafo distancia-unidade.[8] Ele e os
prismas são os únicos grafos generalizados
de Petersen G(n, p) que não pode ser
representado de tal forma que as simetrias
do desenho formam um grupo cíclico de
ordem n. Em vez disso, a representação de
seu grafo distancia-unidade tem o grupo
diedral Dih6
como o seu grupo de simetria.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 144/157
Grafo de Nauru 140
HistóriaA primeira pessoa a escrever sobre o gráfico Nauru foi R. M. Foster em um eforço para colecionar todos os grafos
cúbicos simétricos..[9]
[1] Eppstein, D., The many faces of the Nauru graph (http:/ / 11011110. livejournal. com/ 124705. html) on LiveJournal, 2007.
[2][2] Conder, M. and Dobcsányi, P. "Trivalent Symmetric Graphs Up to 768 Vertices." J. Combin. Math. Combin. Comput. 40, 41-63, 2002.
[3][3] .[5] Royle, G. F024A data (http:/ / www. csse. uwa. edu. au/ ~gordon/ foster/ F024A. html)
[7][7] .
[8][8] .
[9][9] .
Grafo de Pappus
Grafo de Pappus
O grafo de Pappus
Nomeado em
honra a
Pappus de Alexandria
vértices 18
arestas 27
Raio 4
Diâmetro 4
Cintura 6
Automorfismos 216
Número cromático 2
Índice cromático 3
Propriedades CúbicoHamiltonianoSimétricoDistância-transitivoDistância-regular
No campo da matemática da teoria dos grafos o grafo de Pappus é um grafo não-orientado 3-regular com 18
vértices e 27 arestas formado como o grafo de Levi da configuração de Pappus.[1] É nomeado em honra a Pappus de
Alexandria, um antigo matemático grego que se acredita ter descoberto o "teorema do hexágono" que descreve a
configuração de Pappus. Todos os grafos distância-regular cúbicos são conhecidos; o grafo de Pappus é um destes 13
grafos.[2]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 145/157
Grafo de Pappus 141
O grafo de Pappus tem um número de cruzamento retilíneo 5, e é o menor grafo cúbico com este número de
cruzamento. Tem cintura 6, diâmetro 4, raio 4, número cromático 2, índice cromático 3 e é tanto 3-vértice-conectado
quanto 3-aresta-conectado.
O grafo de Pappus tem um polinômio cromático igual a:
.O nome "grafo de Pappus" também tem sido usado para se referir a um grafo relacionado com nove vértices [3], com
um vértice para cada ponto da configuração de Pappus e uma aresta para cada par de pontos na mesma linha; este
grafo de nove vértice é 6-regular, e é o grafo complementar da união de três grafos triângulo disjuntos.
Propriedades algébricasO grupo de automorfismo do grafo de Pappus é um grupo de ordem 216. Ele age transitivamente sobre os vértices,
nas arestas e nos arcos do grafo. Portanto, o grafo de Pappus é im grafo simétrico. Ele tem automorfismos que levam
qualquer vértice para qualquer outro vértice e qualquer aresta para qualquer outra aresta. De acordo com o censo de
Foster , o grafo de Biggs-Smith, referenciado como F018A, é o único grafo cúbico simétrico em 18 vértices.[4][5]
O polinômio característico do grafo de Pappus é: . É o único grafo com este
polinômio característico, tornando-se um grafo determinado pelo seu espectro.
Galeria
Grafo de Pappus colorido para destacar vários
ciclos.
O índice cromático do grafo de Pappus é 3. O número cromático do grafo de Pappus é 2.
[2][2] Brouwer, A. E.; Cohen, A. M.; and Neumaier, A. Distance-Regular Graphs. New York: Springer-Verlag, 1989.[4] Royle, G. "Cubic Symmetric Graphs (The Foster Census)." (http:/ / www. cs. uwa. edu. au/ ~gordon/ remote/ foster/ #census)
[5][5] Conder, M. and Dobcsányi, P. "Trivalent Symmetric Graphs Up to 768 Vertices." J. Combin. Math. Combin. Comput. 40, 41-63, 2002.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 146/157
Grafo de Petersen 142
Grafo de Petersen
Grafo de Petersen
O gráfico de Petersen é mais comumente desenhado como um pentágono com um pentagrama no interior, com cinco raios
Nomeado em honra a Julius Petersen
vértices 10
arestas 15
Raio 2
Diâmetro 2
Cintura 5
Automorfismos 120 (S5)
Número cromático 3
Índice cromático 4
Propriedades Cúbicografo fortemente regulardistância-transitivo
No campo da matemática da teoria dos grafos o grafo de Petersen é um grafo não-orientado com 10 vértices e 15
arestas. É um pequeno grafo que serve como um exemplo útil e contra-exemplo para muitos problemas em teoria dos
grafos. O grafo de Petersen é nomeado em honra a Julius Petersen, que em 1898 construiu o menor grafo cúbico sem
ponte cujas arestas não podem ser coloridas com somente três cores[1]. Embora o grafo seja geralmente creditado a
Petersen, ele tinha, de facto, aparecido pela primeira vez 12 anos antes, em 1886[2].
Donald Knuth afirma que o grafo de Petersen é "uma configuração notável que serve como um contra-exemplo para
muitas previsões otimistas sobre o que poderia ser verdade para os grafos em geral."[3]
Construções
O grafo de Petersen é o complementar do grafo linha de . É também o grafo Kneser ; isso significa que
ele tem um vértice para cada subconjunto de dois elementos de um conjunto de 5 elementos, e dois vértices são
conectados por uma aresta se e somente se os correspondentes subconjuntos de dois elementos são disjuntos entre si.
Como um grafo de Kneser da forma é 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 identificadas em conjunto.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 147/157
Grafo de Petersen 143
IncorporaçõesO grafo de Petersen é não-planar. Qualquer grafo não planar tem como menores tanto o grafo completo , quanto
o grafo bipartido completo , mas o grafo de Petersen tem ambos os menores. O menor pode ser formado
restringindo-se as arestas de um acoplamento perfeito, por exemplo as cinco arestas curtas na primeira figura. O
menor pode ser formado se deletando um vértice (por exemplo, o vértice central do desenho do 3-simétrico) e
contratando uma aresta incidente para cada vizinho do vértice que foi excluído.
O grafo de Petersen tem número de cruzamento 2.
O mais comum e simétrico desenho do plano do grafo de Petersen,
como um pentagrama dentro de um pentágono, tem cinco cruzamentos.
No entanto, este não é o melhor desenho que minimiza os
cruzamentos; existe um outro desenho (mostrado na figura), com
apenas dois cruzamentos. Assim, o grafo de Petersen tem número de
cruzamento 2. Em um toro o grafo de Petersen pode ser desenhado sem
cruzamentos de arestas; tem, portanto, gênero orientável 1.
O grafo de Petersen é um grafo distância-unidade:
ele pode ser desenhado no plano com cada aresta
tendo comprimento de uma unidade.
O grafo de Petersen também pode ser desenhado (com cruzamentos)
no plano de tal forma que todas as arestas tenham o mesmo
comprimento. Ou seja, ele é um grafo distância-unidade.
A mais simples superfície não orientável em que o grafo de Petersen
pode ser incorporado sem cruzamentos é o plano projetivo. Esta é aincorporação dada pela construção em hemi-dodecaedro do grafo de
Petersen. A incorporaçã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.
SimetriasO grafo de Petersen é fortemente regular (com assinatura srg(10,3,0,1)). É também simétrico, o que significa que é
aresta-transitivo e vértice-transitivo. Mais fortemente, é de 3-arcos-transitivo: cada caminho de três arestas dirigidas
no grafo de Petersen pode ser transformado em qualquer outro tipo de percurso por uma simetria do grafo. [4]
[4][4] .
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 148/157
Grafo de Shrikhande 144
Grafo de Shrikhande
Grafo deShrikhande
Nomeado emhonra a
S. S. Shrikhande
vértices 16
arestas 48
Raio 2
Diâmetro 2
Cintura 3
Automorfismos 192
Número cromático 4
Índice cromático 6
Propriedades SimétricoEulerianoHamiltonianoIntegralFortemente regular
No campo da matemática da teoria dos grafos, o Grafo de Shrikhande é um grafo nomeado descoberto por S. S.
Shrikhande em 1959.[1] é um grafo fortemente regular com 16 vértices e 48 arestas, com cada vértice tendo um grau
de 6.
PropriedadesNo grafo de Shrikhande, quaisquer dois vértices I e J têm dois vizinhos distintos em comum (excluindo os próprios
dois vértices I e J), o que é verdade independentemente de I ser adjacente a J. Em outras palavras, seus parâmetros
para ser fortemente regulares são: {16,6,2,2}, com , esta igualdade implicando que o grafo é associado
a um BIBD simétrico. Ele compartilha esses parâmetros com um grafo diferente, o 4×4 grafo torre (rook's graph).
O grafo de Shrikhande é localmente hexagonal; isto é, os vizinhos de cada vértice formam um grafo ciclo de seis
vértices. Como em qualquer grafo localmente cíclico, o grafo de Shrikhande é o 1-esqueleto de uma triangulação de
Whitney de alguma superfície; no caso do grafo de Shrikhande, esta superfície é um toro em que cada vértice é
cercado por seis triângulos.[2] Assim, o grafo de Shrikhande é um grafo toroidal. O dual desta incorporação é o grafo
de Dick, um grafo cúbico simétrico.
O grafo de Shrikhande não é um grafo distância-transitivo. É o menor grafo distância-regular que não é adistância-transitivo.[3]
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 149/157
Grafo de Shrikhande 145
O grupo de automorfismo do grafo de Shrikhande é da ordem de 192. Ele age transitivamente sobre os vértices, nas
arestas e nos arcos do grafo.
O polinômio característico do grafo de Shrikhande é: . Portanto o grafo de Shrikhande
é um grafo integral: seu espectro consiste inteiramente de inteiros.[1][1] .
[2][2] .[3][3] .
Ligações externas• O grafo de Shrikhande (http:/ / cameroncounts. wordpress. com/ 2010/ 08/ 26/ the-shrikhande-graph/ ) , Peter
Cameron, Agosto de 2010.
Galeria
O grafo de Shrikhande é um
grafo toroidal.
O número cromático
do grafo de
Shrikhande é 4.
O índice cromático
do grafo de
Shrikhande é 6.
O grafo de
Shrikhande
desenhado
simetricamente.
O grafo de Shrikhande é
Hamiltoniano.
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 150/157
Grafos de Chang 146
Grafos de Chang
Grafos de Chang
À direita da árvore os grafos de Chang; estes grafos são gerados selecionando uma mudança adequada no conjunto de vértices. Àesquerda os grafos triangulares T8 originários: os vértices do conjunto de comutação são verdes, as arestas são vermelhas e as novas
adicionadas em azul.vértices 28
arestas 168
Propriedades Fortemente regular
No campo da matemática da teoria dos grafos, os Grafos de Chang são um conjunto de grafos de árvore, que são
um grafo 18-regular não-orientados com 28 vértices e 168 arestas.
Ligações externas• Weisstein, Eric W. "Chang Graphs." de MathWorld--A Wolfram Web Resource. http:/ / mathworld. wolfram.
com/ ChangGraphs. html [1]
• Página de Andries E. Brouwer's sobre grafos de Chang [2]
• Página de Nadia Hamoud, "Os grafos de Chang" [3]
Referências[1] http:/ / mathworld. wolfram. com/ ChangGraphs. html
[2] http:/ / www. win.tue. nl/ ~aeb/ graphs/ Chang. html
[3] http:/ / math. ucdenver. edu/ ~wcherowi/ courses/ m6023/ nadia. pdf
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 151/157
Fontes e Editores da Página 147
Fontes e Editores da PáginaSete pontes de Königsberg Fonte: http://pt.wikipedia.org/w/index.php?oldid=34441180 Contribuidores: Agiesbrecht, Bonás, Cícero, Diego UFCG, Fasouzafreitas, Jcb, JucaZero, Kaktus Kid,LeonardoRob0t, Maxtremus, Mschlindwein, Nuno Tavares, Opera Omnia, Oraculo, OtavioCC, Paulonei, Selenium, Thegoergen, Zdtrlik, 16 edições anónimas
Teoria dos grafos Fonte: http://pt.wikipedia.org/w/index.php?oldid=34399998 Contribuidores: 200.249.56.xxx, 2A02:8109:8140:11:E1B4:C844:FFBC:7111, Al Lemos, AndreHahn, Bonás,BrunoSupremo, Carbol, Cícero, Daniel Dias Branco Arthaud, Diego UFCG, Dotti, E2m, Faustino.F, Firer, GOE, Hallel, Helder.wiki, Israelrocha, JSSX, JoaoMiranda, Jonex, Jorge, Lechatjaune,Leonardo.stabile, LeonardoG, LeonardoRob0t, Lusitana, Luís Felipe Braga, Manuel Anastácio, Maxtremus, Mrsouza, Muriel Gottrop, Nuno Tavares, OS2Warp, Opaulo, Pdellani, Polyethylen,
Quiumen, Rei-artur, Ricardo Ferreira de Oliveira, Rickhard 22, Rlopes, Roxul84, Ruy Pugliesi, Rômulo Penido, SHASTA136013.ig.com.br, Salgueiro, Sobao, Stego, Thiago Serra,Thiagoprocaci, Viniciusmc, Webkid, Yanguas, 97 edições anónimas
Grafo Fonte: http://pt.wikipedia.org/w/index.php?oldid=34486206 Contribuidores: Colaborador Z, Cícero, Der kenner, FSogumo, Faustino.F, FelipeVargasRigo, Hallel, Humbertobrandao,Israelrocha, JotaCartas, Lechatjaune, Leonardo.stabile, LeonardoG, Luiz Jr, Maxtremus, Michelmfb, Nuno Tavares, Rcaetano, Ricardo Ferreira de Oliveira, Rômulo Penido, Salgueiro, Stegop,TradutoresJEDI, Villarinho, 34 edições anónimas
Vértice Fonte: http://pt.wikipedia.org/w/index.php?oldid=34987970 Contribuidores: Eamaral, Ricardo Ferreira de Oliveira, 2 edições anónimas
Aresta Fonte: http://pt.wikipedia.org/w/index.php?oldid=34692577 Contribuidores: Ricardo Ferreira de Oliveira
Aresta múltipla Fonte: http://pt.wikipedia.org/w/index.php?oldid=28562358 Contribuidores: Alexg, JSSX, 2 edições anónimas
Ciclos em um grafo Fonte: http://pt.wikipedia.org/w/index.php?oldid=34986042 Contribuidores: Adolfont, Ricardo Ferreira de Oliveira, Waltercruz, 1 edições anónimas
Clique Fonte: http://pt.wikipedia.org/w/index.php?oldid=34435881 Contribuidores: Csandrocampos, Cícero, Fabiano Tatsch, Nuno Tavares, Pintopc, RafaAzevedo, Ricardo Ferreira deOliveira, Rui Silva, Salgueiro, 5 edições anónimas
O grau de um grafo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35143904 Contribuidores: Ricardo Ferreira de Oliveira, 1 edições anónimas
Grafo bipartido Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141642 Contribuidores: Amcorreia, Ricardo Ferreira de Oliveira, Vanthorn, 1 edições anónimas
Grafo bipartido completo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141649 Contribuidores: Ricardo Ferreira de Oliveira
Grafo caminho Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141654 Contribuidores: FSogumo, Ricardo Ferreira de Oliveira, Vanthorn
Grafo completo Fonte: http://pt.wikipedia.org/w/index.php?oldid=34490966 Contribuidores: Bonás, Cícero, Jcmo, Lameiro, NunoMota, Ramzysamman, Ricardo Ferreira de Oliveira,Salgueiro, Zdtrlik, 3 edições anónimas
Grafo cúbico Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141668 Contribuidores: Ricardo Ferreira de Oliveira, Zdtrlik
Grafo Estrela Fonte: http://pt.wikipedia.org/w/index.php?oldid=35075881 Contribuidores: Ricardo Ferreira de Oliveira, Zdtrlik
Grafo nulo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141778 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo orientado Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141781 Contribuidores: Kaktus Kid, Lijealso, Ricardo Ferreira de Oliveira, Rickgauden, Stegop, 2 edições anónimas
Grafo simples Fonte: http://pt.wikipedia.org/w/index.php?oldid=35338323 Contribuidores: 2801:A0:1:1:216:3EFF:FE1D:C671, Bonás, Cícero, Fernando S. Aldado, Marivb, Rlopes, Salgueiro,12 edições anónimas
Grafo valorado Fonte: http://pt.wikipedia.org/w/index.php?oldid=28843203 Contribuidores: FelipeVargasRigo, Leonardo.stabile, Ricardo Ferreira de Oliveira, Yanguas, 1 edições anónimas
Homomorfismo de grafos Fonte: http://pt.wikipedia.org/w/index.php?oldid=35308493 Contribuidores: HanielBarbosa, Kaktus Kid, 1 edições anónimas
Isomorfismo de grafos Fonte: http://pt.wikipedia.org/w/index.php?oldid=35167823 Contribuidores: Ricardo Ferreira de Oliveira, 2 edições anónimas
Laço Fonte: http://pt.wikipedia.org/w/index.php?oldid=35159317 Contribuidores: Eduardo P, Ricardo Ferreira de Oliveira
Multigrafo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35137054 Contribuidores: Alexg, HanielBarbosa, Ricardo Ferreira de Oliveira, 3 edições anónimas
Pseudografo Fonte: http://pt.wikipedia.org/w/index.php?oldid=8900044 Contribuidores: Alexg, HanielBarbosa, Ricardo Ferreira de Oliveira, 3 edições anónimas
Quiver Fonte: http://pt.wikipedia.org/w/index.php?oldid=35037982 Contribuidores: Al Lemos, Leyo, Ricardo Ferreira de Oliveira, Rodrigo Devolder, 1 edições anónimas
Vértice de corte (teoria dos grafos) Fonte: http://pt.wikipedia.org/w/index.php?oldid=35201304 Contribuidores: Eduardo P, Ricardo Ferreira de Oliveira, 5 edições anónimas
Vizinhança Fonte: http://pt.wikipedia.org/w/index.php?oldid=34981109 Contribuidores: Asturius, Ricardo Ferreira de Oliveira
Árvores Fonte: http://pt.wikipedia.org/w/index.php?oldid=34942902 Contribuidores: Jpcwiki, Leonardo.stabile, Luishsousa, Luiz Jr, Ricardo Ferreira de Oliveira, Salamat, 4 edições anónimas
Árvore de extensão Fonte: http://pt.wikipedia.org/w/index.php?oldid=35061145 Contribuidores: Alexg, Ricardo Ferreira de Oliveira, Rômulo Penido, 4 edições anónimas
Árvore de extensão mínima Fonte: http://pt.wikipedia.org/w/index.php?oldid=34916369 Contribuidores: Alessandro70, Belanidia, Cícero, Danielamaral, Leonardo.stabile, Less, Lond,
Reynaldo, Ricardo Ferreira de Oliveira, Rômulo Penido, Salgueiro, Ungoliant MMDCCLXIV, 5 edições anónimas
Matriz de adjacência Fonte: http://pt.wikipedia.org/w/index.php?oldid=34718389 Contribuidores: BMalajovich, Chaves, Cícero, E2mb0t, FelipeVargasRigo, Leonardo.stabile, Lucas081994,Marivb, Ricardo Ferreira de Oliveira, Salgueiro, 17 edições anónimas
Matriz de incidência Fonte: http://pt.wikipedia.org/w/index.php?oldid=35182861 Contribuidores: FelipeVargasRigo, 1 edições anónimas
Lista de adjacência Fonte: http://pt.wikipedia.org/w/index.php?oldid=35176950 Contribuidores: Eric Duff, Hermógenes Teixeira Pinto Filho, Lijealso, Ricardo Ferreira de Oliveira, 5 ediçõesanónimas
Automorfismo de grafos Fonte: http://pt.wikipedia.org/w/index.php?oldid=35208064 Contribuidores: Ricardo Ferreira de Oliveira, Ruy Pugliesi, 2 edições anónimas
Grafo regular Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141784 Contribuidores: Marlus Gancher, Ricardo Ferreira de Oliveira, Zdtrlik
Grafo fortemente regular Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141766 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo distância-regular Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141761 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo distância-transitivo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141764 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo simétrico Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141788 Contribuidores: Ricardo Ferreira de Oliveira, Zdtrlik
Grafo meio-transitivo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141771 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo semissimétrico Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141786 Contribuidores: Ricardo Ferreira de Oliveira, Yanguas, Zdtrlik
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 152/157
Fontes e Editores da Página 148
Grafo aresta-transitivo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141629 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn
Grafo vértice-transitivo Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141790 Contribuidores: Ricardo Ferreira de Oliveira, Vanthorn, 1 edições anónimas
Grafo de Cayley Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141678 Contribuidores: Eamaral, JotaCartas, Ricardo Ferreira de Oliveira, Vanthorn
Grafo antissimétrico Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141627 Contribuidores: Blamed, Ricardo Ferreira de Oliveira, Zdtrlik
Grafo assimétrico Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141635 Contribuidores: Ricardo Ferreira de Oliveira, Zdtrlik
Busca em largura Fonte: http://pt.wikipedia.org/w/index.php?oldid=34520693 Contribuidores: Aexpedito, Ariel C.M.K., Cícero, Diego Queiroz, EduM, FelipeVargasRigo, Fernando S.Aldado, Hugo Baés, LeonardoG, Maxtremus, Nuno Tavares, O CoRVo, Olavom, Renato Rebouças, Ricardo Ferreira de Oliveira, Sa lgueiro, Vini 175, 20 edições anónimas
Busca em profundidade Fonte: http://pt.wikipedia.org/w/index.php?oldid=34520840 Contribuidores: Bjmedeiros, BrunoSupremo, Cícero, FSogumo, FelipeVargasRigo, Fernando S. Aldado,Hermógenes Teixeira Pinto Filho, Leonardo.stabile, Maxtremus, Nuno Tavares, Olavom, 17 edições anónimas
Caminho Fonte: http://pt.wikipedia.org/w/index.php?oldid=35318599 Contribuidores: AndreHahn, Quiumen, 2 edições anónimas
Caminho euleriano Fonte: http://pt.wikipedia.org/w/index.php?oldid=34883878 Contribuidores: ErikvanB, Kaktus Kid, Marcelloc2, Maxtremus, Ricardo Ferreira de Oliveira, UlrichSchiel, 6edições anónimas
Caminho hamiltoniano Fonte: http://pt.wikipedia.org/w/index.php?oldid=34471945 Contribuidores: Andrevruas, Cícero, Humbertobrandao, Jic, Lechatjaune, Luiz Jr, Maxtremus,OTAVIO1981, Reynaldo, Ricardo Ferreira de Oliveira, Rômulo Penido, Salgueiro, 10 edições anónimas
Ordenação topológica Fonte: http://pt.wikipedia.org/w/index.php?oldid=34853369 Contribuidores: Ricardo Ferreira de Oliveira, S imãoMiguel, 4 edições anónimas
Algoritmo de Bellman-Ford Fonte: http://pt.wikipedia.org/w/index.php?oldid=34442419 Contribuidores: BrunoSupremo, Cícero, Dermeister, Elloabguedes, FelipeVargasRigo, Glum,Hermógenes Teixeira Pinto Filho, Leonardo.stabile, Patrick, 15 edições anónimas
Algoritmo A* Fonte: http://pt.wikipedia.org/w/index.php?oldid=34646636 Contribuidores: BrunoSupremo, ChristianH, Dhminholi, FelipeVargasRigo, GRS73, Hermógenes Teixeira PintoFilho, Hgfernan, Leonardo.stabile, Mschlindwein, Thom, 12 edições anónimas
Algoritmo de Floyd-Warshall Fonte: http://pt.wikipedia.org/w/index.php?oldid=34646695 Contribuidores: Cícero, FelipeVargasRigo, Lameiro, Lampiao, Leonardo.stabile, Ricardo Ferreira deOliveira, SrMeneses, 28 edições anónimas
Algoritmo de Johnson Fonte: http://pt.wikipedia.org/w/index.php?oldid=34646698 Contribuidores: Auréola, Dbastro, Jonas AGX, 2 edições anónimas
Algoritmo de Kruskal Fonte: http://pt.wikipedia.org/w/index.php?oldid=34442529 Contribuidores: CommonsDelinker, Cícero, Danielamaral, Danielcc10, FelipeVargasRigo, Giro720, KaktusKid, Leonardo.stabile, Maxtremus, Osias, Ricardo Ferreira de Oliveira, Salgueiro, 27 edições anónimas
Algoritmo de Prim Fonte: http://pt.wikipedia.org/w/index.php?oldid=34494498 Contribuidores: Aexpedito, Cícero, Firmo, Gkitchmaker, Indech, Leonardo.stabile, LeonardoG, MartinianoHilário, Ricardo Ferreira de Oliveira, Rômulo Penido, 20 edições anónimas
Algoritmo de Dijkstra Fonte: http://pt.wikipedia.org/w/index.php?oldid=34440939 Contribuidores: Adailton, Attom, Bortolozzi, Chicocvenancio, CommonsDelinker, Danielcc10, Desnes,Diego UFCG, FelipeVargasRigo, Gfonsecabr, Gruberdiego, JotaCartas, Juntas, Leonardo.stabile, Lijealso, Manuel Anastácio, Mecanismo, Osias, Pedro Ivan de Albuquerque Lima, RicardoFerreira de Oliveira, Rui Malheiro, Suisui, Xico.nunes, 69 edições anónimas
Algoritmo de Boruvka Fonte: http://pt.wikipedia.org/w/index.php?oldid=34454832 Contribuidores: Cícero, Manuel Anastácio, Nuno Tavares, Osias, Pedra, Ricardo Ferreira de Oliveira,Salgueiro, 9 edições anónimas
Grafo de Biggs-Smith Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141672 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Brouwer-Haemers Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141675 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Desargues Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141692 Contribuidores: Ricardo Ferreira de Oliveira, Rossi pena
Grafo de Folkman Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141696 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Foster Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141699 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Frucht Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141704 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Gray Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141712 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Heawood Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141716 Contribuidores: Alexg, Ricardo Ferreira de Oliveira
Grafo de Higman-Sims Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141718 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Hoffman-Singleton Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141720 Contribuidores: Koko90, Ricardo Ferreira de Oliveira
Grafo de Holt Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141725 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Ljubljana Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141728 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Nauru Fonte: http://pt.wikipedia.org/w/index.php?oldid=35466463 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Pappus Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141736 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Petersen Fonte: http://pt.wikipedia.org/w/index.php?oldid=35569975 Contribuidores: Ricardo Ferreira de Oliveira
Grafo de Shrikhande Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141749 Contribuidores: Ricardo Ferreira de Oliveira
Grafos de Chang Fonte: http://pt.wikipedia.org/w/index.php?oldid=35141793 Contribuidores: Ricardo Ferreira de Oliveira
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 153/157
Fontes, Licenças e Editores da Imagem 149
Fontes, Licenças e Editores da ImagemFicheiro:Pontes Königsberg.JPG Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pontes_Königsberg.JPG Licença: Public Domain Contribuidores: Original uploader was DiegoUFCG at pt.wikipedia
Ficheiro:Konigsburg graph.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Konigsburg_graph.png Licença: GNU Free Documentation License Contribuidores: Nux, Squizzz
Ficheiro:Grafo k4 plano.PNG Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Grafo_k4_plano.PNG Licença: GNU Free Documentation License Contribuidores: Original uploaderwas Marivb at pt.wikipedia
Imagem:6n-graf.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg Licença: Public Domain Contribuidores: User:AzaToth
Ficheiro:6n-graf.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg Licença: Public Domain Contribuidores: User:AzaToth
Ficheiro:Aresta.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Aresta.png Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Ricardo Ferreira de Oliveira
File:VR complex.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:VR_complex.svg Licença: Public Domain Contribuidores: David Eppstein
Image:UndirectedDegrees.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:UndirectedDegrees.svg Licença: GNU Free Documentation License Contribuidores: Melchoir
Ficheiro:Conjugate-dessins.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Conjugate-dessins.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:Depth-first-tree.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Depth-first-tree.png Licença: GNU Free Documentation License Contribuidores: Alexander Drichel,Braindrain0000, Bukk, Dcoetzee, EugeneZelenko, Regnaron, 2 edições anónimas
Image:Simple-bipartite-graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Simple-bipartite-graph.svg Licença: Public Domain Contribuidores: MistWiz
Ficheiro:RecursiveEvenBipartite.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:RecursiveEvenBipartite.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Melchoir
Image:Biclique K 3 5.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biclique_K_3_5.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:Koko90
Image:Star graphs.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Star_graphs.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Biclique K 3 3.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biclique_K_3_3.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:Koko90
Image:Path-graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Path-graph.svg Licença: Public Domain Contribuidores: Momotaro
Ficheiro:Petersen1 tiny.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Petersen1_tiny.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Leshabirukov
Ficheiro:Biclique_K_3_3.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biclique_K_3_3.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Frucht graph.dot.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph.dot.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Image:Star_network_7.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Star_network_7.svg Licença: GNU Free Documentation License Contribuidores: Merdis
Image:Directed.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Directed.svg Licença: Public Domain Contribuidores: Grafite, Jcb, Josette, 2 edições anónimas
Image:DirectedDegrees.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DirectedDegrees.svg Licença: GNU Free Documentation License Contribuidores: Melchoir
Imagem:Directed acyclic graph 2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Directed_acyclic_graph_2.svg Licença: Public Domain Contribuidores: Johannes Rössel (talk)
Image:4-tournament.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:4-tournament.svg Licença: Public Domain Contribuidores: Booyabazooka
Ficheiro:Prim Algorithm 0.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_0.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel
Image:Graph isomorphism a.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Graph_isomorphism_a.svg Licença: GNU Free Documentation License Contribuidores:User:Booyabazooka
Image:Graph isomorphism b.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Graph_isomorphism_b.svg Licença: GNU Free Documentation License Contribuidores:User:Booyabazooka
Image:Whitneys theorem exception.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Whitneys_theorem_exception.svg Licença: Public Domain Contribuidores: User:Dcoetzee*derivative work: Dcoetzee (talk) Complete_graph_K3.svg: Dbenbenn Complete_bipartite_graph_K3,1.svg: Dbenbenn
Ficheiro:6n-graph2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graph2.svg Licença: Public Domain Contribuidores: Booyabazooka, Dcoetzee, 1 edições anónimas
Imagem:Multi-pseudograph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Multi-pseudograph.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores:0x24a537r9
Ficheiro:Directed.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Directed.svg Licença: Public Domain Contribuidores: Grafite, Jcb, Josette, 2 edições anónimas
Ficheiro:Undirected chain articulation points.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Undirected_chain_articulation_points.svg Licença: Public Domain Contribuidores: ~ Booya Bazooka. Original uploader was Booyabazooka at en.wikipedia
Ficheiro:Undirected.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Undirected.svg Licença: Public Domain Contribuidores: JMCC1, Josette, Kilom691, 2 edições anónimas
Image:6n-graf.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg Licença: Public Domain Contribuidores: User:AzaToth
Image:Octahedron graph.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Octahedron_graph.png Licença: GNU Free Documentation License Contribuidores: User:Arbor
Ficheiro:Tree graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Tree_graph.svg Licença: Public Domain Contribuidores: Dcoetzee, Tacsipacsi, Tizio
Ficheiro:4x4 grid spanning tree.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:4x4_grid_spanning_tree.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:Minimum spanning tree.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Minimum_spanning_tree.svg Licença: Public Domain Contribuidores: User:Dcoetzee
Imagem:6n-graph2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graph2.svg Licença: Public Domain Contribuidores: Booyabazooka, Dcoetzee, 1 edições anónimas
File:Lista de adjacencia.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Lista_de_adjacencia.png Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores:
Ricardo Ferreira de Oliveira
File:GuidoRossum.PNG Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:GuidoRossum.PNG Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: RicardoFerreira de Oliveira
Imagem:Petersen1 tiny.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Petersen1_tiny.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Leshabirukov
Ficheiro:Dodecahedral graph.neato.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Dodecahedral_graph.neato.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Ficheiro:Arrow east.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_east.svg Licença: Public Domain Contribuidores: User:MarianSigler
Ficheiro:Shrikhande graph square.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_graph_square.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Arrow west.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_west.svg Licença: Public Domain Contribuidores: User:MarianSigler
Ficheiro:Paley13 no label.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Paley13_no_label.svg Licença: Public Domain Contribuidores: Paley13.svg: Original uploader wasDavid Eppstein at en.wikipedia derivative work: Koko90 (talk)
Ficheiro:Arrow south.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_south.svg Licença: Public Domain Contribuidores: User:MarianSigler
Ficheiro:F26A graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:F26A_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:Koko90
Ficheiro:Nauru graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Nauru_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:
Koko90
Ficheiro:Holt graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Holt_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Folkman graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg Licença: Public Domain Contribuidores: David Eppstein
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 154/157
Fontes, Licenças e Editores da Imagem 150
Ficheiro:Biclique K 3 5.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biclique_K_3_5.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:Koko90
Ficheiro:Truncated tetrahedral graph.circo.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Truncated_tetrahedral_graph.circo.svg Licença: Creative CommonsAttribution-Sharealike 3.0 Contribuidores: Koko90
Ficheiro:Frucht graph.neato.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph.neato.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores:Koko90
Ficheiro:Arrow north.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_north.svg Licença: Public Domain Contribuidores: User:MarianSigler
Imagem:Z 2xZ 3.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Z_2xZ_3.svg Licença: Public Domain Contribuidores: Tosha
Image:0-regulární graf na 6 vrcholech.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:0-regulární_graf_na_6_vrcholech.png Licença: Public Domain Contribuidores: Original
uploader was Pavel Kotrč at cs.wikipediaImage:1-regulární graf na 6 vrcholech.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:1-regulární_graf_na_6_vrcholech.svg Licença: Public Domain Contribuidores: Originaluploader was Pavel Kotrč at c s.wikipedia, SVG by User:Jxjl
Image:2-regulární graf na 6 vrcholech.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:2-regulární_graf_na_6_vrcholech.svg Licença: Public Domain Contribuidores:User:Superm401, based on work by Pavel Kotrč
File:3-regular graph2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:3-regular_graph2.svg Licença: Public Domain Contribuidores: AASoft, SVG: Marlus_Gancher
Imagem:Paley13.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Paley13.svg Licença: Public Domain Contribuidores: Original uploader was David Eppstein at en.wikipedia
Image:Shrikhande graph square.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_graph_square.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:BiggsSmith.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:BiggsSmith.svg Licença: Public Domain Contribuidores: Original uploader was Stolee at en.wikipedia
Image:Petersen1 tiny.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Petersen1_tiny.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Leshabirukov
Imagem:Folkman graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Gray graph 2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:TruncatedTetrahedron.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:TruncatedTetrahedron.gif Licença: Public domain Contribuidores: Radagast3
Image:Cayley graph of F2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Cayley_graph_of_F2.svg Licença: Public Domain Contribuidores: User:Dbenbenn
Image:Cayley Graph of Dihedral Group D4.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Cayley_Graph_of_Dihedral_Group_D4.svg Licença: Public Domain Contribuidores: User:Denisgomes, User:Lipedia
Image:Period-3-graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Period-3-graph.svg Licença: Public Domain Contribuidores: Original uploader was David Eppstein aten.wikipedia
Image:Asym-graph.PNG Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Asym-graph.PNG Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Mikkalai
File:Frucht graph.dot.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph.dot.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Ficheiro:Breadth-First-Search-Algorithm.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Breadth-First-Search-Algorithm.gif Licença: Creative CommonsAttribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Mre
Image:Breadth-first search Algorithm.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Breadth-first_search_Algorithm.gif Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: User:Aexpedito
Ficheiro:MapGermanyGraph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:MapGermanyGraph.svg Licença: Public Domain Contribuidores: AndreasPraefcke, Mapmarks,MistWiz, Regnaron
Ficheiro:GermanyBFS.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:GermanyBFS.svg Licença: Public Domain Contribuidores: Regnaron
Ficheiro:Depthfirst.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Depthfirst.png Licença: GNU Free Documentation License Contribuidores: User:Baruneju
Ficheiro:graph.traversal.example.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Graph.traversal.example.svg Licença: GNU Free Documentation License Contribuidores:Miles
Ficheiro:konigsburg graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Konigsburg_graph.svg Licença: GNU Free Documentation License Contribuidores: AnonMoos,Piotrus, Riojajar, Squizzz
Ficheiro:Labelled Eulergraph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Labelled_Eulergraph.svg Licença: Public Domain Contribuidores: S Sepp
Ficheiro:Hamilton path.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Hamilton_path.svg Licença: Creative Commons Attribution-Sharealike 2.5 Contribuidores: Actam,Superborsuk, 1 edições anónimas
Ficheiro:Hamilton path.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Hamilton_path.gif Licença: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores:Claudio Rocchini
Ficheiro:Hamiltonian path.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Hamiltonian_path.svg Licença: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores: Christoph Sommer
Ficheiro:Mycielski graph k4 hamiltonian path.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Mycielski_graph_k4_hamiltonian_path.svg Licença: Public Domain Contribuidores: Dcoetzee, Mlepicki
Image:Directed acyclic graph.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Directed_acyclic_graph.png Licença: Public Domain Contribuidores: Anarkman, Dcoetzee, Ddxc,EugeneZelenko, Fæ, Joey-das-WBF
File:Johnson's algorithm.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Johnson's_algorithm.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:Kruskal Algorithm 1.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_1.svg Licença: Public Domain Contribuidores: Maksim, Yuval Madar
Ficheiro:Kruskal Algorithm 2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_2.svg Licença: Public Domain Contribuidores: Maksim, Yuval Madar
Ficheiro:Kruskal Algorithm 3.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_3.svg Licença: Public Domain Contribuidores: Maksim, Yuval MadarFicheiro:Kruskal Algorithm 4.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_4.svg Licença: Public Domain Contribuidores: Maksim, Yuval Madar
Ficheiro:Kruskal Algorithm 5.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_5.svg Licença: Public Domain Contribuidores: Maksim, Yuval Madar
Ficheiro:Kruskal Algorithm 6.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Kruskal_Algorithm_6.svg Licença: Public Domain Contribuidores: Maksim, Yuval Madar
Ficheiro:Prim.PNG Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim.PNG Licença: desconhecido Contribuidores: Original uploader was Rômulo Penido at pt.wikipedia
Image:Prim Algorithm 0.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_0.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel
Image:Prim Algorithm 1.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_1.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
Image:Prim Algorithm 2.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_2.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
Image:Prim Algorithm 3.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_3.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
Image:Prim Algorithm 4.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_4.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
Image:Prim Algorithm 5.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_5.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0
Contribuidores: Alexander Drichel, Stefan BirknerImage:Prim Algorithm 6.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_6.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 155/157
Fontes, Licenças e Editores da Imagem 151
Image:Prim Algorithm 7.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Prim_Algorithm_7.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Alexander Drichel, Stefan Birkner
Image:Dijkstra_Animation.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Dijkstra_Animation.gif Licença: Public Domain Contribuidores: Ibmua
Image:Biggs-Smith graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biggs-Smith_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:Biggs-Smith graph 3COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biggs-Smith_graph_3COL.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:Biggs-Smith graph 3color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Biggs-Smith_graph_3color_edge.svg Licença: Creative CommonsAttribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:BiggsSmith.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:BiggsSmith.svg Licença: Public Domain Contribuidores: Original uploader was Stolee at en.wikipediaFile:Brouwer Haemers graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Brouwer_Haemers_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Claudio Rocchini
Image:DesarguesGraph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DesarguesGraph.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Desargues graph colored.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Desargues_graph_colored.svg Licença: Creative Commons Attribution-Share Alike Contribuidores: R. A. Nonenmacher
Image:Desargues graph 3color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Desargues_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Image:Desargues graph 2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Desargues_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Image:Folkman graph alt.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph_alt.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Folkman graph 4color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph_4color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Folkman graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg Licença: Public Domain Contribuidores: David Eppstein
File:Folkman Lombardi.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_Lombardi.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Foster graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Foster_graph.svg Licença: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuidores: ClaudioRocchini
Ficheiro:Foster graph colored.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Foster_graph_colored.svg Licença: Creative Commons Attribution-Share Alike Contribuidores:R. A. Nonenmacher
Ficheiro:Foster graph 2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Foster_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Foster_graph_3color_edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Foster_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
File:frucht graph.neato.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph.neato.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Ficheiro:frucht_graph.dot.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph.dot.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Koko90
Ficheiro:Frucht_graph_3COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_graph_3COL.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores:Koko90
Ficheiro:Frucht Lombardi.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_Lombardi.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Gray graph hamiltonian.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph_hamiltonian.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Gray graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:gray_graph_2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:gray_graph_3color_edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Gray configuration.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_configuration.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Heawood Graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Heawood_Graph.svg Licença: Creative Commons Attribution-Share Alike Contribuidores: R. A.Nonenmacher
Image:Szilassi polyhedron.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Szilassi_polyhedron.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:3-crossing Heawood graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:3-crossing_Heawood_graph.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:Heawood graph 3color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Heawood_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Heawood graph 2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Heawood_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:7x-torus.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:7x-torus.svg Licença: Public Domain Contribuidores: Original uploader was David Eppstein at en.wikipedia
Image:Higman Sims Graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Higman_Sims_Graph.svg Licença: Creative Commons Attribution 3.0 Contribuidores: ClaudioRocchini
Image:Higman Sims Graph Parts.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Higman_Sims_Graph_Parts.svg Licença: Creative Commons Attribution 3.0 Contribuidores:Claudio Rocchini
Image:Higman-Sims-19.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Higman-Sims-19.svg Licença: Public Domain Contribuidores: Gro-Tsen
File:Hoffman-Singleton graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Hoffman-Singleton_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Uzyel
Image:Hoffman singleton graph circle2.gif Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Hoffman_singleton_graph_circle2.gif Licença: Creative CommonsAttribution-ShareAlike 3.0 Unported Contribuidores: Claudio Rocchini
File:Holt graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Holt_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Holt graph 3COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Holt_graph_3COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Holt graph 5color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Holt_graph_5color_edge.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Holt graph hamiltonian.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Holt_graph_hamiltonian.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Ljubljana graph hamiltonian.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ljubljana_graph_hamiltonian.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:Ljubljana_graph_2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ljubljana_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0
Contribuidores: Koko90
Imagem:Ljubljana_graph_3color_edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ljubljana_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 156/157
Fontes, Licenças e Editores da Imagem 152
Imagem:Ljubljana graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ljubljana_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:Ljubljana configuration.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Ljubljana_configuration.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Nauru graph.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Nauru_graph.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores:Koko90
Ficheiro:Symmetric group 4; Cayley graph 1,5,21 (Nauru torus).svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Symmetric_group_4;_Cayley_graph_1,5,21_(Nauru_torus).svg Licença: Public Domain Contribuidores: Mate2code
Ficheiro:Symmetric group 4; Cayley graph 1,5,21 (Nauru Petersen).svg Fonte:
http://pt.wikipedia.org/w/index.php?title=Ficheiro:Symmetric_group_4;_Cayley_graph_1,5,21_(Nauru_Petersen).svg Licença: Public Domain Contribuidores: LipediaFicheiro:Symmetric group 4; Cayley graph 1,5,21 (adjacency matrix).svg Fonte:http://pt.wikipedia.org/w/index.php?title=Ficheiro:Symmetric_group_4;_Cayley_graph_1,5,21_(adjacency_matrix).svg Licença: Public Domain Contribuidores: Lipedia
Ficheiro:Nauru graph 3d.png Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Nauru_graph_3d.png Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: DavidEppstein
File:Nauru unit distance.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Nauru_unit_distance.svg Licença: Public Domain Contribuidores: David Eppstein
Image:Pappus graph LS.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pappus_graph_LS.svg Licença: Public Domain Contribuidores: David Eppstein
Imagem:Pappus graph colored.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pappus_graph_colored.svg Licença: Creative Commons Attribution-Share Alike Contribuidores:R. A. Nonenmacher
Imagem:Pappus graph 3color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pappus_graph_3color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Imagem:Pappus graph 2COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pappus_graph_2COL.svg Licença: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contribuidores: Koko90
Image:Petersen graph, two crossings.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Petersen_graph,_two_crossings.svg Licença: Public Domain Contribuidores:User:Dbenbenn
Imagem:Petersen graph, unit distance.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Petersen_graph,_unit_distance.svg Licença: Public Domain Contribuidores:User:Dbenbenn
Ficheiro:Shrikhande torus.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_torus.svg Licença: Public Domain Contribuidores: David Eppstein
Ficheiro:Shrikhande graph 4COL.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_graph_4COL.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Shrikhande graph 6color edge.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_graph_6color_edge.svg Licença: Creative Commons Attribution-Sharealike3.0,2.5,2.0,1.0 Contribuidores: Koko90
Ficheiro:Shrikhande graph symmetrical.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_graph_symmetrical.svg Licença: Creative Commons Attribution-ShareAlike Contribuidores: R. A. Nonenmacher
Ficheiro:Shrikhande Lombardi.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_Lombardi.svg Licença: Public Domain Contribuidores: David Eppstein
File:Chang graphs.svg Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Chang_graphs.svg Licença: Creative Commons Attribution-Sharealike 3.0 Contribuidores: Claudio Rocchini
7/16/2019 Teoria Dos Grafos
http://slidepdf.com/reader/full/teoria-dos-grafos-5633890285edf 157/157
Licença 153
LicençaCreative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/