Grafos IFRN. Prof.Robinson Alves

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

x y Grafo Euleriano Figura 1

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

Grafos Eulerianos e o Problema do Carteiro Chinês

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

1 Trajeto Euleriano. > Trajeto Euleriano 0/20

2º Trabalho Prático - Algoritmos em grafos

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

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

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

Redes. ADSA António Câmara

Alguns probleminhas...

Matemática Discreta - Exercícios de Grafos

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

Teoria dos Grafos. Edson Prestes

Grafos: caminhos mínimos

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

As Pontes de Königsberg

Teoria dos Grafos. Edson Prestes

CI065 CI755 Algoritmos e Teoria dos Grafos

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

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

Percursos em um grafo

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

Teoria dos Grafos AULA 3

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

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

Teoria dos Grafos. Edson Prestes

Matemática Discreta. Aula nº 22 Francisco Restivo

Programa. 1 Parte 1 - Conjuntos e Aplicações. 1 Conjuntos. 4 Indução Matemática e Divisibilidade. 5 Congruências Lineares

Otimização em Grafos

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

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

Roteamentos AULA ... META. Introduzir alguns problemas de roteamento. OBJETIVOS. Ao final da aula o aluno deverá ser capaz de:

Teoria dos Grafos. Edson Prestes

Grafos: caminhos (matriz adjacência)

Árvores: Conceitos Básicos e Árvore Geradora

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

Estudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

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

Definição e Conceitos Básicos

Teoria dos Grafos AULA

Oferta de Serviços. Grafo Planar. Notas. Teoria dos Grafos - BCC204, Planaridade. Notas

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

Teoria dos Grafos Aula 2

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

INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO

Busca em Profundidade e em Largura

Teoria dos Grafos. Motivação

Teoria dos Grafos. Edson Prestes

IFRN. Conexidade e Distância. Prof. Edmilson Campos

Grafo planar: Definição

Ponto q está no polígono?

Pesquisa Operacional II. Professor João Soares de Mello

O grau de saída d + (v) de um vértice v é o número de arcos que tem

Análise de Clusters. Aplicações da formação de Grupos (Clustering)

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

PROBLEMA DO CARTEIRO CHINÊS

PESQUISA OPERACIONAL TEORIA DOS GRAFOS

Teoria dos Grafos Aula 16

Projeto e Análise de Algoritmos

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

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

BCC204 - Teoria dos Grafos

EXERCÍCIOS RESOLVIDOS DE TEORIA DOS GRAFOS - LISTA II. a) SOLUÇÃO

Teoria dos Grafos Aula 23

PCC173 - Otimização em Redes

APLICAÇÕES DE BUSCA EM GRAFOS

Teoria dos Grafos. Edson Prestes

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Teoria dos Grafos Aula 18

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

Matemática Discreta 10

1.2 Grau de um vértice

5COP096 TeoriadaComputação

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

CONCEITOS BÁSICOS EM GRAFOS

Teoria dos Grafos Aula 5

Geometria Computacional: Polígonos

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Códigos Corretores de Erros e Cliques de Grafos

Teoria dos Grafos. Edson Prestes

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

Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes

PCC173 - Otimização em Redes

Tecnicas Essencias Greedy e Dynamic

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

Uma forma de classificação

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

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

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

Grafos aula 3. Relembrando... Rede de eventos e atividades. Rede de eventos e atividades

Teoria dos Grafos. Edson Prestes

Análise de Redes de Transportes. Útil também para várias outras áreas além de Transportes!

Caminhos de Amizades pelo Facebook:

C 3 C 3. De acordo com o teorema de Euler, um grafo não orientado admite um ciclo de Euler se e só for conexo e não tiver vértices de grau ímpar.

Teoria dos Grafos. Cobertura, Coloração de Arestas, Emparelhamento

Transcrição:

Grafos IFRN Prof.Robinson Alves

