• Nenhum resultado encontrado

Teoria Dos Grafos

N/A
N/A
Protected

Academic year: 2021

Share "Teoria Dos Grafos"

Copied!
157
0
0

Texto

(1)

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

(2)

Conteúdo

Páginas

Introdução - Teoria dos Grafos

1

Sete pontes de Königsberg 1

Teoria dos grafos 2

Conceitos Básicos e Definições

8

Grafo 8 Vértice 9 Aresta 11 Aresta múltipla 12 Ciclos em um grafo 12 Clique 12 O grau de um grafo 13 Grafo bipartido 15

Grafo bipartido completo 17

Grafo caminho 19 Grafo completo 20 Grafo cúbico 20 Grafo Estrela 23 Grafo nulo 24 Grafo orientado 25 Grafo simples 28 Grafo valorado 28 Homomorfismo de grafos 29 Isomorfismo de grafos 30 Laço 32 Multigrafo 33 Pseudografo 34 Quiver 36

Vértice de corte (teoria dos grafos) 37

Vizinhança 40

Árvores

42

(3)

Á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

(4)

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ências

Fontes e Editores da Página 147

Fontes, Licenças e Editores da Imagem 149

Licenças das páginas

(5)

1

Introdução - Teoria dos Grafos

Sete pontes de Königsberg

Esquema de pontes.

Grafo estilizado das pontes. Sete pontes de Königsberg é um famoso

problema histórico da matemática resolvido por Leonhard Euler em 1736, cuja solução originou a teoria dos grafos.[1]

O problema é baseado na cidade de Königsberg (território da Prússia até 1945, atual Kaliningrado), que é cortada pelo Rio Prególia, onde há duas grandes ilhas que, juntas, formam um complexo que na época continha sete pontes, conforme mostra a figura ao lado. Das sete pontes originais, uma foi demolida e reconstruída em 1935, duas foram destruídas durante a Segunda Guerra Mundial e outras duas foram demolidas para dar lugar a uma única via expressa. Atualmente apenas duas pontes são da época de Leonard Euler.

Discutia-se nas ruas da cidade a possibilidade de atravessar todas as pontes sem repetir nenhuma. Havia-se tornado uma lenda popular a possibilidade da façanha quando Euler, em 1736, provou que não existia caminho que possibilitasse tais restrições.

Euler usou um raciocínio muito simples.

Transformou os caminhos em retas e suas intersecções em pontos, criando possivelmente o primeiro grafo da história. Então percebeu que só seria possível atravessar o caminho inteiro passando uma única vez em cada ponte se houvesse exatamente zero ou dois pontos de onde saísse um número ímpar de caminhos. A razão de tal coisa é que de cada ponto deve haver um número par de caminhos, pois será preciso um caminho para "entrar" e outro para "sair". Os dois pontos com caminhos ímpares referem-se ao início e ao final do percurso, pois estes não precisam de um para entrar e um para sair, respectivamente. Se não houver pontos com número ímpar de caminhos, pode-se (e deve-se) iniciar e terminar o trajeto no mesmo ponto, podendo esse ser qualquer ponto do grafo. Isso não é possível quando temos dois pontos com números ímpares de caminhos, sendo obrigatoriamente um o início e outro o fim. Duas das sete pontes originais da cidade foram destruídas durante do bombardeamento de Königsberg em agosto de 1944.[2]

(6)

Teoria dos grafos 2

Teoria dos grafos

Grafo com 4 vértices e 6 arestas. É um grafo completo, conexo e planar. A teoria dos grafos é um ramo da matemática que estuda as relações

entre os objetos de um determinado conjunto. Para tal são empregadas estruturas chamadas de grafos, G(V,A), onde V é um conjunto não vazio de objetos denominados vértices e A é um conjunto de pares não ordenados de V, chamado arestas.

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

Estruturas que podem ser representadas por grafos estão em toda parte e muitos problemas de interesse prático podem ser formulados como

questões sobre certos grafos. Por exemplo, a estrutura de links da Wikipedia pode ser representada por um dígrafo: os vértices são os artigos da Wikipedia e existe uma aresta do artigo A para o artigo B se e somente se A contém um link para B. Dígrafos são também usados para representar máquinas de estado finito. O desenvolvimento de algoritmos para manipular grafos é um importante tema da ciência da computação.

Histórico

O artigo de Leonhard Euler, publicado em 1736, sobre o problema das sete pontes de Königsberg, é considerado o primeiro resultado da teoria dos grafos.[] É também considerado um dos primeiros resultados topológicos na geometria; isto é, não dependente de quaisquer medidas. Isso ilustra a profunda conexão entre a teoria dos grafos e topologia.

Definições de grafos e digrafos

Na literatura, as definições básicas da teoria dos grafos variam bastante. Aqui estão as convenções usadas nesta enciclopédia.

Um grafo direcionado (também chamado digrafo ou quiver) consiste de • um conjunto V de vértices,

• um conjunto E de arestas e

• mapas s, t : E → V, onde s(e) é a fonte e t(e) é o alvo da aresta direcionada e. Um grafo não direcionado (ou simplesmente grafo) é dado por

• um conjunto V de vértices, • um conjunto E de arestas e

• uma função w : E → P(V) que associa a cada aresta um subconjunto de dois ou de um elemento de V, interpretado como os pontos terminais da aresta.

Em um grafo ou digrafo com pesos, uma função adicional E → R associa um valor a cada aresta, o que pode ser considerado seu "custo"; tais grafos surgem em problemas de rota ótima tais como o problema do caixeiro viajante.

(7)

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ão conectados entre si por quantas arestas.

Glossário dos conceitos básicos de teoria dos grafos

Um grafo com 6 vértices e 7 arestas O grafo de exemplo exibido à direita é um grafo simples com o

conjunto de vértices V = {1, 2, 3, 4, 5, 6} e um conjunto de arestas E = { {1,2}, {1,5}, {2,3}, {2,5}, {3,4}, {4,5}, {4,6} } (com o mapeamento

w sendo a identidade).

Uma aresta conecta dois vértices; esses dois vértices são ditos como incidentes à aresta. A valência (ou grau) de um vértice é o número de arestas incidentes a ele, com loops contados duas vezes. No grafo de exemplo os vértices 1 e 3 possuem uma valência de 2, os vértices 2, 4 e 5 têm a valência de 3 e o vértice 6 tem a valência de 1. Se E é finito, então a valência total dos vértices é o dobro do número de arestas. Em

um dígrafo, distingue-se o grau de saída (o número de arestas saindo de um vértice) e o grau de entrada (o número de arestas entrando em um vértice). O grau de um vértice é igual à soma dos graus de saída e de entrada.

Dois vértices são considerados adjacentes se uma aresta existe entre eles. No grafo acima, os vértices 1 e 2 são adjacentes, mas os vértices 2 e 4 não são. O conjunto de vizinhos de um vértice consiste de todos os vértices adjacentes a ele. No grafo-exemplo, o vértice 1 possui 2 vizinhos: vértice 2 e vértice 5. Para um grafo simples, o número de vizinhos de um vértice é igual à sua valência.

Na computação, um grafo finito direcionado ou não-direcionado (com, digamos, n vértices) é geralmente representado por sua matriz de adjacência: uma matriz n-por-n cujo valor na linha i e coluna j fornece o número de arestas do i-ésimo ao j-ésimo vértices.

Se for possível estabelecer um caminho de qualquer vértice para qualquer outro vértice de um grafo, diz-se que o grafo é conexo. Se for sempre possível estabelecer um caminho de qualquer vértice para qualquer outro vértice mesmo depois de remover k-1 vértices, então diz-se que o grafo está k-conexo. Note que um grafo está k-conexo se, e somente se, contém k caminhos independentes entre qualquer par de vértices. O grafo de exemplo acima é conexo (e portanto 1-conexo), mas não é 2-conexo.

