Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo.

Post on 07-Apr-2016

217 views 3 download

Transcript of Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo.

Algoritmos para Obtenção de Algoritmos para Obtenção de Árvore Geradora MínimaÁrvore Geradora Mínima

Fabio Tirelo

AplicaçãoAplicação

Obtenção de uma rede de comunicação entre pontos de interesse com o menor custo possível.

Algoritmo de PrimAlgoritmo de Prim

Algoritmo de busca em prioridade em grafos.

Análogo ao algoritmo de obtenção de Árvore Geradora de Caminho Mínimo, alterando somente o cálculo da prioridade: O vértice escolhido a cada passo é o “mais próximo” a

qualquer vértice da árvore naquele momento e não somente o mais próximo da origem.

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

6 5

1

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

5

5

6 4

1

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

5

26 4

1

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

5

26 4

1

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

5

23 4

1

Algoritmo de Prim...Algoritmo de Prim...

A

B D

C

FE

A

B D

C

FE

6

3

5

5

1

5

6 2

6

4

5

23 4

1

Custo do Algoritmo de PrimCusto do Algoritmo de Prim

O algoritmo de Prim tem um custo de tempo O(n2), onde n é o número de vértices do grafo.

Exercício:Exercício:

Encontre a AGM para o grafo abaixo, utilizando o algoritmo de Prim:

A B C D

F G H I

O N M L

J

K

E

P

57 6 9

3 9

5

7 8 6

2 9

6 43 5

8 7

3

4

1

10

7

112

13

7

5

Algoritmo de KruskalAlgoritmo de Kruskal

Inicialmente, a AG é um grafo sem arestas

Enquanto não houver incluído n-1 arestas, o algoritmo obtém a aresta de menor custo, incluindo-a na árvore caso esta não forme ciclo.

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

2

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

23

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

23 4

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

23 4

5

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

23 4

5

Algoritmo de Kruskal...Algoritmo de Kruskal...

A

B D

C

FE

B D

C

FE

6

3

5

5

1

5

6 2

6

4

A

Arestas: AC DF BE CF AD BC AB CE EF

1

23 4

5

Exercício:Exercício:

Encontre a AGM para o grafo abaixo, utilizando o algoritmo de Kruskal:

A B C D

F G H I

O N M L

J

K

E

P

57 6 9

3 9

5

7 8 6

2 9

6 43 5

8 7

3

4

1

10

7

112

13

7

5

Custo do Algoritmo de KruskalCusto do Algoritmo de Kruskal

O algoritmo de Kruskal tem um custo de tempo O(e log(e)), onde e é o número de arestas do grafo.