Caminhos É uma seqüência de arestas onde o vértice final de uma aresta é o vértice inicial da próxima v c c3 c1 c6 c4 {c1,c,c4,c5,c6} {c,c3,c4,c5} {,v,,,v5} {v,,,v5,} c5 v5

Caminhos Um caminho de k vértices tem (k-1) arestas, v,v,...,vk-1,vk e o comprimento do caminho é (k-1) Caminho aberto(simples ou elementar): Todo os vértices são distintos. Ex.:{c,c3,c4} Caminho fechado ou ciclo: é aquele em que o vértice inicial é igual ao final, ou seja:,v,...,vk,vk+1, onde vk+1=. Ex {c1,c,c3,c4,c5} não é um caminho aberto

Caminhos Grafos Eulerianos (grafos de Euler) São grafos onde é possível achar um caminho fechado (ciclo), passando em cada aresta uma única vez Quais são os grafos de Euler? v v

Caminhos Grafos Eulerianos (grafos de Euler) Teorema: um grafo conexo G é um grafo de Euler se e somente se todos os seus vértices são grau par. v v

Caminhos Caminhos Eulerianos São caminhos que passam por cada aresta um vez, passando por todas Teorema: baseado no grau dos vértices do grafo: existe um caminho Euleriano em um grafo se: Não ocorrer vértices de grau ímpar (inicia e termina no mesmo vértice) v v v5

Caminhos Caminhos Eulerianos Teorema: baseado no grau dos vértices do grafo:existe um caminho Euleriano em um grafo se: Existem vértices de grau ímpar (inicia em um vértice ímpar e termina em outro vértice ímpar) v Grafo semi-euleriano

Caminhos Algoritmo para verificar a existência de um caminho euleriano grau=0; soma=0; matadj[][]; N=numero de linhas da matriz; f=0;//linha atual; Enquanto(soma<=)e(f<=N) { grau=0; para(g=0;g<n;g++){ grau+=matadj[f][g]; } se grau mod == 1 // ímpar soma++ f++; } Se (soma>) NÃO EXISTE CAMINHO Senao EXISTE CAMINHO v v5 1 3 4 5 grau 1 0 1 0 1 0 1 0 0 1 1 3 1 0 0 1 0 4 0 1 1 0 1 5 0 1 0 1 0

Caminhos Método de Fleury para traçar um ciclo euleriano Inicie em qualquer vértice v e atravesse as arestas de uma maneira arbitrária, seguindo as seguintes regras R1) apague a aresta que foi visitada e se algum vértice ficar isolado, apague-o também. R) em cada estágio, nunca atravesse uma aresta, se naquele momento a sua remoção divide o grafo em duas ou mais componentes não triviais (excluindo os vértices isolados). a b c g d e f

Caminhos Ciclos e Caminhos Hamiltonianos Um ciclo hamiltoniano em um grafo conexo G é definido com um caminho simples fechado em que cada vértice de G é visitado uma única vez (com exceção do nó inicial == final) Um ciclo hamiltoniano em um grafo de n vértices tem n arestas v c c3 -Não é um grafo de euler c1 c6 c4 -Possui ciclo hamiltoniano? c5 v5

Caminhos Condições para existência de um caminho Euleriano em um grafo Grafo de euler ou semi-euler Condições para existência de um caminho Hamiltoniano em um grafo Não tem solução

Problema do Carteiro Chinês A primeira referência ao problema foi em 196 em uma revista chinesa, tendo a designação ficada associada ao problema Pode ser formulado como o problema de encontrar um ciclo Euleriano de menor custo Exemplo: Considere um bairro de uma cidade em que um carteiro é responsável por distribuir correspondências. Neste modelo as arestas ponderadas representaram as ruas e suas respectivas distâncias e os vértices os cruzamentos. Para que a correspondência seja entregue, é necessário que todas as ruas sejam percorridas pelo menos uma vez e que ao final o carteiro volte a estação do correio. O problema consiste em determinar o menor caminho possível para que o carteiro faça seu trabalho. Problemas similares: recolhimento do lixo, inspeção de linhas de transmissão, inspeção de linhas telefônicas, etc.

