A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Problemas de otimização em árvores.

Apresentações semelhantes


Apresentação em tema: "Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Problemas de otimização em árvores."— Transcrição da apresentação:

1 Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Problemas de otimização em árvores

2 Franklina M. B. Toledo / Alysson M. Costa Otimização em árvores... voltando à primeira aula...

3 Franklina M. B. Toledo / Alysson M. Costa Definição: uma árvore é um grafo conexo sem ciclos. –uma árvore tem exatamente n-1 arcos. –uma árvore tem ao menos dois nós folha (nós com grau 1) –existe apenas um caminho entre dois nós quaisquer de uma árvore.

4 Franklina M. B. Toledo / Alysson M. Costa Definição: uma floresta é uma coleção de árvores

5 Franklina M. B. Toledo / Alysson M. Costa Minimum spanning tree (MST) Problema da árvore geradora mínima: –Seja o grafo G=(V,A) –Seja c ij o custo associado a um arco (i,j) 2 A. Obter a árvore T que conecta todos os nós de V, com custo mínimo (custo = )

6 Franklina M. B. Toledo / Alysson M. Costa Aplicações Aplicações diretas –O problema prático com o qual se quer trabalhar naturalmente pode ser definido como o problema de se encontrar uma MST. Aplicações indiretas –Através de manipulações, pode-se obter a solução do problema original através da obtenção de uma MST. Como subproblema de outros problemas

7 Franklina M. B. Toledo / Alysson M. Costa Aplicações diretas Projeto de sistemas físicos onde entidades precisam ser conectadas e não é necessário redundância. Exemplos: –projetos viários (em regiões periféricas) –televisão a cabo –linhas de transmissão –linhas telefônicas –redes de computadores –etc.

8 Franklina M. B. Toledo / Alysson M. Costa Exemplos (Ahuja) –Conectar terminais em equipamentos de maneira a minimizar o total de cobre gasto; –Construir redes de tubulações conectando bairros, de modo a minimizar o comprimento da rede; –Conectar vilas em regiões afastadas; –Construir circuitos digitais de alta frequência; –Conectar computadores em redes LAN.

9 Franklina M. B. Toledo / Alysson M. Costa Aplicações indiretas Manipulações no problema original, de modo a torná-lo um MST. retirado de Ahuja et al. (1993).

10 Franklina M. B. Toledo / Alysson M. Costa "On the history of the MST" Graham and Hell 1985

11 Franklina M. B. Toledo / Alysson M. Costa Cluster analysis: –Particionar dados em grupos representativos. retirado de Ahuja et al. (1993).

12 Franklina M. B. Toledo / Alysson M. Costa Sequência Condições de otimalidade; Algoritmos: –Kruskal –Prim –Sollin Modelos matemáticos Variações do problema.

13 Franklina M. B. Toledo / Alysson M. Costa Condições de otimalidade Condições de otimalidade de corte (cut optimality conditions) Condições de otimalidade de caminho (path optimality conditions)

14 Franklina M. B. Toledo / Alysson M. Costa Preliminares: –arco-árvore (tree arcs): um arco que pertence à árvore que está sendo estudada; –arco-não-árvore (nontree arcs): um arco que não pertence à árvore que está sendo estudada. retirado de Ahuja et al. (1993).

15 Franklina M. B. Toledo / Alysson M. Costa Observação simples (I): –para todo arco-não-árvore (k,l), a árvore T contém um único caminho entre os nós k e l. O arco (k,l) em conjunto com este caminho define um ciclo.

16 Franklina M. B. Toledo / Alysson M. Costa Observação simples (II): –se eliminarmos um arco-árvore (i,j) de uma árvore, o grafo resultante particiona o conjunto de nós V em dois subconjuntos. Chamamos o conjunto de arcos do grafo G com um terminal em cada subconjunto de corte (cut).

