DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação...

139
DCC/UFBA – MAT156 Adolfo Almeida Duran 2005

Transcript of DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação...

Page 1: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

DCC/UFBA – MAT156

Adolfo Almeida Duran

2005

Page 2: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 2

Apresentação

• O curso / motivação

• Horário /sala

• Programa do curso

• Referências

• Avaliação

• E-mail : [email protected]

Page 3: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 3

• Porque estudar Grafos

– Importante ferramenta matemática com aplicação em diversas áreas do conhecimento • Genética, química, pesquisa operacional,

telecomunicações, engenharia elétrica, redes de computadores, conexão de vôos aéreos, restrições de precedência, fluxo de programas, dentre outros

– Utilizados na definição e/ou resolução de problemas

Introdução

Page 4: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 4

• Porque estudar Grafos

– Em computação: estudar grafos é mais uma forma de solucionar problemas computáveis

– Os estudos teóricos em grafos, buscam o desenvolvimento de algoritmos mais eficientes.

Page 5: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 5

• O que são Grafos

• Diagrama - Corresponde a soma de pontos e linhas, onde os pontos apresentam alguma informação e as linhas indicam o relacionamento entre dois pontos quaisquer

• Ferramenta de modelagem• Abstração matemática que representa situações reais

através de um diagrama.

Page 6: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 6

• As pontes de Königsberg

Um pouco de história

É possível sair de uma das ilhas, passar uma única vez por cada uma das pontes e retornar ao ponto de origem ?

Page 7: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 7

• As pontes de Königsberg– Resolvido em 1736 por Leonhard Euler

– Necessário um modelo para representar o problema

– Abstração de detalhes irrelevantes:• Área de cada ilha• Formato de cada ilha• Tipo da ponte, etc.

Page 8: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 8

• As pontes de Königsberg– Euler generalizou o problema através de um

modelo de grafos

Page 9: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 9

• As pontes de Königsberg– Euler mostrou que não existe o trajeto proposto

utilizando o modelo em grafos • Verifique nos grafos abaixo se o trajeto proposto é possível

Page 10: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 10

• O problema das 3 casas– É possível conectar os 3 serviços às 3 casas sem

haver cruzamento de tubulação?

água luz telefone

A teoria dos grafos mostra que não é possível

Page 11: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 11

Quantas cores são necessárias para colorir o mapa do Brasil, sendo que estados adjacentes não podem ter a mesma cor?

Page 12: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 12

Questões sobre o caminho mínimoDe forma a reduzir seus custos operacionais, uma empresa de transporte de cargas deseja oferecer aos motoristas de sua frota um mecanismo que os auxilie a selecionar o melhor caminho (o de menor distância) entre quaisquer duas cidades por ela servidas, de forma a que sejam minimizados os custos de transporte.

Page 13: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 13

Page 14: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 14

• Modelagem com grafos

–Estamos interessados em objetos e nas relações entre eles

–Quem são eles nos problemas apresentados?

–Como representar graficamente?

Page 15: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 15

• Modelagem com grafos–No problema das casas

• Vértices são casas e serviços• Arestas são as tubulações entre casas e serviços

–No problema da coloração de mapas• Vértices são estados• Arestas relacionam estados vizinhos

–No problema do caminho mais curto• Vértices são as cidades• Arestas são as ligações entre as cidades

Page 16: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 16

•Três desenvolvimentos isolados despertaram o interesse pela área

–Formulação do problema das 4 cores (De Morgan 1852).

Qual a quantidade mínima de cores para colorir um mapa de tal forma que países fronteiriços possuam cores diferentes? Apresenta-se um exemplo em que 3 cores não são suficientes. Uma prova de que 5 cores é suficiente foi formulada. Conjecturou-se então que 4 cores seriam suficientes. Esta questão ficou em aberto até 1976 quando Appel e Haken provaram para 4 cores

Page 17: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 17

• Três desenvolvimentos isolados despertaram o interesse pela área

– Problema do ciclo Hamiltoniano (Hamilton 1859)

Existem n cidades. Cada par de cidades pode ser adjacente ou não arbitrariamente. Partindo de uma cidade qualquer, o problema consiste em determinar um trajeto que passe exatamente uma vez em cada cidade e retorne ao ponto de partida.

Page 18: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 18

• Três desenvolvimentos isolados despertaram o interesse pela área

– Teoria das árvores     - Kirchoff (1847) - problemas de circuitos elétricos     - Cayley (1857) - Química Orgânica

Page 19: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 19

• Dois tipos de elementos

– Vértices ou nós

– Arestas

Definições

v1

v2v3 v4

v5 v6

Page 20: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 20

• G = (V,E)

– V é um conjunto finito não-vazio de vértices

– E é um conjunto finito de arestas

– |V| é o número de vértices representado por n, se n=|V|

– |E| é o número de arestas representado por m, isto é m=|E|

– Cada aresta e pertencente ao conjunto E será denotada pelo

par de vértices (x,y) que a forma

– Dizemos que os vértices x e y são extremos (ou

extremidades) da aresta e.

Grafo Simples

Page 21: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 21

G = (V,E)

Page 22: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 22

