Algoritmos de Caminho Mínimo em Grafos

Slides:



Advertisements
Apresentações semelhantes
Grafos eulerianos 1.
Advertisements

Algoritmo de Caminho Mínimo
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Representação de Grafos
Distância Conceito útil para se medir a localização relativa entre diferentes vértices de um grafo Distância d(v,w): em um grafo conexo: número de arestas.
Algoritmos em Grafos.
Prof. M.Sc. Fábio Francisco da Costa Fontes Maio
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Grafos - Caminhos Caminhos Máximo / Mínimo:
Geometria Computacional Fecho Convexo II
Celso C. Ribeiro Caroline T. Rocha
Fluxo em Redes Prof. Ricardo R. Santos.
Geometria Computacional Galeria de Arte
Análise de Decisão Aplicada a Gerência Empresarial – UVA Grafos - V
O Problema do Passeio mais Curto
Exercícios PAA- Grafos
Exercícios PAA- Grafos
Celso C. Ribeiro Caroline T. Rocha
Pontes Seja (G) o número de componentes conexas de G. Uma ponte é uma aresta a tal que (G - a) > (G)
Percursos em um grafo 2010/1 Teoria dos Grafos (INF 5037/INF2781)
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
CC/EC/PPGI/UFES CC/EC/MestradoTeoria dos Grafos Algoritmo de Caminho Mínimo.
Problema do caixeiro viajante
Análise e Síntese de Algoritmos
Grafos Grafo G = (V, E) V — conjunto de vértices
Problemas de fluxo numa rede
Árvores.
2002 LCG/UFRJ. All rights reserved. 1 Localização no Plano Claudio Esperança Paulo Roma.
Introdução Redes LAN - abrangência: edifícios e campos.
Dárlinton B. Feres Carvalho
Busca Cega (Exaustiva)
Árvore Geradora de Peso Mínimo
Ronaldo Celso Messias Correia –
Pesquisa Operacional - Profa Úrsula L. F. Ribeiro
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Algoritmos em Grafos.
Algoritmos em Grafos Conceitos principais Prof. André Renato
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Grafos Árvores Geradoras.
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Otimização por Colônia de Formigas (ACO)
Exercícios PAA- Grafos
Otimização Inteira 5a. Aula Franklina.
Celso C. Ribeiro Caroline T. Rocha
Aula 07 – Limite e Continuidade
Operações com grafos União Exemplo
O problema do emparelhamento máximo
Problemas de Fluxo Máximo
Problemas de fluxo em grafos 1º semestre/2012 Prof. André Renato
Introdução e Busca Cega
Algoritmos Gulosos em Grafos
Problema do menor Caminho
Conceitos básicos em grafos
Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS.
Inteligência Artificial
Conexidade 1.
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.

Geometria Computacional Fecho Convexo
Exercícios de Fluxo em Redes
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Redes de transporte Uma rede ou grafo consiste num número finito de pontos chamados nós ou vértices interligados por arcos. Muitos sistemas, físicos ou.
Celso C. Ribeiro Caroline T. Rocha
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Grafos Anjolina Grisi de Oliveira 2005
Grafos Anjolina Grisi de Oliveira 2007
Algoritmo de Dijkstra.
1 UNIVERSIDADE CATÓLICA DE PELOTAS Escola de Informática Programa de Pós-Graduação em Informática Mestrado em Ciência da Computação Algoritmos de Fluxo.
Transcrição da apresentação:

Algoritmos de Caminho Mínimo em Grafos CC/EC/Mestrado Teoria dos Grafos 1

CAMINHOS MAIS CURTOS

Caminhos mais Curtos Dados: grafo G=(V,A) orientado e distância cij associada ao arco (i,j)  A. Problema: Obter o caminho mais curto entre dois nós s e t. O comprimento de um caminho é igual à soma dos comprimentos (distâncias) dos arcos que formam o caminho. A “distância” ou “comprimento” de um arco pode ter diversas interpretações dependendo da aplicação: custos, distâncias, consumo de combustível, etc. Exemplo 1: Dado um mapa rodoviário, determinar a rota mais curta de uma cidade a outra. (rota mais rápida, rota com menor consumo de combustível, ...)

Caminhos mais Curtos Exemplo 2: Construção de uma estrada entre duas cidades A e K. O grafo abaixo representa os diversos trechos possíveis e o custo de construção de cada um. Determinar o trajeto ótimo cujo custo de construção seja mínimo (corresponde a achar o caminho mais curto de A a K em relação a estes custos). B E H 6 4 2 4 4 4 8 F I 5 5 2 5 A K C 4 2 4 7 4 2 4 D G J Solução: A – D – G – I – K custo = 7 + 2 + 2 + 5 = 16