17 Franklina M. B. Toledo / Alysson M. Costa Condição de optimalidade de corte: Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de corte: para cada arco (i,j) 2 T*, c ij · c kl para todo arco (k,l) pertencente ao corte obtido pela exclusão do arco (i,j) de T*.

18 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de corte: para cada arco (i,j) 2 T*, c ij · c kl para todo arco (k,l) pertencente ao corte obtido pela exclusão do arco (i,j) de T*. Prova: ! (toda árvore T* deve satisfazer a condição). Se existe um arco-não-árvore (k,l) pertencente ao corte gerado por (i,j) com c kl < c ij, então trocar (i,j) por (k,l) em T* gera uma árvore T' de custo menor que T*.

19 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de corte: para cada arco (i,j) 2 T*, c ij · c kl para todo arco (k,l) pertencente ao corte obtido pela exclusão do arco (i,j) de T*. Prova: Ã (se T* satisfaz as condições, então T* é MST). Seja T o uma uma MST, com T o T*. T* contém um arco (i,j) que não está em T o.

20 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de corte: para cada arco (i,j) 2 T*, c ij · c kl para todo arco (k,l) pertencente ao corte obtido pela exclusão do arco (i,j) de T*. Prova: Eliminando (i,j) de T* cria um corte. Adicionando (i,j) em T o, cria um ciclo de deve conter um arco (k,l) que não estava em T*, com k2S e l2. Como T* satisfaz as condições de otimalidade de corte, c ij · c kl. Por outro lado, T o é ótima, logo c ij ¸c kl. Logo c ij =c kl. Trocando (i,j) por (k,l) em T*, temos uma árvore com mesmo custo e mais próxima de T o. Repetindo o argumento, veremos que T* e T o tem o mesmo custo e, consequentemente, T* é ótima.

21 Franklina M. B. Toledo / Alysson M. Costa Condições de otimalidade de corte, conclusão: Cada arco em uma MST é de custo mínimo no corte definido ao se retirá-lo da árvore. Por outro lado, as condições de otimalidade de corte implicam que sempre podemos adicionar à MST o arco de menor custo de um corte qualquer de um grafo.

22 Franklina M. B. Toledo / Alysson M. Costa Condição de otimalidade de caminho: Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de caminho: para cada arco-não-árvore (k,l)2 G, c ij · c kl para todo arco (i,j) contido no caminho em T* que conecta os nós k e l.

23 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de caminho: para cada arco-não- árvore (k,l)2 G, c ij · c kl para todo arco (i,j) contido no caminho em T* que conecta os nós k e l. Prova: ! (toda árvore T* deve satisfazer a condição). Suponha que T* é MST e existe um arco (i,j) no caminho em T* conectando os nós k e l. Se c ij ¸ c kl, trocar o arco (i,j) pelo arco (k,l) geraria uma árvore de custo menor que T*, contradizendo a hipótese.

24 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de caminho: para cada arco-não- árvore (k,l)2 G, c ij · c kl para todo arco (i,j) contido no caminho em T* que conecta os nós k e l. Prova: Ã (se a condição de otim. de caminho é satisfeita em T*, então T* é ótima). Usamos a suficiência da condição de otim. de corte. Vamos mostrar que se uma árvore T* satisfaz as condições de otimalidade de caminho, então ela também satisfaz as condições de corte (e, consequentemente, podemos usar o teorema anterior para provar a suficiência das cond. de otim. de caminho).

25 Franklina M. B. Toledo / Alysson M. Costa Teorema: Uma árvore T* é uma MST se e somente se ela satisfaz as condições de otimalidade de caminho: para cada arco-não- árvore (k,l)2 G, c ij · c kl para todo arco (i,j) contido no caminho em T* que conecta os nós k e l. Prova: Seja (i,j) um arco-árvore de T* como na figura. Considere um arco T* contém um único caminho ligando k a l, logo (i,j) deve pertencer a este caminho (ele é o único que liga S a em T*). As condições de otimalidade de caminho garantem que c ij · c kl. Como estas condições valem para qualquer arco (k,l), temos as cond. de otim. de corte e, portanto, T* é MST.

