Se retirarmos a última aresta a um ciclo hamiltoniano. logo todo o grafo hamiltoniano possui caminhos hamiltonianos. No entanto, o

Documentos relacionados
3.8 O Problema do Caixeiro Viajante

Capítulo 2- Modelos de grafos.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Matemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17)

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA

x y Grafo Euleriano Figura 1

Aula nº / Outubro/ 07. Problema do carteiro chinês

As Pontes de Königsberg

Tabela 3 Tabela 4. Evolução do depósito do senhor Manuel (instituição A)

Escola Básica e Secundária Mouzinho da Silveira. MACS 11.º Ano Problema do Caixeiro Viajante

Circuitos Hamiltorianos

76) 1.1 Sim 1.2 Não 1.3 Não

BCC204 - Teoria dos Grafos

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7.

Matemática Discreta Capítulo 3 Versão preliminar

DOIS PROBLEMAS SOBRE GRAFOS Paulo Cezar Pinto Carvalho IMPA

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

Tópicos de Matemática Finita 2 a Chamada 5 de Julho de 2001

Tópicos de Matemática Finita 2 a Chamada 5 de Julho de 2001

GRAFOS: UMA INTRODUÇÃO

Daniel da Rosa Mesquita. Resolução de Problemas Relacionados à Teoria de Grafos no. Ensino Fundamental

Tópicos de Matemática Finita 1 a Chamada 30 de Junho de 2001

Tópicos de Matemática Finita 1 a Chamada 30 de Junho de 2001

Ciclos hamiltonianos e o problema do caixeiro viajante

Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Alguns probleminhas...

Teoria e Algoritmos em Grafos

Algoritmos de aproximação - Problema do caixeiro viajante

Redes. ADSA António Câmara

Grafos: caminhos mínimos

Teoria dos grafos. Caminho euleriano e Hamiltoniano. Prof. Jesuliana N. Ulysses

Noções da Teoria dos Grafos. André Arbex Hallack

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Helena Alves Rafael Sousa Rui Pedro Soares. MACS - Helena, Rafael, Rui Pedro 1

ª Fase. 16 pontos

Comunicação e redes. Aula 2: Teoria dos Grafos Conceitos básicos. Professor: Guilherme Oliveira Mota.

Teorema de Gerschgorin...

Tópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 Nota Final

Tópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final

CIC 111 Análise e Projeto de Algoritmos II

Teoria dos Grafos. Grafos Planares

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Noções da Teoria dos Grafos

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Grafos Eulerianos e o Problema do Carteiro Chinês

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

Tópicos de Matemática Finita Data: I II-1 II-2 II-3 II-4 III-1 III-2 III-3 III-4 IV-1 IV-2 IV-3 IV-4 Nota Final

Noções da Teoria dos Grafos. André Arbex Hallack

MATEMÁTICA DISCRETA GRAFOS (1/4) Carlos Luz. EST Setúbal / IPS. 28 Maio - 3 Junho 2012

Teoria dos Grafos AULA 3

Percursos em um grafo

Grafos I. Figura 1: Mapa de Königsberg

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante)

Teoria dos Grafos. Árvores

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Resoluções Atividades do Manual

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Resolução do Exame de Matemática Aplicada às Ciências Sociais 10 ọ /11 ọ Ano 2012 (2 ạ Fase)

PROPOSTA DE RESOLUÇÃO DO EXAME DE MATEMÁTICA APLICADA ÀS CIÊNCIAS SOCIAIS (PROVA 835) ªFASE. Grupo I

Percursos em um grafo

Prof. Marco Antonio M. Carvalho

1. Da análise da tabela com os resultados da votação, é possível observar que a primeira preferência

Algoritmos de Aproximação para o Problema do Caixeiro Viajante

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

PROPOSTA DE RESOLUÇÃO DA PROVA DO ENSINO SECUNDÁRIO DE MATEMÁTICA APLICADA Às CIÊNCIAS SOCIAIS (CÓDIGO DA PROVA 835) 1ª FASE 23 DE JUNHO 2016

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

PROPOSTA DE MELHORIA DA ROTA DE TRANSPORTE DE HORTALIÇAS: UMA APLICAÇÃO TÉCNICA DO PROBLEMA DE CAIXEIRO VIAJANTE

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. Departamento de Matemática Aplicada

Teoria dos Grafos. Edson Prestes

Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i,

Estratégias vencedoras para o jogo Slither

2. Desenhe o grafo orientado G = (X, Γ) para: 3. Em cada alínea dois grafos são iguais. Identifique-os. (a) (b) (c)

Problemas de Fluxo em Redes

GRAFOS. Introdução Conceitos Fundamentais

Grafos AULA META. Introduzir noções elementares da teoria dos grafos. OBJETIVOS. Ao final da aula o aluno deverá ser capaz de:

