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

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

Digressão por ‘caminhos, árvores e flores’

Apresentações semelhantes


Apresentação em tema: "Digressão por ‘caminhos, árvores e flores’"— Transcrição da apresentação:

1 Digressão por ‘caminhos, árvores e flores’
João Soares Departamento de Matemática Universidade de Coimbra Hotel Quinta das Lágrimas (Coimbra), 15 de Outubro de 2003 Homenagem ao Professor Doutor Mário Silva Rosa

2 Índice Emparelhamento Emparelhamento de Cardinalidade Máxima
Definições e motivação Estrutura poliedral (Cunningham & Marsh, 1978) Emparelhamento de Cardinalidade Máxima Em grafos bipartidos Em grafos não bipartidos (Edmonds, 1965a) Emparelhamento de Peso Máximo Em grafos bipartidos (Kuhn,1955)

3 Emparelhamento (definição)
Seja G=(V,E) um grafo não orientado V=vértices, E=arestas, com ‘pesos’ ce, e  E. Um emparelhamento de G é um subconjunto das arestas sem extremidades em comum. Peso de um emparelhamento é a soma dos pesos das arestas do emparelhamento. Um emparelhamento diz-se perfeito se “cobre” todos os vértices.

4 Emparelhamento (exemplos)
1 6 2 7 e f g 3 8 4 9 a b c d 5 10 In Korte&Vygen (2000) In Nemhauser&Wolsey (1988)

5 Emparelhamento (exemplos)
...de máxima cardinalidade? h 1 6 2 7 e f g 3 8 4 9 a b c d 5 10 In Korte&Vygen (2000) In Nemhauser&Wolsey (1988)

6 Emparelhamento (motivação)
Afectar individuos a tarefas (... perfeito de peso máximo em G bipartido ≡ Afectação) Emparelhar colegas de quarto em dormitório (... perfeito de peso máximo) Heurística para TSP Simétrico e Euclidiano (... perfeito de peso máximo) Problema do Carteiro Chinês (... perfeito de peso máximo) Afectar alunos a Universidades (... perfeito tal que não haja nenhum par que fique melhor trocado)

7 Emparelhamento (algebra)
Problema de Programação Inteira: ou com A matriz de incidência vértice-aresta de G

8 Emparelhamento (estrutura poliedral)
Cunningham e Marsh, 1978: O seguinte sistema de desigualdades é TDI: Corolário: Emparelhamento de peso máximo é um Problema Linear, embora com um número exponencial de restrições (Edmonds, 1965b). Dificuldade: Como lidar com um tão elevado número de restrições em tempo polinomial? Vantagem: Possível explicitar uma caracterização algébrica do invólucro convexo para qualquer problema de emparelhamento de peso máximo.

9 Emparelhamento (Berge, 1957)
Caminho aumentado relativamente a um emparelhamento M: Berge, 1957: Um emparelhamento M é de máxima cardinalidade se e só se não existe caminho aumentado relativamente a M. DEM: “” Por absurdo. Trivial. “” Por absurdo, existe |M’|>|M|. Então, F=MM’ é um conjunto de circuitos e caminhos simples. Circuitos têm número par de arestas. Como |M’|>|M|, existe um dos caminho simples que é aumentado(!). Ideia para obter emparelhamento de máxima cardinalidade: Identificar sucessivos caminhos aumentados. M M M M M M M

10 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido 1 6 2 7 3 8 4 9 5 10

11 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: Vértice exposto * 1 6 2 7 3 8 4 9 5 10

12 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: * 1 6 7 2 7 1 3 8 4 9 5 10

13 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: * 1 6 7 2 7 1 2 8 3 8 4 9 5 10

14 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: * 1 6 Caminho aumentado: 1, 7, 2, 8, 3, 6 3 7 2 7 1 8 3 8 2 4 9 3 5 10 3

15 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: * 1 6 3 Rótulas permitem identificar Novo emparelhamento 7 2 7 1 8 3 8 2 4 9 3 5 10 3

16 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: 1 6 2 7 3 8 4 9 Vértice exposto * 5 10

17 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: 1 6 2 7 5 3 8 5 4 9 * 5 10 5

18 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: 7 1 6 2 7 5 8 3 8 5 4 9 10 * 5 10 5 Não existe caminho aumentado a partir de 5! Existe a partir de 9?