Dois vértices x e y são ditos adjacentes ou vizinhos se existe uma aresta e unindo-os.

Os vértices u e v são ditos incidentes na aresta e, se eles são extremos de e.

Duas arestas são adjacentes se elas têm ao menos um vértice em comum.

A aresta e=(x,y) é incidente a ambos os vértices x e y.

Page 23: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 23

v1

v2v3 v4

v5 v6

e1V = {v1, v2, v3, v4, v5, v6}

E = {(v1,v2),(v1,v3),(v1,v4),(v2,v4),(v3,v4),(v4,v5)}

Grafo simples

e1 é incidente a v4 e v5

Page 24: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 24

Exemplo

Exercício

Desenhe a representação geométrica do seguinte grafo:

V = {1,2,3,4,5,6}; E ={(1,2),(1,3),(3,2),(3,6),(5,3),(5,1),(5,6),(4,6), (4,5),(6,1),(6,2),(3,4)}

Page 25: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 25

• Laço– É uma aresta formada por um par de vértices idênticos

• Arestas múltiplas ou paralelas– Quando existe mais de uma aresta entre o mesmo par

de vértices.

• Multigrafo– Um grafo que permite a existência de arestas múltiplas

Mais definições

Page 26: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 26

Exercício

Defina formalmente o grafo abaixo e identifique os conceitos de laço, aresta múltipla e multigrafo no mesmo:

Page 27: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 27

Grau de um vértice

Grau de um vértice v (grau(v))é o número de arestas que incidem em v.

O grau de um vértice v também pode ser definido como o número de arestas adjacentes a v.

Obs.: Um laço conta duas vezes para o grau de um vértice

Grau(b) = 3Grau(d) = 2Grau(a) = 2

Page 28: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 28

– Qualquer vértice de grau zero é um vértice isolado

– Qualquer vértice de grau 1 é um vértice terminal

– Um vértice ímpar tem um número ímpar de arestas

– Um vértice par, tem um número par de arestas

Page 29: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 29

Grafo Regular (k-regular)– todos os vértices têm o mesmo grau (k)

v1

v2v4

v3

Seqüência de graus de um grafo consiste em escrever em ordem crescente o grau de todos os seus vértices

Page 30: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 30

v1

v2v3 v4

v5 v6

e1

V6 é um vértice isolado, grau(v6)=0

V5 é um vértice terminal, grau(v5)=1

V2 é um vértice par, grau(v2)=2

V1 é um vértice ímpar, grau(v1)=3

Seqüência de graus = 0,1,2,2,3,4

Page 31: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 31

Exercício

Identificar no grafo abaixo os vértices isolados, terminais, impares, pares e a seqüência de graus do grafo :

Reflexão

O que podemos concluir sobre a soma dos graus de um grafo?

Page 32: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 32

Soma dos graus de um grafo:

O resultado é sempre par, e corresponde à formula abaixo:

A prova é inspirada no Lema do Aperto de Mãos que diz:

Se várias pessoas se apertam a mão o número total de mãos apertadas tem que ser par. Precisamente porque duas mãos estão envolvidas em cada aperto.

Page 33: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 33

Soma dos graus de um grafo:

Em grafos, cada aresta contribui duas unidades para o cômputo geral do grau dos vértices, pois cada aresta possui dois extremos. Portanto, a soma total é par e duas vezes o número de arestas do grafo.

Se o grafo for regular de grau r, a soma dos graus dos vértices também é igual a r vezes o número de vértices.

Page 34: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 34

A soma dos graus de um grafo é sempre par:

Quando o grafo é regular de grau r, temos:

Page 35: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 35

Corolário

Em qualquer grafo, o no de vértices com grau ímpar deve ser PAR

Prova

Para a soma ser par, o primeiro somatório tem que gerar um resultado par, portanto |Vímpar| é par.

Page 36: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 36

Teorema da Amizade I

Em toda cidade, com pelo menos dois habitantes, residem duas pessoas com o mesmo número de amigos na cidade.

Exercício

Modele o teorema acima usando grafos e prove-o .

Page 37: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 37

Modelando o problema

V = pessoas.E = relação de amizade.Não existe a necessidade de laços nem de arestas multiplas, então o grafo é simples.

O enunciado do teorema pode ser representado pela seguinte afirmação:Se G(V,E) simples, com |V| 2, implica que existem x e y distintos pertencentes a V, tal que grau(x) = grau(y).

Page 38: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 38

Demonstração

Se G é simples, então, 0 grau(v) n - 1, onde n=|V|.

Além disso, se existe v, tal que grau(v)= 0, então não existe v, tal que grau(v) = n-1.

Por outro lado, se existe v, tal que grau(v)= n - 1, então não existe v, tal que grau(v) = 0.

Suponha que não existe vértice v onde grau(v)= 0.

Então o grau de qualquer vértice do grafo terá um dos valores do conjunto {1, ... , n-1}.

Page 39: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 39

Demonstração (cont.)

Ou seja, existem n-1 valores para o grau de n vértices, logo existem vértices v e w distintos onde grau(v) = grau(w).

Analogamente, suponha que não existe vértice v onde grau(v)= n-1. Então o grau de qualquer vértice do grafo terá um dos valores do conjunto {0, ... , n-2}.

