157
PDF 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 Grafos Grafos individuais

Teoria Dos Grafos - Grafos Individuais

Embed Size (px)

DESCRIPTION

Teoria dos Grafos

Citation preview

PDF 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

ConteúdoPá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

Á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 92

Algoritmo 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

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 132

Grafo 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

1

Introdução - Teoria dos Grafos

Sete pontes de Königsberg

Esquema de pontes.

Grafo estilizado das pontes.

Sete pontes de Königsberg é um famosoproblema histórico da matemática resolvidopor Leonhard Euler em 1736, cuja soluçãooriginou a teoria dos grafos.[1]

O problema é baseado na cidade deKönigsberg (território da Prússia até 1945,atual Kaliningrado), que é cortada pelo RioPrególia, onde há duas grandes ilhas que,juntas, formam um complexo que na épocacontinha sete pontes, conforme mostra afigura ao lado. Das sete pontes originais,uma foi demolida e reconstruída em 1935,duas foram destruídas durante a SegundaGuerra Mundial e outras duas foramdemolidas para dar lugar a uma única viaexpressa. Atualmente apenas duas pontessão da época de Leonard Euler.

Discutia-se nas ruas da cidade apossibilidade de atravessar todas as pontessem repetir nenhuma. Havia-se tornado umalenda popular a possibilidade da façanhaquando Euler, em 1736, provou que nãoexistia caminho que possibilitasse taisrestrições.

Euler usou um raciocínio muito simples.Transformou os caminhos em retas e suas intersecções em pontos, criando possivelmente o primeiro grafo dahistória. Então percebeu que só seria possível atravessar o caminho inteiro passando uma única vez em cada ponte sehouvesse 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 deum para entrar e um para sair, respectivamente. Se não houver pontos com número ímpar de caminhos, pode-se (edeve-se) iniciar e terminar o trajeto no mesmo ponto, podendo esse ser qualquer ponto do grafo. Isso não é possívelquando 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 de1944.[2]

[1] Leonhard Euler: Solutio problematis ad geometriam situs pertinentis (http:/ / www. math. dartmouth. edu/ ~euler/ docs/ originals/ E053. pdf)

Teoria dos grafos 2

Teoria dos grafos

Grafo com 4 vértices e 6 arestas. É um grafocompleto, conexo e planar.

A teoria dos grafos é um ramo da matemática que estuda as relaçõesentre os objetos de um determinado conjunto. Para tal são empregadasestruturas chamadas de grafos, G(V,A), onde V é um conjunto nãovazio de objetos denominados vértices e A é um conjunto de pares nãoordenados de V, chamado arestas.

Dependendo da aplicação, arestas podem ou não ter direção, pode serpermitido ou não arestas ligarem um vértice a ele próprio e vérticese/ou arestas podem ter um peso (numérico) associado. Se as arestastêm uma direção associada (indicada por uma seta na representaçãográfica) temos um grafo direcionado, grafo orientado ou digrafo. Umgrafo com um único vértice e sem arestas é conhecido como o grafotrivial.

Estruturas que podem ser representadas por grafos estão em toda partee muitos problemas de interesse prático podem ser formulados comoquestõ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 umlink para B. Dígrafos são também usados para representar máquinas de estado finito. O desenvolvimento dealgoritmos 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 oprimeiro 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 etopologia.

Definições de grafos e digrafosNa literatura, as definições básicas da teoria dos grafos variam bastante. Aqui estão as convenções usadas nestaenciclopé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 serconsiderado seu "custo"; tais grafos surgem em problemas de rota ótima tais como o problema do caixeiro viajante.

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 oconjunto 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 mapeamentow sendo a identidade).

Uma aresta conecta dois vértices; esses dois vértices são ditos comoincidentes à aresta. A valência (ou grau) de um vértice é o número dearestas incidentes a ele, com loops contados duas vezes. No grafo deexemplo os vértices 1 e 3 possuem uma valência de 2, os vértices 2, 4 e5 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. Emum 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úmerode 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ãoadjacentes, mas os vértices 2 e 4 não são. O conjunto de vizinhos de um vértice consiste de todos os vérticesadjacentes a ele. No grafo-exemplo, o vértice 1 possui 2 vizinhos: vértice 2 e vértice 5. Para um grafo simples, onú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) é geralmenterepresentado por sua matriz de adjacência: uma matriz n-por-n cujo valor na linha i e coluna j fornece o número dearestas 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 ografo é conexo. Se for sempre possível estabelecer um caminho de qualquer vértice para qualquer outro vérticemesmo 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 doisvé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 acada um dos demais. Ou seja, todos os vértices do grafo possuem mesmo grau. O grafo completo de n vértices éfrequentemente denotado por Kn. Ele tem n(n-1)/2 arestas (correspondendo a todas as possíveis escolhas de paresde vértices).

• Grafo nulo é o grafo cujo conjunto de vértices é vazio.

• Grafo vazio é o grafo cujo conjunto de arestas é vazio.

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 umcomprimento pelo menos de 3 e no qual o vértice inicial só aparece mais uma vez, como vértice final, e os outrosvértices aparecem só uma vez. No grafo acima, (1, 5, 2, 1) é um ciclo simples. Um grafo chama-se acíclico se nãocontém ciclos simples.

• Ponto de articulação ou Vértice de corte é um vértice cuja remoção desliga um grafo. Uma ponte é uma arestacuja remoção desliga um grafo. Um componente biconectado é um conjunto máximo de arestas tal que qualquerpar de arestas do conjunto fazem parte de um ciclo simples comum. O contorno de um grafo é o comprimento dociclo 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, cujoconjunto de arestas é um subconjunto do conjunto de arestas de G, e cuja função w é uma restrição da função deG

• Subgrafo gerador é aquele obtido pela remoção de uma ou mais arestas de um outro grafo, dizemos então queeste novo grafo obtido é gerador do primeiro,

• Subgrafo induzido é obtido pela remoção de vértices e consequente das arestas relacionadas com ele de um outrografo, 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 é umgrafo 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, osvé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 doexemplo é 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 é onúmero de arestas que o caminho usa, contando-se arestas múltiplas múltiplas vezes. O custo de um caminhonum grafo balanceado é a soma dos custos das arestas atravessadas. Dois caminhos são independentes se nãotiverem 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, ografo é 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 ciclohamiltoniano é um ciclo que visita cada vértice uma só vez. O grafo do exemplo contém um caminhohamiltoniano. Enquanto determinar se um dado grafo contém um caminho ou ciclo euleriano é trivial, o mesmoproblema para caminhos e ciclos hamiltonianos é extremamente árduo.

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 pelaprimeira vez, o número de convidados que apertam a mão um número ímpar de vezes é par. Também em grafosnã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 entrevé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 cadavez serão percorridas duas arestas, uma de um vértice em V1 para um vértice em V2 e outra de um vérticeem V2 para um vértice em V1. Logo, o número de arestas a percorrer será par, ou seja, o comprimento docircuito é 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 V1o 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 existequalquer 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. Oraexiste já um caminho de comprimento par entre Xi e Xj, já que existem caminhos, ambos de comprimentopar (ou ímpar, no caso de Xi e Xj pertencerem a V2), entre Xi e X e entre X e Xj. Se a esse caminhojuntarmos a aresta {Xi;Xj} obtemos um circuito de comprimento ímpar o que contraria a hipótese de apenasexistirem circuitos de comprimento par.

• Grafo bipartido completo é o grafo bipartido, cujo qualquer vértice do primeiro conjunto é adjacente a todosvé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 quegrafo bipartido.

• Emparelhamento de grafos consiste em partir o grafo em conjuntos de vértices a qual não compartilhamnenhuma aresta entre eles.

• Teorema das quatro cores é baseado no problema das cores necessárias para se colorir um mapa sem que ospaíses vizinhos compartilhem da mesma cor. Transformando o mapa em um grafo pode-se provar que pode-serepresentar 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 1caminho entre eles. Um percurso em extensão é visitar cada nó começando do menor nível e move-se para os níveismais altos nível após nível, visitando cada nó da esquerda para a direita. Sua implementação é direta quando uma fila

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ícioda 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 nopróximo nó. Numa implementação não-recursiva, todos os nós expandidos recentemente são adicionados a umapilha, para realizar a exploração. A complexidade espacial de um algoritmo de busca em profundidade é muitomenor que a de um algoritmo de busca em largura. A complexidade temporal de ambos algoritmos são proporcionaisao número de vértices somados ao número de arestas dos grafos aos quais eles atravessam. Quando ocorrem buscasem grafos muito grandes, que não podem ser armazenadas completamente na memória, a busca em profundidade nãotermina, 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 serresolvido 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

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 quepermitem 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

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 deestudo da teoria dos grafos. Tipicamente, um grafo é representadocomo um conjunto de pontos (vértices) ligados por retas (as arestas).Dependendo da aplicação, as arestas podem ser direcionadas, e sãorepresentadas 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 ummapa de estradas através dos grafos e usar algoritmos específicos paradeterminar o caminho mais curto entre dois pontos, ou o caminho maiseconó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 cadaaresta 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 redepelas arestas e o custo associado a latência, por exemplo, ou o número de máquinas que a comunicação atravessaentre 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õesentre 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 existentesentre elementos de dados. Ele pode ser descrito num espaço euclidiano de n dimensões como sendo um conjunto Vde 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 emgrafo consiste em explorar um grafo, de forma que obtenha um processo sistemático de como caminhar por seusvértices e arestas. Às vezes é preciso visitar todos os vértices de um grafos, às vezes o problema pode ser resolvidovisitando 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.

Grafo 9

Algoritmos de percursoExistem dois métodos de percurso em grafos: percurso em profundidade (depth-first search — DFS) e o percurso emlargura (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 arestasainda 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 umadistâ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 ové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 unidadefundamental da qual os grafos são formados: um grafo não dirigidoconsiste de um conjunto de vértices e um conjunto de arestas (pares devértices não ordenados), enquanto um digrafo é constituído por umconjunto de vértices e um conjunto de arcos (pares ordenados devértices). Do ponto de vista da teoria dos grafos, vértices são tratadoscomo objetos inexpressivos e indivisíveis, embora possam ter umaestrutura adicional, dependendo da aplicação a partir da qual surge ografo; por exemplo, uma rede semântica é um grafo no qual os vérticesrepresentam conceitos ou classes de objetos.

Os dois vértices formando uma aresta são ditos suas extremidades e aaresta é dita que é incidente para com os vértices.[] Um vértice w é dito ser adjacente a outro vértice v se o grafocontém uma aresta (v,w).[] A adjacência de um vértice v é um subgrafo induzido do grafo, formado por todos osvé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 comgrau 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 arestasdivergentes) 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 de extremidade de cada aresta do grafo. O espaço de vértices de um grafo é um espaço vetorial com um conjunto de

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. Nocontexto da enumeração de grafos e isomorfismo de grafos, é importante fazer a distinção entre vértices rotulados evértices sem rótulo. Um vértice rotulado é um vértice que está associado com informação extra que possa odistinguir de outros vértices rotulados; dois grafos podem ser considerados isomórficos somente se acorrespondê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 emquaisquer 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 umgrafo, os vértices do qual são vértices do poliedro, mas os vértices do poliedro tem uma estrutura adicional (sualocalização geométrica) que não se presume estar presente na teoria dos grafos. A Figura de vértice de um vértice deum 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 umconjunto 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 firstEnglish 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]: ClarendonPress, 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

Aresta 11

Aresta

Tipos de arestas.

Em teoria dos grafos, uma aresta junto com os vértices ou nodosformam as unidades fundamentais das quais os grafos sãoformados[]: um grafo não dirigido consiste de um conjunto devértices e um conjunto de arestas (pares de vértices nãoordenados), enquanto um digrafo é constituído por um conjunto devértices e um conjunto de arcos (pares ordenados de vértices). Asarestas 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ãonecessariamente distintos[]. Normalmente as arestas denotam asrelações entre os vértices (vizinhanca, grau, herança, etc..)

Tipos de arestas

Uma aresta pode ser não-direcionada ou direcionada. No segundocaso, o par de vértices é ordenado e o vértices são chamadosvértice-inícial e vértice-final. Arestas com o mesmo vértice-iniciale 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çãochamada 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 quepertence ao conjunto E.

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érticecoincidem, mas nenhum outro vértice é repetido" [1]. Um ciclo é uma cadeia simples e fechada[][2]. Um ciclo é umacadeia 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 nadefinição acima[1].

Definição matemáticaMatematicamente: Seja G um grafo. Um ciclo em G é um caminho