26 Franklina M. B. Toledo / Alysson M. Costa Maximum spanning trees

27 Franklina M. B. Toledo / Alysson M. Costa Algoritmos Kruskal Prim Sollin Boruvka

28 Franklina M. B. Toledo / Alysson M. Costa Kruskal (idéia) (inspirado nas condições de otimalidade de caminho) Algoritmo inocente não polinomial: –1. comece com uma árvore qualquer T; –2. teste as condições de otimalidade de caminho; se satisfeitas, pare. T é ótima. –3. como as condições não são satisfeitas, existe um arco árvore (i,j) e um arco-não-árvore (k,l) tais que c ij > c kl. Troque (i,j) por (k,l) em T e volte para 2.

29 Franklina M. B. Toledo / Alysson M. Costa Kruskal Polinomial. Constrói T* através da adição gulosa de arcos. –1. ordene os arcos de maneira que os custos sejam não decrescentes. Defina LIST, os arcos que pertencem à árvore (LIST = vazio). –2. Examine os arcos, verificando se a inserção deles gera um ciclo com os arcos de LIST. Se não, adicione o arco a LIST. –3. |LIST| = n-1 ? sim: pare (os arcos em LIST são os arcos da árvore ótima). não: volte para 2.

30 Franklina M. B. Toledo / Alysson M. Costa Ao adicionarmos arcos em uma ordem de custo não-decrescente, automaticamente satisfazemos as condições de otimalidade de caminho.

31 Franklina M. B. Toledo / Alysson M. Costa Algumas considerações computacionais (ver Ahuja). Brevemente: –tempo para se detectar a existência ou não de um ciclo (método inocente): LIST a cada momento contém uma floresta. Guardamos os conjuntos conexos como diferentes listas ligadas e checar se os dois extremos do arco testado pertencem ao mesmo conjunto. Se sim, forma um ciclo (descartamos o arco). Se não, unimos os conjuntos conexos em um único. Complexidade total: O(nm)

32 Franklina M. B. Toledo / Alysson M. Costa Algumas considerações computacionais (ver Ahuja). –estruturas de dados adicionais; –complexidade O(m + n log n). –O(m (n,m) ) usando melhores operações de union-find.

33 Franklina M. B. Toledo / Alysson M. Costa Prim Polinomial. Baseado na condição de otimalidade de corte. Começa de um nó qualquer e adiciona à árvore o arco que satisfaz a condição de otimalidade de corte. –1. Inicie com um nó qualquer i, S = {i}; S= V\S; –2. ache (i,j) 2 [S,S] de menor custo. –3. faça S=S+{j} e S= V\S; –4. |S| = n-1 ? se sim: pare; se não, volte a 2.

34 Franklina M. B. Toledo / Alysson M. Costa Prim

35 Franklina M. B. Toledo / Alysson M. Costa Considerações computacionais (ver Ahuja)

36 Franklina M. B. Toledo / Alysson M. Costa Sollin híbrido entre Kruskal e Prim. –como em Kruskal: mantém uma floresta –como em Prim: a cada iteração, adiciona os arcos de menor custo emanando desta floresta.

37 Franklina M. B. Toledo / Alysson M. Costa Sollin

38 Franklina M. B. Toledo / Alysson M. Costa Sollin Considerações de implementação e complexidade, ver Ahuja. O(m log n).

39 Franklina M. B. Toledo / Alysson M. Costa Boruvka It was first published in 1926 by Otakar Borůvka as a method of constructing an efficient electricity network for Moravia.[1][2] Otakar Borůvkaelectricity networkMoravia[1][2] The algorithm was rediscovered by Choquet in 1938; [3] again by Florek, Łukasiewicz, Perkal, Steinhaus, and Zubrzycki in 1951; and again by Sollin some time in the early 1960s. Because Sollin was the only Western computer scientist in this list, this algorithm is frequently called Sollin's algorithm, especially in the parallel computing literature. Choquet[3]Florek ŁukasiewiczPerkalSteinhaus Zubrzycki1951Sollin parallel computing retirado da wikipedia.