Ou seja, existem n-1 valores para o grau de n vértices, logo existem vértices v e w distintos onde grau(v) = grau(w).

Page 40: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 40

Demonstração por contradição

Suponha que não existam vértices x e y, tais que grau(x) = grau(y), ou seja, para todo x e y pertencentes a V, grau(x) é diferente de grau(y).

Então, para vértices distintos temos: grau(v1) = 0, grau(v2) = 1, grau(v3) = 2, ...., grau(vn) = n -

1

O que representa uma contradição.

Page 41: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 41

Grafo Nulo (vazio)

Grafo cujo número de arestas é zero. Ou, grafo regular de grau zero.

Outros tipos de grafos

1

4

3

2

Nn é um grafo nulo com n vértices

Exemplo: N4

V={1,2,3,4}; E={ }.

Page 42: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 42

Grafo Completo

Grafo simples em que quaisquer vértices distintos dois a dois são adjacentes. Ou, grafo regular de grau n-1, onde n=|V|.

Kn é um grafo completo com n vértices.

Exemplo: K4

Page 43: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 43

Quantas arestas tem o Kn?

Veja que |E| = ( r * |v| ) / 2, onde r é o grau e v o número de vértices.

Logo |E| = (( n - 1 ) n ) / 2

Podemos provar também com análise combinatória. O número de arestas é igual ao número de combinações de n vértices dois a dois.

Cn,m = n! / ( m! (n – m)! )

Page 44: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 44

Complemento de um grafo

Seja G um grafo simples com um conjunto de vértices V. G é complemento de G se

V = V e

dois vértices são adjacentes em G, se e somente se, não o são em G

Page 45: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 45

Complemento de um grafo

Page 46: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 46

Complemento de um grafo

Exercício:

Dê exemplos que confirmem as propriedades acima

Propriedade 1Um grafo regular tem complemento regular

Propriedade 2 O complemento de Kn é Nn

Page 47: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 47

Grafo Bipartido

Um grafo é dito ser bipartido quando seu conjunto de vértices V puder ser particionado em dois subconjuntos V1 e V2, tais que toda aresta de G une

um vértice de V1 a outro de V2.

1

4

3

2

5

6

V1

V2

Page 48: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 48

Grafo BipartidoSejam os conjuntos H={h | h é um homem} e M={m | m é um mulher} e o grafo G(V,A) onde:

V = H U M A = {(v,w) | (v H e w M) ou (v M e w H) e <v foi namorado de w>}

Page 49: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 49

Grafo Bipartido Completo

É um grafo bipartido em V1 e V2, sendo que cada elemento de V1 é adjacente a cada elemento de V2.

K3,3

V1

V2

Page 50: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 50

Subgrafo

Um grafo Gs(Vs, As) é dito ser subgrafo de um grafo

G(V,A) quando Vs V e As A. O grafo G2, por

exemplo, é subgrafo de G1

G1 G2

Page 51: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 51

Subgrafo Próprio

Um subgrafo G2 é dito próprio, quando G2 é

subgrafo distinto de G1

Subgrafos podem ser obtidos através da remoção de arestas e vértices.

Page 52: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 52

Subgrafo Induzido

Se G2 é um subgrafo de G1 e possui toda a aresta (v, w)

de G1 tal que ambos, v e w, estejam em V2, então G2 é o

subgrafo induzido pelo subconjunto de vértices V2.

3 2

1

4 5

V1= {1,2,3,4,5}

G1

3 2

1

4

V2= {1,2,3,4}

G2

V2 induz G2

Page 53: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 53

Clique

Denomina-se clique de um grafo G a um subgrafo (induzido) de G que seja completo

Page 54: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 54

Conjunto Independente de Vértices (C. I. V.)

Chama-se C.I.V. a um conjunto induzido de G que seja um grafo nulo

O tamanho de um clique ou de um C.I.V. é igual à cardinalidade de seu conjunto de vértices.

Page 55: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 55

Grafo Rotulado

Um grafo G(V,A) é dito ser rotulado em vértices (ou arestas) quando a cada vértice (ou aresta) estiver associado um rótulo

Page 56: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 56

Grafo Valorado

Um grafo  G(V,A) é dito ser valorado quando existe uma ou mais funções relacionando V e/ou A com um conjunto de números.

V = {v | v é uma cidade com aeroporto} A = {(v,w,t) | <há linha aérea ligando v a w, sendo t o tempo esperado de vôo>}

Page 57: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 57

Isomorfismo de Grafos

Dois grafos G1 e G2 são isomorfos se existe uma

correspondência um a um entre os vértices de G1 e

G2, com a propriedade de que o número de arestas

unindo os vértices em G1 é igual ao número de

arestas unindo os vértices correspondentes em G2.

Page 58: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 58

Isomorfismo de Grafos (em outras palavras)

Sejam dois grafos G1(V1,A1) e G2(V2,A2). Um

isomorfismo de G1 sobre G2 é um mapeamento

bijetivo f: V1 V2 tal que {x,y} A1 se e somente se

{f(x),f(y)} A2, para todo x,y V1.