Em um grafo genérico G, o corte associado a um conjunto X de vértices é o conjunto de todas as arestas que têm uma ponta em X e outra em V(G) - X, onde V(G) é o conjunto de todos os vértices pertencentes ao grafo G.

• Grafo simples é um grafo não direcionado, sem laços e que existe no máximo uma aresta entre quaisquer dois vértices (sem arestas paralelas). No grafo de exemplo, (1, 2, 5, 1, 2, 3) é um caminho com comprimento 5, e (5, 2, 1) é um caminho simples de comprimento 2.

• Grafo completo é o grafo simples em que, para cada vértice do grafo, existe uma aresta conectando este vértice a cada um dos demais. Ou seja, todos os vértices do grafo possuem mesmo grau. O grafo completo de n vértices é frequentemente denotado por Kn. Ele tem n(n-1)/2 arestas (correspondendo a todas as possíveis escolhas de pares de vértices).

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

(8)

Teoria dos grafos 4

• Grafo trivial é o grafo que possui apenas um vertice e nenhuma aresta. • Grafo regular é um grafo em que todos os vértices tem o mesmo grau.

• Multigrafo é um grafo que permite múltiplas arestas ligando os mesmos vértices (arestas paralelas). • Laço (loop) num grafo ou num digrafo é uma aresta e em E cujas terminações estão no mesmo vértice. • Pseudografo é um grafo que contém arestas paralelas e laços.

• Ciclo (ou circuito) é um caminho que começa e acaba com o mesmo vértice. Ciclos de comprimento 1 são laços. No grafo de exemplo, (1, 2, 3, 4, 5, 2, 1) é um ciclo de comprimento 6. Um ciclo simples é um ciclo que tem um comprimento pelo menos de 3 e no qual o vértice inicial só aparece mais uma vez, como vértice final, e os outros vértices aparecem só uma vez. No grafo acima, (1, 5, 2, 1) é um ciclo simples. Um grafo chama-se acíclico se não contém ciclos simples.

• Ponto de articulação ou Vértice de corte é um vértice cuja remoção desliga um grafo. Uma ponte é uma aresta cuja remoção desliga um grafo. Um componente biconectado é um conjunto máximo de arestas tal que qualquer par de arestas do conjunto fazem parte de um ciclo simples comum. O contorno de um grafo é o comprimento do ciclo simples mais curto no grafo. O contorno de um grafo acíclico é, por definição, infinito.

• Árvore é um grafo simples acíclico e conexo. Às vezes, um vértice da árvore é distinto e chamado de raiz. Árvores são comumente usadas como estruturas de dados em informática (veja estrutura de dados em árvore). • Floresta é um conjunto de árvores; equivalentemente a uma floresta, em algum grafo acíclico.

• Subgrafo de um grafo G é um grafo cujo conjunto dos vértices é um subconjunto do conjunto de vértices G, cujo conjunto de arestas é um subconjunto do conjunto de arestas de G, e cuja função w é uma restrição da função de

G

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

• Subgrafo induzido é obtido pela remoção de vértices e consequente das arestas relacionadas com ele de um outro grafo, dizemos que este novo grafo é um grafo induzido do original.

• Grafo parcial de um grafo G é um subgrafo com o mesmo conjunto de vértices que G. Uma árvore parcial é um grafo parcial que é árvore. Todo grafo tem pelo menos uma árvore parcial.

• Clique em um grafo é um subgrafo que também é um grafo completo. No grafo do exemplo acima, os vértices 1, 2 e 5 formam um clique.

• Conjunto independente em um grafo é um conjunto de vértices não adjacentes entre si. No exemplo acima, os vértices 1, 3 e 6 formam um conjunto independente e 3, 5 e 6 são outro conjunto independente.

• Grafo planar é aquele que pode ser representado em um plano sem qualquer intersecção entre arestas. O grafo do exemplo é planar; o grafo completo de n vertices, para n> 4, não é planar.

• Caminho é uma sequência de vértices tal que de cada um dos vértices existe uma aresta para o vértice seguinte. Um caminho é chamado simples se nenhum dos vértices no caminho se repete. O comprimento do caminho é o número de arestas que o caminho usa, contando-se arestas múltiplas múltiplas vezes. O custo de um caminho num grafo balanceado é a soma dos custos das arestas atravessadas. Dois caminhos são independentes se não tiverem nenhum vértice em comum, excepto o primeiro e o último.

• Caminho euleriano em um grafo é o caminho que usa cada aresta exatamente uma vez. Se tal caminho existir, o grafo é chamado traversável. Um ciclo euleriano é um ciclo que usa cada aresta exatamente uma vez.

• Caminho hamiltoniano em um grafo é o caminho que visita cada vertice exatamente uma vez. Um ciclo hamiltoniano é um ciclo que visita cada vértice uma só vez. O grafo do exemplo contém um caminho

hamiltoniano. Enquanto determinar se um dado grafo contém um caminho ou ciclo euleriano é trivial, o mesmo problema para caminhos e ciclos hamiltonianos é extremamente árduo.

(9)

Teoria dos grafos 5

• Lema do aperto de mãos diz que se os convidados de uma festa apertarem as mãos quando se encontrarem pela primeira vez, o número de convidados que apertam a mão um número ímpar de vezes é par. Também em grafos não direcionados a soma dos graus de todos os vértices é igual ao dobro do número de arestas.

• Grafo bipartido é o grafo cujos vértices podem ser divididos em dois conjuntos, nos quais não há arestas entre vértices de um mesmo conjunto. Para um grafo ser bipartido ele não pode conter circuitos de comprimento ímpar. •• 1. Se um grafo G é bipartido, todo o circuito de G possui comprimento par.

• Sejam V1 e V2 os dois conjuntos em que, de acordo com a definição de grafo bipartido, se particiona V(G). Toda a aresta de G conecta um vértice em V1 com outro em V2. Assim sendo, se X for um vértice de V1, para “voltar” a esse vértice terá de se ir a V2 e voltar a V1 um número indeterminado de vezes, e de cada vez serão percorridas duas arestas, uma de um vértice em V1 para um vértice em V2 e outra de um vértice em V2 para um vértice em V1. Logo, o número de arestas a percorrer será par, ou seja, o comprimento do circuito é par.

•• 2. Se todo o circuito de um grafo G possui comprimento par, então o grafo é bipartido.

•• Seja G um grafo em que todo o circuito tem comprimento par, e seja X um vértice de G. Denotemos por V1 o conjunto formado por X e por todos os vértices cuja distância a X é par. Seja V2 = V(G)\V1 (isto é, o conjunto formado pelos vértices de G que não pertencem a V1). Pretende mostrar-se que não existe qualquer aresta que conecte vértices de V1 ou vértices de V2. Suponhamos a existência de tal aresta, isto é, suponhamos a existência de dois vértices em V1 (ou V2), digamos Xi e Xj, conectados por uma aresta. Ora existe já um caminho de comprimento par entre Xi e Xj, já que existem caminhos, ambos de comprimento par (ou ímpar, no caso de Xi e Xj pertencerem a V2), entre Xi e X e entre X e Xj. Se a esse caminho juntarmos a aresta {Xi;Xj} obtemos um circuito de comprimento ímpar o que contraria a hipótese de apenas existirem circuitos de comprimento par.

• Grafo bipartido completo é o grafo bipartido, cujo qualquer vértice do primeiro conjunto é adjacente a todos vértices do segundo conjunto

• Grafo k-partido ou grafo de k-coloração é um grafo cujos vértices podem ser particionados em k conjuntos disjuntos, nos quais não há arestas entre vértices de um mesmo conjunto. Um grafo 2-partido é o mesmo que grafo bipartido.

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

• Teorema das quatro cores é baseado no problema das cores necessárias para se colorir um mapa sem que os países vizinhos compartilhem da mesma cor. Transformando o mapa em um grafo pode-se provar que pode-se representar qualquer mapa (um grafo planar) com apenas 4 cores (4 partições).

• Percurso árvores:

