• Nenhum resultado encontrado

Caminho mais curto e o algoritmo de Dijkstra

N/A
N/A
Protected

Academic year: 2022

Share "Caminho mais curto e o algoritmo de Dijkstra"

Copied!
27
0
0

Texto

(1)

Caminho mais curto e o algoritmo de Dijkstra

Márcia R. Cerioli

Departamento de Ciência da Computação - IM e PESC - COPPE

UFRJ

Algoritmos e Grafos Dezembro de 2015

(2)

Problema a ser resolvido a cada consulta do tipo:

Qual o caminho mais curto do DCC ao Pão de Açúcar?

(3)

O Problema

Qual o caminhomais curto do DCC ao Pão de Açúcar?

Objetivo: Caminho com o menor:

I custo

I distância

I trânsito

I tempo

(4)

Caminho mais curto e o algoritmo de Dijkstra Problema do Caminho mais Curto

Modelagem em grafos

Mundo real Modelagem Matemática

pontos importantes vértices V(G) esquinas

ruas arestas E(G)

(5)

Modelagem em grafos

Mundo real Modelagem Matemática

pontos importantes vértices V(G) esquinas

ruas arestas E(G)

custo custo da aresta c :E(G)→Q+

(6)

Modelagem em grafos

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

(7)

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

Vérticea é a origem do caminho

(8)

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

e queremos encontrar o menor caminho de aatéf.

(9)

Propriedades dos caminhos

v0-vk-caminho:

Sequência de vérticesP =v0v1. . .vk, tal quevi−1vi ∈E(G) CustodeP:

Custo(P) =

k

X

i=1

c(vi−1vi) Distânciaentre u e v:

dist(u,v)=min{Custo(P) :P é u-v-caminho}

(10)

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

Custo(P) =2+3+1=6

(11)

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

Custo(Q) =2+1+1+1=5 dist(a,f) = 5

Q é caminho mínimo deaatéf

(12)

Propriedade dos caminhos mínimos

a• v

• •f

SeP é um a-f-caminho mínimo ev ∈P,

entãoP0, a parte de P que vai de a atév, é uma-v-caminho mínimo.

(13)

Caminhos mínimos tem a Prop. da Subestrutura Ótima

a• v

• •f

Se P é um a-f -caminho mínimo e v ∈P,

então a parte de P que vai de a até v é um a-v -caminho mínimo.

Pois caso contrário, existiriaQ um a-v-caminho mínimo, e Q concatenado comP00, a parte de P que vai de v atéf, seria um a-f-caminho menor queP (que é mínimo)... um absurdo!

(14)

E.W. Dijkstra

Edsger Wybe Dijkstra, em 1956 Holanda

(1930 – 2002)

(15)

A motivação de Dijkstra – 1956

Trabalhando como programador

no Centro de Matemática da Holanda – atual CWI

Tarefa de divulgação ao público leigo sobre a capacidade do novo computador - ARMAC

(16)

Caminho mais curto e o algoritmo de Dijkstra A solução de Dijkstra

A ideia de Dijkstra – 1956

Menor caminho deAmsterdãa uma cidade escolhida pelo público.

e os algoritmos até então existentes não funcionavam no ARMAC...

Calcular e Manter

d(v) =tamanho do menor caminho até então encontrado dea atév

Conjunto S dos vérticesresolvidos

(17)

Caminho mais curto e o algoritmo de Dijkstra A solução de Dijkstra

A ideia de Dijkstra – 1956

Menor caminho deAmsterdãa uma cidade escolhida pelo público.

Mas... era necessário ter um programa para determinar tal caminho...

Calcular e Manter

d(v) =tamanho do menor caminho até então encontrado dea atév

Conjunto S dos vérticesresolvidos

(18)

Caminho mais curto e o algoritmo de Dijkstra A solução de Dijkstra

A ideia de Dijkstra – 1956

Menor caminho deAmsterdãa uma cidade escolhida pelo público.

Mas... era necessário ter um programa para determinar tal caminho...

