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

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

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Algoritmos para Obtenção de Á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.

Page 3: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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.

Page 4: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 5: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 6: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 7: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 8: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 9: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 10: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 11: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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.

Page 12: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 13: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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.

Page 14: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 15: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 16: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 17: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 18: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 19: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 20: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 21: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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

Page 22: Algoritmos para Obtenção de Árvore Geradora Mínima Fabio Tirelo

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.