You are on page 1of 9

IFRN

Tecnologia em Anlise e Desenvolvimento de Sistemas

Carteiro Chins
Prof. Gilbert Azevedo

Referencias Bibliogrficas

Introduo Teoria dos Grafos

Mrcia Aguiar Rabuske Editora da UFSC Goodrich e Tamassia Bookman Prof. Andr L. Maitelli UFRN Prof. Robinson L. S. Alves IFRN

Estrutura de Dados e Algoritmos em Java

Materiais Didticos

Contexto

Problema do Menor Caminho

Carteiro Chins

Deve passar em todas as arestas Deve passar em todos os vrtices

Caixeiro Viajante

Menor Caminho sem Restrio

Algoritmo de Floyd
Algoritmo de Dijkstra Algoritmo de Lin-Alderson

Todos os caminhos entre dois vrtices

Carteiro Chins

Determinar o custo do menor caminho partindo de um vrtice inicial, passando por todas as aresta e retornado ao ponto de partida Situao 01

Se o grafo for Euleriano (conexo e todos os vrtices de grau par), aplicar o algoritmo de Fleury Se o grafo no for Euleriano, aplicar o algoritmo de Christofides A idia do algoritmo transformar o grafo em um grafo Euleriano

Situao 02

Algoritmo de Christofides

P1: Determinar os vrtices de grau mpar P2: Construir a matriz de distncia D, apenas com os vrtices de grau mpar (Floyd/Dijkstra) P3: Determinar o par de vrtices com o menor caminho atravs da matriz P4: Construir um caminho artificial de vi para vj com o custo encontrado em P3 P5: Eliminar de D as colunas e linhas correspondentes vi e vj P6: Se houver linhas e colunas em D, voltar para P3 P7: Achar o caminho de Euler, utilizando o algoritmo de Fleury P8: O custo ser igual soma dos custos de todas as arestas acrescida dos custos das arestas encontradas em P3

Exemplo

Encontrar o caminho fechado de custo mnimo passando em todas as arestas do grafo G pelo menos uma vez Vrtices de grau mpar: V2 e V3 Caminho: V1-V2-V4-V3-V2-V3-V1 Custo: 5+2+3+1+1+(1) = 13
D 2 V2 V3 V2 V3 0 1 1 0

5
v 1 1 1

v 2

2 v 4 v 1

5
1 1

v 2 1

2 v 4 3

v 3

v 3

Exerccio

Encontrar o caminho fechado de custo mnimo passando em todas as arestas do grafo G pelo menos uma vez, utilizando o algoritmo do carteiro chins

1 v 1 2 3 5 v 2 4 v 6 3 v 3 2 2 v 7 v 4 2 v 8

v 5

Exerccio

Aplicar o algoritmo do carteiro chins para o grafo abaixo:

18 2 0 2 9 0 3

13
0 9 16 19 14 12 10 1 1 1 0 3 0 8 17 0 1

0 4
4

20

19 0 7

1 2 18 0 6 3 11

7
20 0 5

Implementao

Classe Grafo. Incluir mtodos para:

Implementar o algoritmo do carteiro chins para grafos no orientados, encontrando o o caminho fechado de custo mnimo passando em todas as arestas do grafo G pelo menos uma vez, partindo de um determinado vrtice.

You might also like