Função: { (a2), (b 1), (c 3), (d 4), (e 6), (f 5) }

Page 59: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 59

Isomorfismo de Grafos (exemplo)

f(u) = azul, f(v) = lilás, f(w) = vermelho,f(x) = verde, f(y) = amarelo, f(z) = rosa

u v w

x y z

Page 60: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 60

Isomorfismo de Grafos

Preserva:

•Simetria: G1 G2 G2 G1•Reflexividade: G1 G1•Transitividade: G1 G2 e G2 G3 G1 G3

Proposições válidas se G1 G2

•G1 e G2 têm o mesmo número de vértices•G1 e G2 têm o mesmo número de arestas•G1 e G2 têm a mesma sequência de graus

Page 61: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 61

Grafos Orientados ou Dígrafos

Um dígrafo D(V,A) é um conjunto finito não vazio V de vértices, e um conjunto A de pares ordenados de elementos de V. Chamamos o conjunto A de arcos

Digrafo Simples

É um digrafo que não possui laços e os arcos são todos distintos

Page 62: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 62

Mais sobre dígrafos

• Conjunto finito não vazio de vértices

• Conjunto finito não vazio de arestas– Arestas são chamadas de arcos– Um arco (v,w) passa a ser vw

D = (V,A)

V = {a,b,c,d)A = {ac,ba,bc,cb,cd,cd)

a d

b c

Page 63: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 63

• Dígrafos Simples

– Todos os arcos são distintos

– Não existem auto-laços

• Para obter o grafo correspondente a um dígrafo

– Eliminar as direções dos arcos

– Não necessariamente um grafo correspondente a um dígrafo simples é um grafo simples

Apresente um exemplo de um dígrafo simples que quando transformado em grafo, não é simples

Page 64: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 64

• Os vértices de um dígrafo possuem:– Grau de entrada: número de arcos que chegam no vértice

(grauent(v))– Grau de saída: número de arcos que partem do vértice

(grausai(v))• Da mesma forma:

– Sequência de graus de entrada– Sequência de graus de saída

Proposição

grauent(vi) = grausai(vi) = | A |

Page 65: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 65

• Os dígrafos são isomórficos se:– Existe um isomorfismo entre os respectivos grafos

correspondentes– Preserva a ordem dos vértices em cada arco

a d

b c

a d

b c

Os grafos abaixo não são isomorfos

Page 66: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 66

União

– Considere 2 grafos G1(V1,E1) e G2(V2,E2) onde V1 e V2 são conjuntos distintos

– A união G1 G2 é formada pelo grafo com conjunto de vértices V1 V2 e conjunto de arestas E1 E2

Operações com grafos

Exemplo

G: V1={1,2} e E1={(1,2)}H: V2={3,4} e E2={ }

G H: V={1,2,3,4} e E={(1,2)}

Page 67: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 67

Soma

– Considere 2 grafos G1(V1,E1) e G2(V2,E2) onde V1 e V2 são conjuntos distintos

– A soma G1 + G2 é formada por G1 G2 e de arestas ligando cada vértice de G1 a cada vértice de G2.

Exemplo

G: V1 = {1,2} e E1 = {(1,2)}H: V2 = {3,4} e E2 = { }G + H: V={1,2,3,4} e E={(1,2),(1,3),(1,4),(2,3),(2,4)}

Page 68: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 68

1 2

G H

3 4

G H G + H

1 2

3 4

1 2

3 4

Exemplo

Page 69: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 69

União e Soma

– Podem ser aplicadas a qualquer número finito de grafos

– São operações associativas

– São operações comutativas

Page 70: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 70

Remoção de Aresta

– Se e é uma aresta de um grafo G, denota-se G-e o grafo obtido de G pela remoção da aresta e

– Genericamente, se F é um conjunto de arestas em G, denota-se G-F ao grafo obtido pela remoção das arestas em F.

Page 71: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 71

Remoção de Vértice

– Se v é um vértice de um grafo G denota-se por G-v o grafo obtido de G pela remoção do vértice v conjuntamente com as arestas incidentes a v.

– Genericamente denota-se G-S ao grafo obtido pela remoção dos vértices em S, sendo S um conjunto qualquer de vértices de G.

Page 72: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 72

Contração de aresta

– Denota-se por G/e o grafo obtido pela contração da aresta e.

– Isto significa remover e de G e unir suas duas extremidades v,w de tal forma que o vértice resultante seja incidente às arestas originalmente incidentes a v e w.

Page 73: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 73

Embora seja conveniente a representação de grafos através de

diagramas de pontos ligados por linhas, tal representação é

inadequada se desejamos armazenar grandes grafos em um computador

Representação de grafos

Page 74: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 74

Uma maneira simples de armazenar grafos, é listando os vértices adjacentes a cada vértice do grafo

u: v,yv: u,y,ww: v,x,yx: w,yy: u,v,w,x

u

y v

x w

Page 75: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 75

Matriz de adjacência

Se G é um grafo com vértices {1,2,3,...,n}, sua matriz de adjacência é a matriz n X n cujo elemento ij é o número de arestas ligando o vértice i ao vértice j

Page 76: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 76

Matriz de incidência

