Circuitos Hamiltorianos

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

GRAFOS: UMA INTRODUÇÃO

Grafos: caminhos mínimos

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

GRAFOS E ALGORITMOS TEORIA DE GRAFOS

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

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

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

Teoria dos Grafos AULA 1

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

Parte B Teoria dos Grafos

Teoria dos Grafos AULA 1

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

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

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

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

Matemática Discreta. Aula nº 22 Francisco Restivo

Teoria dos Grafos Aula 2

Grafos Orientados (digrafos)

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

Alguns probleminhas...

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

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

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

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Grafos: caminhos (matriz adjacência)

CONCEITOS BÁSICOS EM GRAFOS

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

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

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

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

Noções da 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.

Algoritmos de aproximação - Problema do caixeiro viajante

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

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

Problemas de otimização

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE MATEMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM ENSINO DE MATEMÁTICA

Grafos IFRN. Prof.Robinson Alves

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

Teoria dos Grafos AULA 3

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Teoria dos Grafos Aula 2

15 - Coloração Considere cada um dos grafos abaixo:

Matemática Discreta 10

Introdução à Teoria dos Grafos. Isomorfismo

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

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

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

Pesquisa Operacional II. Professor João Soares de Mello

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

As Pontes de Königsberg

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

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

ANÁLISE COMBINATÓRIA

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

1 Trajeto Euleriano. > Trajeto Euleriano 0/20

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

Teoria dos Grafos. Coloração de Vértices

Teoria dos Grafos Introdu c ao

MODELAGEM MATEMÁTICA E A CONTEXTUALIZAÇÃO DO ESTUDO DE GRAFOS E MATRIZES NO ENSINO MÉDIO

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

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

TEORIA DOS GRAFOS UMA APLICAÇÃO DE LOGÍSTICA PARA O ENSINO MÉDIO. Profº M. Sc. Marcelo Mazetto Moala

Teoria dos Grafos. Árvores

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches

Teoria dos Grafos Aula 1 - Introdução

Percursos em um grafo

GRAFOS. Introdução Conceitos Fundamentais

Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

Estruturas de Dados Grafos

Teoria do Grafos. Prof. Luiz Fernando L. Nascimento

14 Coloração de vértices Considere cada um dos grafos abaixo:

Redes Complexas Aula 2

Probabilidade. Contagem

Transcrição:

Circuitos Hamiltorianos Vimos que o teorema de euler resolve o problema de caracterizar grafos que tenham um circuito em que cada aresta apareça exatamente uma vez. Vamos estudar aqui uma questão relacionada. Dado um grafo G, é possível achar um circuito de G em que cada vértice de G apareça uma única vez? Em 1859, o matemático irlandês Sir Willian Hamilton introduziu um quebra-cabeça com formato de dodecaedro que é um figura sólida de 12 faces pentagonais idênticas.

Cada vértice foi rotulado com o nome de uma cidade. A questão proposta por Hamilton foi começar em uma cidade e fazer um tour pelo mundo visitando cada cidade uma única vez, voltando à cidade original. O quebra-cabeça é fácil de resolver se espicharmos as faces do dodecaedro planificando-o

Definição: dado um grafo G, um circuito Hamiltoniano para G é circuito simples que inclui todos os vértices de G. Ou seja, é uma seqüência de vértices adjacentes e arestas distintas em que cada vértice aparece exatamente uma vez O problema de Hamilton é, portanto, achar um caminho Hamiltoniano no grafo abaixo.

Note que um circuito Euleriano inclui todos os vértices, mas pode visitar um vértice mais de uma vez. No caso de caminhos Eulerianos, resolvemos com elegância o problema, caracterizando que são Eulerianos. Matemática não é tão eficiente aqui. Vamos supor que G tenha um circuito Hamiltoriano C: v0 e1 v1 e2 v2... vn-1 en vn e considere o subgrafo H formado por C. Note que o número de vértices é igual ao número de arestas, pois v0=vn e ei ej Note ainda que H tem os mesmos vértices de G e que cada vértice de H tem grau 2.

Proposição1: Se um grafo G tem um circuito Hamiltoriano então G tem um subgrafo H tal que. 1. H contem todos os vértices de G 2. H é conexo 3. H tem tantos vértices quanto arestas 4. Todo vértice de H tem grau 2 Essa preposição serve para mostrar que determinado grafo não tem circuito Hamiltoriano.

