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

Post on 08-Jan-2016

34 views 8 download

description

Análise dos Algoritmos Distâncias com Peso e AGPM. Katia S. Guimarães katia@cin.ufpe.br. 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

maio/2003 katia@cin.ufpe.br 1

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

Katia S. Guimarãeskatia@cin.ufpe.br

maio/2003 katia@cin.ufpe.br 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.

maio/2003 katia@cin.ufpe.br 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

maio/2003 katia@cin.ufpe.br 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)

maio/2003 katia@cin.ufpe.br 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)

maio/2003 katia@cin.ufpe.br 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?

maio/2003 katia@cin.ufpe.br 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.

maio/2003 katia@cin.ufpe.br 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|).

maio/2003 katia@cin.ufpe.br 9

AGPM - Análise do Custo

Similar à análise do Algoritmo Distâncias.