40 Franklina M. B. Toledo / Alysson M. Costa

41

42 Antes de Boruvka ?

43 Franklina M. B. Toledo / Alysson M. Costa

44 Modelos matemáticos

45 Franklina M. B. Toledo / Alysson M. Costa Modelos matemáticos Dantzig-Fulkerson-Johnson (de novo!)

46 Franklina M. B. Toledo / Alysson M. Costa Flow formulation retirado de idéia: uma MST deve permitir um caminho entre cada par de nós.

47 Franklina M. B. Toledo / Alysson M. Costa Variações

48 Franklina M. B. Toledo / Alysson M. Costa Capacitated MST 0

49 Franklina M. B. Toledo / Alysson M. Costa Steiner tree problem in graphs Nem todos os nós são obrigatórios... retirado de COSTA, A. M. Otimização do planejamento da rede secundária de distribuição de energia elétrica. MSc. dissertation, Universidade Estadual de Campinas, 2002.

50 Franklina M. B. Toledo / Alysson M. Costa Steiner Tree Problem in Graphs (STP) Grafo equivalente nós de Steiner: não precisam ser conectados, mas podem ser usados...

51 Franklina M. B. Toledo / Alysson M. Costa Solução MST Solução TSP nó terminal nó de Steiner

52 Franklina M. B. Toledo / Alysson M. Costa MST: polinomial. TSP: NP-Hard –Um dos 21 problemas de Karp. –impossible to approximate within any constant factor unless P = NP (David Zuckerman 1996)* –unless P = NP, the Steiner tree problem in general graphs cannot be approximated withina factor of 1 + for sufficiently small > 0 (M. Bern and P. Plassmann 1989)

53 Franklina M. B. Toledo / Alysson M. Costa Métodos (exemplo) retirado de COSTA, A. M. Otimização do planejamento da rede secundária de distribuição de energia elétrica. MSc. dissertation, Universidade Estadual de Campinas, 2002.

54 Franklina M. B. Toledo / Alysson M. Costa Pre-processamento C. W. Duin, A. Volgenant Reduction tests for the steiner problem in graphs (republicado em Networks Volume 19 Issue 5, Pages ).

55 Franklina M. B. Toledo / Alysson M. Costa Pre-processamento (exemplos) The Steiner tree problem ( Frank Hwang, Dana Richards, Pawel Winter ) Exclusion tests:

56 Franklina M. B. Toledo / Alysson M. Costa

57 Inclusion tests:

58 Franklina M. B. Toledo / Alysson M. Costa Pre-processamento The Steiner tree problem ( Frank Hwang, Dana Richards, Pawel Winter )

59 Franklina M. B. Toledo / Alysson M. Costa Steiner tree problem with profits Costa, Cordeau, Laporte, A survey of Steiner tree problems with profits, Infor 44, , r

60 Franklina M. B. Toledo / Alysson M. Costa Steiner tree problem with profits Aplicações: Tv a cabo Gás canalizado Indiretas: Minimum 1-trees (Engevall et al., 1998) Redes Wi-fi (Friedman and Parkes, 2003) Multicasting games (Chawla, 2003)

61 Franklina M. B. Toledo / Alysson M. Costa

62

63

64

65 Reduction tests A reinvenção da roda... mas mais redonda!

66 Franklina M. B. Toledo / Alysson M. Costa

67 Hop constraints

68 Franklina M. B. Toledo / Alysson M. Costa i r j i r j

69 Hop constraints Luis Gouveia...

70 Franklina M. B. Toledo / Alysson M. Costa E de uma maneira geral...

71 Franklina M. B. Toledo / Alysson M. Costa


Carregar ppt "Franklina M. B. Toledo / Alysson M. Costa Otimização em grafos Problemas de otimização em árvores."

Apresentações semelhantes


Anúncios Google