{v1, v2, . . ., vk, vk+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 (suasarestas), 19 cliques de 3-vértices (os triângulos em azul claro), e 2 cliques de4-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 cadadois vértices do subconjunto são conectadospor uma aresta. Uma clique em um grafo Gé um subgrafo de G que é completo. Elesrecebem a notação [1]. O tamanho deuma clique é igual a cardinalidade de seuconjunto de vértices. Por exemplo no grafoG(V,E) sendo V seu conjunto de vértices eE o de arestas, temos que:

Se V={1,2,3,4,5} eE={(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.

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çoscontados duas vezes. [1][] Ou de forma análoga, o número de vérticesadjacentes 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 umgrafo, denotado por δ(G), são os graus máximos e mínimos de seusvértices. No grafo à direita, o grau máximo é 3 e o mínimo é 0. Em umgrafo regular, todos os graus são os mesmos, e assim podemos falar deo grau do gráfico.

Lema do aperto de mãosA 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 afórmula de soma grau) é conhecida como o Lema do aperto de mãos (em inglês, handshaking lemma). O últimonome vem de um problema matemático popular, para provar que, em qualquer grupo de pessoas o número depessoas 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 degraus (3, 2, 2, 2, 2, 1, 1, 1).

A seqüência de grau de um grafo não-direcionado é a seqüêncianã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 logografos isomorfos têm a mesma seqüência. No entanto, a seqüênciade grau, em geral, não identifica unicamente um grafo; em algunscasos, os grafos não isomorfos têm o mesmo grau de seqüência.

O problema da seqüência de graus, é o problema de encontraralguns ou todos os grafos com a seqüência de grau sendo umadada seqüência não crescente de números inteiros positivos. Zerosfinais podem ser ignorados, uma vez que são trivialmenteefetuados pela adição de um número adequado de vértices isoladosdo grafo.

O problema de encontrar ou estimar o número de grafos com umaseqüência de determinado grau é um problema do campo daenumeraçã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 podeser entendida como a seqüência de grau de um grafo. O inverso também é verdadeiro: se uma seqüência tem umasoma 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).

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, masneste caso o motivo é menos óbvio. Encontrar os critérios gerais de seqüências de grau de grafos simples é umproblema 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 (di)i=1,...,n é uma seqüência de grau de um grafosimples sse, a soma da seqüência é par e

Havel e Hakimi provaram que (d1, d2, ..., dn) é uma seqüência de grau de um grafo simples sse (d2 − 1, d3 − 1, ...,dd1+1 − 1, dd1+2, dd1+3, ..., dn) é. Este fato leva a um algoritmo simples (o algoritmo Havel-Hakimi) para arealização de um grafo simples, com uma seqüência de determinado grau de realização: Comece com um grafo sembordas. Mantenha uma lista de vértices cujo grau de exigência não tenha ainda sido atingido em ordem não-crescentede exigência de grau residual. Conecte o primeiro vértice com os próximos d1 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 noestudo de árvores em teoria dos grafos e em especial árvores comoestrutura de dados.

Propriedades globais

• Se cada vértice do grafo tem o mesmo grau k o grafo é chamado deum 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 desaída 1.

• Pelo Teorema de Brooks, qualquer grafo que não seja um clique ou um ciclo ímpar tem um número cromático, deno 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

Grafo bipartido 15

Grafo bipartido

Exemplo de um grafo bipartido

No campo da matemática da teoria dos grafos, um grafo bipartidoou bigrafo é um grafo cujos vértices podem ser divididos em doisconjuntos disjuntos U e V tais que toda aresta conecta um vérticeem U a um vértice em V;[1] ou seja, U e V são conjuntosindependentes. Equivalentemente, um grafo bipartido é um grafoque não contém qualquer ciclo de comprimento ímpar

Os dois conjuntos U e V podem ser pensados como uma coloraçãodo grafo com duas cores: se nós colorirmos todos os nodos em Ude azul, e todos os nodos em V de verde, cada aresta temterminações de cores diferentes, como é exigido no problema decoloração de grafos. Em contrapartida, tal coloração é impossívelno 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 é compostapor 4 arestas.

Testando biparticidade

Encontrando uma bipartição usando paridade

Se um grafo bipartido é conexo, a sua bipartição pode ser definida pelaparidade 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 outrosubconjunto consiste dos vértices a uma distância ímpar de v.

Assim, pode-se testar eficientemente se um grafo é bipartido, usandoesta técnica de paridade de se atribuir vértices para os doissubconjuntos U e V, separadamente a cada componente conectado dografo e, em seguida, examinar cada aresta para verificar se ela temterminações designadas para os diferentes subgrupos.

Grafo bipartido 16

AplicaçõesGrafos bipartidos são úteis para a modelagem de problemas de acoplamento. Um exemplo de grafo bipartido é umproblema de correspondência de empregos. Suponha que temos um conjunto P de pessoas e um conjunto J de postosde trabalho, com nem todas as pessoas adequadas para todos os trabalhos. Podemos modelar isto como um grafobipartido (P, J, E). Se uma pessoa px é adequada para um determinado trabalho jy existe uma aresta entre px e jy nografo. 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 palavrasde 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 esimulação de sistemas concorrentes. Um sistema é modelado como um grafo bipartido dirigido com dois conjuntosde nós: Um conjunto de nodos "lugar" que contêm recursos, e um conjunto de nodos "evento" que geram e/ouconsomem recursos. Existem restrições adicionais sobre os nós e arestas que condicionam o comportamento dosistema. Redes de Petri utilizam as propriedades de grafos bipartidos dirigidos e outras propriedades para permitirprovas matemáticas do comportamento dos sistemas enquanto ao mesmo tempo, permitindo a fácil implementaçãode simulações do sistema.

Em geometria projetiva, grafos de Levi são uma forma de grafo bipartido usada para modelar as incidências entre ospontos 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 oconjunto de vértices de M e tome V como o conjunto de arestas de M. Então junte-se um elemento de V paraprecisamente os dois elementos de U que são as extremidades da aresta em M. Assim, cada multigrafo é descritocompletamente 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 oconjunto de vértices no hipergrafo, e V como conjunto de arestas. para cada e , conecte u a v se aaresta 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 de

vé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.

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 grafobipartido onde cada vértice do primeiro conjunto está associado a cada vértice do segundo conjunto.

DefiniçãoUm grafo bipartido completo, G := (V1 + V2, E), é um grafo bipartido tal que para quaisquer dois vértices, v1 ∈ V1 ev2 ∈ V2, v1v2 é uma aresta em G. O grafo bipartido completo com partições de tamanho |V1|=m e |V2|=n, é denotadoKm,n.

Exemplos

Grafo bipartido completo 18

Os grafos estrela S3, S4, S5 e S6.

O grafo de utilidade K3,3

• Para qualquer k, K1,k é chamadouma estrela. Todos os grafosbipartidos completos que sãoárvores são estrelas.

• O grafo K1,3 é chamado uma garra,e é usado para definir os grafos semgarra.

• O grafo K3,3 é chamado de grafo deutilidade. Esta prática vem de umquebra-cabeça matemáticotradicional, no qual três utilidadesdevem ser ligadas a cada trêsedifícios; é impossível de resolversem cruzamentos, devido ànão-planaridade de K3,3.

Propriedades

• Dado um grafo bipartido completo, ele possui dois autovalores simétricos (o índice e o seu simétrico) e os demaisnulos.[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 ummenor (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 Km,n tem 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

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 particularmentesimples de uma árvore, ou seja, uma árvore com dois ou mais vértices que não tem ramificações, ou seja, contémsomente vértices de grau 2 e 1.[1] Em particular, ela tem dois vértices terminais (vértices que têm grau 1), enquantotodos 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

Grafo completo 20

Grafo completoUm grafo completo é um grafo simples em que todo vértice é adjacente a todos os outros vértices. O grafo completode 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 é umgrafo regular no qual todos os vértices tem grau três[1]. Em outraspalavras um grafo cúbico é um grafo 3-regular. Grafos cúbicos sãotambé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]. Muitosgrafos individuais conhecidos são cúbicos e simétricos, incluindo ografo de Petersen, o grafo de Nauru, o grafo de Coxeter, o grafo deTutte–Coxeter, o grafo de Dyck, o grafo de Foster e o grafo deBiggs-Smith.

W. T. Tutte classificou os grafos simétricos cúbicos pelo menornúmero inteiro s tal que cada dois caminhos orientados decomprimento s podem ser mapeados entre si por exatamente umasimetria do grafo. Ele mostrou que s é no máximo 5, e deu exemplosde 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 menorgrafo cúbico semi-simétrico), o grafo de Ljubljana, e o gaiola-12 deTutte.

O grafo de Frucht é o menor grafo cúbico sem qualquer simetria:possui apenas um único automorfismo de grafos, o automorfismoidentidade.

Grafo cúbico 21

O grafo Frucht, o menor grafo cúbicoassimétrico.

Coloração e conjuntos independentes

De acordo com o teorema de Brooks todo grafo cúbico com exceçãodo grafo completo K4 pode ser colorido com no máximo três cores.Portanto, todo grafo cúbico diferente de K 4 tem um conjuntoindependente de pelo menos n/3 vértices, onde n é o número devértices no grafo: por exemplo, a maior classe de cor em uma3-coloração tem pelo menos estes vértices.

De acordo com o teorema de Vizing todo grafo cúbico necessita três ouquatro cores para uma coloração de arestas. Uma 3-aresta-coloração éconhecida como uma coloração Tait, e fgorma uma partição das arestasdo grafo em três acoplamentos perfeitos. Pelo teorema de coloração delinhas 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 grafode 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 grafospoliédricos cúbicos tem um circuito Hamiltoniano. William Thomas Tutte forneceu um contra-exemplo para aconjectura de Tait, o grafo de Tutte de 46 vértices, em 1946. Em 1971, Tutte conjecturou que todos os grafosbicúbicos são hamiltonianos. No entanto, José Horton proporcionou um contra-exemplo com 96 vértices, o grafo deHorton[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úbicopoliédrico é hamiltoniano. Quando um grafo cúbico é hamiltoniano, a notação LCF permite que ele seja representadade forma concisa.

Se um grafo cúbico é escolhido aleatoriamente entre todos os grafos cúbicos de n-vértices, então é bem provável queseja Hamiltoniano. a proporção de grafos cúbicos de n-vértices que são Hamiltonianos tende a um no limite a medidaque 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 limitesuperior que foi até agora comprovado no número de ciclos hamiltonianos distintos é 1,276n.[10]

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 inferiormelhor 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 sobreteoria 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 eHø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 oCenso de Foster.[12]

• 1971: William Tutte conjetura que todos os grafos bicúbicos são ciclos hamiltonianos. Entretanto, Hortonproporciona 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 arestasque cruzam um dado grafo) de um grafo cúbico é NP-hard, apesar de terem um grau pequeno. Existem, nãoobstante, 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] .

Grafo Estrela 23

Grafo Estrela

Estrela

A estrela S7.

vértices k+1

arestas k

Diâmetro 2

Cintura ∞

Númerocromático

2

Índicecromático

k

Propriedades aresta-transitivoÁrvoreDistância-unidadeBipartido

Notação Sk

Em teoria dos grafos, uma estrela Sk é o grafo bipartido completo K1,k, uma árvore com um nó interno e k folhas.Uma estrela com 3 arestas é chamada uma garra[1].

A estrela Sk é aresta-elegante quando k é par e não quando k é ímpar. Ela é aresta-transitiva, unidade-distância e têmdiâ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 graumaior 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 subgrafoinduzido[2][3].

Uma estrela é um tipo especial de árvore. Como acontece com qualquer árvore, as estrelas podem ser codificados poruma sequência Prüfer; A sequência Prüfer para uma estrela K1,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 deflorestas que um grafo pode ser particionado em tal modo que cada árvore em cada floresta é uma estrela[6], e onúmero cromático de estrela de um grafo é o menor número de cores necessário para colorir seus vértices de talforma que cada duas classes de coloração, juntas, formam um subgrafo em que todos os componentes conectados sãoestrelas[7]. Os grafos de comprimento de ramo 1 são exatamente os grafos em que cada componente conectado é umaestrela[8].

Grafo Estrela 24

Os grafos estrela S3, S4, S5 e S6.

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ãopode 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

Grafonulo

vé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 decategoria 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

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 maisexplícito grafo sem arestas. Assim se reserva o termo grafo nulo para o primeiro sentido: um grafo sem quaisquervé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 é comumentedenotado 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 umproblema 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 conjuntocorrespondente chamado E ao invés de A).

Ele difere de um grafo não-direcionado comum, em que o último é definido emtermos 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 (oumultidigrafo ou ainda quiver), em que os arcos constituem um multiconjunto, ao invés de um conjunto, de paresordenados de vértices. Além disso, em um digrafo simples laços não são permitidos. Por outro lado, alguns textospermitem laços, arcos múltiplos, ou ambos em um digrafo.

Grafo orientado 26

Terminologia básicaUm 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 umcaminho 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 orientadocom os pares de arcos invertidos substituído por arestas, assim o número de arestas é igual ao número de arcos pelametade.

A orientação de um grafo grafo não-direcionado simples é obtida através da atribuição de um sentido para cadalado. Qualquer grafo direcionado construído desta forma é chamado de um grafo orientado. A distinção entre umgrafo direcionado simples e um grafo orientado é que se e são vértices, um grafo direcionado simples permitetanto 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, ea entrada diagonal é o número de laços no nó i. A matriz de adjacência de um digrafo é única até as permutaçõesde 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 ouentrada)

Para um nodo, o número de pontos de extremidade adjacente à cabeçade 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. Damesma 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.

Grafo orientado 27

Conectividade de digrafosUm digrafo G é chamado de fracamente conectado (ou apenas conectado[]p. 19) se o grafo subjacentenão-direcionado obtido através da substituição de todas as arestas de G por arestas não direcionadas é um grafoconexo. Um digrafo é fortemente conectado ou forte se ele contém um caminho orientado de u a v e um caminhoorientado de v a u para cada par de vértices u,v. Os componentes fortes são os subgrafos máximo fortementeconectados.

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, setodas 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 cadaaresta em um grafo completo não-direcionado.

