Teoria dos Grafos AULA

Documentos relacionados
Teoria dos Grafos. Caminho mínimo - Algoritmo de Dijskstra

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

= comprimento (distância, valor) da aresta orientada do vértice i ao vértice j,, e:

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

Teoria dos Grafos. Árvores

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

Teoria dos Grafos. Árvores Geradoras

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

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

Teoria dos Grafos. Fluxo Máximo em Redes

Teoria dos Grafos AULA 2

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

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

Teoria dos Grafos. Conjuntos de Corte e Conectividade

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

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Teoria dos Grafos. Grafos Planares

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

Teoria dos Grafos AULA 1

Otimização em Grafos

Pesquisa Operacional

Teoria dos Grafos AULA 1

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

Grafos: caminhos (matriz adjacência)

GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira

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

Teoria dos Grafos AULA 3

Problema de Fluxo Máximo

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

Problema do Caminho Mínimo

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

Pesquisa Operacional. Teoria dos Grafos

Objetivo: Encontrar uma combinação de produtos que dê o maior lucro possível. Decisão a ser tomada Objetivo: Maximizar o lucro total

Problemas de Fluxo em Redes

Teoria dos Grafos. Grafos Eulerianos

Oalgoritmo de Dijkstra

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

Edsger Wybe Dijkstra

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

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 Aula 22

Caminhos mínimos de todos os pares

Teoria dos Grafos Aula 23

INE Fundamentos de Matemática Discreta para a Computação

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Teoria dos Grafos Aula 8

Algoritmo de Dijkstra

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Algoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica

Introdução à Pesquisa Operacional - Otimização Linear

Teoria dos Grafos Aula 7

Aula 19: Lifting e matrizes ideais

Teoria dos Grafos. Edson Prestes

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

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

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

Teoria dos Grafos Aula 24

O Problema do Fluxo de Custos Mínimos Terça-feira 2 de abril. O Problema do Caminho mais Curto. Fórmula. Outra Fórmula

O método Simplex Aplicado ao Problema de Transporte (PT).

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

Teoria dos Grafos Aula 14

Otimização Combinatória - Parte 3

PCC173 - Otimização em Redes

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

Pesquisa Operacional II. Professor João Soares de Mello

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

Circuitos Hamiltorianos

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

Aula 14. Aula de hoje. Aula passada

Teoria dos Grafos. Edson Prestes

GRAFOS Aula 03 Representações de Grafos Max Pereira

Resolvendo algebricamente um PPL

Universidade Federal de Alfenas

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

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Algoritmos de aproximação - Problema do caixeiro viajante

Prof. Marco Antonio M. Carvalho

Grafos: caminhos mínimos

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

PLANO DE AULA IDENTIFICAÇÃO

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford. O problema tem subestrutura óptima

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford

AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado

Melhores momentos AULA 3. Otimização Combinatória p. 102

Fundamentos de Matemática Curso: Informática Biomédica

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

Matemática Discreta - Exercícios de Grafos

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

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos

Facebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.

Análise de Algoritmos

Estruturas de Dados Grafos

Aplicação do algoritmo de Dijkstra para o problema de roteamento da frota de táxis partindo de um ponto fixo

Algoritmos de Caminho Mínimo Parte 1

Transcrição:

Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br AULA Caminho mínimo - Algoritmo de Djskstra Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos, Notas de aula, IBILCE, Unesp, 2002-2013.

Caminho Mínimo em Grafos

Introduçao Considere a rede: 2 d 2 c 9 7 s 15 4 a 3 35 16 6 b 21 5 t Teoria dos Grafos 3

Dado dois vértices nesta rede, queremos determinar o menor caminho entre eles. Uma primeira questão é como representar os valores associados às arestas neste grafo. Isto pode ser feito através da matriz de pesos. Seja D um digrafo simples cujas arestas possuem pesos associados, digamos, a cada aresta (v i,v j ) está associado um número real w ij 0 (que pode representar comprimento, distância, valor, etc). Vamos definir w ii = 0 para todo i e w ij = quando não existe uma aresta entre os vértices v i e v j. Assim a matriz de pesos é uma matriz n n definida como W = [w ij ], onde n é o número de vértices. Teoria dos Grafos 4

Exemplo Construir a matriz de pesos para a rede abaixo: 2 d 2 c 9 7 s 15 4 a 3 35 16 6 b 21 5 t Teoria dos Grafos 5

Observação 1. Em geral w ij w ji e w ij +w jk pode ser menor ou igual a w ik. Por exemplo, na rede anterior, w sd +w da = 9+4 15 = w sa. Teoria dos Grafos 6

Observação 2. Em geral w ij w ji e w ij +w jk pode ser menor ou igual a w ik. Por exemplo, na rede anterior, w sd +w da = 9+4 15 = w sa. O algoritmo que nós vamos ver foi proposto por Dijkstra em 1959 e é um dos mais eficientes até hoje. Vamos supor então que queremos encontrar o caminho mínimo entre s e t na rede acima. Teoria dos Grafos 6