19 Emparelhamento V2+ V1+ V2- V1-
Encontrar emparelhamento de máxima cardinalidade num grafo bipartido: 7 1 6 V2+ V1+ 2 7 5 8 3 8 5 4 9 10 V2- V1- * 5 10 5 Não existe caminho aumentado a partir de 5! Existe a partir de 9?

20 Emparelhamento (em grafos bipartidos)
Quando um vértice adquire uma posição relativa num caminho alternado ( ou ) essa posição relativa é igual em qualquer caminho aumentado. Por isso, qualquer rotulação de um vértice é definitiva o que facilmente implica que averiguação de um caminho alternado pode ser implementado em O(n2) operações. Em conclusão, a determinação de um emparelhamento de máxima cardinalidade num grafo bipartido pode ser efectuada em O(n3) operações. No final, R=V1- V2+ é uma cobertura por vértices de G tal que |R|=|M|. V1+ V2+ V1- V2-

21 Emparelhamento (em grafos não bipartidos)
Vejamos se a mesma ideia funciona com grafos não bipartidos h e f g Vértice exposto * a b c d

22 Emparelhamento (em grafos não bipartidos)
Vejamos se a mesma ideia funciona com grafos não bipartidos h b e f g * a b c d a

23 Emparelhamento (em grafos não bipartidos)
Vejamos se a mesma ideia funciona com grafos não bipartidos h b e e f g * a b c d a e

24 Emparelhamento (em grafos não bipartidos)
Vejamos se a mesma ideia funciona com grafos não bipartidos h b e f e f g * a b c d a e c

25 Emparelhamento (em grafos não bipartidos)
Vejamos se a mesma ideia funciona com grafos não bipartidos Vértice d pode receber rótulo ou Foi encontrado circuito ímpar! Como enumerar caminhos alternados de modo eficiente? h b e f e f g * a b c d a e c

26 Emparelhamento (em grafos não bipartidos)
Para Berge (1957) isso não seria problema - enfim, há um número finito de caminhos alternados. Pois, só com Edmonds (1965a) veio a primeira proposta de enumeração eficiente de caminhos alternados no célebre Paths, trees and flowers. Edmonds (1965a) usou a palavra good para se referir a funcionar em tempo polinomial – só mais tarde com Karp e Cook (anos 70) veio o rigor e o formalismo da classificação de problemas. A ideia: Sempre que for encontrado um vértice que pode ser do tipo ou então substituir todos esses vértices do circuito ímpar encontrado por um novo vértice e retomar a procura de um caminho aumentado. Ilustramos esta ideia com o exemplo anterior, ...

27 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido: h h b e f e f g b U * a b c d a b a e c a

28 Emparelhamento Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido: U, f h h b e f e f g b U * a b c d a b a e c a Caminho aumentado encontrado: a, b, U, h Mais precisamente: a, b, e, c, d, g, f, h

29 Emparelhamento (em grafos não bipartidos)
Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido: h b e f e f g * a b c d a e c

30 Emparelhamento (em grafos não bipartidos)
Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido: h b e f e f g * a b c d a e c

31 Emparelhamento (em grafos não bipartidos)
Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido: h e f g a b c d

32 Emparelhamento (em grafos não bipartidos)
Notação introduzida por Edmonds, 1965a: y x d u v a b c

33 Emparelhamento (em grafos não bipartidos)
Notação introduzida por Edmonds, 1965a: y x d u v a b c Encontrado vértice que pode ser rotulado de dois modos diferentes

34 Emparelhamento (em grafos não bipartidos)
Notação introduzida por Edmonds, 1965a: Flower: a união dos dois caminhos alternados encontrados y x d u v a b c

35 Emparelhamento (em grafos não bipartidos)
Notação introduzida por Edmonds, 1965a: Flower: a união dos dois caminhos alternados encontrados y x d u v a b c Stem: o caminho comum àqueles dois caminhos alternados

36 Emparelhamento (em grafos não bipartidos)
Notação introduzida por Edmonds, 1965a: Flower: a união dos dois caminhos alternados encontrados y x d u v a b c Stem: o caminho coumum àqueles dois caminhos Blossom: o circuito ímpar encontrado (que vai ser substituído por um novo vértice – shrinked).