Na teoria dos grupos de Lie, um quiver Q é um grafo direcionado servindocomo o domínio do e, portanto, caracterizando a forma de, umarepresentação V definida como um functor, mais especificamente um objetoda categoria functor FinVctK

F(Q) onde F(Q) é a categoria livre em Qconstituída por caminhos em Q e FinVctK é a categoria de espaços vetoriaisde dimensão finita sobre um campo K. Representações de um quiver rótulamseus vértices com espaços vetoriais e suas arestas (e, portanto, caminhos) demodo compatível com transformações lineares entre eles, e transformamatravés das transformações naturais.

Referências[1][1] .[2][2] .[4][4] .

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 ese, além disso, não contiver lacetes nem arestas paralelas, ou seja existir uma aresta que conecta um vertice a elemesmo.

Em grande parte dos textos o adjectivo simples (ou regular) é omitido estando, no entanto, subentendido. Um grafoque 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 oconjunto 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 quantitativosassociados a pontos(vértices) ou ligações(arestas) relacionados ao problema[] . Na maioria das aplicações de grafos aproblemas 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 é comumenteconhecida como matriz de valores das ligações ou simplesmente matriz de valores.[] Na lista de adjacência cadalinha vem acompanhada de seus valores respectivos[] . A figura a seguir ilustra um exemplo:

Grafo valorado Matriz de valores

Homomorfismo de grafos 29

Homomorfismo de grafosNo campo da matemática da teoria dos grafos um homomorfismo de grafos é um mapeamento entre dois grafos querespeita 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 complexidadecomputacional; 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 taisque:

se ; ou , caso contrário.O conceito de homomorfismo de grafos pode ser generalizado (usando essa estrutura para grafos) de funções (entrenó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 deresultados sobre a confluência de sistemas de reescrita de grafos.

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 (menornú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 emH. Este tipo de bijeção é comumente chamado de "bijeção com preservação de arestas", de acordo com a noção geralde 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. Noentanto, a noção de isomorfismo pode ser aplicada a todas as outras variantes da noção de grafo, somando osrequisitos necessários para preservar os elementos adicionais correspondentes da estrutura: as direções do arco, ospesos das arestas, etc, com a seguinte exceção. Quando se fala em rótulo com rótulos exclusivos, geralmente tiradosdo intervalo inteiro 1 ,...,n, onde n é o número dos vértices do grafo, dois grafos rotulados são ditos isomórficos se osgrafos 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 osgrafos em classes de equivalência. Um conjunto de grafos isomorfos entre si é chamado de classe de isomorfismode grafos.

Isomorfismo de grafos 31

ExemploOs dois grafos abaixo são isomorfos, apesar de suas representações diferentes.

Grafo G Grafo H Umisomorfismoentre 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 algunsobjetos têm "a mesma estrutura", se alguém ignora distinções individuais dos componentes de objetos "atômicos" emquestã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 pelaimposição de restrições adicionais sobre a estrutura, e outros objetos matemáticos são utilizados: digrafos, grafosrotulados, grafos coloridos, árvores enraizadas e assim por diante. A relação de isomorfismo pode também serdefinida para todas essas generalizações de grafos: o isomorfismo bijeção deve preservar os elementos da estruturaque 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 dadospara grafos, rótulos de grafos, etc. Por exemplo, se um grafo tem exatamente um ciclo, em seguida, todos os grafosda sua classe de isomorfismo também têm exatamente um ciclo. Por outro lado, no caso comum quando os vérticesde 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 grafos

Teorema de Whitney

A exceção do teorema de Whitney: estes dois grafosnão são isomórficos, mas tem grafos de linha

isomórfica.

O teorema de isomorfismo de grafos de Whitney,[1] demonstradopor H. Whitney, afirma que dois grafos conexos são isomorfos se esomente se o seu grafos de linha são isomórficos, com uma únicaexceção: K3, o grafo completo em três vértices, e o grafo bipartidocompleto K1,3, que não são isomórficos, mas ambos têm K3 comoseu grafo de linha. O teorema de grafos de Whitney pode serestendido para hipergrafos.[2]

Isomorfismo de grafos 32

abordagem algorítmicaEnquanto isomorfismos de grafos podem ser estudados de forma clássica da Matemática, como exemplificado peloteorema de Whitney, é reconhecido que é um problema a ser enfrentado com uma abordagem algorítmica. Oproblema computacional de determinar se dois grafos finitos são isomorfos é chamado o problema do isomorfismode 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çõesdo desenho de um Circuito eletrônico

Curiosamente, é também um dos poucos problemas em teoria computacional da complexidade pertencente à classeNP, mas não se sabe se pertence a nenhum de seus conhecidos subconjuntos (e, se P ≠ NP, disjuntos):P eNP-completo. É um de apenas dois, dos 12 totais, problemas listados em Garey e Johnson (1979) cuja complexidadeestá 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 geralquanto 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. Umgrafo simples, não contém nenhum laço.

Dependendo do contexto, um grafo ou um multigrafo pode ser definidode forma a permitir ou proibir a presença de laços (muitas vezes emcombinação com a permissão ou proibição do uso de arestas múltiplasentre os mesmos vértices:

• Onde os grafos são definidos de modo a permitir laços e arestasmúltiplas, um grafo sem laços é muitas vezes chamado demultigrafo.[][][]

• Onde os grafos são definidos de modo a não permitir laços e arestasmúltiplas, um multigrafo ou pseudografo é muitas vezes definidocomo um grafo que pode ter laços e arestas múltiplas.[][]

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 dacontagem de arestas do laço como seu próprio vértice adjacente. Em outras palavras, um vértice com um laço "vê" asi 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 podepossuir arestas múltiplas (ou paralelas), ou seja, arestas commesmos nós finais. Assim, dois vértices podem estar conectadospor mais de uma aresta. Formalmente, um multigrafo G é um parordenado , 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êmlaços, isto é, uma aresta que conecta um vértice a ele mesmo[1];outros chamam estes de pseudografos, reservando o termomultigrafo para os casos em que não há laços[2].

Multigrafos podem ser usados, por exemplo, pra modelar aspossíveis conexões de vôo oferecidas por uma linha aérea. Nessecaso o pseudografo seria um grafo dirigido com pares de arestasparalelas 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).

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 é uma8-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 podepossuir arestas múltiplas (ou paralelas), ou seja, arestas commesmos nós finais. Assim, dois vértices podem estar conectadospor mais de uma aresta. Formalmente, um multigrafo G é um parordenado , 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êmlaços, isto é, uma aresta que conecta um vértice a ele mesmo[1];outros chamam estes de pseudografos, reservando o termomultigrafo para os casos em que não há laços[2].

Multigrafos podem ser usados, por exemplo, pra modelar aspossíveis conexões de vôo oferecidas por uma linha aérea. Nessecaso o pseudografo seria um grafo dirigido com pares de arestasparalelas 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,

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).

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 é uma8-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.

Quiver 36

Quiver

Um digrafo.

Em matemática, um quiver (ou digrafo) é um grafo direcionado onde laços emúltiplas setas entre dois vértices são permitidos. Eles são comumente utilizadosem teoria da representação: uma representação, V, de um quiver atribui um espaçovetorial 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 deconcatenar trilhas da direita para esquerda. Então, a trilha algébrica é um espaço vetorial que tem todas as trilhas doquiver como base e a multiplicação dada pela concatenação de trilhas. Se duas trilhas não podem ser concatenadasporque o vértice final da primeira não é igual ao vértice inicial da segunda, seu produto é definido como zero. Istodefine uma álgebra associativa sobre K. Essa álgebra é unitária se e somente se o quiver possui somente muitosvé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 linearestal 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ívelpara 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 consideradouma categoria, onde os vértices são objetos e trilhas são morfismos. Então, uma representação de Q é apenas umfuntor 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 deGabriel 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 setassã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 sistemade raízes do diagrama de Dynkin.

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=5vertices e n-2=3 vértices de corte;os vértices de corte (em vermelho)

são aqueles que não estão emambos as pontas

Em matemática e ciência da computação, um vértice de corte ou ponto dearticulação[1] é um vértice de um grafo tal que a remoção deste vértice provocaum aumento no número de componentes conectados. Se o grafo era conectadoantes da remoção do vértice, ele será desconectado depois. Qualquer grafoconectado com um vértice de corte tem uma conectividade de 1.

Embora bem definidos, mesmo para grafos dirigidos (digrafos), os vértices de cortesão utilizados principalmente em grafos não dirigidos. Em geral, um grafoconectado, não-dirigido, com n vértices não pode ter mais do que n-2 vértices decorte. 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 umaponte aumenta o número de componentes conectados do grafo.

Encontrando Vértices de corte

Um algoritmo trivial é como se segue:

Vértice de corte (teoria dos grafos) 38

Um grafo não-dirigido semvé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);

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).

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 umGrafo é um vértice que está ligado a v por uma aresta.[][] A vizinhançaou adjacência de um vértice v em um grafo G é um subgrafo induzidode G constituído por todos os vértices adjacentes a v e todas as arestasligando esses dois vértices. Por exemplo, a imagem mostra um gráficode 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 é ografo com três vértices, 1, 2 e 4, e uma aresta conectando os vértices 1e 2.

A vizinhança é frequentemente denotada NG(v) ou (quando o grafo não é ambíguo) N(v). A mesma notação devizinhança também pode ser usada para se referir a um conjunto de vértices adjacentes ao invés dos subgrafosinduzidos correspondentes. A adjacência descrita acima não inclui v em si, e mais especificamente, a vizinhançaaberta de v; também é possível definir uma adjacência na qual v está incluído, chamada de vizinhança fechada edenotada por NG[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 delista de adjacência e matriz de adjacência . Vizinhanças também são usadas no coeficiente de agrupamento de umgrafo, que é uma medida da densidade média de suas adjacências. Além disso, muitas classes importantes de grafospodem ser definidas pelas propriedades de suas vizinhanças, ou por simetrias que relacionam vizinhanças umas comas 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. Umcaso especial é um laço que une um vértice a ele próprio; se tal aresta existe, o vértice pertence à sua própriavizinhança.

Propriedades locais em grafos

No grafo octaédrico, a vizinhança de qualquervértice é um 4-ciclo.

Se todos os vértices em G tem adjacências que são isomorfas para omesmo grafo H,G é dito ser localmente H, e se todos vértices em Gtem adjacências que pertencem a alguma família de grafosF, G é ditoser localmente F(Hell 1978, Sedlacek, 1983). Por exemplo, no grafooctaédrico mostrado na figura, cada vértice tem uma adjacênciaisomorfa a um grafo cíclico de quatro vértices, de modo que o octaedroé localmente C4.

Por exemplo:

• Qualquer grafo completo Kn é localmente Kn-1. Os únicos grafosque são localmente completos são uniões disjuntas de grafoscompletos.

• Um grafo de Turán T(rs,r) é localmente T((r-1)s,r-1). Maisgenericamente 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 .[]

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 localmenteC4, o icosaedro é o único grafo localmente C5 e o gráfico Paley de ordem 13 é localmente C6.

42

Árvores

Árvores

Uma árvore com 5 arestas e 6 vértices.

Na teoria dos grafos, uma árvore é um grafo conexo (existe caminhoentre quaisquer dois de seus vértices) e acíclico (não possuiciclos)[1][2]. Caso o grafo seja acíclico mas não conexo, ele é dito umafloresta. 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 pelomenos uma árvore de extensão associada, composta de todos os seusvé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érticesquaisquer. Já em uma floresta, há no máximo um caminho entre doisvé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].

Á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 formauma árvore contendo todos os vértices.

Uma árvore de extensão mínima ou árvore de extensão decusto mínimo (em inglês: minimum spanning tree) é osubconjunto de arestas de menor peso total em um grafo valoradoque forma uma árvore contendo todos os nós.

Uma árvore de extensão/dispersão apresenta as seguintespropriedades:

•• Define um subconjunto de arestas que mantém o grafoconectado 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 deextensã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

Á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 comoseu peso, o qual é aproximadamente igual ao seu comprimento.

