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

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

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

Lista de Exercícios 9 (Extra): Soluções Grafos

Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade

Noções da Teoria dos Grafos

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

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

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

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

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

Algoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.

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

Percursos em um grafo

Parte B Teoria dos Grafos

Teoria e Algoritmos em Grafos

As Pontes de Königsberg

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

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

GRAFOS: UMA INTRODUÇÃO

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

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

Percursos em um grafo

Circuitos Hamiltorianos

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

PCC173 - Otimização em Redes

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

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

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

SCC Modelagem Computacional em Grafos Introdução a Grafos

Teoria dos Grafos. Edson Prestes

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

Introdução a Grafos Letícia Rodrigues Bueno

Capítulo 2- Modelos de grafos.

Grafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos

Grafos IFRN. Prof. Robinson Alves

CAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:

Planaridade UFES. Teoria dos Grafos (INF 5037)

Introdução à Teoria dos Grafos. Isomorfismo

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

Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios

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

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

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

Tópicos de Matemática Finita Data: a Época Código: 2D. 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

SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013

Teoria dos Grafos AULA 3

Departamento de Engenharia de Produção UFPR 57

Alguns probleminhas...

BCC204 - Teoria dos Grafos

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

Introdução à Teoria do Grafos Notas de aula. Socorro Rangel últimas atualizações: (2009), (2012)

CONCEITOS BÁSICOS EM GRAFOS

Problema do Caixeiro Viajante

CI065 CI755 Algoritmos e Teoria dos Grafos

Instituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015.

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Capítulo 1 Conceitos e Resultados Básicos

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

Algoritmos de aproximação - Problema do caixeiro viajante

Alg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /

Algoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo

Teoria dos Grafos AULA 1

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

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

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

Teoria dos Grafos. Edson Prestes

Introdução à Teoria dos Grafos

1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS

1 Trajeto Euleriano. > Trajeto Euleriano 0/20

Grafos Eulerianos e o Problema do Carteiro Chinês

Teoria dos Grafos. Edson Prestes

2 Relação entre soma dos graus e número de arestas

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

Prof. Marco Antonio M. Carvalho

x y Grafo Euleriano Figura 1

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

Grafos Orientados (digrafos)

Teoria dos Grafos. Edson Prestes

Matemática Discreta. Aula nº 22 Francisco Restivo

Teoria dos Grafos Introdu c ao

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

GRAFOS ORIENTADOS. PSfrag replacements. Figura 1: Exemplo de um grafo orientado.

Teoria dos Grafos Aula 2

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

Grafos: árvores geradoras mínimas. Graça Nunes

Teoria dos Grafos AULA 1

Pesquisa Operacional. Teoria dos Grafos

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

Ciclos hamiltonianos e o problema do caixeiro viajante

Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo

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

Árvores: Conceitos Básicos e Árvore Geradora

Matemática Discreta - Exercícios de Grafos

GRAFOS. Introdução Conceitos Fundamentais

Subgrafos. Se G é um grafo e F A(G) então o subgrafo de G induzido (ou gerado) por F é o

ANÁLISE COMBINATÓRIA

Transcrição:

Matemática Discreta Capítulo 7 SUMÁRIO CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7 Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante Newton José Vieira 30 de julho de 2007 1 Grafo Euleriano CIRCUITOS EULERIANOS Um grafo conexo é Euleriano se, e somente se, o grau de todo vértice é par. Em um circuito, o número de arestas incidentes a cada vértice é par (metade de entrada e metade de saída do vértice). Logo, se o grafo é Euleriano, o grau de todo vértice é par. Suponha que o grau de todo vértice é par. Construindo-se um trajeto começando por um vértice x 1, e indo tão longe quanto possível, sempre tomando uma aresta ainda não utilizada, até voltar a x 1, forma-se um circuito (pois o número de arestas é finito, e haverá sempre pares de entrada/saída para cada vértice, exceto para x 1 ). Como o grafo é conexo, os circuitos assim formados (se forem 3

formados mais de um) podem ser combinados em um circuito Euleriano. Exemplo: b c a i j l k h g f d e Grafo randomicamente Euleriano Um grafo é randomicamente Euleriano a partir de x se, e somente se, todo trajeto construido começando no vértice x, e continuando em frente sempre que possível, é circuito Euleriano. Aplicação: planejamento de uma mostra de quadros. Exemplo: O grafo a seguir é randomicamente Euleriano a partir de x: a e x g d f b c 4 5 Uma condição necessária e suficiente Trajeto Euleriano Um grafo Euleriano G é randomicamente Euleriano a partir de x se, e somente se, x aparece em todo ciclo de G. Exercício. Um trajeto Euleriano é um trajeto não fechado que inclui todas as arestas do grafo. Um grafo conexo tem um trajeto Euleriano se, e somente se, tem exatamente 2 vértices de grau ímpar. E estes 2 vértices são as extremidades do trajeto. Exercício. 6 7

Número mínimo de trajetos O número mínimo de trajetos necessário para particionar o conjunto das arestas de um grafo conexo é a metade do número de vértices de grau ímpar, exceto quando não há vertices de grau ímpar; neste caso, o número mínimo é 1. Exercício. CICLOS HAMILTONIANOS Exemplo: grafo das pontes de Königsberg. 8 Um caminho Hamiltoniano é um caminho simples gerador. Como determinar se o grafo é Hamiltoniano? Todo grafo Hamiltoniano contém caminho Hamiltoniano. Existem grafos não Hamiltonianos que contêm caminhos Hamiltonianos. Exemplo: a c b d e Basta considerar grafos simples, pois: Com relação a caminhos Hamiltonianos: laços e arestas múltiplas não são relevantes para a existência dos mesmos. Com relação a ciclos Hamiltonianos: laços e arestas múltiplas só são relevantes nos grafos triviais: a e a b Não há caracterização simples nem eficiente para ciclos e caminhos Hamiltonianos. 10 11

Técnicas para grafos de tamanho moderado Técnicas para grafos de tamanho moderado Usar o fato de que um ciclo Hamiltoniano contém exatamente duas das arestas incidentes a cada vértice. Exemplos: a g b c f e d O circuito induzido não inclui todos os vértices. a b c h d i g f e Escolhendo {a, i}i{i, b} a b h c d g f e i 12 13 Técnicas para grafos de tamanho moderado Técnicas para grafos de tamanho moderado Se for possível particionar os vértices em dois conjuntos, de forma que se x e y são adjacentes, então x é membro de um e y é membro do outro, então, em caminhos ou ciclos Hamiltonianos, deve haver alternância de vértices dos dois conjuntos. Exemplo: A B B A B A A A B A B A B A A B Existem 9 vértices do tipo A e 7 do tipo B. Logo, não existe ciclo nem caminho Hamiltoniano. 14 15

Uma condição suficiente Uma condição suficiente Seja G um grafo simples com n 3 vértices tal que grau(u) + grau(v) n para todo par de vértices distintos não adjacentes u e v. Então G é Hamiltoniano. Suponha o contrário. Seja H um contra-exemplo, e adicionemos arestas a H até que a adição de uma aresta {u, v} resulte em um grafo Hamiltoniano. Seja o caminho Hamiltoniano com extremidades u e v: u = x 1 {x 1, x 2 }x 2... x n 1 {x n 1, x n }x n = v. Se para qualquer 2 k n, {x 1, x k } é uma aresta, então {x k 1, x n } não é uma aresta, senão x 1 {x 1, x k }x k... x n {x n, x k 1 }x k 1... x 2 {x 2, x 1 }x 1 = v seria um ciclo Hamiltoniano: u = x1 x2 xk 1 xk xn 1 xn = v Portanto, para cada vértice x k adjacente a u existe um vértice diferente não adjacente a v. Logo, grau(u) + grau(v) n 1, uma contradição. 16 17 Uma condição suficiente Analogamente, Seja G um grafo simples com n 3 vértices tal que grau(u) + grau(v) n 1 para todo par de vértices distintos não adjacentes u e v. Então G tem caminho Hamiltoniano. O PROBLEMA DO CAIXEIRO VIAJANTE 18