Grafos IFRN. Prof. Robinson Alves

PROPOSTA DE RESOLUÇÃO DA PROVA DO ENSINO SECUNDÁRIO DE MATEMÁTICA APLICADA Às CIÊNCIAS SOCIAIS (CÓDIGO DA PROVA 835) 1ª FASE 23 DE JUNHO 2016

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Grafos: aplicações. Grafos: árvore geradora mínima

Teoria dos Grafos Aula 2

Matemática Aplicada às Ciências Sociais- 11º ano

Ciência da Computação Engenharia de Computação Mestrado em Informática. Teoria dos Grafos. Maria Claudia Silva Boeres.

Tópicos de Matemática Finita 2 a Época 20 de Julho de 2001

Problemas de Optimização em redes

Universidade de Aveiro Departamento de Matemática ILDA MARIA DUARTE DE MATOS TEORIA DOS GRAFOS NO ENSINO BÁSICO E SECUNDÁRIO

podem ser ambas representadas por meio de pontos e segmentos de recta do seguinte modo:

Capítulo 1. Aula Caminhos de Euler e Hamilton Caminhos de Euler e Circuitos

64.2. Designando a sequência por (Pn) podemos escrever: , 1, 2, 4, 7, 13, Designando a sequência por (Tn) podemos escrever:

Teoria dos Grafos. Maria Claudia Silva Boeres. UFES. Teoria dos Grafos

Transcrição:

Um caminho hamiltoniano num grafo é um caminho onde ocorrem todos os vértices do grafo exactamente uma vez. Análogamente, um ciclo hamiltoniano é um ciclo que contém todos os vértices do grafo exactamente uma vez, com excepcção dos vértices inicial e final que têm de coincidir. Um grafo diz-se hamiltoniano se possuir algum ciclo hamiltoniano. Se retirarmos a última aresta a um ciclo hamiltoniano obtemos um caminho hamiltoniano, logo todo o grafo hamiltoniano possui caminhos hamiltonianos. No entanto, o recíproco desta afirmação não é verdadeiro, como o seguinte exemplo mostra. Exemplo. 1

A designação de hamiltoniano referese ao matemático irlandês Sir William Rowan Hamilton (1805 1865), famoso pela sua desoberta dos quaterniões, uma generalização não-comutativa dos números complexos. Por volta de 1857 Hamilton criou um jogo ao qual deu o nome de jogo icosiano, aludindo aos 20 vértices do dodecaedro. A cada um desses vértices era atribuído o nome de uma capital e o objectivo do jogo era, usando as arestas do dodecaedro, planear um percurso que visitasse cada uma das cidades exactamente uma vez e terminasse na cidade de onde se tinha partido. Assim, procurava-se um ciclo hamiltoniano no grafo do dodecaedro. Um exemplo de um tal ciclo é o seguinte: 2

3

4

Exemplo. Este exemplo mostra a independência entre a existência de circuitos (atalhos) eulerianos e a existência de ciclos (caminhos) hamiltonianos num grafo. circ euler atalh euler cic ham cam ham (a) sim não sim sim (b) não sim não sim (c) não não sim sim (d) sim não não sim (e) não sim não não (f) não não não sim 5

Exemplo. O grafo G abaixo não é Hamiltoniano porque a aresta a indicada é uma ponte. O grafo H também não é Hamiltoniano porque se v for o vértice indicado na figura então!(h v) = 2 > 1. No entanto, basta acrescentar uma qualquer aresta entre vértices não adjacentes a G ou H para que o respectivo grafo se torne Hamiltoniano. Por esta razão, dizemos que G e H são ambos grafos não-hamiltonianos maximais. a G v H 6

Exemplo. Se retirarmos os três vértices representados a preto no grafo G abaixo, obtemos um grafo com 4 componentes conexas. Logo G não é Hamiltoniano. 7

Algoritmo Seja G um grafo simples com n 3 vértices que satisfaz as hipóteses do Teorema de Ore. Passo 1. Escolher um vértice qualquer de G e, acrescentando vértices adjacentes à direita e à esquerda, construir um caminho aberto em G de comprimento cada vez maior, até não ser possível prosseguir, digamos C = y 1 y 2 y m, 3 apple m apple n, de comprimento m 1. Passo 2. (i) Se y 1 e y m não forem adjacentes em G, prosseguimos para o Passo 3. Caso contrário, y 1 e y m são adjacentes e prosseguimos para (ii). 8