e os algoritmos até então existentes não funcionavam no ARMAC...

Conjunto S dos vérticesresolvidos

(19)

A ideia de Dijkstra – 1956

Menor caminho deAmsterdãa uma cidade escolhida pelo público.

Mas... era necessário ter um programa para determinar tal caminho...

e os algoritmos até então existentes não funcionavam no ARMAC...

Calcular e Manter

d(v) =tamanho do menor caminho até então encontrado dea atév

Conjunto S dos vérticesresolvidos

(20)

Caminho mais curto e o algoritmo de Dijkstra A solução de Dijkstra

O algoritmo

Entrada: GrafoG = (V,E),c :E →Q+ e a∈V

Saída: d :V →Q+, onded é a distância dea atév,∀v ∈V

1. d(a)←0;π(a)←a

2. Para cada v ∈V \ {a},d(v)← ∞

3. Q ←V Q é dos ainda a resolver

4. S ← ∅ S é o dos resolvidos

(21)

O algoritmo

Entrada: GrafoG = (V,E),c :E →Q+ e a∈V

Saída: d :V →Q+, onded é a distância dea atév,∀v ∈V

1. d(a)←0;π(a)←a

2. Para cada v ∈V \ {a},d(v)← ∞

3. Q ←V Q é dos ainda a resolver

4. S ← ∅ S é o dos resolvidos

Q é uma fila de prioridades.

(22)

O algoritmo

5. Enquanto Q6=∅

6. u ←Extraimin(Q,d) 7. Para cada v ∈Adj(u)∩Q, 8. Sed(u) +c(uv)<d(v),

8. então d(v)←d(u) +c(uv)

8. π(v)←u

9. S ←S∪ {u}

(23)

O algoritmo

5. Enquanto Q6=∅

6. u ←Extraimin(Q,d) 7. Para cada v ∈Adj(u)∩Q, 8. Sed(u) +c(uv)<d(v),

8. então d(v)←d(u) +c(uv)

8. π(v)←u

9. S ←S∪ {u}

(24)

Caminho mais curto e o algoritmo de Dijkstra A solução de Dijkstra

Um exemplo

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

(25)

Um exemplo

a 2

4 b

1

4

3

c 1

d 2

e 3

1 f

Execute o algoritmo de Dijkstra, com o mesmo estilo de tabela que usamos para a execução do algoritmo de Prim.

(26)

Prêmio Turing

Edsger W. Dijkstra, em 2002 Prêmio Turing, em 1972

(27)

O algoritmo de Dijkstra é amplamento usado

I Roteamento de msg em rede de computadores

I Na determinação de caminhos em aplicativos

I e em muitas outras aplicações, de forma indiretas

Estima-se que seja o algoritmo que mais vezes é executado por minuto, no mundo.

Referências

Documentos relacionados

Distribution of Staphylococcus aureus isolated from bovine mastitis in Brazil, according to the number of virulence genes exhibited (luk, hla, hlb, sea, seb, sec, sed,

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

[...] E quanto a currículo, acho que, como a gente foi pra se formar professores de licenciatura, acho que foi totalmente ao contrário do que a gente

Para tanto, é imprescindível que o sistema normativo seja capaz de sustentar autoridade por meio do exercício da sua função de mediador entre indivíduos e razões que se aplicam

E necessário ter em mente não só todo o potencial da divulgação científica para atrair e engajar o público leigo, como também que ela pode ser fonte de estereótipos negativos

Áreas com indícios de degradação ambiental solo exposto no Assentamento Fazenda Cajueiro A e no Assentamento Nossa Senhora do Carmo B, localizados, respectivamente, no Município de

A curva em azul é referente ao ajuste fornecido pelo modelo de von Bertalany, a curva em vermelho refere-se ao ajuste fornecido pelos valores calculados Lt, dados pela equação

Os estudos sobre diferenciais de salários são explicados por alguns fatores que revelam a existência da relação entre as características pessoais produtivas educação,