relator: danilo m lage contestador: joão eduardo maeda 2ª reunião do grupo de estudos

17
Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos

Upload: internet

Post on 22-Apr-2015

110 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos

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

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

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

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

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

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

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

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

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

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

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

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

Artigo BaseMelhoria da Implementação

Page 14: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos

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

PERGUNTAS???

Page 16: Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos

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

A ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas.

E. W. Dijkstra