Dado um grafo não orientado conectado,uma árvore de extensão deste grafo é umsubgrafo o qual é uma árvore que conectatodos os vértices. Um único grafo pode terdiferentes árvores de extensão. Nóspodemos assinalar um peso a cada aresta,que é um número que representa quãodesfavorável ela é, e atribuir um peso aárvore de extensão calculado pela soma dospesos das arestas que a compõem. Umaárvore de extensão mínima (tambémconhecida como árvore de extensão depeso mínimo ou árvore geradora mínima)é então uma árvore de extensão com pesomenor ou igual a cada uma das outrasárvores de extensão possíveis.Generalizando mais, qualquer grafo nãodirecional (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 suascomponentes conexas.

Um exemplo de uso de uma árvore de extensão mínima seria a instalação de fibras óticas num campus de umafaculdade. Cada trecho de fibra ótica entre os prédios possui um custo associado (isto é, o custo da fibra, somado aocusto 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 conectarmostodos os prédios sem redundância. Uma árvore geradora mínima desse grafo nos daria uma árvore com o menorcusto para fazer essa ligação.

Propriedades

Possível MultiplicidadePodem 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.

UnicidadeSe cada aresta tem um peso distinto, então existirá somente uma árvore de extensão mínima distinta. Isso pode serprovado por indução ou por contradição. Isso é verdade em muitas situações realísticas, como no exemplo docabeamento do campus, dado acima. É muito difícil que tenhamos duas possibilidades de cabeamento comexatamente o mesmo custo. Isso pode ser generalizado para florestas de árvores mínimas.

Árvore de extensão mínima 45

Subgrafo de custo mínimoSe todos os pesos são não-negativos, então uma árvore de extensão mínima é o subgrafo de custo mínimoconectando todos os vértices, já que qualquer subgrafo contendo cíclos vai possuir um peso total maior.

Propriedade dos ciclosPara 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 cortePara qualquer corte C no grafo, se o peso de uma aresta e de C é menor do que os pesos de outras arestas C, entãoessa 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 OtakarBorů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 oalgoritmo de Kruskal. Todos são algoritmos gulosos que rodam em tempo polinomial, então o problema de encontrartais á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 noalgoritmo 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úmerode 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 oalgoritmo 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 naciência da computação. Há claramente um limite linear inferior, já que é necessário examinar todas as arestas aomenos 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 ecomparação de performance entre eles.

Referências[1] http:/ / danielamaral. wikidot. com/ paa-2007-1-projeto-1-arvore-geradora-minima

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). Adefiniçã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 vj estão relacionados (isto é,informações sobre a adjacência de vi e vj).

Para representar um grafo não direcionado, simples e sem pesos nas arestas, basta que as entradas aij da matriz Acontenham 1 se vi e vj são adjacentes e 0 caso contrário. Se as arestas do grafo tiverem pesos, aij pode conter, aoinvés de 1 quando houver uma aresta entre vi e vj, 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 é, aentrada aij é igual à entrada aji. Matrizes de adjacência de grafos direcionados, no entanto, não são assim. Numdigrafo sem pesos, a entrada aij da matriz é 1 se há um arco de vi para vj e 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,

Matriz de adjacência 47

enquanto v1, v2, ..., vk-1 são os vértices internos ao caminho. O inteiro k é o comprimento do percurso. Um caminhoem um digrafo é um percurso no qual todos os arcos estão orientados no sentido origem do percurso-fim dopercurso.

Se A é a matriz de adjacência de um grafo G com conjunto de vértices dado por V(G) = {v1, v2, ..., vn}, então aentrada (i,j) de Ak, com k ≥ 1, corresponde ao número de percursos (distintos) de comprimento k existentes entre osvértices vi e vj.

Pode-se mostrar esse resultado por indução. Quando k = 1, o resultado segue de modo natural da definição de matrizde adjacência, uma vez que existe um percurso de comprimento 1 entre o vértice vi e o vértice vj se e só se {vi, vj} é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 vi e vj em G.

Considerando

e como Ak = Ak-1 . A, temos que

Observe que, na expressão acima, o elemento aij (k) é obtido multiplicando-se os elementos da linha i de Ak-1 pelos

respectivos elementos da coluna j de A e, em seguida, efetuando-se a soma dos produtos obtidos.

Todo percurso entre vi e vj de comprimento k em G consiste de um percurso entre vi e vp de comprimento k - 1, ondevp é adjacente a vj, seguido da aresta {vp, vj} e do vértice vj. O resultado decorre da hipótese de indução e da últimaequação.

O resultado permanece válido para digrafos, fazendo-se as devidas adequações: trocando arestas por arcos epercursos por caminhos.

Para ilustrar o resultado acima, observe as potências 2 e 3 da matriz de adjacência A correspondente ao grafo dafigura:

.

O elemento (4,6) de A2 indica que não há nenhum caminho de comprimento 2 ligando os vértices 4 e 6 do grafoacima. 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.

Matriz de incidência 48

Matriz de incidênciaUma matriz de incidência representa computacionalmente um grafo através de uma matriz bidimensional, ondeuma 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 precisadas entradas da matriz varia de acordo com as propriedades do grafo que se deseja representar, porém de forma geralguarda informações sobre como os vértices se relacionam com cada aresta (isto é, informações sobre a incidência deum 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 1se 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 é

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 deadjacência[1] ou dicionário[2] é a representação de todas arestas ouarcos de um grafo em uma lista.

Se o grafo é não direcionado, cada entrada é um conjunto (oumulticonjunto) de dois nós contendo as duas extremidades da arestacorrespondente; se ele for dirigido, cada entrada é uma tupla de doisnós, um indicando o nó de origem e o outro denotando o nó destino doarco 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 dadospara representar grafos. Em umarepresentação de lista de adjacência,podemos manter, para cada vértice dografo, uma lista de todos os outrosvértices com os quais ele tem umaaresta (a "lista de adjacência", destevértice). Por exemplo, a representaçãosugerida por van Rossum[3], em queuma tabela de dispersão (tabela hash)é usada para associar cada vértice comum array de vértices adjacentes, podeser vista como um exemplo deste tipode representação. Outro exemplo é arepresentação encontrada em Cormenet al. em que um array indexado pelos números dos vértices aponta para uma lista simplesmente encadeada dosvizinhos de cada vértice[4].

Lista de adjacência 50

Lista de adjacências do grafo acima como sugerida por van Rossum.

Uma dificuldade com a estrutura dalista de adjacência é que ela não temlugar óbvio para armazenar dadosassociados com as arestas de um grafo,tais como o comprimento ou custos dasarestas. Para remediar isso, algunstextos, como o de Goodrich eTamassia[5][6], defendem uma variantemais orientada a objeto da estrutura dalista de adjacência, às vezes chamadade lista de incidência, que armazenapara cada vértice uma lista de objetosque representam as arestas incidentes aesse vértice. Para completar aestrutura, cada aresta deve apontar devolta para os dois vértices quecompõem a sua extremidade. Osobjetos extras nesta versão da lista deadjacência aumentam o uso dememória em relação à versão em quevértices adjacentes são listadosdiretamente, mas estas arestas extras também são um local conveniente para armazenar informações adicionais sobrecada 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 pelosnú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 deadjacência esparsa uma representação de lista de adjacências do grafo ocupa menos espaço, porque ele não usanenhum espaço para representar as arestas que não estão presentes[8]. Usando uma implementação de listas deadjacência com um simples array em um computador de 32 bits, uma lista de adjacência de um grafo nãodirecionado requer cerca de 8e bytes de armazenamento, onde e é o número de arestas: cada aresta dá origem aentradas 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 serrepresentados de uma forma muito compacta, ocupando apenas n2/8 bytes de espaço contíguo, onde n é o número devé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 adensidade do grafo. Então, se 8e > n2/8, a representação de lista de adjacência ocupa mais espaço, o que é verdadeiroquando d > 1/64. Assim, um grafo deve ser muito escasso para uma representação de lista de adjacência ser maiseficiente em termos de memória do que uma matriz de adjacência. No entanto, esta análise só é válida quando arepresentação é usada para armazenar a estrutura de conectividade do grafo, sem qualquer informação numéricasobre 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

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 doisvértices (isto é, determinar se eles têm uma aresta entre eles), uma matriz de adjacência proporciona isso na hora. Noentanto, este teste de vizinhança em uma lista de adjacências requer tempo proporcional ao número de arestasassociado com os dois vértices.

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 ografo é mapeado em si, preservando a conectividade vértice-aresta. Formalmente, um automorfismo de um grafoG = (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 serdefinidos 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 aoperação de composição, forma uma grupo, o grupo de automorfismo do grafo. No sentido inverso, pelo teorema deFrucht, todos os grupos pode ser representados como o grupo de automorfismo de um grafo conexo. - Na verdade, deum grafo cúbico.[2][3]

Complexidade computacionalConstruir o grupo de automorfismo é pelo menos tão difícil (em termos de complexidade computacional) quantoresolver o problema do isomorfismo de grafos, para determinar se dois grafos dados correspondem vértice comvértice e aresta com aresta. Pois, G e H são isomorfos se e somente se o grafo desconectado formado pelo uniãodisjunta de grafos G e H tem um automorfismo que troca os dois componentes.[4]

Este desenho do grafo de Petersen mostra umsubgrupo de suas simetrias, isomorfo ao grupodiedro D5, mas o grafo tem simetrias adicionais

que não estão presentes no desenho(uma vez queo grafo é simétrico, todas as ligações são

equivalentes, por exemplo).

O problema do automorfismo de grafos é o problema de testar se umgrafo tem um automorfismo não trivial. Ele pertence à classe NP deproblemas de complexidade computacional. De forma semelhante aoproblema do isomorfismo de grafos, não se sabe se ele tem umalgoritmo que o resolva em tempo polinomial ou se é NP-completo.Sabe-se que o problema do automorfismo de grafos é redutívelmuitos-para-um em tempo polinomial para o problema do isomorfismode grafos, mas a redução inversa é desconhecida.[5] [6]

Exibindo a Simetria

Vários pesquisadores de desenho de grafos têm investigado algoritmospara desenhar grafos de tal forma que o automorfismo do grafo setorne visível como simetrias do desenho. Isso pode ser feito usando ummétodo que não é projetado em torno de simetrias, mas que geraautomaticamente os desenhos simétricos, quando possível,[7] ouexplicitamente identificand as simetrias e usando-as para orientar acolocação de vértice no desenho.[8] Nem sempre é possível mostrartodas as simetrias do grafo, simultaneamente, de modo que talvez seja necessário escolher quais simetrias mostrar equais deixar sem visualização.

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 um

automorfismo 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

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. cadavértice tem o mesmo grau ou valência. Um grafo direcionado regular também deve satisfazer a condição mais fortede que o grau de entrada e o grau de saída de cada vértice sejam iguais uns aos outros.[] Um grafo regular comvé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érticesdesconectados, um grafo 1-regular consiste de arestas desconectadas, e um grafo 2-regular consiste de ciclosdesconectados.

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 devizinhos em comum, e cada par de vértices não-adjacentes tem o mesmo número n de vizinhos em comum. Osmenores grafos que são regulares, mas não fortemente regulares são os grafos ciclos e os grafos circulantes em 6vé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

Grafo regular 56

Propriedades algébricasSeja 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.

Grafo fortemente regular 57

Grafo fortemente regular

O Grafo Paley de ordem 13, um grafo fortemente regular comparâ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 umou 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.

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 ospares de vértices diretamente ligados por uma aresta, a equação reduz-se o número de tais caminhos em 2passos sendo igual a . Para os pares de vértices não directamente ligados por uma aresta, a equação reduz-seao número de tais caminhos em 2 passos sendo igual a . Para os auto-pares triviais, a equação reduz-se parao 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ência

devido 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).

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

Grafo distância-regular 60

Grafo distância-regular

O grafo de Shrikhande, um grafodistâ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 quaisquerdois 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. Todografo distância-transitivo é distância regular. Com efeito, grafos distância-regular foram introduzidos como umageneralizaçã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 ci vizinhos de y em Gi-1(x) e bi vizinhos de yem 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 deinteiros 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 sejadesconexo).

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 devizinhos de w (Isto é, os vértices adjacentes a w) cuja distância de v é i, i + 1, e i − 1 é denotada por ai, bi, e ci,respectivamente; estes são os números de intersecção de G. Obviamente, a0 = 0, c0 = 0, e b0 é igual a k, o grau dequalquer vértice. Se G tem um diâmetro finito, então d denota o diâmetro enós temos bd = 0. Também temos queai+bi+ci= k

Os numeros ai, bi, e ci sã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 Gi noqual os vértices são adjacentes se sua distância em G é igual a i. Façamos Ai ser a matriz de adjacência de Gi. Porexemplo, A1 é a matriz de adjacência A de G. Além disso, seja A0 = I, a matriz identidade. Isto nos dá d + 1 matrizesA0, 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 degrau 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 fatonotável que o produto Ai Aj de quaisquer duas matrizes de distância é uma combinação linear das matrizes dedistâ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 polinomialde A é um fato sobre os esquemas de associação.

Grafo distância-regular 62

Exemplos• Grafos completos são distância regular com diâmetro 1 e grau v−1.• Ciclos C2d+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 ci = 1, exceto para os casos usuais especiais (ver acima) e cd = 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.

Grafo distância-transitivo 63

Grafo distância-transitivo

O grafo de Biggs-Smith, o maior grafodistâ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érticesquaisquer v e w em qualquer distância i, e quaisquer outros dois vértices x e y à mesma distância, há umautomorfismo 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. Algunsexemplos 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, quemostraram que existem apenas 12 grafos distância-transitivos trivalentes finitos. São eles:

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 quesão distância-regulares, mas não distância-transitivos. O único grafo deste tipo com um grau três é o Tutte 12-gaiolade 126 vértices. O menor grafo distância-regular que não é a distância-transitivo é o grafo de Shrikhande. Listascompletas de grafos distância-transitivos são conhecidas para alguns graus maiores do que três, mas a classificaçãode 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. Outrasfamílias são os grafos cubo dobrado e os grafos torre quadrados. Todas essas três famílias têm arbitrariamente umgrau 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 whichhas 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, SecondSeries 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 UniversityPress, 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:/

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 AlgebraicGraph 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 quequalquer anel de cinco vértices pode ser mapeado para

qualquer outro.

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

Grafo simétrico 66

No campo da matemática da teoria dos grafos, um grafo G é simétrico (ou arco-transitivo) se, dados quaisquer doispares de vértices ligados u1—v1 e u2—v2 de G , há um automorfismo

f : V(G) → V(G)

tal que

f(u1) = u2 and f(v1) = v2.[]

Em outras palavras, um grafo é simétrico se seu grupo de automorfismo age transitivamente em pares ordenados devértices ligados (isto é, sobre as arestas consideradas como tendo um sentido).[] Tal grafo é chamado às vezestambé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. Grafossimé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ãové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, algunsautores usam o termo "grafo simétrico" para significar um grafo que é vértice-transitivo e aresta-transitivo, ao invésde 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 umadistância de um), a definição abrange dois pares de vértices, cada um à mesma distância. Tais grafos sãoautomaticamente 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 maisde 2 passos distante. Um grafo t-transitivo é um grafo tal que o grupo de automorfismo atua transitivamente nost-arcos, mas não nos (t+1)-arcos. Uma vez que os 1-arcos são simplesmente arestas, qualquer grafo simétrico de grau3 ou superior tem que ser t-transitivo para algum t, e o valor de t pode ser usado para além disso classificar grafossimé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 temgrau 3) resulta abolutamente uma forte condição, e tais grafos são raros o bastante para serem citados. O censo deFoster 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[]) oentão censo de Foster corrente (listando todos os grafos cúbicos simétricos até 512 vértices) foi publicado em formade 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

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)

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-transitivoquanto aresta-transitivo, mas não é simétrico.[] Em outras palavras, um grafo é meio-transitivo, se o seu grupo deautomorfismo atua transitivamente em ambos os seus vértices e arestas, mas não em pares ordenados de vérticesligados.

