Análise dos Algoritmos Distâncias com Peso e AGPM

9
maio/2003 [email protected] 1 Análise dos Algoritmos Distâncias com Peso e AGPM Katia S. Guimarães [email protected]

description

Análise dos Algoritmos Distâncias com Peso e AGPM. Katia S. Guimarães [email protected]. Abordagem Algoritmo Guloso (Indução). - Inicialmente, só é conhecida uma solução trivial, para 0 ou 1 elemento do conjunto. - A cada iteração, um elemento não marcado w é - PowerPoint PPT Presentation

Transcript of Análise dos Algoritmos Distâncias com Peso e AGPM

Page 1: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 1

Análise dos Algoritmos Distâncias com Peso e AGPM

Katia S. Guimarã[email protected]

Page 2: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 2

Abordagem Algoritmo Guloso (Indução)

- Inicialmente, só é conhecida uma solução trivial, para 0 ou 1 elemento do conjunto.

- A cada iteração, um elemento não marcado w é escolhido, baseado numa solução mínima local. w é marcado e incluído no conjunto dos elementos para os quais a solução é conhecida.

Page 3: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 3

Algoritmo Guloso em grafos

A cada iteração, um elemento não marcado w é escolhido, baseado numa solução mínima local

wcandidatos

candidato com mínima local

Page 4: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 4

Algoritmo Distâncias com Pesos

Abordagem Algoritmo Guloso (Indução)

Para todo v V faça { Desmarcar v; D[v] = } D[s] = 0 /* Base da indução */ Enquanto vértice não marcado faça /* Passo */

Seja v o vértice não marcado com D[v] mínimo (mínima local)

Marque v; Para todo w Adj(v) faça Se D[v] + custo (v,w) < D[w]

então D[w] D[v] + custo (v,w)

Page 5: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 5

Distâncias com Pesos – Seleção do mínimo

Para selecionar o mínimo D, devemos usar um heap.

Ao encontrar cada novo candidato, ele ser colocado num heap junto com todos os outros candidatos já encontrados e ainda não selecionados (marcados).

Quantos candidatos podemos ter no máximo no problema Distâncias com Pesos?

Seja v o vértice não marcado com D[v] mínimo (mínima local)

Page 6: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 6

Distâncias com Pesos – Seleção do mínimo

Potencialmente, cada aresta (v,w) pode oferecer uma nova opção da caminho para cada vértice w. Então teremos no máximo |E| candidatos no heap. Logo, cada operação de inclusão/remoção custará (log |E|).

Quantos candidatos podemos ter no máximo no problema Distâncias com Pesos?

Page 7: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 7

Distâncias com Pesos -Análise do Custo

O laço enquanto é executado |V| vezes, no entanto, como o heap vai conter elementos que não são candidatos vencedores, a seleção do mínimo custará no total (|E| . log |E|).

No total, o laço para todo será executado (|E|) vezes.

Page 8: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 8

Distâncias com Pesos - Análise do Custo

Já dissemos que heap não é uma estrutura de busca, mas em muitos casos (se valer a pena) pode-se criar uma estrutura paralela (array de apontadores) para permitir a atualização dos valores no heap, mantendo |V| elementos.

Existem implementações ainda mais elaboradas que têm custo total (|V| . log |V|).

Page 9: Análise dos Algoritmos  Distâncias com Peso e AGPM

maio/2003 [email protected] 9

AGPM - Análise do Custo

Similar à análise do Algoritmo Distâncias.