Se G é um grafo com vértices {1,2,3,...,n} e arestas {1,2,3,...,m}, sua matriz de incidência é a matriz n X m cujo elemento ij é o número de vezes em que o vértice i é incidente à aresta j.

Page 77: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 77

Grafo Conexo

– Um grafo G(V,A) é dito ser conexo se ele não pode ser expresso como a união de dois grafos.

G1 G2

Conectividade

Page 78: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 78

• Grafo desconexo

– Um grafo G(V,A) é dito ser desconexo se ele pode ser expresso pela união de dois outros grafos.

Page 79: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 79

• Componente conexa

– Um grafo G(V,A) desconexo é formado por pelo menos dois subgrafos conexos, disjuntos em relação aos vértices

– Cada um destes subgrafos conexos é dito ser uma componente conexa de G.

Page 80: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 80

Vértice de corteUm vértice é dito ser um vértice de corte se sua remoção (juntamente com as arestas a ele conectadas) provoca uma redução na conectividade do grafo.

X2 é um vértice de corte

Page 81: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 81

PonteUma aresta é dita ser uma ponte se sua remoção provoca uma redução na conectividade do grafo.

(X1,X4) é uma ponte

Page 82: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 82

Grafo cíclico (ou grafo circuito)Um grafo conectado que é regular de grau 2 é um grafo cíclico (= ciclo)

Cn é um grafo cíclico com n vértices

Outros tipos de grafos

C6

Page 83: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 83

Grafo caminhoO grafo obtido a partir de Cn através da remoção de um aresta é o grafo caminho em n vértices, Pn

C5 P5

Page 84: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 84

Grafo rodaO grafo obtido a partir de Cn-1 através da ligação de cada vértice a um novo vértice v é um grafo roda em n vértices, Wn

Corresponde à soma de N1 com Cn-1

C5 W6

Page 85: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 85

Grafos cúbicosSão grafos regulares de grau 3

O primeiro deles é conhecido como Grafo de Petersen

Page 86: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 86

• Cadeia (= passeio)– Uma cadeia (walk) é uma seqüência qualquer de

arestas adjacentes que ligam dois vértices.

– O conceito de cadeia vale também para grafos orientados, bastando que se ignore o sentido da orientação dos arcos.

A seqüência de vértices (x6, x5, x4, x1)

é um exemplo de cadeia

Cadeias, caminhos, ciclos...

Page 87: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 87

Cadeia elementar (= caminho = path) Uma cadeia é dita ser elementar se não passa duas vezes pelo mesmo vértice

1 2

3 4

1 2

3 4

Cadeia de tamanho 21 2 4

Cadeia de tamanho 33 1 4 2

Page 88: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 88

Cadeia simples (= trilha = trail)Uma cadeia é dita ser simples se não passa duas vezes pela mesma aresta (arco).

1 2

3 4

1 2

3 4

Cadeia de tamanho 41 2 4 1 3

Cadeia de tamanho 51 2 4 1 3 2

Page 89: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 89

• Caminho– Um caminho é uma cadeia na qual todos os arcos

possuem a mesma orientação. Aplica-se, portanto, somente a grafos orientados

A seqüência de vértices (x1, x2, x5, x6, x3)

é um exemplo de caminho

Page 90: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 90

• Ciclo– Um ciclo é uma cadeia simples e fechada (o vértice

inicial é  o mesmo que o vértice final).

A seqüência de vértices (x1, x2, x3, x6, x5, x4, x1)

é um exemplo de ciclo

Page 91: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 91

Exemplos de ciclos

1 2

3 4

1 2

3 4

Ciclo de tamanho 31 2 4 1

Ciclo de tamanho 31 2 3 1

Page 92: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 92

• Circuito

– Um circuito é um caminho simples e fechado. Aplica-se, portanto, somente a grafos orientados

A seqüência de vértices (x1, x2, x5, x4, x1)

é um exemplo de circuito

Page 93: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 93

• Grafo fortemente conexo– No caso de grafos orientados, um grafo é dito ser

fortemente conexo (f-conexo) se todo par de vértices está ligado por pelo menos um caminho em cada sentido

– ou seja, se cada par de vértices participa de um circuito. – Isto significa que cada vértice pode ser alcançável

partindo-se de qualquer outro vértice do grafo.

Page 94: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 94

•Componente fortemente conexaUm grafo G(V,A) que não é fortemente conexo é formado por pelo menos dois subgrafos fortemente conexos, disjuntos em relação aos vértices

Cada um destes subgrafos é dito ser uma componente fortemente conexa de G

Page 95: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 95

Um grafo conectado G(V,A) é dito ser euleriano se existe um ciclo que contém todas as arestas de G.

Grafos Eulerianos

cadeia simples fechada – que não passa 2 vezes pela mesma aresta e termina no mesmo vértice

Page 96: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 96

Grafo semi-eulerianoUm grafo conectado, não-euleriano G é semi-euleriano se existe uma cadeia simples contento todas as arestas de G

Page 97: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 97

Teorema (Euler 1736)Um grafo conectado G é euleriano se e somente se

o grau de cada vértice de G é par

Prova:

Ida: Seja G um grafo euleriano. Logo ele contém um ciclo euleriano. Por cada ocorrência de vértice desse ciclo, existe uma aresta que chega nesse vértice e outra que sai desse vértice. Como toda aresta faz parte do ciclo, isto é, nenhuma aresta fica fora do ciclo, necessariamente o número de arestas por cada vértice é par.

Page 98: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 98

Volta: Suponhamos que todos os vértices possuem grau par. Seja vi um vértice do grafo. Tentemos, a partir

de vi, construir uma cadeia que não passa duas vezes

pela mesma aresta, e até que não seja possível continuar. Como todos os vértices possuem um grau par, sempre será possível entrar e sair de um vértice. A única exceção é o vértice vi onde a cadeia vai terminar.

Se essa cadeia, que chamaremos C1, contém todas as

arestas de G, temos um ciclo euleriano. Senão, retiramos de G todas as arestas que fazem parte de C1.

No grafo resultante G', todos os vértices também possuem grau par e necessariamente um deles faz parte de C1, senão o grafo não seria conexo.

Page 99: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 99

Volta (cont.): Recomeçamos o mesmo processo com o grafo G', partindo de um vértice comum com C1,

obtendo assim um novo ciclo C2. A figura abaixo mostra

que dois ciclos que têm um vértice em comum podem formar um ciclo único: chegando no vértice comum em um dos dois ciclos, continuamos o percurso no outro ciclo. Continuando esse processo, necessariamente obteremos um ciclo único que contém todas as arestas de G.

Page 100: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 100

Algoritmo de HierholzerAlgoritmo para a construção de um ciclo euleriano

sugerido a partir da prova do teorema de Euler

Comece em qualquer vértice u e percorra aleatoriamente as arestas ainda não visitadas a cada vértice visitado até fechar um ciclo

Se sobrarem arestas não visitadas, recomece a partir de um vértice do ciclo já formado

Se não existem mais arestas não visitadas, construa o ciclo euleriano a partir dos ciclos formados, unindo-os a partir de um vértice comum

Page 101: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 101

Algoritmo de HierholzerAlgoritmo para a construção de um ciclo euleriano

sugerido a partir da prova do teorema de Euler

Page 102: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 102

• As pontes de Königsberg

É possível sair de uma das ilhas, passar uma única vez por cada uma das pontes e retornar ao ponto de origem ?

Page 103: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 103

• As pontes de Königsberg

Como nem todos os vértices têm grau par, o grafo não é euleriano. Logo, é impossível atravessar todas as pontes uma só vez e voltar ao lugar de partida

Page 104: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 104

Corolário IUm grafo conectado G é euleriano se e somente se

ele pode ser decomposto em ciclos

Corolário IIUm grafo conectado G é semi-euleriano se e

somente se ele possui exatamente 2 vértices de grau ímpar

Page 105: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 105

Algoritmo de FleuryAlgoritmo para a construção de um ciclo euleriano

em um grafo euleriano

Comece em qualquer vértice u e percorra as arestas de forma aleatória, seguindo sempre as seguintes regras:

I – apague as arestas depois de passar por elasII – se aparecer algum vértice isolado, apague-o tambémIII – passe por uma ponte somente se não houver outra alternativa

Page 106: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 106

Algoritmo de FleuryAlgoritmo para a construção de um ciclo euleriano

em um grafo euleriano

Page 107: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 107

Um grafo G(V,A) é dito ser hamiltoniano se existe um ciclo que passa exatamente uma vez em cada um dos vértices de G

Grafos Hamiltonianos

não hamiltonianohamiltoniano

Page 108: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 108

Grafo semi_hamiltoniano

Um grafo G(V,A) é dito ser semi-hamiltoniano se não é hamiltoniano e existe uma cadeia que passa exatamente uma vez em cada um dos vértices de G

Hamiltoniano Semi- hamiltoniano

não hamiltoniano

Page 109: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 109

Grafo hamiltoniano

Não existe uma caracterização para identificar grafos hamiltonianos como existe para os eulerianos

A busca de tal caracterização é um dos maiores problemas ainda não solucionados da teoria dos grafos

Page 110: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 110

Grafo hamiltoniano

Muito pouco é conhecido dos grafos hamiltonianos

A maioria dos teoremas existentes são da forma: “Se G possui arestas suficientes, então G é hamiltoniano”

Page 111: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 111

Ciclo hamiltoniano em grafos completos

Todo grafo completo, que contém mais de 2 vértices é hamiltoniano

Seja v1,v2,...,vn os vértices de G. Como existe uma aresta entre qualquer par de vértices, é possivel, a partir de v1 percorrer essa sequência até vn e voltar para v1

Page 112: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 112

Teorema (Dirac 1952)Uma condição suficiente, mas não necessária,

para que um grafo simples G com n (>2) vértices seja hamiltoniano é que o grau de todo vértice de g

seja n/2

O grafo abaixo, é hamiltoniano mas não respeita a condição do teorema de Dirac

Page 113: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 113

Teorema (Ore 1960)Uma condição suficiente, mas não necessária, para

que um grafo simples G com n (>2) vértices seja hamiltoniano é que a soma dos graus de cada par

de vértices não adjacentes seja no mínimo n