O Problema do Caixeiro Viajante O Problema do Caixeiro Viajante O problema do menor caminho fechado gerador: encontrar um menor caminho fechado gerador em um grafo valorado completo. Um grafo é Euclidiano se, e somente se, é um grafo valorado completo tal que d(u, v)+d(v, w) d(u, w) para quaisquer 3 vértices u, v e w. Se G é um grafo Euclidiano e C é um menor caminho fechado gerador em G, então existe um ciclo Hamiltoniano do mesmo comprimento que C. Suponha que C tem um vértice repetido, como mostra a figura: x k y n v x 1 y 1 C = vx 1 x k vy 1 y n v Então C = vx 1 x k y 1 y n v não é maior que C. Assim, pode-se eliminar todas as repetições de vértices de C, até obter um ciclo Hamiltoniano de comprimento igual ao de C. 20 21 O Problema do Caixeiro Viajante Exemplo: Algoritmo do vizinho mais próximo O problema do caixeiro viajante: encontrar um menor ciclo Hamiltoniano em um grafo valorado completo. Não há solução eficiente conhecida para o problema do caixeiro viajante. Usar heurísticas. Escolha um vértice v; C := v ; enquanto C não contém todos os vértices faça seja x o último vértice de C; seja y um dos vértices mais próximos de x; C := C y fim; C := C v. Observações: O comprimento de C pode depender de v. Este é um exemplo de algoritmo guloso. 22 23

Exemplo: Algoritmo do vizinho mais próximo Desempenho do algoritmo do vizinho mais próximo Exemplo: a 14 9 e 12 b 7 5 6 13 8 d 11 c 10 Começando em a: comprimento 40. Começando em b: comprimento 37 (menor comprimento). Seja G um grafo Euclidiano com n vértices. Seja T VMP (v) o comprimento obtido pelo método do vizinho mais próximo começando em v, e seja T 0 o comprimento de um ciclo Hamiltoniano mínimo. Então: (1) T VMP (v)/t 0 ( log 2 n + 1)/2. (2) Para todo m, existe um grafo Euclidiano G com n m vértices tal que T VMP (v)/t 0 > (log 2 (n + 1) + 4/3)/3. 24 25 Algumas observações Observações finais Para um algoritmo qualquer, AQ, T AQ (v)/t 0 1. Para um algoritmo ideal, AI, T AI (v)/t 0 = 1. T VMP (v)/t 0 aumenta com n. Se o grafo não for Euclidiano, o algoritmo do vizinho mais próximo pode ter um desempenho muito ruim. Todo algoritmo conhecido para o Problema do Caixeiro Viajante contém alguma restrição sobre os grafos para os quais dão resultados razoáveis (vide próxima proposição). Se existe um algoritmo eficiente, AE, tal que T AE (v)/t 0 = constante para qualquer grafo, então existe uma solução eficiente para o Problema do Caixeiro Viajante. 26 27

Problemas considerados até o momento Matemática Discreta Capítulo 7 Problema da Planaridade (PP): O grafo é planar? Problema do Circuito Euleriano (PCE): O grafo é Euleriano? Problema do Trajeto Euleriano (PTE): O grafo tem um trajeto Euleriano? Problema do Isomorfismo (PI): Dois grafos são isomorfos? Problema do Ciclo Hamiltoniano (PCiH): O grafo é Hamiltoniano? Problema do Caminho Hamiltoniano (PCaH): O grafo tem um caminho Hamiltoniano? Problema do Caixeiro Viajante (PCV): Qual é o menor ciclo Hamiltoniano de um grafo valorado completo? Problema do Menor Caminho Fechado Gerador (PMCFG): Qual é o menor caminho fechado gerador de um grafo valorado completo? FIM 28 29