•• Percorrimento sistemático em todos os vértices e arestas do grafo. Grafo pode ser dirigido ou não. •• O percurso em árvores é o processo de visitar cada nó da árvore exatamente uma vez.

•• O percurso pode ser interpretado como colocar todos os nós em uma linha, não existe uma ordem para ser seguida.

•• Existem n percursos diferentes, quase todos caóticos.

•• Os básicos são percurso em profundidade e percurso em largura •• Fila: busca em largura

•• Pilha: busca em profundidade

• Busca em extensão ou largura: (Breadth-First Search ou BFS).

A propriedade especial está no fato de a árvore não possuir ciclos: dados dois vértices quaisquer, existe exatamente 1 caminho entre eles. Um percurso em extensão é visitar cada nó começando do menor nível e move-se para os níveis mais altos nível após nível, visitando cada nó da esquerda para a direita. Sua implementação é direta quando uma fila

(10)

Teoria dos grafos 6

é utilizada. Depois que um nó é visitado, seus filhos, se houver algum, são colocados no final da fila e o nó no início da fila é visitado. Assim, os nós do nível n+1 serão visitados somente depois de ter visitados todos os nós do nível n. Computa a menor distância para todos os vértices alcançaveis. O sub-grafo contendo os caminhos percorridos é chamado de breadth-first tree.

• Busca em profundidade (Depth-first search ou DFS).

Um algoritmo de busca em profundidade realiza uma busca não-informada que progride através da expansão do primeiro nó filho da árvore de busca, e se aprofunda cada vez mais, até que o alvo da busca seja encontrado ou até que ele se depare com um nó que não possui filhos (nó folha). Então a busca retrocede (backtrack) e começa no próximo nó. Numa implementação não-recursiva, todos os nós expandidos recentemente são adicionados a uma pilha, para realizar a exploração. A complexidade espacial de um algoritmo de busca em profundidade é muito menor que a de um algoritmo de busca em largura. A complexidade temporal de ambos algoritmos são proporcionais ao número de vértices somados ao número de arestas dos grafos aos quais eles atravessam. Quando ocorrem buscas em grafos muito grandes, que não podem ser armazenadas completamente na memória, a busca em profundidade não termina, em casos onde o comprimento de um caminho numa árvore de busca é infinito. O simples artifício de “ lembrar quais nós já foram visitados ” não funciona, porque pode não haver memória suficiente. Isso pode ser resolvido estabelecendo-se um limite de aumento na profundidade da árvore.

Problemas que envolvem grafos

• Coloração de grafos: o Teorema das quatro cores •• Conjuntos de Grafos

•• Conjunto independente •• Clique

•• Problemas de roteamento: •• Sete pontes de Königsberg •• Árvore de extensão mínima •• Problema do caminho mínimo

• Problema da inspeção de rotas (também conhecido como o "Problema do carteiro chinês") •• Problema do caixeiro viajante

• Fluxos de rede:

•• Teorema do mínimo corte-máximo fluxo •• conjectura da reconstrução

•• Problemas de Isomorfismo (casamento de grafos) •• Rotulação canônica?

•• Isomorfismo de subgrafos e monomorfismos. •• Máximo subgrafo comum

(11)

Teoria dos grafos 7

Algoritmos importantes

•• algoritmo de Dijkstra

•• algoritmo de Kruskal

•• algoritmo do vizinho mais próximo • algoritmo de Prim.

Generalizações

Num hipergrafo uma aresta pode conectar mais que dois vértices.

Um grafo não-direcionado pode ser visto como um complexo simplicial consistindo de símplices de uma dimensão (as arestas) e símplices de dimensão zero (os vértices). Ou seja, complexos são generalizações de grafos que permitem símplices de maiores dimensões.