Problema do Carteiro Chinês Encontrar o menor caminho(sendo de euler) Problema do carteiro chinês: início ao fim passando em todas as arestas uma vez (menor caminho) caminho de euler Determinar o custo do menor caminho Solução 1: se o grafo for euleriano, aplicar algoritmo de Fleury Solução : se o grafo não for de euler aplicar o algoritmo de carteiro chinês (Christofides)

Algoritmo do carteiro chinês P1: determinar os vértices de grau ímpar P: construa a matriz de distancia D, com os vértices de grau ímpar (Dijkstra) P3: determinar o par de vértices c/ menor caminho através da matriz D P4: construa um caminho artificial de vi para vj com custo encontrado em P3 P5: elimine de D as colunas e linhas correspondentes vi e vj P6: se houver linhas e colunas em D, volte para P3 P7: ache o caminho de euler (fleury) P8: o custo será igual à soma dos custos de todas as arestas acrescida dos custos das arestas encontradas em P3

Problema do Menor Caminho Algoritmo Dijkstra Edsger Dijkstra, ganhador do prêmio Turing em 197 A idéia principal é o uso de um método guloso para o problema do caminho mínimo com origem única. Funciona em grafo dirigido ou não dirigido com arestas de peso não negativo, em tempo computacional O([m+n]log n) onde m é o número de arestas e n é o número de vértices

Problema do Menor Caminho Algoritmo Dijkstra -determinar: Seja G(V,A) e uma função L(V,W) pertencente aos reais e um vértice fixo V0 de V (fonte) k Problema: determinar v0,,...,vk, tal que 1 l ( v, i v i i0 seja mínimo 1 ) L( v i, v j ) senão existir aresta( vi, v j ) 0 vi v j custo se exitir aresta( vi, v j )

Problema do Menor Caminho Entre Dois Vértices Algoritmo Dijkstra -determinar: S={v0}; D[v0]=0; para cada v pertencente a V-{v0} D[v]=L(v0,V); enquanto (s <> V){ escolha o vértice w pertence V-S tal que D[w] seja mínimo e congele o antecessor coloque w em S, isto é, faça S=S U {w} para cada v pertencente V-S faca{ D[v]=min(D[v],d[w]+L(w,v)) se(d[w]+l(w,v)<d[v]) D[v].antecessor=w; } }

Problema do Menor Caminho Entre Dois Ex Dijkstra Vértices 50 v 10 100 10 30 0 v5 60 0 10 0 50 0 0 30 0 100 10 60 0 Iteração S W d(w) d[] d[3] d[4] d[5]

Problema do Menor Caminho Entre Dois Ex Dijkstra Vértices 50 v 10 100 10 30 0 v5 60 0 10 0 50 0 0 30 0 100 10 60 0 Iteração S W d(w) d[] d[3] d[4] d[5]

Problema do Menor Caminho Entre Dois Vértices Ex Dijkstra v 50 10 100 10 30 v5 60 0 10 0 50 0 0 30 0 100 10 60 0 0 Iteração S W d(w) d[] d[3] d[4] d[5] Inicio 1 3 4 - - 10() 30() 100() V1,v v 10 -,10+50 30,10+ 100,10+ 60(v) 30() 100() V1,v, 30-60,30+0-100,30+60 50().limp 90() V1,v,, 50 - - - 90,50+10 60() V1,v,,,v5 v5 60 - - - -

Exercícios: Encontre o menor caminho entre um vértice origem até todos os outros vértices. Use Algoritmo do Dijkstra v 1 5 3 v5 v 3 4 v 3 v6 1 7 v 4 v 7 v 8 3 v6 3 1 5 v 4 13 8 7 9 v5

Exercícios: Encontre um ciclo Euleriano para os grafos abaixo. Use Algoritmo do carteiro chinês v 5 1 1 3 v 1 5 3 v5 v 3 4 v6 1 7 v7 v8 3 1 5 v 4 13 9 v6 3 8 7 v5

Dúvidas