Ex: Mostre que o grafo G abaixo não tem circuito Hamiltoriano a c b e d Se G tivesse um circuito Hamiltoriano teria um subgrafo em que todos os vértices a,b,c,d,e tem grau 2. Como b tem grau 4, duas arestas tem de ser removidas. Quais? {a,b} não pode, pois a teria grau 1. Similarmente {e,b}, {b,c} e {b,d} Então não dá!

O problema do caixeiro viajante Considere o mapa da figura mostrando 4 cidades e a distância (em Km) entre elas. b 30 c Qual a rota passando por 30 todas as cidades que minimiza a 50 35 25 distância a ser percorrida. a d 40 Solução: o problema pode ser resolvido escrevendo todos os circuitos Hamiltorianos começando e terminando em a e calculando a distancia total.

a 30 b 30 50 35 40 d 25 c Rota ABCDA ABDCA ACBDA ACDBA ADBCA ADCBA Distancia total 30 + 30 + 25 + 40 = 125 30 + 35 + 25 + 50 = 140 50 + 30 + 35 + 30 = 155 50 + 25 + 35 + 30 = 140 35 + 50 + 25 + 30 =155 40 + 25 + 30 + 30 = 25

O problema do caixeiro viajante geral envolve encontrar um circuito Hamiltoriano que minimize a distância total percorrida. Aplicações * empresas de transportes * coletores de lixo * carteiro Como resolver este problema? Uma maneira é escrever todos os circuitos Hamiltorianos e começando e terminando em um aresta e escolher um que tenha distância mínima. Esse método não é pratico, pois não há métodos eficientes para determinar e em geral, há muitos circuitos Hamiltorianos. Quantos caminhos Hamiltorianos tem um grafo completo com n vértices? (n-1)!

Representação Matricial de Grafos Como representar um grafo em um computador? Considere o dígrafo abaixo. v1 e1 v2 v3 A matriz v1 v2 v3 1 0 0 1 1 2 1 0 0 Representa o dígrafo no sentido seguinte

Definição: Seja G um (dí)grafo com vértices ordenados v1,v2,v3,... A matriz de adjacência de G A = (a ij ) onde a ij = o número de arestas de v i, a v j Ex v 1 v 4 v 3 v 2 Tem matriz de adjacência v 1 [0 1 0 1 1] v 2 1 1 2 1 v 3 0 2 0 0 v 4 1 1 0 Note que a matriz de adjacência de um grafo é simétrica

Ex: qual o dígrafo representado pela matriz de adjacências A = V 1 [0 1 1 0 ] V 2 1 1 0 2 V 3 0 0 1 1 2 1 0 0 V 4 Solução : como a matriz não é simétrica, a matriz representa um dígrafo. v1 v2 v4 v3

Qual a relação entre matrizes de adjacências e componentes conexas? Por exemplo v1 v3 v4 v6 A= v2 v5 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 v7

Observe os zeros. A matriz fica uma matriz de blocos na diagonal e zeros fora da diagonal. É fácil mostrar o seguinte Teorema: Seja G um grafo com componentes G1,..., Gk, cada um com ni vértices. Se os vértices estão numerados consecutivamente, então a matriz de adjacências de G tem a forma A1 0 A2... 0 Ak Onde cada Ai é a matriz de adjacências dos grafo Gi, i=1...k

Vamos agora fazer uma importante interpretação de operações com matrizes de adjacências em relação a grafos. Considere o exemplo v2 e2 e1 v1 v3 e3 e4 Cuja Matriz de Adjacências é A= 0 1 0 1 1 2 0 2 0 Quantos passeios de comprimento 2 existem ligando v2 a v2? Passando por v1: Passando por v2: Passando por v3: e1e1 e2e2 e3e3, e3e4, e4e4, e4e3 Portanto há 6 caminhos de comprimento 2 de v2 a v2

e1 v2 e2 E quantos passeios de comprimento 2 ligando v1 a v3? v1 e3 v3 e4 Passando por v1: Passando por v2: Passando por v3: Não tem e1e3, e1e4 Não tem Portanto há um total de dois passeios de comprimento 2 de v1 a v3. A questão geral é como determinar o número de passeios de vi a vj com um determinado comprimento. Podemos usar a multiplicação matrizes para responder essa questão: Vamos calcular A 2 = A A = 0 1 0 1 1 2 0 2 0 0 1 0 1 1 2 0 2 0 Em particular o elemento 2,2 coincide. Porque? = 1 1 2 1 6 2 2 2 4