Idéia do Algoritmo: Rotular os vértices do digrafo. A partir do vértice inicial s, proceder em direção ao vértice final t (seguindo as arestas orientadas) rotulando os vértices com as suas distâncias ao vértice s, medida até aquele momento. A cada estágio do algoritmo teremos vértices que possuem rótulos temporários e outros rótulos permanentes. O rótulo de um vértice v j é feito permanente quando este rótulo representa a menor distância de s até v j. Começamos associando rótulo permanente igual a zero para o vértice s, e um rótulo temporário igual a para os outros n 1 vértices do grafo. A cada iteração, um novo vértice recebe um rótulo permanente de acordo com as seguintes regras: Teoria dos Grafos 7

1. Cada vértice v j com um rótulo temporário, recebe um novo rótulo temporário dado por: min{rótulo de v j,(rótulo de v i )+w ij } onde v i é o vértice que recebeu rótulo permanente na iteração anterior e w ij é o valor da aresta entre o vértice v i e o vértice v j. 2. Encontre o menor valor entre os rótulos temporários. Este será o rótulo permanente do respectivo vértice. Em caso de empate selecione qualquer um dos candidatos e atribua rótulo permanente ao escolhido. Repetir 1 e 2 até que o vértice destino, t, receba um rótulo permanente. Teoria dos Grafos 8

Exemplo Vamos aplicar a ideia acima à rede abaixo: 2 d 2 c 9 7 s 15 4 a 3 35 16 6 b 21 5 t Teoria dos Grafos 9

Aplicação do algoritmo: Inicializaçao: rot(s) = 0 é permanente, rot(a) = rot(b) = rot(c) = rot(d) = rot(t) = são temporários it = 1 Regra 1 Novo rótulo Novo rot(a) = min{,0+w sa } = min{,15} = 15 Novo rot(b) = min{,0+w sb } = min{, } = Novo rot(c) = min{,0+w sc } = min{, } = Novo rot(d) = min{,0+w sd } = min{,9} = 9 Novo rot(t) = min{,0+w st } = min{, } = Regra 2 Rótulo permanente min{15,,,9, } = 9 rot(d) torna-se permanente Teoria dos Grafos 10

Aplicação do algoritmo cont.: it = 2 Regra 1 Novo rótulo Novo rot(a) = min{15,9+w da } = min{15,9+4} = 13 Novo rot(b) = min{,9+w db } = min{, } = Novo rot(c) = min{,9+w dc } = min{,9+2} = 11 Novo rot(t) = min{,9+w dt } = min{, } = Regra 2 Rótulo permanente min{13,, 11, } = 11 rot(c) torna-se permanente Teoria dos Grafos 11

Aplicação do algoritmo cont.: it = 3 Regra 1 Novo rótulo Novo rot(a) = min{13,11+w ca } = min{13,11+ } = 13 Novo rot(b) = min{,11+w cb } = min{,11+ } = Novo rot(t) = min{,11+w ct } = min{,11+7} = 18 Regra 2 Rótulo permanente min{13,, 18} = 13 rot(a) torna-se permanente Teoria dos Grafos 12

Aplicação do algoritmo cont.: it = 4 Regra 1 Novo rótulo Novo rot(b) = min{,13+w ab } = min{,13+35} = 48 Novo rot(t) = min{18,13+w at } = min{18,13+ } = 18 Regra 2 Rótulo permanente min{48, 18} = 18 rot(t) torna-se permanente Fim Teoria dos Grafos 13

Aplicação do algoritmo cont.: it = 4 Fim Regra 1 Novo rótulo Novo rot(b) = min{,13+w ab } = min{,13+35} = 48 Novo rot(t) = min{18,13+w at } = min{18,13+ } = 18 Regra 2 Rótulo permanente min{48, 18} = 18 rot(t) torna-se permanente Podemos parar pois o vértice destino, t, recebeu rótulo permanente. Assim o menor caminho entre s e t tem comprimento igual a 18. Como recuperar o caminho? A partir do vértice destino t, verificamos o vértice com rótulo permanente usado na obtenção do rótulo de t. No nosso exemplo, o vértice c. Repetimos o processo a partir de c até alcançar o vértice inicial s. Assim temos t, c, d, s. O caminho é obtido invertendo a ordem obtida: s, d, c, t. Teoria dos Grafos 13

Exemplo Rastrear o algoritmo de Dijkstra usando o digrafo com vértices s, a, b, c, d, t cuja matriz de pesos associada é: W = 0 7 4 9 7 7 0 1 6 4 1 0 3 9 3 0 1 3 7 1 0 5 6 3 5 0. Teoria dos Grafos 14

Observações 1. Outros Algoritmos para problemas de Caminho Mínimo em grafos podem ser encontrados por exemplo na página 283 de: [Otimização Combinatória e Programação Linear, M.C. Goldbarg e H.P.L. Luna, Ed. Campus, 2000]. 2. O algoritmo de Dijskstra funciona apenas se w ij 0 para todos i,j. Verifique este fato aplicando o algoritmo à seguinte rede para encontrar o menor caminho entre v 1 e v 3 : v 1 5 1 v 2 v 3 Teoria dos Grafos 15