Caminhos mais Curtos Condição de existência: Caminho de i a j contendo um ciclo w: k j i w Comprimento do caminho = comprimento (i  k) + comprimento (w) + comprimento (k  j) Qual é o comprimento do caminho mais curto de i a j se o comprimento do ciclo w é negativo?

Caminhos mais Curtos Condição de existência: não há ciclos de comprimento negativo. A solução ótima (caminho mais curto) sempre será um caminho elementar (sem ciclos).

Caminhos mais Curtos Caminho mais curto: - De um nó a outro - De um nó a todos os demais - De um nó a todos os demais - Entre todos os pares de nós de um grafo

Caminhos mais Curtos Caminho mais curto do nó 1 a cada nó do grafo G=(V,A) Hipótese: todas as distâncias cij são positivas: cij ≥ 0, (i,j)  A Algoritmo de Moore-Dijkstra (1957-1959) *(i) = comprimento do caminho mais curto do nó 1 ao nó i Em especial, *(1)=0 (distâncias positivas). Algoritmo com n-1 iterações No início de cada iteração, o conjunto V de nós está particionado em dois subconjuntos S e S, com o nó 1 em S.

Caminhos mais Curtos Cada nó i  V possui um rótulo (i ), que verifica a seguinte propriedade: dá o valor do caminho mais curto de 1 a i sob a restrição de que todos os nós utilizados (exceto o próprio i ) pertençam a S. a 1 b c i cai cbi cci

Caminhos mais Curtos Teorema: Seja o nó tal que . Então , isto é, o comprimento do caminho mais curto do nó 1 ao nó j é igual a . Demonstração: Por construção, certamente existe um caminho de 1 até j com comprimento (j). Suponhamos que exista outro caminho de 1 a j de comprimento menor do que (j). Dividamos este caminho em duas partes: - P1 é a parte inicial, do nó 1 ao nó L, onde L é o primeiro nó de encontrado - P2 é a parte final, do nó L ao nó j

Caminhos mais Curtos comprimento de P1 ≥ (L) ≥ (j) Logo, o comprimento de P1 + P2 ≥ (j).

Algoritmo de Dijkstra Resolve o problema com um vértice-fonte em grafos cujas arestas tenham peso maior ou igual a zero. Este algoritmo é capaz de determinar o caminho mínimo, a partir de um vértice inicial v, para todos os outros vértices do grafo. CC/EC/Mestrado Teoria dos Grafos 12

Algoritmo de Dijkstra vINI = vértice inicial d(vINI, vINI) = 0 d(vINI, i) = INFINITO, i, i  V – {vINI} fechado =  aberto = V anterior(i) = 0, i, i  V enquanto(aberto ≠ ) { k = vértice pertencente a aberto, mais próximo do vértice inicial fechado = fechado  k; aberto = aberto – k; para cada vizinho i de k que está em aberto faça{ custo = min{d(vINI, i), d(vINI,k) + c(k,i)} se (custo < d(vINI, i)) então d(vINI, i) = custo; anterior(i) = k } CC/EC/Mestrado Teoria dos Grafos 13

Execução fim do algoritmo 1. o grafo inicial 7. 2 é o vértice de menor custo; fechado = fechado+{2} 13. 6 é o vértice de menor custo; fechado = fechado+{6} 2. inicializando os custos 8. examinando os vértices vizinhos ao 2 14. fim alcançado fim do algoritmo 3. atualizando o conjunto fechado 9. 4 é o vértice de menor custo; fechado = fechado+{4} 4. examinando os vértices vizinhos ao 1 que estão em aberto 10. examinando os vértices vizinhos ao 4 5. 3 é o vértice de menor custo; fechado = fechado+{3} 11. 5 é o vértice de menor custo; fechado = fechado+{5} 6. examinando os vértices vizinhos ao 3 12. examinando os vértices vizinhos ao 5 CC/EC/Mestrado Teoria dos Grafos 14

Caminhos mais Curtos Número de operações (tempo): ~ n2 n-1 iterações, cada iteração busca o mínimo em uma lista com até n-1 elementos Caminho mais curto do nó 1:  ao nó j  a todos os nós Mesma complexidade, mas critérios de parada diferentes. Distâncias negativas: 1 3 2 10 - 8 Caminho mais curto de 1 a 3? 2 Resultado do algoritmo? 3 Porque?