(ii) Se m = n então y 1 y 2 y m y 1 é um ciclo Hamiltoniano em G; parar. Caso contrário, y 1 e y m são adjacentes e m< n; ir para (iii). (iii) Existe um vértice z, diferente de y 1,...,y m, que é adjacente a y k, para algum 1 apple k apple m. Substituir C pelo caminho aberto de comprimento m z y k y k+1 y m y 1 y k 1. De seguida, estender C acrescentando vértices adjacentes à direita e à esquerda até não ser possível prosseguir, de forma a termos ainda um caminho aberto de comprimento maior ou igual a m. Voltar ao início do Passo 2. Passo 3. Encontrar um vértice y k, com 1 < k<m, tal que y 1 é adjacente a y k e y m é adjacente a y k 1. Substituir C pelo caminho y 1 y k 1 y m y m 1 y k. de comprimento m 1, tal como C. As duas extremidades deste caminho são adjacentes. Voltar ao Passo 2(ii).

Teorema 1 (Dirac, 1952). Se o grafo G tem n vértices (n 3) e d(v) n/2 para todo o vértice v de G, então G é hamiltoniano. Exemplo. O grafo seguinte é hamiltoniano: Note-se que a condição do Teorema de Dirac é suficiente mas não é necessária. Por exemplo, o ciclo de cinco vértices C 5 é hamiltoniano mas nenhum dos seus vértices satisfaz a condição d(v) 5/2. A prova do Teorema de Dirac pode ser adaptada para uma prova do seguinte resultado mais geral: Teorema 2. Seja G um grafo com n vértices e sejam u e v vértices não adjacentes de G tais que d(u)+d(v) n. Seja G + uv o grafo obtido adicionando a aresta uv a G. Então G é hamiltoniano se e só se G + uv é hamiltoniano. 9

Exemplo. Aplicações sucessivas do teorema anterior permitem chegar ao grafo hamiltoniano completo K 6, logo G é também hamiltoniano. 10

Exemplo. Aplicar o algoritmo baseado no Teorema de Ore ao seguinte grafo: 11

O Problema do Caixeiro Viajante Exemplo. (Zé Pedro, o caixeiro viajante) O Zé Pedro é um caixeiro viajante que tem clientes em cinco cidades, que abreviamos por A, B, C, D e E. Ele precisa de planear uma viajem de negócios com cidade de partida e de destino final A (a cidade onde mora), em que passará por cada uma das restantes quatro cidades precisamente uma vez. O grafo abaixo representa o custo de cada viagem (ida ou volta) entre cada par de cidades. Qual o percurso mais barato para esta viagem do Zé Pedro? Por outras palavras, qual é o ciclo hamiltoniano optimal (isto é, cuja soma do peso das arestas é menor) no grafo dado? 12

Exemplo. (As Luas de Júpiter e Saturno) No ano 2020 será lançada da Terra uma expedição para explorar as luas de Júpiter e Saturno. Serão visitadas Callisto, Ganymede, Io (luas de Júpiter), Mimas e Titan (luas de Saturno), onde serão recolhidas amostras com as quais a expedição voltará à Terra. A seguinte figura indica a duração da missão (em anos) entre cada par de luas. Qual é o ciclo hamiltoniano optimal (mais breve) no grafo representado? (Terra) 13

Exemplo. (Vida em Marte) A tabela abaixo indica as distancias aproximadas (em milhas) entre sete locais de Marte, onde cientistas da NASA pensam poder encontrar vestígios de vida com maior probabilidade. A G H I N P W A - 7500 5000 2800 3500 1500 2200 G 7500-3000 6000 8000 6500 5000 H 5000 3000-4000 4800 3500 2800 I 2800 6000 4000-2000 3000 2900 N 3500 8000 4800 2000-4000 3200 P 1500 6500 3500 3000 4000-1300 W 2200 5000 2800 2900 3200 1300 - Quer-se planear uma viagem que colocará um robot em Marte, aterrando em A. O robot deverá percorrer cada um dos locais, recolher amostras de solo e regressar a A, de onde um fogetão trará as amostras para Terra de forma a serem analisadas. Qual será o ciclo hamiltoniano optimal no grafo correspondente? 14

Método Exaustivo Este método consiste em fazer uma lista de todos os ciclos hamiltonianos do grafo, calcular o peso de cada um e escolher um de peso mínimo. Quantos ciclos hamiltonianos é que existem no grafo completo de n vértices K n? 15

