Você está na página 1de 19

Aula nº 10

2011/ Outubro/ 07

Problema do carteiro chinês


Modelos de grafos

Definição:

Um ciclo de Hamilton (ou circuito de Hamilton) num grafo,


é um ciclo que passa por todos os vértices desse grafo.
Modelos de grafos

Definição:

Um grafo de Hamilton (ou hamiltoniano) é um grafo que


admite um ciclo de Hamilton. Ao contrário do que
acontece com os
circuitos de Euler,
não há uma
condição necessária
e suficiente para que
Grafo Hamiltoniano Grafo não hamiltoniano
um grafo admita um
ciclo de Hamilton!!!
Modelos de grafos

•Exercícios 17 e 18

páginas 58/59
Modelos de grafos

Definição:

Grafo pesado: Um grafo diz-se pesado se contiver


informação (distância, custo, tempo, etc.) associada às arestas.
Modelos de grafos

Problema do Caixeiro Viajante


(PCV)

Admitamos que um “caixeiro-viajante” tem de visitar n cidades

diferentes, iniciando e terminando a sua viagem numa das cidades.

Suponhamos também que não importa a ordem com que as cidades

são visitadas e que, de cada uma delas, se pode ir diretamente a

qualquer outra.
Modelos de grafos

Problema do Caixeiro Viajante


(PCV)
O problema do caixeiro-viajante consiste em descobrir o percurso
que torna mínima a distância (ou o custo, a duração, etc) total da
viagem visitando cada cidade uma e uma só vez."
A solução ótima para este tipo de problema consiste em …

encontrar um ciclo de Hamilton …


de comprimento mínimo.
Modelos de grafos

O Gustavo precisa de visitar alguns clientes para entregar encomendas. O


grafo seguinte traduz os pontos da região onde se encontram os clientes,
bem como as distâncias (em km) entre eles:
A

15

4 12 B
7 14

E 20

8 10

16

C
9
D

Qual é o melhor percurso (percurso mínimo), que o Gustavo deve escolher,


sabendo que mora em A?
Modelos de grafos

Para encontrar percursos mínimos que ajudem a resolver problemas do


tipo do Caixeiro Viajante, vamos ver dois algoritmos:

 Algoritmo do vizinho mais próximo (ou dos mínimos


sucessivos).

 Algoritmo por ordenação dos pesos das arestas (ou algoritmo


das arestas classificadas).
Modelos de grafos

 Algoritmo do vizinho mais próximo (ou dos mínimos sucessivos)


1)Selecciona-se um vértice para ponto de partida;
2)Segue-se de vértice em vértice, indo para o vértice mais
próximo ainda não visitado que não feche o ciclo, sem visitar
todos os vértices.
Modelos de grafos

Algoritmo do vizinho mais próximo A


(ou dos mínimos sucessivos) 15

1)Selecciona-se um vértice para 4 12 B


7 14
ponto de partida;
E 20
2)Segue-se de vértice em vértice,
8 10
indo para o vértice mais próximo
16
ainda não visitado até visitar
C
todos os vértices; D
9

3)Fecha-se o ciclo regressando ao


vértice de partida.
Modelos de grafos

Algoritmo do vizinho mais próximo:


Começa-se o percurso numa das cidades e segue-se sempre para a cidade mais próxima
ainda não visitada.
A

A E C D B A <56 km> 15
4 8 9 20 15
4 12 B
B C E A D B <49 km> 7 14
10 8 4 7 20

C E A D B C <49 km> E 20
8 4 7 20 10

D A E C B D <49 km> 8 10
7 4 8 10 20

E A D C B E <44 km> 16
4 7 9 10 14

C
9
D

O menor percurso, com um total de 44 km é: AEBCDA.


Modelos de grafos

Algoritmo por ordenação dos pesos das arestas (ou das arestas
classificadas)
1)Ordenam-se as arestas segundo os seus pesos;
2)Escolhem-se, sucessivamente, as arestas de menor peso de
modo que:
• nunca se escolham 3 arestas concorrentes no mesmo vértice;
• não se feche um ciclo, sem visitar todos os vértices.
Modelos de grafos

Algoritmo por ordenação dos pesos


das arestas (ou das arestas
classificadas)
1)Ordenam-se as arestas segundo
os seus pesos;
2)Escolhem-se, sucessivamente, as
arestas de menor peso de modo que:
• nunca se escolham 3 arestas
concorrentes no mesmo vértice;
• não se feche um ciclo, sem
visitar todos os vértices.
Modelos de grafos

Algoritmo por ordenação dos pesos das arestas


B
Escolhemos a aresta A E para começar
4
e juntamos a seguir A D e C E.
7 8

A aresta C D não pode ser acrescentada


9 E
pois fecharia o circuito.

Acrescenta-se B C e as arestas,
10
D
A C, B E, A B e D E, C
12 14 15 16

serão eliminadas pois fariam com que


concorressem no mesmo vértice três arestas.
Modelos de grafos

B
Acrescenta-se a aresta B D (última), 4
20
que fecha o circuito. 7

E 20
10
8

D C

O percurso tem um comprimento de 4 + 7 + 8 + 10 + 20 = 49 km.


Modelos de grafos

Algoritmo dos mínimos sucessivos B


4 7

14
Percurso mínimo de 44 km
E
10

9
D C
Algoritmo por ordenação dos pesos das arestas
A

B
4
7
E 20 Percurso mínimo de 49 km
8 10

D C
Modelos de grafos

Tpc
•Exercício 27
•Exercício 29
Página 60

•Todos os das páginas 56 a 60, inclusive!!!


Modelos de grafos

SUMÁRIO:

•Problema do caixeiro viajante.

•Algoritmo do vizinho mais próximo

•Algoritmo por ordenação dos pesos das arestas

•Resolução de exercícios

Você também pode gostar