O grafo de Holt é o menor grafo meio-transitivo. Afalta de simetria reflexiva neste desenho destaca o fato

de que as arestas não são equivalentes aos suasinversas.

Todo grafo simétrico conectado deve ser vértice-transitivo earesta-transitivo, e o inverso é verdadeiro para grafos de grauímpar,[] de modo que os grafos meio-transitivos de grau ímpar nãoexistem. Contudo, existem grafos meio-transitivos de grau par.[1]

O menor grafo meio-transitivo é o grafo de Holt, com grau 4 e 27vértices.[][2]

[1] Bouwer, Z. "Vertex and Edge Transitive, But Not 1-Transitive Graphs."Canad. Math. Bull. 13, 231–237, 1970.

[2][2] .

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á umasimetria 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 deautomorfismo deve agir transitivamente em cada um dos dois conjuntos de vértices da bipartição. No diagrama dadireita, 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 grafosemissimé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 erasemissimétrico por Bouwer em 1968.[] Foi provado ser o menor grafo cúbico semissimétrico por Dragan Marušič eAleksander 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 em110 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]

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 arestase1 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 suasarestas.

Exemplos e propriedades

O grafo Gray é aresta-transitivo e regular, mas não évértice-transitivo.

Grafos aresta-transitivos incluem qualquer grafo bipartidocompleto , 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ãoprecisam ser vértice-transitivos. O grafo Gray é um exemplo deum grafo que é aresta-transitivo, mas não vértice-transitivo. Todosestes grafos são bipartidos,[] e, portanto, podem ser coloridos, comapenas duas cores.

Um grafo aresta-transitivo que també é regular, mas nãovértice-transitivo, é chamado semi-simétrico. O grafo Gray maisuma vez dá um exemplo.

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 quaisquerdois 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 seusvértices.[1] Um grafo é vértice-transitivo se e somente se seu grafo complementar é, uma vez que as ações do gruposã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 osgrafos regulares são vértice-transitivos (por exemplo, o grafo de Frucht).

Exemplos finitos

As arestas do tetraedro truncado formam um grafové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 earestas dos sólidos platônicos). Os grafos de Cayley finitos(como ciclos de cubos conectados) também sãovértice-transitivos, como o são os vértices e arestas dossólidos de Arquimedes (embora apenas dois deles sejamsimétricos).

Propriedades

A conectividade de arestas de um grafo vértice-transitivo éigual ao grau d, enquanto a conectividade de vértices será, nomínimo, 2(d+1)/3.[2] Se o grau é de 4 ou menos, ou o grafotambém é aresta-transitivo, ou o grafo é um grafo de Cayleymínimo, então a conectividade de vértice também será igual a d.[3]

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)

Grafo de Cayley 73

Grafo de Cayley

O grafo de Cayley do grupo livre em doisgeradores 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 umgrupo. Sua definição é sugerida pelo teorema de Cayley (nomeado em honra a Arthur Cayley) e usa um conjunto degeradores específico, usualmente finito, para o grupo. É um instrumento central em combinatória e teoria geométricade grupos.

DefiniçãoSuponha 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ão

contendo o elemento identidade do grupo. Neste caso, o grafo de Cayley incolor é um grafo comum: suas arestas nãosão orientadas e não contém laços se e somente se .

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, ogerador 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 doisgeradores α e β

• O grafo Cayley do grupo diedro D4 em dois geradores α e β édescrito à esquerda. As setas vermelhas representam amultiplicação à esquerda pelo elemento α. Uma vez que oelemento β é auto-inversível, as linhas azuis que representam amultiplicaçã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 apartir da apresentação do grupo

Ligações externas

• Diagramas Cayley [2]

[2] http:/ / www. weddslist. com/ groups/ cayley-plat/ index. html

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 aoseu próprio grafo transposto, o grafo formado pela inversão de todas as suas arestas. O isomorfismo necessita seruma 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 algoritmospara encontrar acoplamentos em grafos, em testes se um padrão still life no jogo da vida, desenvolvido pelomatemá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.

Grafo antissimétrico 76

DefiniçãoConforme definido, por exemplo, por Goldberg e Karzanov (1996)[], um grafo antissimétrico G é um grafodirecionado, junto com uma função σ mapeando vértices de G a outros vértices de G, satisfazendo as seguintespropriedades:

1. Para cada vértice v, σ(v) ≠ v2. Para cada vértice v, σ(σ(v)) = v3. 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 degrafos de G para a sua transposição. No entanto, em um grafico anti-simétrico, é adicionalmente necessário que oisomorfismo forme pares de cada vértice com um vértice diferente, ao invés de permitir a um vértice ser mapeadopara 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 dociclo, 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 aterminologia de Cook, 2003[2]), um grafo não direcionado em que as arestas incidentes a cada vértice são divididasem dois subgrupos. Cada vértice do grafo switch corresponde a dois vértices do grafo antissimétrico, e cada aresta dografo alternado corresponde a duas arestas do grafo antissimétrico. Esta equivalência é a utilizada por Goldberg eKarzanov (1996)[] para modelar problemas de acoplamento em termos de grafos antissimétricos; nesta aplicação, osdois subconjuntos de arestas em cada vértice são as arestas não acopladas e as arestas acopladas. Cook visualiza osvértices de um grafo switch como pontos onde várias faixas de um trilho de trem se reúnem: se um trem entra em umswitch 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 tremvem em testar se determinados tipos de desenhos de grafos são válidos[3] e pode ser modelado como a busca de umcaminho 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 dasduas 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.

Grafo assimétrico 77

Grafo assimétrico

Os 8 grafos assimétricos de 6-vérticesO 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ãotiver simetrias não triviais.

Formalmente, um automorfismo de um grafo é uma permutação p de seus vértices com a propriedade que quaisquerdois 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 grafoem si é sempre um automorfismo, e é chamado de automorfismo trivial do grafo. Um grafo assimétrico é um grafopara os quais não existem outros automorfismos.

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; existemgrafos 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 umaversã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 seucomplemento o é.[1] Qualquer grafo assimétrico de n-vértices pode ser feito simétrico, adicionando e removendo umtotal 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 maisinformalmente, "quase todos os grafos infinitos são simétricos". Mais especificamente, grafos aleatórios infinitos econtá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 umterminal comum[4] Em contraste com a situação dos grafos, quase todas as árvores são simétricas. Em particular, seuma á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] .

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 emamplitude, também conhecido em inglês porBreadth-First Search (BFS)) é um algoritmo de buscaem grafos utilizado para realizar uma busca outravessia num grafo e estrutura de dados do tipo árvore.Intuitivamente, você começa pelo vértice raiz e exploratodos os vértices vizinhos. Então, para cada um dessesvértices mais próximos, exploramos os seus vérticesvizinhos 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 buscanão-informada (ou desinformada) que expande e examinasistematicamente todos os vértices de um grafo direcionado ounão-direcionado. Em outras palavras, podemos dizer que o algoritmorealiza uma busca exaustiva num grafo passando por todas as arestas evértices do grafo. Sendo assim, o algoritmo deve garantir que nenhumvértice ou aresta será visitado mais de uma vez e, para isso, utiliza umaestrutura 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 ordemde chegada na estrutura fila e um vértice que já foi marcado não poderetornar a esta estrutura.

Uma analogia muito conhecida (figura ao lado) para demonstrar o funcionamento do algoritmo é pintando osvértices de branco, cinza e preto. Os vértices na cor branca ainda não foram marcados e nem infileirados, os da corcinza 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 vizinhosinfileirados 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 grafo considerado. 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

Busca em largura 80

que será o vértice pai deste na representação em árvore gerada.

Características

Complexidade de TempoConsiderando 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çoQuando o número de vértices no grafo é conhecido e supondo-se a representação deste em listas de adjacência, acomplexidade 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 listade adjacência. A letra F representa uma fila (FIFO) inicialmente vazia, G é o grafo em questão e s, v, w representamvé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

Busca em largura 81

Exemplo 1

Grafo exemplo 1

Seguindo os passos do pseudocódigo acima e iniciando no vértice 6 dafigura ao lado, o algoritmo estará com a sequência de vérticesmarcados 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 quepara montar a arvore da figura foi necessário gravar na figura apenas as arestas que são processadas na primeiracondiçã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 menorcaminho de um vértice a outro.

Busca em largura 82

Exemplo de um mapa da Alemanha com algumas conexões entre ascidades.

Árvore gerada em um algoritmo BFS começando em Frankfurt.

Cint 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;

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 Pascalprogram Busca_em_largura;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

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…

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 umnúmero ímpar de ciclos e não ser bipartido.

Busca em profundidade 86

Busca em profundidade

Ordem dos vértices explorados na busca em profundidade

Busca em profundidade (ou busca emprofundidade-primeiro, também usada asigla em inglês DFS) é um algoritmo usadopara 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 oraiz, no caso de um grafo) e explora tantoquanto 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 realizauma busca não-informada que progride através da expansão doprimeiro nó filho da árvore de busca, e se aprofunda cada vezmais, até que o alvo da busca seja encontrado ou até que ele sedepare com um nó que não possui filhos (nó folha). Então a buscaretrocede (backtrack) e começa no próximo nó. Numaimplementação não-recursiva, todos os nós expandidosrecentemente são adicionados a uma pilha, para realizar aexploração.

A complexidade espacial de um algoritmo de busca emprofundidade é muito menor que a de um algoritmo de busca emlargura. A complexidade temporal de ambos algoritmos sãoproporcionais ao número de vértices somados ao número dearestas dos grafos aos quais eles atravessam.

Quando ocorrem buscas em grafos muito grandes, que não podem ser armazenadas completamente na memória, abusca 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óriasuficiente. Isso pode ser resolvido estabelecendo-se um limite de aumento na profundidade da árvore.

Busca em profundidade 87

Exemplo

Exemplo Busca em profundidadegráfico transversal

Para o grafo ao lado, uma busca em profundidade começando emA, assumindo-se que as arestas esquerdas do grafo apresentadosejam escolhidas antes das arestas direitas, e assumindo que abusca 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óspreviamente visitados, teríamos como resultado a seguinte ordemde 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 Gou C.

O aprofundamento iterativo previne esse looping, alcançando osseguintes nós, nas seguintes profundidades, assumindo-se que eleprossiga 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 convencionalnã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 diferentescaminhos, 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)

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, vj1} , . . ., {vir, vjr})tal que

vja = via+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çãodo 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 nooutro.

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/

Caminho euleriano 89

Caminho euleriano

O grafo das pontes de Königsberg. Este grafonão é Euleriano, portanto, uma solução não

existe.

Cada vértice deste grafo tem um graupar,portanto este é um grafo Euleriano. Seguindo

as arestas em ordem alfabética obtém-se umcircuito/ciclo Euleriano.

Um Caminho Euleriano é um caminho em um grafo que visita cadaaresta apenas uma vez. Com caso especial, um Circuito Euleriano éum caminho Euleriano que começa e termina no mesmo vértice. Oconceito foi introduzido por Leonard Euler para a resolução do famosoproblema das sete pontes de Königsberg em 1736.

Grafos que possuem um circuito Euleriano são chamados GrafosEulerianos. 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 aexistência de circuitos eulerianos é de que todos os vértices tenhamgrau par, e afirmou, sem prova de que grafos conexos com todos osvértices pares tem um circuito Euleriano. A primeira prova completadesta última afirmação foi publicada em 1873 por Carl Hierholzer.[1]

Há, ainda, grafos com caminhos Eulerianos se houver 2 vértices degrau ímpar. Nesse caso, ao se acrescentar uma aresta ligando estes doisvértices, o novo grafo passa a ser Euleriano.

Pode-se assim enunciar um corolário do Teorema de Euler paraGrafos* como sendo: Um grafo G conexo possui caminho euleriano see somente se ele tem exatamente zero ou dois vértices de grau impar.

Não confundir com caminho hamiltoniano em que o caminho devepassar uma vez em cada vértice.

Referências

Caminho hamiltoniano 90