Permite identificar mais grafos hamiltonianos que o anterior, mas demora muito para efetuar os cálculos. Uma

busca por tentativa e erro pode ser mais eficiente em alguns casos

Page 114: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 114

O adjetivo "hamiltoniano" deve-se ao matemático irlandês Sir William Rowan Hamilton (1805-1865). Diz-se que ele inventou um jogo que envolve um dodecaedro (sólido regular com 20 vértices, 30 arestas e 12 faces). Hamilton rotulou cada vértice do dodecaedro com o nome de uma cidade conhecida. O objetivo do jogo era que o jogador viajasse "ao redor do mundo" ao determinar uma viagem circular que incluísse todas as cidades exatamente uma vez, com a restrição de que só fosse possível viajar de uma cidade a outra se existisse uma aresta entre os vértices correspondentes.

Page 115: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 115

A figura abaixo mostra um grafo que representa este problema, ou seja os vértices e arestas de um dodecaedro.

Page 116: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 116

Como explorar um grafo

Como obter um processo sistemático para caminhar pelos vértices e arestas de um grafo?

Como caminhar no grafo de modo a visitar todos os vértices e arestas evitando repetições desnecessárias de visitas a um mesmo vértice ou aresta?

Que recursos adicionais são necessários?

Alguns Problemas

Page 117: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 117

Como explorar um grafoNecessidade de ‘’marcar’’ quando um vértice e uma aresta já foram visitados ou não

Busca Geral G(V,E)1. Escolher e marcar um vértice inicial;2. Enquanto existir algum vértice v marcado e incidente a uma aresta (v,w), não explorada, efetuar:    a) escolher o vértice v;    b) explorar a aresta (v,w). Se w não é marcado então marcar w.

Algoritmo Geral

Page 118: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 118

O problema do Caminho mais curto

Um motorista deseja encontrar o caminho, mais curto possível, entre duas cidades do Brasil

Caso ele receba um mapa das estradas de rodagem do Brasil, no qual a distância entre cada par adjacente de cidades está exposta, como poderíamos determinar uma rota mais curta entre as cidades desejadas?

Uma maneira possível é enumerar todas as rotas possíveis que levam de uma cidade à outra, e então selecionar a menor.

Page 119: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 119

O problema do menor caminho consiste em determinar um menor caminho entre um vértice de origem s V e todos os vértices v de V.

    Menor caminho com destino único: encontrar um caminho mais curto para um vértice destino v Menor caminho para um par: encontrar um caminho mais curto para um determinado par de vértices u e v      Menor caminho para todos os pares: encontrar um caminho mais curto de u para v, para todos e quaisquer pares u e v 

Variantes do problema

Page 120: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 120

O problema do Caminho mais curtoUma maneira mais eficiente:

Percorra o grafo, partindo do vértice de origem s, associando a cada vértice um número l(v) indicando a menor distância entre s e v.

Isso significa que quando chegamos ao vértice v, na figura abaixo, l(v) será min ( l(u)+6 , l(x)+4 )

6

5

u

3s

6

2 7

v

x y

4123

Page 121: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 121

6

5

u

3

s

6

2 7

v

x y

412

3

0

5

3

11

9

Calculando os pesos:

Page 122: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 122

Como obter um caminho mínimo partindo de s para y?

6

5

u

3

s

6

2 7

v

x y

412

3

0

5

3

11

9

Page 123: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 123

Outra possibilidade:

6

5

u

3

s

6

2 7

v

x y

412

3

0

5

3

11

9

Page 124: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 124

O algoritmo de Dijkstra

O algoritmo de Dijkstra identifica, a partir de um vértice do grafo, qual é o custo mínimo entre esse vértice e todos os outros do grafo. No início, o conjunto S contém somente esse vértice, chamado origem. A cada passo, selecionamos no conjunto de vértices sobrando, o que é o mais perto da origem. Depois atualizamos, para cada vértice sobrando, a sua distância em relação à origem. Se passando pelo novo vértice acrescentado, a distância fica menor, é essa nova distância que será memorizada

Page 125: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 125

O algoritmo de Dijkstra

Suponhamos que o grafo é representado por uma matriz de adjacência onde temos o valor se não existe aresta entre dois vértices.

Suponhamos também que os vértices do grafo são enumerados de 1 até n, isto é, o conjunto de vértices é N = {1, 2, ..., n}.

Utilizaremos também um vetor D[2..n] que conterá a distância que separa todo vértice do vértice 1 (o vértice do grafo que é o vértice 1 é escolhido arbitrariamente).

Page 126: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 126

O algoritmo de Dijkstra

função Dijkstra(L = [1..n, 1..n]: grafo): vetor[2..n] C := {2,3,...,n}   {Implicitamente S = N - C}

Para i := 2 até n:D[i] :=   L[1,i]

Repetir n-2 vezes:v :=   Elemento de C que minimiza D[v] C :=   C - {v} Para cada elemento w de C:

D[w] :=   min(D[w],D[v]+ L[v,w]) Retornar D

Page 127: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 127

Passo v C D Início - {2,3,4,5} [50,30,100,10] 1 5 {2,3,4} [50,30,20,10] 2 4 {2,3} [40,30,20,10] 3 3 {2} [35,30,20,10]