Exemplo. (Zé Pedro, o caixeiro viajante) Uma forma de resolver o problema do Zé Pedro é usar o método de exaustão em que se calculam os pesos dos 4! = 24 ciclos hamiltonianos possíveis em K 5 : ciclo hamilt custo total ciclo inverso ABCDEA 185+121+174+199+133=812 AEDCBA ABCEDA 185+121+120+199+152=777 ADECBA ABDCEA 185+150+174+120+133=762 AECDBA ABDECA 185+150+199+120+119=773 ACEDBA ABECDA 185+200+120+174+152=831 ADCEBA ABEDCA 185+200+199+174+119=877 ACDEBA ACBDEA 119+121+150+199+133=722 AEDBCA ACBEDA 119+121+200+199+152=791 ADEBCA ACDBEA 119+174+150+200+133=776 AEBDCA ACEBDA 119+120+200+150+152=741 ADBECA ADBCEA 152+150+121+120+133=676 AECBDA ADCBEA 152+174+121+200+133=780 AEBCDA Verificamos assim que há exactamente dois ciclos optimais, o ciclo ADBCEA e o seu inverso, o ciclo AECBDA. Em qualquer dos casos, o Zé Pedro gasta 676 Euros na sua viagem de trabalho e esta é a melhor solução. 16

Método do Vizinho Mais Próximo Escolhe-se um vértice e a aresta de menor peso incidente nesse vértice. Esta aresta determina um outro vértice. De cada novo vértice escolhe-se a aresta de menor peso, de entre as arestas que são incidentes nesse vértice e num vértice que ainda não foi escolhido. No final, regressa-se ao vértice inicial. Exemplo. (Zé Pedro, o caixeiro viajante) No caso do Zé Pedro, por este algoritmo ele começa pelo vértice A. De A vai para C, de C para E, depois para D e finalmente para B, de onde regressa a A. O custo desta viagem é de 773 Euros. O método do vizinho mais próximo é muito mais rápido do que que o método de exaustão, embora não produza, em geral, uma solução optimal. Neste caso, o custo adicional é de 97 Euros, e o erro relativo é de 97/676 ' 14, 3%. 17

Exemplo. (Zé Pedro, o caixeiro viajante) Suponhamos que o Zé Pedro consegue alargar o seu negócio e ter um leque de clientes espalhados por dez cidades. O custo das viagens entre as cidades está representado abaixo, em forma de um grafo e de uma tabela: Neste caso, para usar o método exaustivo temos de calcular o peso de 9! = 362880 ciclos hamiltonianos. Demorando 30 segundos por cada um dos ciclos demoraríamos 3024 horas, o que é mais de 4 meses a trabalhar 24 horas por dia, 7 dias por semana! Tentemos então o método do vizinho mais próximo. O ciclo que obtemos é ACEDBJGKF HA, cujo custo é de 2153 Euros. 18

Método do Vizinho Mais Próximo com Repetição Exemplo. (Zé Pedro, o caixeiro viajante) Voltando mais uma vez ao exemplo do Zé Pedro e aplicando o algoritmo do vizinho mais próximo com repetição, obtemos sucessivamente os ciclos: ciclo custo em Euros ACEDBA 773 BCAEDB 722 CAEDBC 722 DBCAED 722 ECADBE 741 Assim, este algoritmo escolhe o ciclo BCAEDB = CAEDBC = DBCAED, cujo custo é de 722 Euros. Como sabemos, este não é um ciclo optimal, mas o resultado é mais satisfatório do que o obtido usando o algoritmo do vizinho mais próximo (sem repetição) começando em A. 19

Método do Elo Mais Barato Começamos por escolher a aresta de menor peso do grafo. Depois, escolhemos a aresta de menor peso de entre as arestas que não foram ainda escolhidas (que não tem de ser adjacente à primeira), sujeitos às seguintes regras: 1. não permitir que se forme um ciclo a não ser que já todos os vértices sejam incidentes com alguma das arestas já escolhidas; 2. não permitir que de entre as arestas escolhidas haja três incidentes no mesmo vértice. Repetimos este processo até obtermos um ciclo, que será necessariamente um ciclo hamiltoniano. Se alguma destas duas regras fosse violada não obeteríamos um ciclo hamiltoniano. Reciprocamente, se seguirmos estas regras terminamos com um ciclo hamiltoniano. 20

Exemplo. (Zé Pedro, o caixeiro viajante) Usemos este algoritmo no problema do Zé Pedro com cinco cidades. Obtemos o ciclo ACEBDA, de peso 741 Euros. 21

Exemplo. (Vida em Marte) Retomemos o problema do robot a recolher amostras de solo em Marte apresentado no início. Vamos aplicar-lhe os algoritmos que acabámos de discutir: Método exaustivo. Temos de calcular o peso de 6! = 720 ciclos hamiltonianos. Usando um computador obtemos um ciclo optimal de 20100 milhas. Método do elo mais barato. Obtemos o ciclo AP W HGNIA, de peso 21400 milhas. Método do vizinho mais próximo. Começando em A, obtemos o ciclo AP W HGINA, de peso 20100 milhas. Método do vizinho mais próximo com repetição. Uma vez que começando em A obtivémos um ciclo optimal, este método produzirá uma solução com o mesmo peso. 22