relator: danilo m lage contestador: joão eduardo maeda 2ª reunião do grupo de estudos
TRANSCRIPT
![Page 1: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/1.jpg)
Relator: Danilo M LageContestador: João Eduardo
Maeda
2ª Reunião do Grupo de Estudos
![Page 2: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/2.jpg)
Edsger Wybe Dijkstra
11 Maio 1930 6 Agosto 2002Roterdã, Holanda Nuenen, Holanda• Cientista da Computação• Contribuições:
– Algoritmos– Linguagem de Programação
• ALGOL 60
– Sistema Operacional • THE
– Processamento Distribuído
![Page 3: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/3.jpg)
Algoritmo de Dijkstra
• Resolução do caminho de menor comprimento• Descrição dos Problemas:
– 1º Problema:• Construir a árvore de menor comprimento total entre todos
os nós de um grafo.
– 2º Problema:• Encontrar o caminho de menor comprimento total entre dois
determinados nós de um grafo.
![Page 4: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/4.jpg)
Resolução1º Problema
• Considere 5 conjuntos:– 3 conjuntos de Ramos:
I Ramos em ordem de visitação
II Ramos em potencial de pertencerem ao I
III Ramos ainda não visitados ou rejeitados
– 2 conjuntos de Nós:A Conjunto de Nós em ordem de visitação
B Conjunto de Nós ainda não visitados
![Page 5: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/5.jpg)
Resolução1º Problema
• Assertiva de Entrada:– Um nó arbitrário pertencente ao grafo– Movê-lo de B para A– Adiciona seus ramos de conexão a II
• 1º Passo:– Mover o ramo de menor distância de II para I– Adicionar a A o nó conectado a esse ramo– Vá para 2º passo
• 2º Passo:– Considerando os ramos conectados ao nó recém adicionado a A que
liguem a nós pertencentes a B:• Se o ramo em consideração for maior do que seus correspondentes,
adicione-o a III (descarte-o)• Caso contrário, adicione-o a II
– Repita o passo 1 se B e II não sejam vazios.• Resultado:
– O conjunto I possui a árvore requerida
![Page 6: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/6.jpg)
Exemplo1º Problema
1
62 3
2
a b
d c
e
• Assertiva de Entrada:– Um nó arbitrário pertencente ao grafo– Movê-lo de B para A– Adiciona seus ramos de conexão a II
A
B a b c d e
a0
b1
d2
e3
c4
II
I
III ac6
dc4
de5
cb7
ce5
cd6
ab ad be bc
ab1
ac6
ad2
bc4
be3
• 1º Passo:– Mover o ramo de menor distância de II
para I– Adicionar a A o nó conectado a esse
ramo
• 2º Passo:– Adicionar os ramos a II– Repita 1º Passo se B e II não vazios
a
1
3
2
b
d
e
c
![Page 7: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/7.jpg)
Resolução2º Problema
• Considere 6 conjuntos:– 3 conjuntos de Ramos:
I Ramos em ordem de visitação
II Ramos em potencial de pertencerem ao I
III Ramos ainda não visitados ou rejeitados
– 3 conjuntos de Nós:A Nós em ordem de visitação
B Nós anteriores aos pertencentes a A
C Nós ainda não visitados
![Page 8: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/8.jpg)
Resolução2º Problema
• Assertiva de Entrada:– Dois nós arbitrários pertencentes ao grafo– Mover o nó de partida de C para A
• 1º Passo:– Investigar todos os ramos em III que partam do nó adicionado em A– Caso o nó de destino não pertença a B, mover o ramo de menor
distância conectando ambos nós para II e o nó de destino para B– Caso o nó de destino pertença a B e seja de menor distância que seu
correspondente em II, substituí-lo– Caso a distância do ramo seja maior que seu correspondente, rejeitá-lo
• 2º Passo:– Para cada nó em B, investigar seu peso em relação ao nó de partida– Mover o nó com menor distância de B para A– Mover o ramo correspondente a esse nó de II para I– Repetir o passo 1 até que o nó de chegada esteja contido em A
• Resultado:– O caminho é encontrado seguindo os nós do conjunto A
![Page 9: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/9.jpg)
Exemplo2º Problema
1
62 3
2
a b
d c
e
A
C a b c d e
a b e
II
I
III ab1
ac6
ad2
bc3
be2
ab be
ab1
be2
a
1
3
2
b
e
B b1
e3
• Partir de “a” para “e”
![Page 10: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/10.jpg)
Artigo Base
• Linguagem matemática, porém, mais próxima da computacional
• Resolução de um gargalo computacional do algoritmo de Dijkstra
• Utilização de árvore de Fibonacci
• Ampla aplicabilidade desse método
![Page 11: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/11.jpg)
Artigo BaseAlgoritmo Original
– Mesmo algoritmo já apresentado– Possui um gargalo!!!Legenda:
V = conjunto de todos os nós do grafoS = conjunto dos nós visitadosn = número de nóss = nó de partidav = nó vizinhoui = nó da iteração il(.) = peso de um nó (distância acumulada)
![Page 12: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/12.jpg)
Artigo BaseAlgoritmo Proposto
Legenda:l(.) = lista ordenada de pesos dos nóshighi
v = posição do maior peso da listalowi = posição do menor peso da lista
![Page 13: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/13.jpg)
Artigo BaseMelhoria da Implementação
![Page 14: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/14.jpg)
Legenda:T = nº associado ao custo computacional para as adições e comparações;Dmax = maior nº de ramos incidentes em um nó;n = nº total de nós;m = nº total de ramos.
Artigo BaseResultados
Experimento 1:
- Nós ligados- 1 Ramo aleatório por nó: i+ji ji rand [2,3...30]- Dmax = 4
Experimento 2:
- Nós ligados- 2 Ramos aleatórios por nó: i+ji1+ji2 ji1 rand [2,3...30] ji2 rand [2,3...20]- Dmax = 6
![Page 15: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/15.jpg)
PERGUNTAS???
![Page 16: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/16.jpg)
Exemplo
4
4
44
4
5
5
6
5
3
33
3
33
3
2
2 2
3
4
5
4
3
6
5
3
3
45
3
4
55
1
6
![Page 17: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos](https://reader035.vdocuments.net/reader035/viewer/2022062319/552fc17d497959413d8f10fd/html5/thumbnails/17.jpg)
A ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas.
E. W. Dijkstra