37 Emparelhamento (em grafos não bipartidos)
Cada um dos vértices do Blossom pode ser rotulado com ou para uma escolha adequado da ordem pela qual o circuito ímpar é percorrido alternadamente. Apenas uma aresta do emparelhamento é incidente no Blossom. Essa aresta é a última do stem. Por isso, podemos interpretar o Blossom como um grande vértice rotulado com As suas arestas incidentes são as arestas incidentes de todos os vértices do Blossom. Contraccão! Sucede-se a procura de um caminho aumentado como normalmente. Quando um caminho aumentado for encontrado, recuperam-se as arestas desse caminho usando os rótulos e escolhendo as orientações adequadas sempre um vértice associado a um Blossom é encontrado. Se um caminho aumentado não for encontrado deve tentar-se um outro vértice exposto. Podem manter-se todas as contracções entretanto efectuadas. Como a rotulação de vértices é sempre definitiva, o algoritmo pode ser implementado em O(n3) operações – implementação mais delicada do que no caso bipartido.

38 Emparelhamento (de peso máximo num grafo bipartido)
Encontrar emparelhamento perfeito de peso máximo num grafo bipartido G (Kuhn, 1955) Sem perda de generalidade, suponhamos que G é completo (arestas inexistentes têm peso -). Afectação! Uma formulação é Nota: Matriz das restrições é TU. Por isso, restrições de integralidade podem ser ignoradas.

39 Emparelhamento (de peso máximo num grafo bipartido)
Teorema (Kuhn, 1955): Um ponto X é óptimo para o problema da Afectação se e só se existirem vectores u,v satisfazendo cij – ui – vj  0 tal que X é vector característico de um emparelhamento perfeito no grafo G[u,v]=(V,E[u,v]), com E[u,v] = {(i,j): cij – ui – vj =0 }. DEM: Dualidade Forte da P.L. Ideia: Construir G[u,v] para u,v satisfazendo cij – ui – vj  Obter M emparelhamento de máxima cardinalidade em G[u,v]. Se |M|=n então parar, senão modificar u,v de modo a obter mais uma aresta em M sem violar cij – ui – vj  0.

40 Emparelhamento (de peso máximo num grafo bipartido)
Consideremos o seguinte problema de Afectação: 1 1’ 2 2’ 3 3’ 4 4’

41 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ 3 3’ 4 4’

42 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ 3 3’ 4 4’

43 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ * 3 3’ 4 4’

44 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’

45 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’ V1+={2,4}, V2-={1’,2’,4’},

46 Emparelhamento (de peso máximo num grafo bipartido)
Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’ V1+={2,4}, V2-={1’,2’,4’},

47 Emparelhamento (de peso máximo num grafo bipartido)
Após adequada modificação: u=(0,-4,0,-2), v=(27,19,14,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’ Nota importante: os rótulos anteriores permanecem válidos

48 Emparelhamento (de peso máximo num grafo bipartido)
Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’ 4 Caminho aumentado encontrado!

49 Emparelhamento (de peso máximo num grafo bipartido)
Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8) G[u,v] 1 1’ 2 2’ * 3 3’ 2 3’ 4 4’ 4 Caminho aumentado encontrado!

50 Emparelhamento (de peso máximo num grafo bipartido)
Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8) G[u,v] Portanto, pelo Teorema de Kuhn, encontrámos solução ‘optima x11 = x21 = x32 = x44 = 1, de valor ( )+( )=62. 1 1’ 2 2’ 3 3’ 4 4’

51 Emparelhamento (de peso máximo num grafo bipartido)
No final de cada iteração (após modificacao de u e de v): Os custos reduzidos permanecem não positivos. Os rótulos permanecem válidos. O emparelhamento de máxima cardinalidade permanece emparelhamento no novo G[u,v]. É criada pelo menos uma aresta (i,j) com i V1+ e j V2- Por isso, no final de cada iteração, um dos seguintes acontece: É encontrado um emparelhamento com mais uma aresta, ou O conjunto V2+ fica com mais um vértice. Por isso, o esforço computacional envolvido em aumentar uma unidade ao emparelhamento é O(n2). O método Húngaro termina após O(n3) operações.

52 Conclusão Recordámos os métodos clássicos para a determinação de um emparelhamento de cardinalidade máxima. Procurámos justificar o desempenho desses métodos (detalhes no documento em papel) recorrendo a imagens e exemplos. Recordámos o método Húngaro usando uma notação que o torna uma extensão do método anterior para o caso bipartido.


Carregar ppt "Digressão por ‘caminhos, árvores e flores’"

Apresentações semelhantes


Anúncios Google