Exemplo

Page 128: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 128

O algoritmo de Dijkstra

Da maneira descrita, obtemos o custo do caminho mínimo para qualquer vértices, mas não obtemos o caminho mínimo.

Para identificar esse caminho mínimo, é só acrescentar mais um vetor P[2..n], onde P[v] indica o vértice que precede v no caminho mais curto.

Para isso, primeiro devemos inicializar esse vetor.

Segundo, no mesmo momento que o vetor D é atualizado, atualizamos também o vetor P.

Page 129: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 129

O algoritmo de Dijkstra para o caminho mínimo

função Dijkstra(L = [1..n, 1..n]: grafo): vetor[2..n] C := {2,3,...,n}  Para i := 2 até n:

D[i] :=   L[1,i] P[i] :=   1

Repetir n-2 vezes:v :=   Elemento de C que minimiza D[v] C :=   C - {v} Para cada elemento w de C:

Se D[w] > D[v]+ L[v,w] então D[w] :=   D[v]+ L[v,w] P[w] := v

Retornar P

Page 130: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 130

Passo v C D PInício - {2,3,4,5} [50,30,100,10] [1,1,1,1] 1 5 {2,3,4} [50,30,20,10] [1,1,5,1]2 4 {2,3} [40,30,20,10] [4,1,5,1]3 3 {2} [35,30,20,10] [3,1,5,1]

Exemplo

Page 131: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 131

O algoritmo de Dijkstra para o caminho mínimo

Vemos que o estado final do vetor P é [3,1,5,1]. Para saber qual é o caminho mais curto entre os vértices 1 e 2, procuramos o valor na posição 2 desse vetor (não esqueça que P e D são indexados a partir de 2). O vetor indica que o último vértice antes do vértice 2 é o vértice 3. Repetimos de novo o mesmo processo para ver o caminho mais curto entre 1 e 3. No vetor, na posição 3, temos o valor 1, que é a origem. Então, o caminho mais curto é 1,3,2.

Page 132: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 132

O problema do carteiro chinês

Problema discutido pelo matemático chinês Mei-Ku Kuan

Um carteiro deseja entregar suas cartas, percorrendo a menor distância possível e retornando ao ponto de partida

Ele deve passar por cada estrada pelo menos uma vez, mas deve evitar passar por muitas estradas mais de uma vez.

Page 133: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 133

O problema do carteiro chinês

O problema pode ser reformulado em termos de um grafo valorado onde o grafo corresponde à rede de estradas e o valor de cada aresta corresponde ao comprimento da estrada.

Assim, devemos buscar uma cadeia fechada de tamanho mínimo que inclua cada aresta do grafo pelo menos uma vez.

Se o grafo for euleriano??

Page 134: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 134

O problema do carteiro chinês

Se o grafo for euleriano, basta buscar um ciclo euleriano (algoritmo de Fleury)

Se o grafo não é euleriano?

Para ilustrar a solução, vamos considerar um grupo especial de grafos, onde exatamente 2 arestas têm grau ímpar

A

F

B C

D

E

8 14 10

53

6

4

5

9

Page 135: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 135

O problema do carteiro chinês

Já que os vértices B e E são os únicos que têm grau ímpar, podemos encontrar uma cadeia semi-euleriana de B até E passando por cada aresta exatamente uma vez

A fim de retornar ao ponto de partida, cobrindo a menor distância possível, é só encontrar o menor caminho de E até B (EF A B)

A

F

B C

D

E

8 14 10

53

6

4

5

9

Page 136: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 136

O problema do carteiro chinês

A solução do problema é dada combinando o menor caminho com a cadeia semi-euleriana

Note que, fazendo essa combinação, obtemos um grafo euleriano

A

F

B C

D

E

8 14 10

53

6

4

5

9

Page 137: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 137

O problema do caxeiro viajante

Um caxeiro viajante deseja visitar um dado grupo de cidades e retornar ao ponto de partida, percorrendo a menor distância possível

Esse problema pode ser formulado em termos de grafos valorados

O objetivo é encontrar um ciclo hamiltoniano com o menor peso possível em um grafo valorado completo

Page 138: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 138

O problema do caxeiro viajante

Um algoritmo possível é calcular a distância de todos os possíveis ciclos hamiltonianos e escolher o menor

C

B E

D

7 3 5

6

9

8

A

62

48

No grafo ao lado, a menor rota seria

AB D E C Atotalizando uma distância de 26

Page 139: DCC/UFBA – MAT156 Adolfo Almeida Duran 2005. Adolfo Duran - 2005Teoria dos Grafos2 Apresentação O curso / motivação Horário /sala Programa do curso Referências.

Adolfo Duran - 2005 Teoria dos Grafos 139

O problema do caxeiro viajante

Com mais de 5 cidades, a solução anterior passa a ficar muito complicada...

Por exemplo, com 20 cidades a quantidade de possíveis ciclos hamiltonianos é (19!)/2, o que dá aproximadamente 6 x 1016

Não se conhecem algoritmos eficientes para resolver esse problema

Existem algoritmos eurísticos que dão soluções aproximadas