Caminho hamiltoniano

O caminho vermelho é hamiltoniano.

Um caminho hamiltoniano é um caminho que permite passar portodos 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 sejapossí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 emNP, o que significa que é pouco provável que exista um algoritmopolinomial para o problema. Outro objetivo provavelmente ambicioso demais: mostrar que o problema está emco-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 desejavisitar um conjunto de N cidades (vértices), passando por cada cidade exatamente uma vez e retornando à cidade deorigem, 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 doalgoritmo, que historicamente costuma ter um custo de tempo de computação exponencial.

Definições

Um caminho Hamiltoniano (em preto) sobre umgrafo (em azul).

Um caminho Hamiltoniano ou caminho rastreável é um caminho quevisita cada vértice exatamente uma vez. Um grafo que contém umcaminho Hamiltoniano é chamado um grafo rastreável. Um grafo éHamilton-conectado se para cada par de vértices existe um caminhoHamiltoniano entre os dois vértices.

Um ciclo Hamiltoniano, circuito Hamiltoniano, passeio em vértices ougrafo 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 é visitadoduas vezes). Um grafo que contémum ciclo Hamiltoniano é chamadode grafo Hamiltoniano.

Noções semelhantes podem ser definidas para grafos orientados, ondecada aresta (arco) de um caminho ou ciclo só pode ser atravessada emuma única direção (i.e., os vértices são conectados com as setas e asarestas atravessadas "da cauda para a ponta").

Uma decomposição Hamiltoniana é uma decomposição de arestas de um grafo em circuitos Hamiltonianos.

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 caminhoHamiltoniano, removendo-se uma de suas arestas, mas um caminhoHamiltoniano só pode ser estendido para um ciclo hamiltoniano se suasextremidades são adjacentes.

O grafo linha de um grafo Hamiltoniano é Hamiltoniano. O grafo linhade um grafo Euleriano é Hamiltoniano.

Um torneio (com mais de 2 vértices) é Hamiltoniano se e somente seele é fortemente conectado.

Um ciclo Hamiltoniano pode ser usado como base de uma prova comzero 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 31de 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)

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 emque cada nó vem antes de todos nós para os quais este tenha arestas de saída. Cada DAG tem uma ou maisordenaçõ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 umcaminho dirigido de x para y. Então, R é uma ordem parcial, e uma ordenação topológica é uma extensão linear destaordem 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 detrabalhos 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écnicaPERT para a agendamento de tarefas em gerenciamento de projetos.[2] Os trabalhos são representados por vértices, eexiste 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). Emseguida, 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 deavaliação de células quando recalculando os valores de fórmulas em planilhas, síntese lógica, determinação da ordemdas 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 dearestas (O(|V|+|E|)).

Um desses algoritmos, descrito pela primeira vez por Kahn[3], trabalha escolhendo vértices na mesma ordem daeventual ordenação topológica. Primeiro, encontra uma lista de nós "íniciais", que não tem arestas de entrada e osinsere 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 ordenadosS ← Conjunto de todos os nós sem arestas de entradaenquanto S é não-vazio faça

remova um nodo n de S

insira n em L

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, ografo 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 umconjunto ou uma fila ou uma pilha. Dependendo da ordem em que os nodos n são removidos do conjunto S, umasolução diferente é criada.

Um algoritmo alternativo para a ordenação topológica é baseado em uma busca em profundidade. Para estealgoritmo, 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 outraspalavras, se a tarefa y deve ser concluída antes da tarefa x poder ser iniciada). O algoritmo faz um loop através decada nó do grafo, em uma ordem arbitrária, iniciando uma busca em profundidade que termina quando se atingequalquer nó que já foi visto desde o início da ordenação topológica:

L ← Lista vazia que irá conter os elementos ordenadosS ← 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 ndepende (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 enodo é visitado uma vez, o algoritmo executa em tempo linear. Note que o simples pseudocódigo acima nãoconsegue detectar o caso de erro, onde o grafo de entrada contém ciclos. O algoritmo pode ser refinado para detectaros ciclos, observando nodos que são visitados mais de uma vez durante toda a seqüência de chamadas recursivasaninhadas à visite() (por exemplo, passar uma lista adiante como um argumento extra para visite(), indicando quenodos 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 sidodescrito pela primeira vez em artigo por Tarjan[5]

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çãoserem conectados por arestas, essas arestas formam um caminho hamiltoniano dirigido no DAG. Se existe umcaminho 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 maisordenaçõ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 testarem tempo polinomial se existe uma única ordenação, e se existe um caminho hamiltoniano, apesar da característicaNP-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 tempomenor, 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

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

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;

}

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 umvértice inicial até um vértice final. Ele é a combinação de aproximações heurísticas como do algoritmo Best-firstSearch 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çãodeles, ele foi chamado de algoritmo A; usando este algoritmo com uma heurística apropriada atinge-se umcomportamento ó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. Ouso 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/

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 oualgoritmo de Warshall) é um algoritmo que resolve o problema de calcular o caminho mais curto entre todos ospares de vértices em um grafo orientado (com direção) e valorado (com peso). Sua complexidade é cúbica.

DefiniçãoO 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 longodesse caminho. As arestas do grafo podem ter valores negativos, mas o grafo não pode conter nenhum ciclo devalor negativo. O algoritmo calcula, para cada par de vértices, o menor de todos os caminhos entre os vértices. Porexemplo, 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 := grafo

VAR 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ÃO

dist[i,j] = dist[i,k] + dist[k,j]

pred[i,j] = pred[k,j]

RETORNE dist

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 arestassão configurados para o mesmo número positivo. Esse número é normalmente escolhido como único, tanto é queo 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çãode 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 deKleene);

•• 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 pesosdas arestas representam constantes fixas de fluxo. Valores do caminho representam gargalos, logo a operação desoma 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

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 algumasbordas tenham número negativo, mas ciclos negativos não devem existir. Este algoritmo trabalha com base noAlgoritmo de Bellman-Ford, para computar uma transformação de um grafo de entrada, que remove todas os pesosnegativos, permitindo o uso do algoritmo de Dijkstra no grafo transformado. Recebe esse nome em homenagem aDonald 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 compeso zero (0) com cada um dosoutros nós.

2. Segundo, é usado o algoritmo deBellman–Ford, começando a partirdo novo nó q, para encontrar cadaum dos vértices v, o de menor pesoh(v) do caminho de q para v. Se essepasso 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 dosnó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]

Algoritmo de Johnson 101

Referências[1] http:/ / www. boost. org/ doc/ libs/ 1_40_0/ libs/ graph/ doc/ johnson_all_pairs_shortest. html

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 grafoconexo com pesos. Isto significa que ele encontra um subconjunto das arestas que forma uma árvore que inclui todosos vértices, onde o peso total, dado pela soma dos pesos das arestas da árvore, é minimizado. Se o grafo não forconexo, então ele encontra uma floresta geradora mínima (uma árvore geradora mínima para cada componenteconexo do grafo). O algoritmo de Kruskal é um exemplo de um algoritmo guloso (também conhecido comoganancioso 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 nomomento 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.

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 aopasso 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 arestasdisponí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 paraencontrar 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 é minimizadae todos os vértices estão interligados. O algoritmo foi desenvolvido em 1930 pelo matemático Vojtěch Jarník edepois 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 deBoruvka. No entanto estes algoritmos podem ser empregados em grafos desconexos, enquanto o algoritmo de Primprecisa de um grafo conexo.

Algoritmo de Prim 104

Descrição

Figura 1: passo a passo da execução do algoritmo de Prim iniciadopelo vértice 0

O algoritmo de Prim encontra uma árvore geradoramínima para um grafo desde que ele seja valorado enão direcionado. Por exemplo, se na figura 1 osvértices deste grafo representassem cidades e as arestasfossem estradas de terra que interligassem estascidades, como poderíamos determinar quais estradasasfaltar gastando a menor quantidade de asfaltopossível para interligar todas as cidades. O algoritmode Prim neste caso fornecerá uma resposta ótima paraeste problema que não necessariamente é única. Aetapa f) da figura 1 demonstra como estas cidadesdevem ser conectadas com as arestas em negrito.

Algoritmo genérico

Um 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 nosubgrafo

selecione uma aresta segura

insira a aresta segura e seu vérticeno subgrafo

ComplexidadeA complexidade do algoritmo de Prim pode mudar de acordo com a estrutura de dados utilizada para representar ografo. As implementações mais comuns para um grafo são por listas de adjacência e por matrizes de adjacência esuas 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 conjuntoV\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, asarestas possíveis é uma lista de arestas que poderiam ser incluidas no subgrafo, pois conectam vértices contidos nosubgrafo com os que ainda não estão e as arestas incluídas são aquelas que já estão no subgrafo. Dessa maneira esegundo o algoritmo genérico dado acima, para escolhermos uma aresta segura devemos observar o conjunto dearestas possíveis e selecionar aquelas que não formam ciclos com o subgrafo até entao formado e cujo peso é omínimo possível naquele momento. Se uma aresta apresentar todos estes quesitos podemos considerá-la uma arestasegura.

Algoritmo de Prim 105

Imagem Arestasincluídas

no subgrafo

U Arestaspossíveis

V \ U Descrição

{} {} {A,B,C,D,E,F,G} Este é o grafo original. Os números próximos das arestassignificam 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 deuma única aresta. A é o vértice mais próximo de D e,portanto a aresta AD será escolhida para formar osubgrafo.

{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 Fnuma 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 dosvé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. Cestá a uma distância de 8 de B, E está a uma distância 7 deB 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ância5 de E e de G a E 9. C é escolhido, então a aresta ECentra 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 11de F, e 9 de E. E é o mais próximo, então G entra nosubgrafo 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}=15ciclo{F,E}=8 ciclo{F,G}=11 ciclo

{} Aqui está o fim do algoritmo e o subgrafo formado pelasarestas em verde representam a árvore geradora mínima.Nesse caso esta árvore apresenta a soma de todas as suasarestas o número 39.

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);

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])

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/ )

Algoritmo de Dijkstra 109

Algoritmo de Dijkstra

Algoritmo de Dijkstra

classe Algoritmo de busca

estrutura de dados Grafo

complexidade piorcaso

Algoritmos

O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicadoem 1959[][1], soluciona o problema do caminho mais curto num grafo dirigido ou não dirigido com arestas de pesonã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. Oalgoritmo que serve para resolver o mesmo problema em um grafo com pesos negativos é o algoritmo deBellman-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 menorcaminho 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 inicialdeterminando 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 doalgoritmo busca-se nas adjacências dos vértices pertencentes a S aquele vértice com menor distância relativa a I eadiciona-o a S e, então, repetindo os passos até que todos os vértices alcançáveis por I estejam em S. Arestas queligam 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 deuma cidade para outra. Para isso, ela dispõe de várias estradas, que passam por diversas cidades. Qual delas ofereceuma trajetória de menor caminho?

Algoritmo de Dijkstra• 1º passo: iniciam-se os valores:

para todo v ∈ V[G] d[v]← ∞ π[v] ← nulod[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

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 valord[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 sejausado 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

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

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çãocom uma matriz de adjacências para casos em que o número de arestas não se aproxima do pior caso (uma arestaligando cada par de vértices); quando próximo ao pior caso, o desempenho é similar. Ambos possuem complexidadede 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 umheap de fibonacci ou O(E log V) usando priority queue da STL de C++ para extrair o vértice não-visitado commenor distância. O heap simples, embora levemente mais lento que o heap de fibonacci, também pode ser usado paraobter 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

Algoritmo de Boruvka 113

Algoritmo de BoruvkaO o algoritmo de Borůvka (ou Barůvka como também é conhecido) é um algoritmo para encontrar uma árvoregeradora 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 MinimumSpanning Tree (árvore geradora mínima). Ou seja, no fundo, pode ser considerada uma variação de algoritmos comoos de Prim e Kruskal. É um algoritmo que, de modo diverso dos algoritmos de Kruskal e Prim, não usa uma fila deprioridades[1].

É um algoritmo com uma velocidade de convergência (ou resolução) bastante rápida sendo ideal para implementaçãoem computadores paralelos já que a Minimum Spanning Tree de cada um dos subgrafos pode ser calculada numamá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 umvé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, casoexistam várias máquinas diferentes, correr este algoritmo nas várias máquinas sendo que cada máquina irá terassignada a si um dos subgrafos gerados no passo 1 (este tipo de distribuição de processamento é mais conhecidocomo Single Instruction Multiple Data já que cada máquina vai executar as mesmas instruções mas sobre umconjunto de dados diferentes).

3 - Quando for encontrada a Minimum Spanning Tree para cada um dos grafos gerar um novo grafo onde cada umvértices deste grafo é um dos subgrafos. O objectivo agora será voltar a executar os passos 1 a 3 até que existamapenas 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:

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ênciade dois subgrafos. Como verificar quais os subgrafos? É um processo simples de verificar quais as linhas e colunasque 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 nopasso 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árioencontrar a Minimum Spanning Tree para cada uma destas matrizes já que quando se executa o passo 1 estas sãoencontradas 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 serrepresentado 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 derepresentacã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 sobreeste grafo pelo que se chega à conclusão de que o grafo inicial deu origem a um grafo final cuja representação é aseguinte:

Algoritmo de Boruvka 115

- bf acde

bf 0 2

acde 0 0

Referências

116

Grafos individuais

Grafo de Biggs-Smith

Grafo deBiggs–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 102vé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 quanto3-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 agetransitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto, o grafo de Biggs–Smith é im grafosimétrico. Ele tem automorfismos que levam qualquer vértice para qualquer outro vértice e qualquer aresta paraqualquer 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]

Grafo de Biggs-Smith 117

O grafo de Biggs–Smith é também singularmente determinado por seu espectro de grafo, o conjunto de autovaloresdo 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 deBiggs–Smith graph é 3.

O índice cromático do grafo deBiggs–Smith graph é 3.

Desenho alternativo do grafo deBiggs–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

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 direcionado20-regular com 81 vértices e 810 arestas. É o único grafo fortemente regular com parâmetros (81, 20, 1, 6).

Propriedades algébricasO automorfismo de grupo do grafo de Brouwer-Haemers é um grupo da oredem de 233280. O polinômiocaracterí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

Grafo de Desargues 119

Grafo de Desargues

Grafo deDesargues

O grafo de Desargues

Nomeado emhonra 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 20vértices e 30 arestas.[1] É nomeado em honra a Girard Desargues, surge a partir de diferentes construçõescombinatória, tem um elevado nível de simetria, é o único conhecido cubo parcial cúbico não-planar , e tem sidoaplicado 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 dosvértices em um decágono regular, e conecte os outros dez vértices em uma estrela de dez pontas que conecta ospares de vértices a uma distância três em um segundo decágono. O grafo de Desargue consiste das 20 arestasdestes dois polígonos juntamente com 10 arestas adicionais de pontos de conexão de um decágono para os pontoscorrespondentes 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

Grafo de Desargues 120

ponto incidente. O teorema de Desargues, nomeado em honra ao matemático francês do século 17 GirardDesargues, descreve um conjunto de pontos e linhas que formam essa configuração, e a configuração e o grafodevem seu nome a ela.

• É a cobertura bipartida dupla do grafo de Petersen, formada pela substituição de cada vértice do grafo de Petersenpor um par de vértices e cada aresta do grafo de Petersen por um par de arestas cruzadas.

• É o grafo de Kneser bipartido H5,2. Seus vértices podem ser rotulados pelos dez subconjuntos de dois elementos eos dez subconjuntos de três elementos de um conjunto de cinco elementos, com uma aresta conectando doisvé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 equalquer aresta para qualquer outra aresta. Seu grupo de simetria tem ordem 240, e é isomórfico ao o produto de umgrupo 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 deDesargues: o grupo simétrico em cinco pontos é o grupo de simetria da configuração de Desargues, e o subgrupo deordem-2 troca os papéis dos vértices que representam pontos da configuração de Desargues e os vértices querepresentam as linhas. Como alternativa, em termos do grafo bipartido de Kneser, o grupo simétrico em cinco pontosde age em separado sobre os subconjuntos de cinco pontos de dois elementos e de três elementos, e acomplementação dos subconjuntos formam um grupo de ordem dois que transforma um tipo de subconjunto emoutro. O grupo simétrico em cinco pontos é também o grupo de simetria do grafo de Petersen, e o subgrupo deordem-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 k2 ≡ ±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 grafododecaé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 organizarsistemas 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 decruzamento (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 umgrafo 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.

Grafo de Desargues 121

Galeria

O grafo de Desargues colorido parasobresaltar 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étricoBipartidoRegularEuleriano

Grafo de Folkman 122

No campo da matemática da teoria dos grafos o grafo de Folkman, nomeado em honra a Jon Folkman, é um grafobipartido 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. É omenor grafo não direcionado, que é aresta-transitivo e regular, mas não é vértice-transitivo.[2] Esses grafos sãochamados semi-simétricos e foram estudados pela primeira vez por Folkman em 1967 que descobriu o grafo de 20vé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 transitivamenteem cada um dos dois conjuntos de vértices da bipartição. No diagrama abaixo, indicando o número cromático dografo, os vértices verdes não podem ser mapeados para os vermelhos por qualquer automorfismo, mas qualquervértice vermelho pode ser mapeado em qualquer outro vértice vermelho e qualquer vértice verde pode ser mapeadoem 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

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úbicosimé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 135arestas.[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 únicografo 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 ografo de incidência do espaço parcial linear, que é a única cobertura tripla com nenhum 8-gono do quadrângulogeneralizado GQ(2,2). É nomeado em honra a R. M. Foster, cujo censo de Foster de grafos simétricos cúbicosincluíam este grafo.

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 levamqualquer vértice para qualquer outro vértice e qualquer aresta a qualquer outra aresta. Segundo o censo de Foster, ografo 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áriosciclos.

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

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 arestase 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 grafo3-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ébricasO 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 chamadosassimétricos (ou identidade). O teorema de Frucht diz que qualquer grupo pode ser compreendido como o grupo desimetrias de um grafo,[] e um reforço deste teorema também devido à Frucht afirma que qualquer grupo pode serpercebido como as simetrias de um grafo 3-regular;[3] o grafo de Frucht fornece um exemplo desta realização para ogrupo trivial.

O polinômio característico do grafo de Frucht é igual a.

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.

Grafo de Gray 127

Gray, em 1932, (de forma inédita), em seguida, descoberto independentemente por Bouwer 1968, em resposta a umapergunta feita por Jon Folkman em 1967[1]. O grafo de Gray é interessante como o primeiro exemplo conhecido deum 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 grafo3-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 aesses pontos. Esta coleção de pontos e linhas formam um configuração projetiva: cada ponto tem exatamente trêslinhas, através dele, e cada linha tem exatamente três pontos sobre ela. O grafo de Gray é o grafo de Levi dessaconfiguração, que tem um vértice para cada ponto e para cada linha da configuração, e uma aresta para cada par deum 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 deLevi 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 acontececom qualquer grafo bipartido, não há ciclos de comprimento impar, e também não há ciclos de quatro ou seisvértices, de modo que a cintura do gráfico Gray é 8. A superfície orientada mais simples sobre a qual o grafo de Graypode 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ébricasO 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 tomandocada vértice para qualquer outro vértice. Os vértices que correspondem a pontos da configuração subjacentes apenaspodem 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 grafosemi-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] .

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 grafode Gray é 2.

O índice cromático do grafo deGray é 3.

A configuração básica dografo 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-regularToroidalHamiltonianosimétrico

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 21arestas.[1] O grafo é cúbico, e todos os ciclos do grafo têm seis ou mais arestas. Todos os menores grafos cúbicos têmciclos 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 nestageometria. É 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 dascorrespondências forma um ciclo Hamiltoniano. Por exemplo, a figura mostra os vértices do grafo colocados em umciclo, com as diagonais internas do ciclo formando uma correspondência. Subdividindo as arestas do ciclo em duascorrespondências, podemos particionar o grafo de Heawood em três correspondências perfeitas (isto é, usando 3cores 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 dotoro em polígonos pode ser colorida, no máximo, com sete cores.[3][4] O grafo de Heawood forma uma subdivisão dotoro 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 PGL2(7), um grupo de ordem336.[6] Ele atua transitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto o grafo Heawood é umgrafo simétrico. Ele tem automorfismos que levam qualquer vértice para qualquer outro vértice e qualquer arestapara qualquer outra aresta. De acordo com o censo Foster, o grafo de Heawood, referenciado como F014A, é o únicografo 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. Umaincorporação deste tipo coloca seus vértices e arestas em um espaço euclidiano tri-dimensional como o conjunto devé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úmerode cruzamento 3.

O índice cromático do grafode Heawood é 3.

O número cromático dografo de Heawood é 2.

Grafo de Heawood 130

A incorporação do grafo deHeawood em um toro (mostrado

como um quadrado comcondições de contorno

periódicas) particionando-o emsete 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 100

arestas 1100

Raio 2

Diâmetro 2

Cintura 4

Automorfismos 88704000 (HS:2)

Propriedades Fortemente regularAresta-transitivoHamiltonianoEulerianoIntegral

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 deHigman–Sims é um grafo não direcionado, 22-regular com100 vértices e 1100 arestas. É o único grafo fortementeregular com 100 vértices e valência 22, onde nenhum par devértices vizinhos partilham um vizinho comum e cada par devértices não-vizinhos partilham seis vizinhos comuns.[2] Foiconstruído em 1968 por Donald G. Higman e Charles C. Simscomo uma forma de definir o grupo de Higman–Sims, e estegrupo é um subgrupo do índice dois no grupo deautomorfismos 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 16vizinhos, quaisquer dois vértices adjacentes não tem vizinhos comuns, e quaisquer dois vértices não adjacentes têm 4vizinhos 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ãodefinidos 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 produtosemidireto do grupo de Higman–Sims de ordem 44352000 com o grupo cíclico de ordem 2.[4] Ele temautomorfismos que levam qualquer aresta para outra aresta, fazendo o grafo de Higman–Sims um grafoaresta-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 deHigman–Sims é um grafo integral: seu espectro de grafo consiste inteiramente de inteiros. Ele é também consideradoo ú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 deLeech.

O grafo de Higman-Sims ocorre naturalmente no interior damalha de Leech: se X, Y e Z são três pontos na malha de Leechtais 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 talforma que todas as distâncias XT, YT e ZT são iguais a 2, e seligarmos 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 malhade Leech (Isto é, congruências euclidiana fixando-a) quefixam cada um dos X, Y e Z é o grupo de Higman–Sims (Senós permitirmos trocar X e Y, a extensão de ordem 2 de todosos automorfismos de grafos é obtida). Isso mostra que o grupoHigman-Sims ocorre dentro do grupo de Conway Co2 (comsua 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.

Grafo de Hoffman-Singleton 132

Grafo de Hoffman-Singleton

Grafo deHoffman–Singleton

Nomeado emhonra a

Alan J. HoffmanRobert 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 é asoma dos dez pentágonos disjuntos.

No campo da matemática da teoria dos grafos, o Grafode Hoffman–Singleton é um grafo 7-regular nãodirecionado 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 aotentar classificar todos os grafos de Moore, e é a maisalta ordem de grafo de Moore esistente conhecida até omomento.[4] Como é um grafo de Moore onde cadavértice tem grau 7, e sua cintura é 5, ele é um(7,5)-gaiola.

Grafo de Hoffman-Singleton 133

ConstruçãoUma construção simples, direta é como se segue: Tome cinco pentágonos Ph e cinco pentagramas Qi, de forma que ovértice j de Ph seja adjacente aos vértices j-1,j+1 de Ph e o vértice j de Qi seja adjacente aos vértices j-2,j+2 de Qi.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). Eleage transitivamente sobre os vértices, nas arestas e nos arcos do grafo. Portanto, o grafo de Biggs–Smith é im grafosimé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

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] Essesgrafos não são comuns.[3] É nomeado em honra a Peter G. Doyle e Derek F. Holt, que descobriram o mesmo grafode 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 é hamiltonianocom 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étricocom o mesmo número de vértices e arestas teria. O desenho do grafo à direita destaca isto, na medida em que carecede 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] .

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úbicoHamiltonianoSemi-simétrico

No campo da matemática da teoria dos grafos o grafo de Ljubljana é um grafo não direcionado bipartido com 112vé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 56linhas e 56 pontos.[1] Nesta configuração, cada linha contém exatamente três pontos, cada ponto pertence aexatamente 3 linhas e quaisquer duas linhas se cruzam em no máximo um ponto.

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 cadavértice para qualquer outro vértice. Portanto, o grafo de Ljubljana é um grafo semi-simétrico, o terceiro menor grafocú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-transitivoencontrado por R. M. Foster, mas não publicado ainda.[4] Conder, Malnic, Marusic, Pisanski e Potočnikredescobriram este grafo de 112 vértices em 2002 e nomearam-no grafo de Ljubljana capital da Eslovénia. Elesprovaram que ele era o único grafo cúbico de 112 vértices aresta- mas não vértice-transitivo cúbicos e, portanto, queo grafo era aquele encontrado por Foster.

Galeria

O número cromático do grafo deLjubljana é 2.

O índice cromático do grafo deLjubljana é 3.

Desenho alternativo do grafo deLjubljana.

O grafo de Ljubljana é o grafo deLevi 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.

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×S3)

Númerocromático

2

Índicecromático

3

Propriedades CúbicoHamiltonianosimétricoIntegralBipartidoGrafo de Cayley

No campo da matemática da teoria dos grafos o grafo de Nauru é um grafo simétrico, bipartido cúbico com 24vé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). Omenor grafo com 8 cruzamentos é o grafo de Nauru. Existe 5 grafos cúbicos não-isomorfos de ordem 24 comnúmero de cruzamentos de 8[3]. Um deles é o grafo de McGee também conhecido como (3-7)-gaiola[4].

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 pelosvé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 grupossimétricos S4 e S3 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 paraqualquer outro vértice e qualquer aresta para qualquer outra aresta. De acordo com o censo de Foster, o grafo deNauru é 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 k2 ≡ ±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, ografo 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 S4, o grupo de permutações simétricas em quatro elementos, geradospelas 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 incorporadoO toro é formado, topologicamente, colando-se arestas

opostas de um hexágono regular com o outro. Grafo de Petersen generalizadoAs cores e permutações indicam, que este é um grafo

de Cayley de S4.

Matriz de adjacênciaCada aresta é representada por duas entradas na mesma

cor, que são simétricas à diagonal principal.

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çõesdiferentes como poliedros regularesgeneralizados:

superfícies topológicas particionadas emarestas, vértices e faces de tal forma que háuma simetria levando qualquer bandeira(uma tripla incidente de um vértice, umaaresta e uma face) em qualquer outrabandeira[7].

Uma destas duas incorporações forma umtoro, de modo que o grafo de Nauru é umgrafo toroidal: consiste de 12 faceshexagonais, juntamente com os 24 vértices e36 arestas do grafo de Nauru. O grafo dualdesta incorporação é um grafo simétrico6-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ênero4. Seu dual não é um grafo simples, uma vez que cada face compartilha três arestas com quatro outras faces, mas ummultigrafo. Este dual pode ser formado a partir do grafo de um octaedro regular substituindo cada aresta por umfeixe de três arestas paralelas.

O conjunto de faces de qualquer um destas duas incorporações é o conjunto de polígonos de Petrie da outraincorporaçã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 grafosgeneralizados de Petersen, o grafo de Naurupode ser representado por pontos no planode tal forma que os vértices adjacentes estãoem unidade de distância à parte; isto é, ele éum grafo distancia-unidade.[8] Ele e osprismas são os únicos grafos generalizadosde Petersen G(n,p) que não pode serrepresentado de tal forma que as simetriasdo desenho formam um grupo cíclico deordem n. Em vez disso, a representação deseu grafo distancia-unidade tem o grupodiedral Dih6 como o seu grupo de simetria.

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 grafoscú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 emhonra 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 18vértices e 27 arestas formado como o grafo de Levi da configuração de Pappus.[1] É nomeado em honra a Pappus deAlexandria, um antigo matemático grego que se acredita ter descoberto o "teorema do hexágono" que descreve aconfiguração de Pappus. Todos os grafos distância-regular cúbicos são conhecidos; o grafo de Pappus é um destes 13grafos.[2]

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 decruzamento. Tem cintura 6, diâmetro 4, raio 4, número cromático 2, índice cromático 3 e é tanto 3-vértice-conectadoquanto 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], comum vértice para cada ponto da configuração de Pappus e uma aresta para cada par de pontos na mesma linha; estegrafo 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 levamqualquer vértice para qualquer outro vértice e qualquer aresta para qualquer outra aresta. De acordo com o censo deFoster, 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áriosciclos.

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.

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 15arestas. É um pequeno grafo que serve como um exemplo útil e contra-exemplo para muitos problemas em teoria dosgrafos. O grafo de Petersen é nomeado em honra a Julius Petersen, que em 1898 construiu o menor grafo cúbico semponte cujas arestas não podem ser coloridas com somente três cores[1]. Embora o grafo seja geralmente creditado aPetersen, 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 paramuitas previsões otimistas sobre o que poderia ser verdade para os grafos em geral."[3]

ConstruçõesO 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ãoconectados 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, umdodecaedro com os pontos opostos, linhas e faces identificadas em conjunto.

Grafo de Petersen 143

IncorporaçõesO grafo de Petersen é não-planar. Qualquer grafo não planar tem como menores tanto o grafo completo , quantoo 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. Omenor 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 oscruzamentos; existe um outro desenho (mostrado na figura), comapenas dois cruzamentos. Assim, o grafo de Petersen tem número decruzamento 2. Em um toro o grafo de Petersen pode ser desenhado semcruzamentos 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 mesmocomprimento. Ou seja, ele é um grafo distância-unidade.

A mais simples superfície não orientável em que o grafo de Petersenpode ser incorporado sem cruzamentos é o plano projetivo. Esta é aincorporação dada pela construção em hemi-dodecaedro do grafo dePetersen. A incorporação no plano projetivo também pode ser formadaa partir do desenho padrão pentagonal do gráfico Petersen, colocandouma superfície cross-cap dentro da estrela de cinco pontas no centro dodesenho, e dirigundo as arestas da estrela através desta cross-cap; odesenho resultante tem seis faces pentagonais. Esta construção formaum mapa regular e mostra que o grafo de Petersen tem um géneronão-orientável 1.

Simetrias

O 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 dirigidasno grafo de Petersen pode ser transformado em qualquer outro tipo de percurso por uma simetria do grafo.[4]

[4][4] .

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 graude 6.

PropriedadesNo grafo de Shrikhande, quaisquer dois vértices I e J têm dois vizinhos distintos em comum (excluindo os própriosdois vértices I e J), o que é verdade independentemente de I ser adjacente a J. Em outras palavras, seus parâmetrospara ser fortemente regulares são: {16,6,2,2}, com , esta igualdade implicando que o grafo é associadoa 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 seisvértices. Como em qualquer grafo localmente cíclico, o grafo de Shrikhande é o 1-esqueleto de uma triangulação deWhitney 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 grafode 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]

Grafo de Shrikhande 145

O grupo de automorfismo do grafo de Shrikhande é da ordem de 192. Ele age transitivamente sobre os vértices, nasarestas 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 é umgrafo toroidal.

O número cromáticodo grafo de

Shrikhande é 4.

O índice cromáticodo grafo de

Shrikhande é 6.

O grafo deShrikhandedesenhado

simetricamente.

O grafo de Shrikhande éHamiltoniano.

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ãoum 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

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

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, Salgueiro, 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, Simã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

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.wikipediaFicheiro:Konigsburg graph.png  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Konigsburg_graph.png  Licença: GNU Free Documentation License  Contribuidores: Nux, SquizzzFicheiro: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.wikipediaImagem:6n-graf.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg  Licença: Public Domain  Contribuidores: User:AzaTothFicheiro:6n-graf.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg  Licença: Public Domain  Contribuidores: User:AzaTothFicheiro: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 OliveiraFile:VR complex.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:VR_complex.svg  Licença: Public Domain  Contribuidores: David EppsteinImage:UndirectedDegrees.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:UndirectedDegrees.svg  Licença: GNU Free Documentation License  Contribuidores: MelchoirFicheiro:Conjugate-dessins.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Conjugate-dessins.svg  Licença: Public Domain  Contribuidores: David EppsteinFicheiro: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ónimasImage:Simple-bipartite-graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Simple-bipartite-graph.svg  Licença: Public Domain  Contribuidores: MistWizFicheiro: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: MelchoirImage: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:Koko90Image: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: Koko90Image: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:Koko90Image:Path-graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Path-graph.svg  Licença: Public Domain  Contribuidores: MomotaroFicheiro: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: LeshabirukovFicheiro: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: Koko90Ficheiro: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: Koko90Image: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: MerdisImage: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ónimasImage:DirectedDegrees.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DirectedDegrees.svg  Licença: GNU Free Documentation License  Contribuidores: MelchoirImagem: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: BooyabazookaFicheiro: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 DrichelImage: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:BooyabazookaImage: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:BooyabazookaImage: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: DbenbennFicheiro: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ónimasImagem: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:0x24a537r9Ficheiro: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ónimasFicheiro: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.wikipediaFicheiro: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ónimasImage:6n-graf.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:6n-graf.svg  Licença: Public Domain  Contribuidores: User:AzaTothImage:Octahedron graph.png  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Octahedron_graph.png  Licença: GNU Free Documentation License  Contribuidores: User:ArborFicheiro:Tree graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Tree_graph.svg  Licença: Public Domain  Contribuidores: Dcoetzee, Tacsipacsi, TizioFicheiro: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 EppsteinFicheiro:Minimum spanning tree.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Minimum_spanning_tree.svg  Licença: Public Domain  Contribuidores: User:DcoetzeeImagem: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ónimasFile: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 OliveiraFile: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 OliveiraImagem: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: LeshabirukovFicheiro: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: Koko90Ficheiro:Arrow east.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_east.svg  Licença: Public Domain  Contribuidores: User:MarianSiglerFicheiro: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: Koko90Ficheiro:Arrow west.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_west.svg  Licença: Public Domain  Contribuidores: User:MarianSiglerFicheiro: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:MarianSiglerFicheiro: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:Koko90Ficheiro: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:Koko90Ficheiro: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: Koko90Ficheiro:Folkman graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg  Licença: Public Domain  Contribuidores: David Eppstein

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:Koko90Ficheiro: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: Koko90Ficheiro: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:Koko90Ficheiro:Arrow north.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Arrow_north.svg  Licença: Public Domain  Contribuidores: User:MarianSiglerImagem:Z 2xZ 3.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Z_2xZ_3.svg  Licença: Public Domain  Contribuidores: ToshaImage: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: Originaluploader 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 cs.wikipedia, SVG by User:JxjlImage: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_GancherImagem: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.wikipediaImage: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: Koko90Image: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.wikipediaImage: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: LeshabirukovImagem:Folkman graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg  Licença: Public Domain  Contribuidores: David EppsteinImage: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: Koko90Ficheiro:TruncatedTetrahedron.gif  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:TruncatedTetrahedron.gif  Licença: Public domain  Contribuidores: Radagast3Image: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:DbenbennImage: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:LipediaImage: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.wikipediaImage: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: MikkalaiFile: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: Koko90Ficheiro: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: MreImage: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:AexpeditoFicheiro:MapGermanyGraph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:MapGermanyGraph.svg  Licença: Public Domain  Contribuidores: AndreasPraefcke, Mapmarks,MistWiz, RegnaronFicheiro:GermanyBFS.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:GermanyBFS.svg  Licença: Public Domain  Contribuidores: RegnaronFicheiro:Depthfirst.png  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Depthfirst.png  Licença: GNU Free Documentation License  Contribuidores: User:BarunejuFicheiro: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:MilesFicheiro: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, SquizzzFicheiro:Labelled Eulergraph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Labelled_Eulergraph.svg  Licença: Public Domain  Contribuidores: S SeppFicheiro: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ónimasFicheiro: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 RocchiniFicheiro: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 SommerFicheiro: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, MlepickiImage: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-WBFFile:Johnson's algorithm.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Johnson's_algorithm.svg  Licença: Public Domain  Contribuidores: David EppsteinFicheiro: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 MadarFicheiro: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 MadarFicheiro: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 MadarFicheiro: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 MadarFicheiro: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 MadarFicheiro: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.wikipediaImage: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 DrichelImage: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 BirknerImage: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 BirknerImage: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 BirknerImage: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 BirknerImage: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

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 BirknerImage:Dijkstra_Animation.gif  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Dijkstra_Animation.gif  Licença: Public Domain  Contribuidores: IbmuaImage: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: Koko90Imagem: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: Koko90Imagem: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: Koko90Imagem: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 RocchiniImage:DesarguesGraph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:DesarguesGraph.svg  Licença: Public Domain  Contribuidores: David EppsteinImage: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. NonenmacherImage: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: Koko90Image: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: Koko90Image: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: Koko90Image: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: Koko90Image:Folkman graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_graph.svg  Licença: Public Domain  Contribuidores: David EppsteinFile:Folkman Lombardi.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Folkman_Lombardi.svg  Licença: Public Domain  Contribuidores: David EppsteinImage: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: ClaudioRocchiniFicheiro: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. NonenmacherFicheiro: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: Koko90Ficheiro: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: Koko90File: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: Koko90Ficheiro: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: Koko90Ficheiro: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:Koko90Ficheiro:Frucht Lombardi.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Frucht_Lombardi.svg  Licença: Public Domain  Contribuidores: David EppsteinImage: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: Koko90Ficheiro:Gray graph.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_graph.svg  Licença: Public Domain  Contribuidores: David EppsteinFicheiro: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: Koko90Ficheiro: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: Koko90Ficheiro:Gray configuration.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Gray_configuration.svg  Licença: Public Domain  Contribuidores: David EppsteinImage: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.NonenmacherImage:Szilassi polyhedron.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Szilassi_polyhedron.svg  Licença: Public Domain  Contribuidores: David EppsteinFicheiro: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 EppsteinFicheiro: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: Koko90Ficheiro: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: Koko90Ficheiro: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.wikipediaImage: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: ClaudioRocchiniImage: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 RocchiniImage:Higman-Sims-19.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Higman-Sims-19.svg  Licença: Public Domain  Contribuidores: Gro-TsenFile: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: UzyelImage: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 RocchiniFile: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: Koko90Image: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: Koko90Image: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: Koko90Image: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: Koko90Image: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: Koko90Imagem: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: Koko90Imagem: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

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: Koko90Imagem: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: Koko90Image: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:Koko90Ficheiro: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: Mate2codeFicheiro: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: LipediaFicheiro: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: DavidEppsteinFile:Nauru unit distance.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Nauru_unit_distance.svg  Licença: Public Domain  Contribuidores: David EppsteinImage:Pappus graph LS.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Pappus_graph_LS.svg  Licença: Public Domain  Contribuidores: David EppsteinImagem: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. NonenmacherImagem: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: Koko90Imagem: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: Koko90Image: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:DbenbennImagem: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:DbenbennFicheiro:Shrikhande torus.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_torus.svg  Licença: Public Domain  Contribuidores: David EppsteinFicheiro: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: Koko90Ficheiro: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: Koko90Ficheiro: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. NonenmacherFicheiro:Shrikhande Lombardi.svg  Fonte: http://pt.wikipedia.org/w/index.php?title=Ficheiro:Shrikhande_Lombardi.svg  Licença: Public Domain  Contribuidores: David EppsteinFile: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

Licença 153

LicençaCreative Commons Attribution-Share Alike 3.0 Unported//creativecommons.org/licenses/by-sa/3.0/