[1] Ver por exemplo, (http://www.aisee.com/gallery/graph23.htm)

Ligações externas

Em inglês

• Graph theory tutorial (http://www.utm.edu/departments/math/graph/)

• Graph theory algorithm presentation (http://www.cs.wpi.edu/~dobrush/cs507/presentation/2001/Project10/ ppframe.htm)

• Some graph theory algorithm animations (http://students.ceid.upatras.gr/~papagel/project/contents.htm) •• Step through the algorithm to understand it.

• The compendium of algorithm visualisation sites (http://www2.hig.no/~algmet/animate.html)

• A search site for finding algorithm implementations, explanations and animations (http://www.spectster.com/) • Graph Theory Software (http://graphtheorysoftware.com/)

Em português

• Material sobre grafos da USP São Carlos (http://www.icmc.sc.usp.br/manuals/sce183/grafos.html) • Uma Introdução Sucinta à Teoria dos Grafos (http://www.ime.usp.br/~pf/teoriadosgrafos/texto/

TeoriaDosGrafos.pdf)

• Material com "Atlas de Grafos" da FINTEC (http://www.fintec.edu.br/peter/relat04/atlas1/atlas_index.htm) • Enumeração de caminhos - Algoritmo Grafos (http://thiagoprocaci.blogspot.com/2009/10/

enumeracao-de-caminhos-algoritmo-grafos.html)

Ferramentas de grafos populares

• http://www.graphviz.org/(em Inglês)

• http://www.absint.com/aisee/index_pt.htm (em Português) • http://www.aisee.com (em Inglês)

• http://www.research.att.com/sw/tools/graphviz/(em Inglês)

• http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html (em Inglês) • http://www.tulip-software.org (em Inglês)

• http://www.roxgt.org • http://planarity.net

(12)

8

Conceitos Básicos e Definições

Grafo

Um grafo com 6 vértices e 7 arestas. Em matemática e ciência da computação, grafo é o objeto básico de

estudo da teoria dos grafos. Tipicamente, um grafo é representado como um conjunto de pontos (vértices) ligados por retas (as arestas). Dependendo da aplicação, as arestas podem ser direcionadas, e são representadas por "setas".

Os grafos são muito úteis na representação de problemas da vida real, em vários campos profissionais. Por exemplo, pode-se representar um mapa de estradas através dos grafos e usar algoritmos específicos para determinar o caminho mais curto entre dois pontos, ou o caminho mais económico. Assim, os grafos podem possuir também pesos (ou custo),

quer nas arestas quer nos vértices, e o custo total em estudo será calculado a partir destes pesos.

Grafos podem ser utilizados também em redes PERT no âmbito do planejamento de projetos. Neste caso, a cada aresta está associado o custo de execução, e as tarefas precedentes de uma outra serão suas afluentes.

Outro exemplo é o caso das redes de computadores, sendo cada terminal representado por um vértice, o cabo de rede pelas arestas e o custo associado a latência, por exemplo, ou o número de máquinas que a comunicação atravessa entre os nós. É nestes princípios que assenta todo o protocolo IP que torna possível a Internet ser uma realidade. Grafos têm sido utilizados para representar o formalismo das redes complexas, onde o número de nós e de conexões entre esses nós é muito alto e complexamente estabelecido.

Introdução

Uma possível definição para grafos: "O grafo propriamente dito é uma representação gráfica das relações existentes entre elementos de dados. Ele pode ser descrito num espaço euclidiano de n dimensões como sendo um conjunto V de vértices e um conjunto A de curvas contínuas (arestas)". Podemos avaliar um grafo através de seu tipo, propriedades e aplicações[1].

Busca em grafo

Vários problemas representados por um grafo podem ser resolvidos efetuando uma busca nesse grafo. A busca em grafo consiste em explorar um grafo, de forma que obtenha um processo sistemático de como caminhar por seus vértices e arestas. Às vezes é preciso visitar todos os vértices de um grafos, às vezes o problema pode ser resolvido visitando somente um subconjunto dos vértices.

(13)

Grafo 9

Algoritmos de percurso

Existem dois métodos de percurso em grafos: percurso em profundidade (depth-first search — DFS) e o percurso em largura (breadth first search — BFS).

A ideia básica do DFS é buscar "mais a fundo" no grafo quando possível. Assim, a partir de um vértice v, as arestas ainda não exploradas o são e, ao final, a busca retrocede.

A ideia do BFS é bastante simples: os vértices do grafo são visitados nível a nível, ou seja, todos os vértices a uma distância k do vértice inicial são visitados antes de qualquer vértice a uma distância k +1 do inicial.

Referências

• http://www.icmc.sc.usp.br/manuals/sce183/gfbus.html

• Cormen. Thomas (2000); Leiserson, Charles.; Rivest, Ronald. Introduction to Algorithmics, McGraw-Hill. • Algoritmos em Grafos - Paulo Feofiloff [1]

Referências

[1] http://www.ime.usp.br/~pf/algoritmos_em_grafos/aulas/grafos.html

Vértice

Um grafo com 6 vértices e 7 arestas onde o vértice da extrema-direita é um vértice-folha ou

um vértice-pendente. Em teoria dos grafos, um vértice (plural vértices) ou nodo é a unidade

fundamental da qual os grafos são formados: um grafo não dirigido consiste de um conjunto de vértices e um conjunto de arestas (pares de vértices não ordenados), enquanto um digrafo é constituído por um conjunto de vértices e um conjunto de arcos (pares ordenados de vértices). Do ponto de vista da teoria dos grafos, vértices são tratados como objetos inexpressivos e indivisíveis, embora possam ter uma estrutura adicional, dependendo da aplicação a partir da qual surge o grafo; por exemplo, uma rede semântica é um grafo no qual os vértices representam conceitos ou classes de objetos.

Os dois vértices formando uma aresta são ditos suas extremidades e a

aresta é dita que é incidente para com os vértices.[] Um vértice w é dito ser adjacente a outro vértice v se o grafo contém uma aresta (v,w).[] A adjacência de um vértice v é um subgrafo induzido do grafo, formado por todos os vértices adjacentes a v.

O grau de um vértice em um grafo é o número de arestas incidentes a ele.[] Um vértice isolado é um vértice com grau zero, isto é, um vértice que não é um ponto final de toda a aresta. Um vértice folha (também vértice pendente) é um vértice de grau um. Em um grafo direcionado, pode-se distinguir o grau de saída (número de arestas divergentes) do grau de entrada (número de arestas convergentes); uma fonte é um vértice com grau de entrada zero, enquanto um sumidouro (ou poço) é um vértice com grau de saída nulo[] .

Um vértice de corte é um vértice cuja remoção (juntamente com as arestas a ele conectadas) provoca um redução na conexidade do grafo;[1] Um separador é uma coleção de vértices cuja remoção desconecta o grafo restante em pedaços pequenos.[2] Um grafo k-conexo é um gráfico em que a remoção de menos de k vértices sempre deixa o grafo ainda conectado. Um conjunto independente é um conjunto de vértices tal que não existem dois vértices adjacentes contido neste conjunto, e uma cobertura de vértices é um conjunto de vértices, que inclui o ponto de extremidade de cada aresta do grafo. O espaço de vértices de um grafo é um espaço vetorial com um conjunto de

(14)

Vértice 10

vetores de base correspondente aos vértices do gráfico.

Um grafo é vértice-transitivo se ele tiver simetrias que mapeiam qualquer vértice para qualquer outro vértice. No contexto da enumeração de grafos e isomorfismo de grafos, é importante fazer a distinção entre vértices rotulados e vértices sem rótulo. Um vértice rotulado é um vértice que está associado com informação extra que possa o distinguir de outros vértices rotulados; dois grafos podem ser considerados isomórficos somente se a correspondência entre seus vértices emparelham vértices com rótulos iguais. Um vértice não marcado é aquele que pode ser substituído por qualquer outro vértice com base apenas em suas adjacências no gráfico e não baseado em quaisquer informações adicionais.

Vértices em grafos são análogos, mas não o mesmo que, vértices de poliedros: o esqueleto de um poliedro forma um grafo, os vértices do qual são vértices do poliedro, mas os vértices do poliedro tem uma estrutura adicional (sua localização geométrica) que não se presume estar presente na teoria dos grafos. A Figura de vértice de um vértice de um poliedro é análoga à vizinhança de um vértice em um grafo.

Em um dígrafo, estrela frontal de um nodo é definida como a suas arestas de saída. Em um grafo com um conjunto de vértices e um conjunto de arestas , a estrela frontal de pode ser descrita como

[3]

[1] Grafos - UFSC (http://www.inf.ufsc.br/grafos/definicoes/definicao.html)

[2] Algoritmos em Grafos - IME (http://www.ime.usp.br/~pf/algoritmos_em_grafos/aulas/two-flow.html)

• Berge, Claude, Théorie des graphes et ses applications. Collection Universitaire de Mathématiques, II Dunod, Paris 1958, viii+277 pp. (English edition, Wiley 1961; Methuen & Co, New York 1962; Russian, Moscow 1961; Spanish, Mexico 1962; Roumanian, Bucharest 1969; Chinese, Shanghai 1963; Second printing of the 1962 first English edition. Dover, New York 2001)

• Chartrand, Gary. Introductory graph theory. New York: Dover, 1985. ISBN 0-486-24775-9

• Biggs, Norman; Lloyd, E. H.; Wilson, Robin J.. Graph theory, 1736-1936. Oxford [Oxfordshire]: Clarendon Press, 1986. ISBN 0-19-853916-9

• Harary, Frank. Graph theory. Reading, Mass.: Addison-Wesley Publishing, 1969. ISBN 0-201-41033-8 • Harary, Frank; Palmer, Edgar M.. Graphical enumeration. [S.l.]: New York, Academic Press, 1973. ISBN

(15)

Aresta 11

Aresta

Tipos de arestas. Em teoria dos grafos, uma aresta junto com os vértices ou nodos

formam as unidades fundamentais das quais os grafos são formados[]: um grafo não dirigido consiste de um conjunto de vértices e um conjunto de arestas (pares de vértices não ordenados), enquanto um digrafo é constituído por um conjunto de vértices e um conjunto de arcos (pares ordenados de vértices). As arestas são consideradas as uniões entre os vértices. Uma aresta é dita incidente ao0s elementos de um par de vértices que não são necessariamente distintos[]. Normalmente as arestas denotam as relações entre os vértices (vizinhanca, grau, herança, etc..)

Tipos de arestas

Uma aresta pode ser não-direcionada ou direcionada. No segundo caso, o par de vértices é ordenado e o vértices são chamados vértice-inícial e vértice-final. Arestas com o mesmo vértice-inicial e o mesmo vértice final ( u, v ) são ditas paralelas[].

Relação de adjacência

As arestas de um grafo ou digrafo G=(V, E) induzem uma relação chamada de relação de adjacência[1]. Portanto um vértice v é adjacente a um vértice w se e somente se v-w é uma aresta que pertence ao conjunto E.

(16)

Aresta múltipla 12

Aresta múltipla

Aresta múltipla ou aresta paralela são arestas que possuem os mesmos vértices como extremidade.

Ciclos em um grafo

Um ciclo em teoria de grafos é "um passeio de comprimento mínimo três, em que o primeiro e o último vértice coincidem, mas nenhum outro vértice é repetido" [1]. Um ciclo é uma cadeia simples e fechada[][2]. Um ciclo é uma cadeia fechada[].

O termo ciclo pode também ser usado para se referir ao grafo que contém os vértices e arestas de um ciclo na definição acima[1].

Definição matemática

Matematicamente: Seja G um grafo. Um ciclo em G é um caminho

{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 (suas arestas), 19 cliques de 3-vértices (os triângulos em azul claro), e 2 cliques de

4-vértices (azul escuro). Seis das arestas e 11 dos triângulos formam cliques maximais. As duas 4-cliques em azul escuro são tanto máximas quanto maximais,

e o número de clique do grafo é 4. Na área da matemática da teoria dos grafos,

uma clique em um grafo não-orientado é um subconjunto de seus vértices tais que cada dois vértices do subconjunto são conectados por uma aresta. Uma clique em um grafo G é um subgrafo de G que é completo. Eles recebem a notação [1]. O tamanho de uma clique é igual a cardinalidade de seu conjunto de vértices. Por exemplo no grafo G(V,E) sendo V seu conjunto de vértices e E o de arestas, temos que:

Se V={1,2,3,4,5} e E={(1,2),(1,3),(1,4),(1,5),(2,3),(2,4),(3,4),(4,5)}, o subgrafo induzido pelos vértices (1,2,3,4) é uma clique de tamanho 4.

(17)

Clique 13

Referências

O grau de um grafo

Um grafo com vértices rotulados por grau Na teoria dos grafos, o grau (ou valência) de um vértice de um grafo é

o número de arestas incidentes para com o vértice, com os laços contados duas vezes. [1][] Ou de forma análoga, o número de vértices adjacentes a ele.[]O grau de um vértice é denotado O grau máximo de um grafo G, denotado por Δ(G), e o grau mínimo de um grafo, denotado por δ(G), são os graus máximos e mínimos de seus vértices. No grafo à direita, o grau máximo é 3 e o mínimo é 0. Em um grafo regular, todos os graus são os mesmos, e assim podemos falar de

o grau do gráfico.

Lema do aperto de mãos

A fórmula da soma dos graus afirma que, dado um grafo ,

A fórmula implica que em qualquer grafo, o número de vértices de grau ímpar é par. Esta afirmação (bem como a fórmula de soma grau) é conhecida como o Lema do aperto de mãos (em inglês, handshaking lemma). O último nome vem de um problema matemático popular, para provar que, em qualquer grupo de pessoas o número de pessoas que apertam as mãos com um número ímpar de outras pessoas do grupo é par.

Seqüência de graus

Dois grafos não isomorfos com a mesma seqüência de graus (3, 2, 2, 2, 2, 1, 1, 1).

A seqüência de grau de um grafo não-direcionado é a seqüência não crescente dos seus graus de vértices; [2] para o gráfico acima, é (3, 3, 3, 2, 2, 1, 0). A seqüência de grau é um grafo invariável logo grafos isomorfos têm a mesma seqüência. No entanto, a seqüência de grau, em geral, não identifica unicamente um grafo; em alguns casos, os grafos não isomorfos têm o mesmo grau de seqüência. O problema da seqüência de graus, é o problema de encontrar alguns ou todos os grafos com a seqüência de grau sendo uma dada seqüência não crescente de números inteiros positivos. Zeros finais podem ser ignorados, uma vez que são trivialmente efetuados pela adição de um número adequado de vértices isolados do grafo.

O problema de encontrar ou estimar o número de grafos com uma seqüência de determinado grau é um problema do campo da enumeração de grafos.

Como conseqüência da fórmula da soma de graus, toda a seqüência com uma soma ímpar, como (3, 3, 1), não pode ser entendida como a seqüência de grau de um grafo. O inverso também é verdadeiro: se uma seqüência tem uma soma par, é a seqüência de grau de um grafo. A construção de um grafo como este é simples: conecte vértices ímpares em pares, e preencha com laços (auto-loops).

(18)

O grau de um grafo 14

Freqüentemente, se deseja procurar por grafos simples, tornando o problema da seqüência de graus mais desafiador. Obviamente, a seqüência (8, 4) não é a seqüência de grau de um grafo simples, pois teríamos a contradição Δ(G) > ((número de vértices;− 1). A seqüência (3, 3, 3, 1) também não é a seqüência de grau de um grafo simples, mas neste caso o motivo é menos óbvio. Encontrar os critérios gerais de seqüências de grau de grafos simples é um problema clássico; soluções têm sido oferecidas por Erdős e Gallai (1960), V. J. Havel (1955) e S. L. Hakimi (1961) e S. A. Choudum.

Por exemplo, o Teorema de Erdös-Gallai afirma que a seqüência (di)i=1,...,n é uma seqüência de grau de um grafo simples sse, a soma da seqüência é par e

Havel e Hakimi provaram que (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 a

realização de um grafo simples, com uma seqüência de determinado grau de realização: Comece com um grafo sem bordas. Mantenha uma lista de vértices cujo grau de exigência não tenha ainda sido atingido em ordem não-crescente de exigência de grau residual. Conecte o primeiro vértice com os próximos d1 vértices na lista, e depois remova-o da lista. Re-ordene a lista e repita até que todas as exigências do grau estejam cumpridas.

Valores especiais

Um grafo não-direcionado com nodos-folha 4, 5, 6, 7, 10, 11, e 12

• Um vértice com grau 0 é chamado de vértice isolado. • Um vértice com grau 1 é chamado de vértice folha e a aresta

conectada a este vértice é chamada de aresta pendente. No grafo à direita, {3,5} é uma aresta pendente. Esta terminologia é comum no estudo de árvores em teoria dos grafos e em especial árvores como estrutura de dados.

Propriedades globais

• Se cada vértice do grafo tem o mesmo grau k o grafo é chamado de um grafo k-regular e o próprio grafo é dito ter grau k.

• Um grafo conexo, não-direcionado, tem um caminho euleriano se e somente se ele tem 0 ou 2 vértices de grau ímpar. Se tem 0 vértices de grau ímpar, o caminho Euleriano é um circuito Euleriano.

• Um grafo direcionado é uma pseudofloresta se e somente se se cada vértice tem um grau de saída no máximo 1. Um grafo funcional é um caso especial de um pseudofloresta em que cada vértice tem exatamente um grau de saída 1.

• Pelo Teorema de Brooks, qualquer grafo que não seja um clique ou um ciclo ímpar tem um número cromático, de no máximo Δ, e pelo Teorema de Vizing, um grafo tem um índice cromático de no máximo Δ + 1.

[1] [1] . [2]

(19)

Grafo bipartido 15

Grafo bipartido

Exemplo de um grafo bipartido No campo da matemática da teoria dos grafos, um grafo bipartido

ou bigrafo é um grafo cujos vértices podem ser divididos em dois conjuntos disjuntos U e V tais que toda aresta conecta um vértice em U a um vértice em V;[1] ou seja, U e V são conjuntos independentes. Equivalentemente, um grafo bipartido é um grafo que não contém qualquer ciclo de comprimento ímpar

Os dois conjuntos U e V podem ser pensados como uma coloração do grafo com duas cores: se nós colorirmos todos os nodos em U de azul, e todos os nodos em V de verde, cada aresta tem terminações de cores diferentes, como é exigido no problema de coloração de grafos. Em contrapartida, tal coloração é impossível no caso de um grafo que não é bipartido, como um triângulo: depois de um nó ser colorido de cor azul e outro de verde, o terceiro vértice do triângulo é ligado a vértices de ambas as cores, impedindo que seja atribuída qualquer cor.

Frequentemente se escreve G = (U, V, E) para denotar um grafo bipartido cuja partição tem as partes U e V. Se |U| =|V|, ou seja, se os dois subconjuntos tem igual cardinalidade, então G é chamado um grafo bipartido balanceado.

Exemplos

•• Qualquer grafo sem ciclos ímpares é bipartido. Como consequência disso: • Toda árvore é bipartida.

• grafos ciclo com um número par de vértices são bipartidos.

• Qualquer grafo planar onde todas as faces em sua representação planar consistem de um número par de arestas é bipartido. Casos especiais destes são grafos grelha e grafos quadrado, em que cada face interna é composta por 4 arestas.

Testando biparticidade

Encontrando uma bipartição usando paridade Se um grafo bipartido é conexo, a sua bipartição pode ser definida pela

paridade das distâncias de qualquer vértice escolhido arbitrariamente v: um subconjunto consiste dos vértices a uma distância par de v e o outro subconjunto consiste dos vértices a uma distância ímpar de v.

Assim, pode-se testar eficientemente se um grafo é bipartido, usando esta técnica de paridade de se atribuir vértices para os dois subconjuntos U e V, separadamente a cada componente conectado do grafo e, em seguida, examinar cada aresta para verificar se ela tem terminações designadas para os diferentes subgrupos.

(20)

Grafo bipartido 16

Aplicações

Grafos bipartidos são úteis para a modelagem de problemas de acoplamento. Um exemplo de grafo bipartido é um problema de correspondência de empregos. Suponha que temos um conjunto P de pessoas e um conjunto J de postos de trabalho, com nem todas as pessoas adequadas para todos os trabalhos. Podemos modelar isto como um grafo bipartido (P, J, E). Se uma pessoa px é adequada para um determinado trabalho jy existe uma aresta entre px e jy no grafo. O teorema do casamento fornece uma caracterização de grafos bipartidos que permitem acoplamentos perfeitos.

Grafos bipartidos são usados extensivamente na moderna teoria dos códigos, especialmente para decodificar palavras de código recebidas do canal. Grafos Fator e grafos Tanner são exemplos disso.

Em ciência da computação, uma rede de Petri é uma ferramenta de modelagem matemática utilizada na análise e simulação de sistemas concorrentes. Um sistema é modelado como um grafo bipartido dirigido com dois conjuntos de nós: Um conjunto de nodos "lugar" que contêm recursos, e um conjunto de nodos "evento" que geram e/ou consomem recursos. Existem restrições adicionais sobre os nós e arestas que condicionam o comportamento do sistema. Redes de Petri utilizam as propriedades de grafos bipartidos dirigidos e outras propriedades para permitir provas matemáticas do comportamento dos sistemas enquanto ao mesmo tempo, permitindo a fácil implementação de simulações do sistema.

Em geometria projetiva, grafos de Levi são uma forma de grafo bipartido usada para modelar as incidências entre os pontos e linhas em uma configuração.

Modelagem de multigrafos e hipergrafos

Grafos bipartidos podem modelar inteiramente o mais geral multigrafo. Dada um multigrafo M, tome U como o conjunto de vértices de M e tome V como o conjunto de arestas de M. Então junte-se um elemento de V para precisamente os dois elementos de U que são as extremidades da aresta em M. Assim, cada multigrafo é descrito completamente por um grafo bipartido, que é unilateral regular de grau 2, e vice-versa.

Da mesma forma, cada hipergrafo direcionado pode ser representado por um grafo bipartido. Tome U como o conjunto de vértices no hipergrafo, e V como conjunto de arestas. para cada e , conecte u a v se a aresta do hipergrafo contém u como entrada, e conecte v a u se v contém u como saída.

Propriedades

• Um grafo é bipartido se e somente se ele não contém um ciclo ímpar. Portanto, um grafo bipartido não pode conter uma clique de tamanho maior ou igual a 3.

• Um grafo é bipartido se e somente se ele é 2-colorível, (i.e. seu número cromático é menor ou igual a 2). • O tamanho da cobertura de vértices mínima é igual ao tamanho do acoplamento máximo (teorema de König). • O tamanho do conjunto independente máximo mais o tamanho do acoplamento máximo é igual ao número 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.

(21)

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 bipartido

completo

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úmero cromático 2 Índice cromático max{m, n} Notação

No campo da matemática da teoria dos grafos, um grafo bipartido completo ou biclique é um tipo especial de grafo bipartido onde cada vértice do primeiro conjunto está associado a cada vértice do segundo conjunto.

Definição

Um grafo bipartido completo, G := (V1 + V2, E), é um grafo bipartido tal que para quaisquer dois vértices, v1 ∈ V1 e

v2 ∈ V2, v1v2 é uma aresta em G. O grafo bipartido completo com partições de tamanho |V1|=m e |V2|=n, é denotado Km,n.

(22)

Grafo bipartido completo 18

Os grafos estrela S3, S4, S5 e S6.

O grafo de utilidade K3,3

• Para qualquer k, K1,k é chamado uma estrela. Todos os grafos bipartidos completos que são árvores são estrelas.

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

• O grafo K3,3 é chamado de grafo de utilidade. Esta prática vem de um quebra-cabeça matemático tradicional, no qual três utilidades devem ser ligadas a cada três edifícios; é impossível de resolver sem cruzamentos, devido à não-planaridade de K3,3.

Propriedades

• Dado um grafo bipartido completo, ele possui dois autovalores simétricos (o índice e o seu simétrico) e os demais nulos.[1]

• Dado um grafo bipartido, encontrar o seu subgrafo bipartido completo Km,n com o número máximo de arestas mn é um problema NP-completo.

• Um grafo planar não pode conter K3,3 como um menor; um grafo periplanar não pode conter K3,2 como um menor (Estas não são condições suficientes de planaridade e planaridade exterior, mas necessárias). • Um grafo bipartido completo Kn,n é um grafo de Moore e uma (n,4)-gaiola.

• Um grafo bipartido completo Kn,n ou Kn,n+1 é um grafo de Turán.

• Um grafo bipartido completo 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.

(23)

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úmero cromático 2 Índice cromático 2 Propriedades Distância-unidade Grafo bipartido Árvore Notação

No campo da matemática da teoria dos grafos, um grafo caminho ou grafo linear é um exemplo particularmente simples de uma árvore, ou seja, uma árvore com dois ou mais vértices que não tem ramificações, ou seja, contém somente vértices de grau 2 e 1.[1] Em particular, ela tem dois vértices terminais (vértices que têm grau 1), enquanto todos os outros (se houver) têm grau 2.

Ligações externas

• Eric W. Weisstein, Path Graph [2] em MathWorld.

Referências

(24)

Grafo completo 20

Grafo completo

Um grafo completo é um grafo simples em que todo vértice é adjacente a todos os outros vértices. O grafo completo de n vértices é frequentemente denotado por .

Número de arestas

O grafo tem arestas (correspondendo a todas as possíveis escolhas de pares de vértices).

Planaridade

O teorema de Kuratowski tem como consequência que um grafo é grafo planar se e somente se .

Grafo cúbico

O grafo de Petersen é um grafo cúbico.

O grafo bipartido completo é um exemplo de grafo bicúbico

No campo da matemática da teoria dos grafos, um grafo cúbico é um grafo regular no qual todos os vértices tem grau três[1]. Em outras palavras um grafo cúbico é um grafo 3-regular. Grafos cúbicos são também chamados grafos trivalentes.

Um grafo bicúbico é um grafo bipartido cúbico.

Simetria

Em 1932, Ronald M. Foster começou a recolher exemplos de grafos simétricos cúbicos, formando o início do censo de Foster[2]. Muitos grafos individuais conhecidos são cúbicos e simétricos, incluindo o grafo de Petersen, o grafo de Nauru, o grafo de Coxeter, o grafo de Tutte–Coxeter, o grafo de Dyck, o grafo de Foster e o grafo de Biggs-Smith.

W. T. Tutte classificou os grafos simétricos cúbicos pelo menor número inteiro s tal que cada dois caminhos orientados de comprimento s podem ser mapeados entre si por exatamente uma simetria do grafo. Ele mostrou que s é no máximo 5, e deu exemplos de grafos com cada valor possível de s de 1 a 5[3].

Grafoos cúbicos semi-simétrico incluem o grafo de Gray ( o menor grafo cúbico semi-simétrico), o grafo de Ljubljana, e o gaiola-12 de Tutte.

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

(25)

Grafo cúbico 21

O grafo Frucht, o menor grafo cúbico assimétrico.

Coloração e conjuntos independentes

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

De acordo com o teorema de Vizing todo grafo cúbico necessita três ou quatro cores para uma coloração de arestas. Uma 3-aresta-coloração é conhecida como uma coloração Tait, e fgorma uma partição das arestas do grafo em três acoplamentos perfeitos. Pelo teorema de coloração de linhas de König todo grafo bicúbico tem uma coloração de Tait.

Os grafos cúbicos sem ponte que não tem uma coloração de Tait são conhecidos como snarks. Eles incluem o grafo de Petersen, grafo de Tietze, os snarks Blanuša, o snark flor, o snark dupla-estrela, o snark Szekeres e o snark Watkins.

Existe um número infinito de snarks distintos. [4]

Hamiltonicidade

Houve muita pesquisa sobre Hamiltonicidade de grafos cúbicos. Em 1880, P.G. Tait conjecturou que todo grafos poliédricos cúbicos tem um circuito Hamiltoniano. William Thomas Tutte forneceu um contra-exemplo para a conjectura de Tait, o grafo de Tutte de 46 vértices, em 1946. Em 1971, Tutte conjecturou que todos os grafos bicúbicos são hamiltonianos. No entanto, José Horton proporcionou um contra-exemplo com 96 vértices, o grafo de Horton[5]. Mais tarde Mark Ellingham, construíu mais dois contra-exemplos: os grafos de Ellingham-Horton[6][7]. A conjectura de Barnette, uma combinação de conjecturas de Tait e Tutte ainda aberta, afirma que todo grafo bicúbico poliédrico é hamiltoniano. Quando um grafo cúbico é hamiltoniano, a notação LCF permite que ele seja representada de forma concisa.

Se um grafo cúbico é escolhido aleatoriamente entre todos os grafos cúbicos de n-vértices, então é bem provável que seja Hamiltoniano. a proporção de grafos cúbicos de n-vértices que são Hamiltonianos tende a um no limite a medida que n vai para o infinito[8].

David Eppstein conjecturou que todo grafo cúbico de n-vértices tem no máximo 2n/3 (aproximadamente 1260n) ciclos hamiltonianos distintos, e exemplificou com grafos cúbicos com esta quantidade de ciclos[9]. O melhor limite superior que foi até agora comprovado no número de ciclos hamiltonianos distintos é 1,276n.[10]

(26)

Grafo cúbico 22

Outras propriedades

O comprimento do caminho de quaisquer grafo cúbico de n-vértices é no máximo n/6. No entanto, o limite inferior melhor conhecido no comprimento do caminho de grafos cúbicos é menor, 0.082n.[11]

Se segue do lema do aperto de mãos, provado por Leonhard Euler em 1736 como parte do primeiro trabalho sobre teoria dos grafos, que todo grafo cúbico tem um número par de vértices.

Algoritmos e complexidade

Vários pesquisadores têm estudado a complexidade de tempo exponencial de algoritmos restritos a grafos cúbicos. Por exemplo, através da aplicação de programação dinâmica para a decomposição do caminho do grafo, Fomin e Høie mostraram como encontrar os seus conjuntos independentes máximos em tempo O(nn/6 + o(n)).[11]

História

• 1880: Peter Guthrie Tait conjeturou que cada grafo sem pontes cúbico planar tem um circuito hamiltoniano. William Thomas Tutte encontrou um contra-exemplo: un grafo de 46 vértices (agora com o seu nome) em 1946. • 1934: Ronald M. Foster começou a colecionar exemplos de grafos simétricos cúbicos, com o que iria iniciar o

Censo de Foster.[12]

• 1971: William Tutte conjetura que todos os grafos bicúbicos são ciclos hamiltonianos. Entretanto, Horton proporciona un grafo de contra-exemplo, com 96-vértices.

• 2003: Petr Hliněný mostra que o problema de encontrar o número de cruzamento (o número mínimo de arestas que cruzam um dado grafo) de um grafo cúbico é NP-hard, apesar de terem um grau pequeno. Existem, não obstante, algoritmos de aproximacão práticos para encontrar o número de cruzamento de grafos cúbicos[13]. [2] Foster, R. M. "Geometrical Circuits of Electrical Networks." Transactions of the American Institute of Electrical Engineers 51, 309-317,

1932 [3] [3] . [4] [4] . [5]

[5] Bondy, J. A. and Murty, U. S. R. Graph Theory with Applications. New York: North Holland, p. 240, 1976. [6]

[6] Ellingham, M. N. "Non-Hamiltonian 3-Connected Cubic Partite Graphs."Research Report No. 28, Dept. of Math., Univ. Melbourne, Melbourne, 1981.

[7]

[7] Ellingham, M. N. and Horton, J. D. "Non-Hamiltonian 3-Connected Cubic Bipartite Graphs." J. Combin. Th. Ser. B 34, 350-353, 1983. [8] [8] . [10] [10] . [11] [11] .

(27)

Grafo Estrela 23

Grafo Estrela

Estrela

A estrela S7. vértices k+1 arestas k Diâmetro 2 Cintura ∞ Número cromático 2 Índice cromático k Propriedades aresta-transitivo Árvore Distância-unidade Bipartido 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êm diâmtero 2, cintura ∞, índice cromático k e número cromático 2.

Estrelas também podem ser descritas como os únicos grafos conectados em que no máximo um vértice tem grau maior que um.

Relação com outras famílias de grafos

Garras são notáveis na definição de grafos sem garra, os grafos que não tem qualquer garra como subgrafo induzido[2][3].

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

(28)

Grafo Estrela 24

Os grafos estrela S3, S4, S5 e S6.

Outras aplicações

O conjunto de distâncias entre os vértices de uma garra fornece um exemplo de um espaço métrico finito, que não pode ser incorporado isometricamente em um espaço euclideano de qualquer dimensão[9].

A rede em estrela, uma rede de computadores modelado em um grafo de estrela, é importante em computação distribuída. [2] [2] . [3] [3] .

Grafo nulo

Grafo

nulo

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 de categoria de grafos. Não tendo nenhum vértice, o grafo nulo, portanto, também não tem componentes ligados. Assim, embora o grafo nulo seja uma floresta (um grafo sem ciclos), não é uma árvore, uma vez que as árvores têm componente ligados.

(29)

Grafo nulo 25

Grafo sem

arestas

vértices n arestas 0 Automorfismos n! Número cromático 1 Propriedades Integral Simétrico Notação

Alguns autores entendem que um termo melhor para o último sentido (V, { }) para qualquer conjunto V é o mais explícito grafo sem arestas. Assim se reserva o termo grafo nulo para o primeiro sentido: um grafo sem quaisquer vértices. Outros, ainda, fazem essa distinção, aplicando o rótulo vazio para esses grafos sem arestas.

O grafo sem arestas de n-vértices é o grafo complementar para o grafo completo , e por isso é comumente denotado como .

Mesmo que esta definição forneca uma base sólida para a definição de certas operações sobre grafos (por exemplo: decomposição) considerando-se grafos como conjuntos de vértices e arestas (V,E), esta definição levanta um problema na singularidade do elemento nulo dos grafos.

Grafo orientado

Um grafo orientado (direcionado). Um grafo orientado,[1] grafo dirigido,[2] grafo direcionado[3] ou digrafo é um

par (algumas vezes )(edge) de:[][][4]

• Um conjunto V, cujos elementos são chamados vértices ou nodos, • um conjunto A de pares ordenados de vértices, chamados arcos, arestas

direcionadas, ou setas (e às vezes simplesmente arestas com o conjunto correspondente chamado E ao invés de A).

Ele difere de um grafo não-direcionado comum, em que o último é definido em termos de pares não ordenados de vértices, que são normalmente chamados arestas.

Por exemplo, ser possível ir de um nó A para um nó B, mas não o contrário através desse arco.

Às vezes, um digrafo é chamado de um digrafo simples para distinguí-lo de um multigrafo direcionado (ou multidigrafo ou ainda quiver), em que os arcos constituem um multiconjunto, ao invés de um conjunto, de pares ordenados de vértices. Além disso, em um digrafo simples laços não são permitidos. Por outro lado, alguns textos permitem laços, arcos múltiplos, ou ambos em um digrafo.

(30)

Grafo orientado 26

Terminologia básica

Um arco é considerado ser direcionado de para ; é chamado de cabeça e é chamado de cauda do arco; é dito ser um sucessor direto de , e é dito ser um predecessor direto de . Se um caminho composto por um ou mais arcos sucessivos leva de para , então é dito ser um successor de , e

é dito ser um predecessor de . O arco é chamado de arco invertido.

Um grafo direcionado G é chamado de simétrico se, para cada arco, que pertence à G, o arco invertido correspondente também pertence à G. Um grafo dirigido simétrico sem laços é equivalente a um grafo não orientado com os pares de arcos invertidos substituído por arestas, assim o número de arestas é igual ao número de arcos pela metade.

A orientação de um grafo grafo não-direcionado simples é obtida através da atribuição de um sentido para cada lado. Qualquer grafo direcionado construído desta forma é chamado de um grafo orientado. A distinção entre um grafo direcionado simples e um grafo orientado é que se e são vértices, um grafo direcionado simples permite tanto quanto como arestas, enquanto apenas uma é permitida em um grafo orientado.[]

Um digrafo ponderado é um digrafo com pesos atribuídos a seus arcos, à semelhança de um grafo ponderado. A matriz de adjacência de um digrafo (com laços e arcos múltiplos) é uma matriz inteira com linhas e colunas correspondendo aos nodos do digrafo, onde uma entrada não-diagonal é o número de arcos do nó i para o nó j, e a entrada diagonal é o número de laços no nó i. A matriz de adjacência de um digrafo é única até as permutações de linhas e colunas.

Outra representação de matriz para um dígrafo é sua matriz de incidência. Veja glossário para mais definições.

Graus de saída e graus de entrada

Um digrafo com vértices rotulados (saída ou entrada)

Para um nodo, o número de pontos de extremidade adjacente à cabeça de um nó é chamado de grau de entrada do nodo e o número de pontos de extremidade da cauda é o seu grau de saída.

O grau de entrada é denotado e o grau de saída como . Um vértice com é chamado de fonte, uma vez que é a origem de cada uma das suas arestas incidentes. Da

mesma forma, um vértice com é chamado de

sumidouro (ou poço).

A fórmula da soma dos graus afirma que, para um grafo direcionado

(31)

Grafo orientado 27

Conectividade de digrafos

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

Classes de digrafos

Um grafo direcionado acíclico simples Um digrafo acíclico é um grafo direcionado sem ciclos direcionados.

Uma árvore enraizada naturalmente se define como um digrafo acíclico, se todas as arestas da árvore subjacentes são dirigidas para longe da raiz.

um torneio com 4 vertices Um torneio é um grafo orientado obtido ao se escolher uma direção para cada

aresta em um grafo completo não-direcionado.

Na teoria dos grupos de Lie, um quiver Q é um grafo direcionado servindo como o domínio do e, portanto, caracterizando a forma de, uma representação V definida como um functor, mais especificamente um objeto da categoria functor FinVctKF(Q) onde F(Q) é a categoria livre em Q

constituída por caminhos em Q e FinVctK é a categoria de espaços vetoriais de dimensão finita sobre um campo K. Representações de um quiver rótulam seus vértices com espaços vetoriais e suas arestas (e, portanto, caminhos) de modo compatível com transformações lineares entre eles, e transformam através das transformações naturais.

Referências

[1] [1] . [2] [2] . [4] [4] .

(32)

Grafo simples 28

Grafo simples

Em teoria dos grafos, um grafo diz-se simples se entre cada par de vértices distintos existir no máximo uma aresta e se, além disso, não contiver lacetes nem arestas paralelas, ou seja existir uma aresta que conecta um vertice a ele mesmo.

Em grande parte dos textos o adjectivo simples (ou regular) é omitido estando, no entanto, subentendido. Um grafo que não é simples, diz-se um multigrafo.

Grafo valorado

Um grafo valorado ou grafo ponderado[1] é um grafo que possui funções relacionando o conjunto de vértices ou o conjunto de arestas a conjunto de números.[2][]

O significado das funções depende do problema. Na maioria das aplicações de grafos existem dados quantitativos associados a pontos(vértices) ou ligações(arestas) relacionados ao problema[] . Na maioria das aplicações de grafos a problemas de engenharia, é necessário considerar-se grandezas tais como distâncias, altitudes, capacidades, fluxos, etc., associadas a localidades, estradas, etc. que definem os vértices e os arcos (ou arestas) do grafo.

Em muitos problemas, no entanto, interessa apenas o inter-relacionamento dos vértices - e não se definem funções, ou se pode considerar que elas são constantes. Diz-se então que o grafo é um grafo não-valorado.

Representação

Em um grafo valorado se pode usar as representações usuais para grafos. A matriz de adjacência é comumente conhecida como matriz de valores das ligações ou simplesmente matriz de valores.[] Na lista de adjacência cada linha vem acompanhada de seus valores respectivos[] . A figura a seguir ilustra um exemplo:

(33)

Homomorfismo de grafos 29

Homomorfismo de grafos

No campo da matemática da teoria dos grafos um homomorfismo de grafos é um mapeamento entre dois grafos que respeita suas estruturas. De forma mais concreta ele mapeia vértices adjacentes a vértices adjacentes.

Definição

Um homomorfismo de grafos de um grafo para um grafo , denotado por

, é um mapeamento do conjunto de vértices de para o conjunto de vértices de

tal que sempre que .

A definição acima é estendida para dígrafos (grafos com arestas dirigidas). Então, para um homomorfismo , é um arco (aresta dirigida) de se é um arco de .

Se há um homomorfismo nós escreveremos , e caso contrário. Se

, é dito ser homomórfico a ou -colorável.

A composição de homomorfismos é também um homomorfismo. Se o homomorfismo é uma bijeção cuja função inversa é também um homomorfismo de grafos, então é um isomorfismo de grafo. Determinar se há ou não um isomorfismo entre dois grafos é um importante problema em complexidade computacional; veja o problema do isomorfismo de subgrafos.

Dois grafos e são homomorficamente equivalentes se e .

O resultado da retração de um grafo é um subgrafo de tal que existe um homomorfismo

, chamado retração com para todo vértice de . Um núcleo é um grafo que não se retrai a um subgrafo próprio. Qualquer grafo é homomorficamente equivalente a um único núcleo.

Generalização

Tome a seguinte definição de grafo: Um grafo é uma estrutura

em que é o conjunto de nós do grafo, , (uma função parcial) e tais

que:

se ; ou , caso contrário.

O conceito de homomorfismo de grafos pode ser generalizado (usando essa estrutura para grafos) de funções (entre nós dos grafos) para relações:

Sejam grafos. Uma bissimulação entre e é uma relação tal que: •

• •

Se há tal relação, então e são chamados bissimilares (notação ). Se é de fato uma função (caso em que chamaremos uma bissimulação funcional) temos um homomorfismo de grafo, tal que inclui

, sendo uma ordenação de homomorfismos definida como:

se , para algum homomorfismo

Os conceitos de bissimulação e ordenação de homomorfismos são bastante importantes na demonstração de resultados sobre a confluência de sistemas de reescrita de grafos.

Referências

Documentos relacionados

suportado na simplicidade, na comodidade and value-for-money Empresa Alargar a penetração dos serviços TI/SI (Cloud, Outsourcing e BPO) para aumentar o share of wallet do

O tratamento de cães não é recomendado pelo Ministério da Saúde, pois o cão é reservatório do parasito; os medicamentos utilizados induzem à remissão

QUESTIONAMENTO 146: No anexo 4 tem a opção da empresa escolher em qual lote deseja atuar e estabelecer a ordem de preferência de sua atuação, se a mesma enviar dois atestados

auditivos têm mencionado a ocorrência de zumbido nos aparelhos auditivos quando usam telefones celulares, indicando que o telefone celular e o aparelho auditivo podem não

A distinção entre atribuições e competências tem importância, não só para se compreender a diferença entre os fins que se prosseguem e os meios juridicos que se usam

[r]

As alterações radiológicas mais precoces nas mãos afectadas por Artrite Reumatóide são a tu- mefacção simétrica dos tecidos moles à volta das articulações, a perda de

faz necessário alocar recursos disponíveis para faz necessário alocar recursos disponíveis para atividades de interesse, de modo que alguma medida de desempenho (em geral o custo