Examinemos o elemento 2 da matriz produto. 0 1 0 1 1 2 0 2 0 0 1 0 1 1 2 0 2 0 = 1 1 2 1 6 2 2 2 4 Note que 6=1 * 1 + 1 * 1 + 2 * 2 No. de arestas de v2 a v1. No. de arestas de v1 a v2. No. de pares de arestas de v2 a v1 e de v1 a v2. = = No. de passeios de v2 a v2 de comprimento 2 passando por v1. Similarmente, temos No. de passeios de v2 a v2 passando por v2 (de comp. 2). No. de passeios de v2 a v2 passando por v3 (de comp. 2). Em geral, temos o seguinte

Teorema 6: Se G é um grafo com vértices v 1, v 2,..., v m e A é a matriz de adjacências de G, então para cada inteiro positivo n, o elemento i,j da matriz A n é o número de passeios de comprimento n de v i a v j. Prova: Por indução em n, o número de vértices Para n=1: A matriz A n = A, a matriz de adjacências e o elemento i,j da matriz é o número de passeios de comprimento 1. Por indução, supõe que o elemento i,j da matriz A k é o número de passeios de comprimento k de v i a v j. Temos de mostrar que o número de passeios de comprimento k+1 de v i a v j é o elemento i,j da matriz A k+1 Seja A=(a i,j ) e A k = (b i,j ) O elemento i,j de A k+1 = a i,1 b 1,j + a i,2 b 2,j +...+a i,m b m,j No de arestas de v i a v 1 * No de passeios de v 1 a v j de comprimento k Que é o número de passeios de comprimento k+1 de v i a v j passando por v 1

Isomorfismos de Grafos Lembremos que as figuras abaixo v 1 v 4 v 5 v 2 v 1 v 2 v 4 v 3 Representam o mesmo grafo. De fato cada vértice tem exatamente os mesmos vizinhos. E os diagramas abaixo representam o mesmo grafo? v1 v2 v3 v1 v3 v2 v 3 v 5 Não, pois os vizinhos de v2 no primeiro grafo são v1 e v3, ao passo que no da direita, é só v3. Entretanto, se renomearmos os vértices teremos o mesmo grafo. O que nos inspira a seguinte

Definição: Sejam G=(V,A) e G =(V,A ) dois grafos simples. G é dito isomorfo a G se existe função bijetora f : G ------> G que preserva adjacências: {u,v} é uma aresta de G se e somente se {f(u),f(v)} é uma aresta de G Exemplo: Considere os grafos w1 w3 v1 v2 v5 v3 v4 w4 w2 w5 São isomorfos. Um isomorfismo pode ser dado pela função: v1 v2 v3 v4 v5 w2 w3 w1 w4 w5

Como determinar se dois grafos são ou não isomorfos? Esse é problema muito difícil. Não, há, infelizmente, um método eficiente para resolver este problema. Se por inspeção, como fizemos, temos a sorte de verificar um isomorfismo, muito bem. Se não for possível, tenta-se mostrar que existe alguma diferença estrutural entre os dois grafos que evidencie o fato de eles não serem isomorfos. Definição: Uma propriedade P é dita invariante isomorfa se dados dois grafos isomorfos G e G, G tem a propriedade P, então G tem a propriedade P.

Teorema: São invariantes isomorfas as seguintes propriedades: 1. O no. de vértices 5. Ser conexo 2. O no. de arestas 6. Ter circuito Euleriano 3. O conjunto de vértices de grau k 7. Ter circuito Hamiltoniano 4. Circuito de comprimento k 8. No. de circuitos de comp k Exemplo: Verificar se são isomorfos os pares de grafos: Solução: Não são isomorfos pois o número de arestas não é o mesmo.

E para esse par de grafos, verifique se são isomorfos Note que eles têm o mesmo número de vértices e de arestas Têm o mesmo conjunto de graus: {2,2,2,3,3,4}

Vamos remover os vértices de grau 3. O grafo resultante é Note que eles não são isomorfos (e deveriam ser). Portanto, os grafos originais não são isomorfos Outra propriedade invariante importante é a planaridade, que vermos a seguir.