SlideShare uma empresa Scribd logo
1 de 26
Caminhos Mínimos
Marcos Castro
Um motorista deseja obter o caminho mínimo (mais curto) entre Campinas e
Araçatuba, duas cidades de São Paulo. Dado um mapa do estado de São Paulo
contendo as distâncias entre cada par de interseções adjacentes, como obter o
caminho mínimo entre as duas cidades?
Nesse caso nós podemos modelar o mapa rodoviário como um grafo em que
vértices representam as interseções, arestas representam segmentos de estrada
entre interseções e o peso de cada aresta, a distância entre interseções.
Nesta seção trataremos do problema de encontrar o caminho mínimo entre
dois vértices de um grafo orientado valorado G = (V, E).
O problema do motorista descrito anteriormente é equivalente a obter os
caminhos mínimos a partir de uma única origem.
Dado um grafo orientado valorado G = (V, E), o peso de um caminho
c = (v0, v1, v2, ..., vk) é a soma de todos os pesos das arestas do caminho:
p(c) = ∑
k
i=1 = p(vi-1, vi)
O caminho mínimo é definido por:
σ(u,v) = {min{p(c) : u -> v}, se existir um caminho de u a v,
∞, caso contrário.
Um caminho mínimo do vértice u ao vértice v é então definido como qualquer
caminho c com peso p(c) = σ(u, v).
O peso das arestas pode ser interpretado como outras métricas diferentes de
distâncias, tais como tempo, custo, penalidades, etc.
Um caminho mínimo em um grafo G = (V, E) não pode conter ciclo algum, uma
vez que a remoção do ciclo do caminho produz um caminho com mesmos
vértices origem e destino e um caminho de menor peso. Assim, podemos
assumir que caminhos mínimos não possuem ciclos.
Uma vez que qualquer caminho acíclico em G contém no máximo |V| vértices,
então o caminho contém no máximo |V|-1 arestas.
A representação de caminhos mínimos em um grafo G=(V, E) pode ser realizada
pela variável Antecessor. Para cada vértice v ∈ V o Antecessor[v] é outro vértice
u ∈ V ou nil.
O algoritmo para obter caminhos mínimos atribui a Antecessor os rótulos de
vértices de um caminho de antecessores com origem em um vértice v e que
anda para trás ao longo de um caminho mínimo de um vértice origem s até v.
Durante a execução do algoritmo para obter caminhos mínimos, os valores em
Antecessor[v] não necessariamente indicam caminhos mais curtos. Entretanto,
ao final do processamento Antecessor contém, de fato, uma árvore de
caminhos mínimos.
O algoritmo de Dijkstra encontra o menor caminho entre quaisquer dois
vértices do grafo, quando todos os arcos têm comprimento não-negativos.
O algoritmo de Dijkstra utiliza um procedimento iterativo, determinando, na
iteração 1, o vértice mais próximo de 1, na segunda iteração, o segundo vértice
mais próximo do vértice 1, e assim sucessivamente, até que em alguma iteração
o vértice N seja atingido.
O algoritmo mantém um conjunto S de vértices cujos caminhos mínimos até um
vértice origem já são conhecidos.
Este algoritmo utiliza a técnica de relaxamento. Para cada vértice v ∈ V o
atributo p[v] é um limite superior do peso de um caminho mínimo do vértice
origem s até v.
O vetor p[v] contém uma estimativa de um caminho mais curto.
No passo da inicialização é executado:
Antecessor[v] = nil ∀ v ∈ V
p[v] = 0 para o vértice origem s
p[v] = ∞ para v ∈ V - {s}
O processo de relaxamento de uma aresta (u, v) consiste em verificar se é
possível melhorar o melhor caminho obtido até o momento até v se passarmos
por u. Se isto acontecer então p[v] e Antecessor[v] devem ser atualizados.
Relaxamento de uma aresta:
Se p[v] > p[u] + peso da aresta (u, v)
então p[v] = p[u] + peso da aresta (u, v)
Antecessor[v] := u
procedure Dijkstra (Grafo, Raiz);
for v := 0 to Grafo.NumVertices-1 do
p[v] := Infinito;
Antecessor[v] := -1;
p[Raiz] := 0;
Constroi heap no vetor A;
S := Ø;
While heap > 1 do
u := RetiraMin(A);
S := S + u;
for v ∈ ListaAdjacentes[u] do
if p[v] > p[u] + peso da aresta (u,v)
then p[v] = p[u] + peso da aresta (u,v)
Antecessor[v] := u
S – conjunto solução
heap A – é uma fila de prioridades.
RetiraMin(A) – retirar o vértice u que tem a menor estimativa de caminhos
mínimos em comparação com qualquer vértice em V - S.
Caminho mínimo do vértice 0 ao vértice 4.
1 10
3
5 1 6
2
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
0
1 10
1 3 10
5 1 6
2 3
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
2 {0} 0 1 ∞ 3 10
0
1 10
1 3 10
5 1 6
2 3
6
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
2 {0} 0 1 ∞ 3 10
3 {0,1} 0 1 6 3 10
0
1 10
1 3 9
5 1 6
2 3
5
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
2 {0} 0 1 ∞ 3 10
3 {0,1} 0 1 6 3 10
4 {0,1,3} 0 1 5 3 9
0
1 10
1 3 6
5 1 6
2 3
5
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
2 {0} 0 1 ∞ 3 10
3 {0,1} 0 1 6 3 10
4 {0,1,3} 0 1 5 3 9
5 {0,1,3,2} 0 1 5 3 6
0
1 10
1 3 6
5 1 6
2 3 Custo: 6
5
0
1
2 3
4
Iteração S d[0] d[1] d[2] d[3] d[4]
1 Ø ∞ ∞ ∞ ∞ ∞
2 {0} 0 1 ∞ 3 10
3 {0,1} 0 1 6 3 10
4 {0,1,3} 0 1 5 3 9
5 {0,1,3,2} 0 1 5 3 6
6 {0,1,3,2,4} 0 1 5 3 6
Caminho mínimo do vértice 5 ao vértice 2.
2
5 10 3
1
2
1
4 2
5
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
5
2 10
5 10 3
0 1
2
1
4 2
4 5
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
5
2 10
5 10 3
0 1
2
1
4 2
4 5 9
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
3 {5,6} 9 ∞ 10 5 0 4
5
2 7
5 10 3
0 1
2
1
4 2
4 5 7
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
3 {5,6} 9 ∞ 10 5 0 4
4 {5,6,4} 7 ∞ 7 5 0 4
5
2 7
5 10 3
0 1 9
2
1
4 2
4 5 7
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
3 {5,6} 9 ∞ 10 5 0 4
4 {5,6,4} 7 ∞ 7 5 0 4
5 {5,6,4,1} 7 9 7 5 0 4
5
2 7
5 10 3
0 1 9
2
1
4 2
4 5 7
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
3 {5,6} 9 ∞ 10 5 0 4
4 {5,6,4} 7 ∞ 7 5 0 4
5 {5,6,4,1,3} 7 9 7 5 0 4
5
2 7
5 10 3
0 1 9
2
1
4 2
Custo: 9
4 5 7
5
4
6
3
1
2
Iter S d[1] d[2] d[3] d[4] d[5] d[6]
1 Ø ∞ ∞ ∞ ∞ ∞ ∞
2 {5} ∞ ∞ 10 5 0 4
3 {5,6} 9 ∞ 10 5 0 4
4 {5,6,4} 7 ∞ 7 5 0 4
5 {5,6,4,1,3} 7 9 7 5 0 4
6 {5,6,4,1,3,2} 7 9 7 5 0 4
mcastrosouza@live.com
www.geeksbr.com
www.marcoscastro.me
www.twitter.com/mcastrosouza

Mais conteúdo relacionado

Mais procurados

Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosBruno Pereira
 
Informatica Básica
Informatica BásicaInformatica Básica
Informatica Básicaeadrede
 
Arquitetura da Informação: Conceitos e Objetivos
Arquitetura da Informação: Conceitos e ObjetivosArquitetura da Informação: Conceitos e Objetivos
Arquitetura da Informação: Conceitos e Objetivosaiadufmg
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasDelacyr Ferreira
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresEduardo de Lucena Falcão
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 
Tipos de sistemas de informação nas organizações
Tipos de sistemas de informação nas organizaçõesTipos de sistemas de informação nas organizações
Tipos de sistemas de informação nas organizaçõesPricila Yessayan
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLRildo (@rildosan) Santos
 
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Alex Camargo
 
Gestão Da Informação
Gestão Da InformaçãoGestão Da Informação
Gestão Da InformaçãoFelipe Goulart
 

Mais procurados (20)

O que é atenuação de um sinal
O que é atenuação de um sinalO que é atenuação de um sinal
O que é atenuação de um sinal
 
05-Subsistemas de Cabeamento Estruturado.pdf
05-Subsistemas de Cabeamento Estruturado.pdf05-Subsistemas de Cabeamento Estruturado.pdf
05-Subsistemas de Cabeamento Estruturado.pdf
 
Barramentos
Barramentos Barramentos
Barramentos
 
Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dados
 
Informatica Básica
Informatica BásicaInformatica Básica
Informatica Básica
 
Arquitetura da Informação: Conceitos e Objetivos
Arquitetura da Informação: Conceitos e ObjetivosArquitetura da Informação: Conceitos e Objetivos
Arquitetura da Informação: Conceitos e Objetivos
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de Recorrências
 
Aula 8 (backup)
Aula 8 (backup)Aula 8 (backup)
Aula 8 (backup)
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Tipos de sistemas de informação nas organizações
Tipos de sistemas de informação nas organizaçõesTipos de sistemas de informação nas organizações
Tipos de sistemas de informação nas organizações
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Libreoffice
LibreofficeLibreoffice
Libreoffice
 
Resumo x86
Resumo x86Resumo x86
Resumo x86
 
Desenhando Componentes de Software com UML
Desenhando Componentes de Software com UMLDesenhando Componentes de Software com UML
Desenhando Componentes de Software com UML
 
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
 
Modelo de von neumann melhorado
Modelo de von neumann melhoradoModelo de von neumann melhorado
Modelo de von neumann melhorado
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Gestão Da Informação
Gestão Da InformaçãoGestão Da Informação
Gestão Da Informação
 

Semelhante a Caminhos Mínimos em Grafos usando Algoritmo de Dijkstra

Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosKevin Takano
 
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Murilo Adriano Vasconcelos
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Murilo Adriano Vasconcelos
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas MínimasDiego Cavalca
 
Solucionário Capitulo4 FOX
Solucionário Capitulo4 FOXSolucionário Capitulo4 FOX
Solucionário Capitulo4 FOXMarilza Sousa
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordGabriel Albuquerque
 
14 produto misto volume paralelepipedo
14 produto misto volume paralelepipedo14 produto misto volume paralelepipedo
14 produto misto volume paralelepipedoRodrigo da Silva
 
Cinematica02
Cinematica02Cinematica02
Cinematica02drrdx7
 
Ita2006 3dia
Ita2006 3diaIta2006 3dia
Ita2006 3diacavip
 
Apresentação 2
Apresentação 2Apresentação 2
Apresentação 2thiago oda
 
Trigonometria - Equações e inequações
Trigonometria - Equações e inequaçõesTrigonometria - Equações e inequações
Trigonometria - Equações e inequaçõesKalculosOnline
 
Círculo e circunferência 8º ano
Círculo e circunferência 8º anoCírculo e circunferência 8º ano
Círculo e circunferência 8º anoAndréia Rodrigues
 
Formula Luderiana Universal de 2a Ordem
Formula Luderiana Universal de 2a OrdemFormula Luderiana Universal de 2a Ordem
Formula Luderiana Universal de 2a Ordemludenir
 
Trigonometria ponteiros relogio
Trigonometria ponteiros relogioTrigonometria ponteiros relogio
Trigonometria ponteiros relogiotrigono_metria
 
Movimento retilíneo uniforme - MUV...ppt
Movimento retilíneo uniforme - MUV...pptMovimento retilíneo uniforme - MUV...ppt
Movimento retilíneo uniforme - MUV...pptCanalFsicaFcil
 
Aulas_MB_2020_1-1.pdf
Aulas_MB_2020_1-1.pdfAulas_MB_2020_1-1.pdf
Aulas_MB_2020_1-1.pdfssuserf45c481
 

Semelhante a Caminhos Mínimos em Grafos usando Algoritmo de Dijkstra (20)

Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso Algoritmos
 
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
Treinamento Para Competições de Programação - All Pairs Shortest Paths - O Al...
 
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
Treinamento para Competições de Programacão - Single-Source Shortest Paths: D...
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas Mínimas
 
Solucionário Capitulo4 FOX
Solucionário Capitulo4 FOXSolucionário Capitulo4 FOX
Solucionário Capitulo4 FOX
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
 
14 produto misto volume paralelepipedo
14 produto misto volume paralelepipedo14 produto misto volume paralelepipedo
14 produto misto volume paralelepipedo
 
Exerc_mecflu_eq_
Exerc_mecflu_eq_Exerc_mecflu_eq_
Exerc_mecflu_eq_
 
12042014
1204201412042014
12042014
 
24052014
2405201424052014
24052014
 
Cinematica02
Cinematica02Cinematica02
Cinematica02
 
Ita2006 3dia
Ita2006 3diaIta2006 3dia
Ita2006 3dia
 
Apresentação 2
Apresentação 2Apresentação 2
Apresentação 2
 
Lista 2 física
Lista 2   físicaLista 2   física
Lista 2 física
 
Trigonometria - Equações e inequações
Trigonometria - Equações e inequaçõesTrigonometria - Equações e inequações
Trigonometria - Equações e inequações
 
Círculo e circunferência 8º ano
Círculo e circunferência 8º anoCírculo e circunferência 8º ano
Círculo e circunferência 8º ano
 
Formula Luderiana Universal de 2a Ordem
Formula Luderiana Universal de 2a OrdemFormula Luderiana Universal de 2a Ordem
Formula Luderiana Universal de 2a Ordem
 
Trigonometria ponteiros relogio
Trigonometria ponteiros relogioTrigonometria ponteiros relogio
Trigonometria ponteiros relogio
 
Movimento retilíneo uniforme - MUV...ppt
Movimento retilíneo uniforme - MUV...pptMovimento retilíneo uniforme - MUV...ppt
Movimento retilíneo uniforme - MUV...ppt
 
Aulas_MB_2020_1-1.pdf
Aulas_MB_2020_1-1.pdfAulas_MB_2020_1-1.pdf
Aulas_MB_2020_1-1.pdf
 

Mais de Marcos Castro

Árvores de Decisão
Árvores de DecisãoÁrvores de Decisão
Árvores de DecisãoMarcos Castro
 
Colored de Bruijn Graphs
Colored de Bruijn GraphsColored de Bruijn Graphs
Colored de Bruijn GraphsMarcos Castro
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de ProgramaçãoMarcos Castro
 
Ferramentas para Bioinformática
Ferramentas para BioinformáticaFerramentas para Bioinformática
Ferramentas para BioinformáticaMarcos Castro
 
A importância da Bioinformática
A importância da BioinformáticaA importância da Bioinformática
A importância da BioinformáticaMarcos Castro
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais ArtificiaisMarcos Castro
 
Problema do Caixeiro Viajante
Problema do Caixeiro ViajanteProblema do Caixeiro Viajante
Problema do Caixeiro ViajanteMarcos Castro
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated AnnealingMarcos Castro
 
Expressões Regulares com Python 3
Expressões Regulares com Python 3Expressões Regulares com Python 3
Expressões Regulares com Python 3Marcos Castro
 
Programação dinâmica
Programação dinâmicaProgramação dinâmica
Programação dinâmicaMarcos Castro
 
Busca em largura - BFS
Busca em largura - BFSBusca em largura - BFS
Busca em largura - BFSMarcos Castro
 
Análise Assintótica
Análise AssintóticaAnálise Assintótica
Análise AssintóticaMarcos Castro
 
Listas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionáriosListas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionáriosMarcos Castro
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - DicionáriosMarcos Castro
 

Mais de Marcos Castro (20)

Árvores de Decisão
Árvores de DecisãoÁrvores de Decisão
Árvores de Decisão
 
Colored de Bruijn Graphs
Colored de Bruijn GraphsColored de Bruijn Graphs
Colored de Bruijn Graphs
 
Maratona de Programação
Maratona de ProgramaçãoMaratona de Programação
Maratona de Programação
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 
Arquivos FASTQ
Arquivos FASTQArquivos FASTQ
Arquivos FASTQ
 
Ferramentas para Bioinformática
Ferramentas para BioinformáticaFerramentas para Bioinformática
Ferramentas para Bioinformática
 
A importância da Bioinformática
A importância da BioinformáticaA importância da Bioinformática
A importância da Bioinformática
 
Bioinformática
BioinformáticaBioinformática
Bioinformática
 
Redes Neurais Artificiais
Redes Neurais ArtificiaisRedes Neurais Artificiais
Redes Neurais Artificiais
 
Problema do Caixeiro Viajante
Problema do Caixeiro ViajanteProblema do Caixeiro Viajante
Problema do Caixeiro Viajante
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated Annealing
 
Expressões Regulares com Python 3
Expressões Regulares com Python 3Expressões Regulares com Python 3
Expressões Regulares com Python 3
 
Algoritmos gulosos
Algoritmos gulososAlgoritmos gulosos
Algoritmos gulosos
 
Programação dinâmica
Programação dinâmicaProgramação dinâmica
Programação dinâmica
 
Busca em largura - BFS
Busca em largura - BFSBusca em largura - BFS
Busca em largura - BFS
 
Análise Assintótica
Análise AssintóticaAnálise Assintótica
Análise Assintótica
 
Listas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionáriosListas, tuplas, conjuntos e dicionários
Listas, tuplas, conjuntos e dicionários
 
Python - Set
Python - SetPython - Set
Python - Set
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - Dicionários
 
Tabela Hash
Tabela HashTabela Hash
Tabela Hash
 

Último

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 

Último (20)

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 

Caminhos Mínimos em Grafos usando Algoritmo de Dijkstra

  • 2. Um motorista deseja obter o caminho mínimo (mais curto) entre Campinas e Araçatuba, duas cidades de São Paulo. Dado um mapa do estado de São Paulo contendo as distâncias entre cada par de interseções adjacentes, como obter o caminho mínimo entre as duas cidades? Nesse caso nós podemos modelar o mapa rodoviário como um grafo em que vértices representam as interseções, arestas representam segmentos de estrada entre interseções e o peso de cada aresta, a distância entre interseções.
  • 3. Nesta seção trataremos do problema de encontrar o caminho mínimo entre dois vértices de um grafo orientado valorado G = (V, E). O problema do motorista descrito anteriormente é equivalente a obter os caminhos mínimos a partir de uma única origem. Dado um grafo orientado valorado G = (V, E), o peso de um caminho c = (v0, v1, v2, ..., vk) é a soma de todos os pesos das arestas do caminho: p(c) = ∑ k i=1 = p(vi-1, vi)
  • 4. O caminho mínimo é definido por: σ(u,v) = {min{p(c) : u -> v}, se existir um caminho de u a v, ∞, caso contrário. Um caminho mínimo do vértice u ao vértice v é então definido como qualquer caminho c com peso p(c) = σ(u, v).
  • 5. O peso das arestas pode ser interpretado como outras métricas diferentes de distâncias, tais como tempo, custo, penalidades, etc. Um caminho mínimo em um grafo G = (V, E) não pode conter ciclo algum, uma vez que a remoção do ciclo do caminho produz um caminho com mesmos vértices origem e destino e um caminho de menor peso. Assim, podemos assumir que caminhos mínimos não possuem ciclos.
  • 6. Uma vez que qualquer caminho acíclico em G contém no máximo |V| vértices, então o caminho contém no máximo |V|-1 arestas. A representação de caminhos mínimos em um grafo G=(V, E) pode ser realizada pela variável Antecessor. Para cada vértice v ∈ V o Antecessor[v] é outro vértice u ∈ V ou nil. O algoritmo para obter caminhos mínimos atribui a Antecessor os rótulos de vértices de um caminho de antecessores com origem em um vértice v e que anda para trás ao longo de um caminho mínimo de um vértice origem s até v.
  • 7. Durante a execução do algoritmo para obter caminhos mínimos, os valores em Antecessor[v] não necessariamente indicam caminhos mais curtos. Entretanto, ao final do processamento Antecessor contém, de fato, uma árvore de caminhos mínimos.
  • 8. O algoritmo de Dijkstra encontra o menor caminho entre quaisquer dois vértices do grafo, quando todos os arcos têm comprimento não-negativos. O algoritmo de Dijkstra utiliza um procedimento iterativo, determinando, na iteração 1, o vértice mais próximo de 1, na segunda iteração, o segundo vértice mais próximo do vértice 1, e assim sucessivamente, até que em alguma iteração o vértice N seja atingido. O algoritmo mantém um conjunto S de vértices cujos caminhos mínimos até um vértice origem já são conhecidos.
  • 9. Este algoritmo utiliza a técnica de relaxamento. Para cada vértice v ∈ V o atributo p[v] é um limite superior do peso de um caminho mínimo do vértice origem s até v. O vetor p[v] contém uma estimativa de um caminho mais curto. No passo da inicialização é executado: Antecessor[v] = nil ∀ v ∈ V p[v] = 0 para o vértice origem s p[v] = ∞ para v ∈ V - {s}
  • 10. O processo de relaxamento de uma aresta (u, v) consiste em verificar se é possível melhorar o melhor caminho obtido até o momento até v se passarmos por u. Se isto acontecer então p[v] e Antecessor[v] devem ser atualizados. Relaxamento de uma aresta: Se p[v] > p[u] + peso da aresta (u, v) então p[v] = p[u] + peso da aresta (u, v) Antecessor[v] := u
  • 11. procedure Dijkstra (Grafo, Raiz); for v := 0 to Grafo.NumVertices-1 do p[v] := Infinito; Antecessor[v] := -1; p[Raiz] := 0; Constroi heap no vetor A; S := Ø; While heap > 1 do u := RetiraMin(A); S := S + u; for v ∈ ListaAdjacentes[u] do if p[v] > p[u] + peso da aresta (u,v) then p[v] = p[u] + peso da aresta (u,v) Antecessor[v] := u
  • 12. S – conjunto solução heap A – é uma fila de prioridades. RetiraMin(A) – retirar o vértice u que tem a menor estimativa de caminhos mínimos em comparação com qualquer vértice em V - S.
  • 13. Caminho mínimo do vértice 0 ao vértice 4. 1 10 3 5 1 6 2 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞
  • 14. 0 1 10 1 3 10 5 1 6 2 3 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞ 2 {0} 0 1 ∞ 3 10
  • 15. 0 1 10 1 3 10 5 1 6 2 3 6 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞ 2 {0} 0 1 ∞ 3 10 3 {0,1} 0 1 6 3 10
  • 16. 0 1 10 1 3 9 5 1 6 2 3 5 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞ 2 {0} 0 1 ∞ 3 10 3 {0,1} 0 1 6 3 10 4 {0,1,3} 0 1 5 3 9
  • 17. 0 1 10 1 3 6 5 1 6 2 3 5 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞ 2 {0} 0 1 ∞ 3 10 3 {0,1} 0 1 6 3 10 4 {0,1,3} 0 1 5 3 9 5 {0,1,3,2} 0 1 5 3 6
  • 18. 0 1 10 1 3 6 5 1 6 2 3 Custo: 6 5 0 1 2 3 4 Iteração S d[0] d[1] d[2] d[3] d[4] 1 Ø ∞ ∞ ∞ ∞ ∞ 2 {0} 0 1 ∞ 3 10 3 {0,1} 0 1 6 3 10 4 {0,1,3} 0 1 5 3 9 5 {0,1,3,2} 0 1 5 3 6 6 {0,1,3,2,4} 0 1 5 3 6
  • 19. Caminho mínimo do vértice 5 ao vértice 2. 2 5 10 3 1 2 1 4 2 5 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞
  • 20. 5 2 10 5 10 3 0 1 2 1 4 2 4 5 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4
  • 21. 5 2 10 5 10 3 0 1 2 1 4 2 4 5 9 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4 3 {5,6} 9 ∞ 10 5 0 4
  • 22. 5 2 7 5 10 3 0 1 2 1 4 2 4 5 7 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4 3 {5,6} 9 ∞ 10 5 0 4 4 {5,6,4} 7 ∞ 7 5 0 4
  • 23. 5 2 7 5 10 3 0 1 9 2 1 4 2 4 5 7 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4 3 {5,6} 9 ∞ 10 5 0 4 4 {5,6,4} 7 ∞ 7 5 0 4 5 {5,6,4,1} 7 9 7 5 0 4
  • 24. 5 2 7 5 10 3 0 1 9 2 1 4 2 4 5 7 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4 3 {5,6} 9 ∞ 10 5 0 4 4 {5,6,4} 7 ∞ 7 5 0 4 5 {5,6,4,1,3} 7 9 7 5 0 4
  • 25. 5 2 7 5 10 3 0 1 9 2 1 4 2 Custo: 9 4 5 7 5 4 6 3 1 2 Iter S d[1] d[2] d[3] d[4] d[5] d[6] 1 Ø ∞ ∞ ∞ ∞ ∞ ∞ 2 {5} ∞ ∞ 10 5 0 4 3 {5,6} 9 ∞ 10 5 0 4 4 {5,6,4} 7 ∞ 7 5 0 4 5 {5,6,4,1,3} 7 9 7 5 0 4 6 {5,6,4,1,3,2} 7 9 7 5 0 4