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

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

Embed Size (px)

Citation preview

Page 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

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

João SoaresJoão SoaresDepartamento de MatemáticaDepartamento de Matemática

Universidade de CoimbraUniversidade de Coimbra

Hotel Quinta das Lágrimas (Coimbra), 15 de Outubro de 2003Homenagem ao Professor Doutor Mário Silva Rosa

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

ÍndiceÍndice

1.1. Emparelhamento Emparelhamento 1.1. Definições e motivaçãoDefinições e motivação2.2. Estrutura poliedral (Cunningham & Marsh, 1978)Estrutura poliedral (Cunningham & Marsh, 1978)

2.2. Emparelhamento de Cardinalidade MáximaEmparelhamento de Cardinalidade Máxima1.1. Em grafos bipartidos Em grafos bipartidos 2.2. Em grafos não bipartidos (Edmonds, 1965a)Em grafos não bipartidos (Edmonds, 1965a)

3.3. Emparelhamento de Peso MáximoEmparelhamento de Peso Máximo1.1. Em grafos bipartidos (Kuhn,1955)Em grafos bipartidos (Kuhn,1955)

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

Emparelhamento Emparelhamento (definição)(definição)

Seja Seja G=(V,E)G=(V,E) um grafo não orientado um grafo não orientado

V=V=vértices, vértices, E=E=arestas, com ‘pesos’ arestas, com ‘pesos’ ccee, e , e E. E.

Um Um emparelhamento emparelhamento de de GG é um subconjunto das arestas sem é um subconjunto das arestas sem extremidades em comum.extremidades em comum.

PesoPeso de um emparelhamento é a soma dos pesos das arestas de um emparelhamento é a soma dos pesos das arestas do emparelhamento.do emparelhamento.

Um Um emparelhamentoemparelhamento diz-se diz-se perfeitoperfeito se “cobre” todos os se “cobre” todos os vértices.vértices.

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

EmparelhamentoEmparelhamento(exemplos)(exemplos)

a b c d

e f g

h 1

2

3

4

5

6

7

8

9

10

In Korte&Vygen (2000) In Nemhauser&Wolsey (1988)

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

EmparelhamentoEmparelhamento(exemplos)(exemplos)

a b c d

e f g

h 1

2

3

4

5

6

7

8

9

10

In Korte&Vygen (2000) In Nemhauser&Wolsey (1988)

...de máxima cardinalidade?

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

EmparelhamentoEmparelhamento(motivação)(motivação)

Afectar individuos a tarefas Afectar individuos a tarefas (... perfeito de peso máximo em G bipartido (... perfeito de peso máximo em G bipartido ≡ ≡ Afectação)Afectação)

Emparelhar colegas de quarto em dormitório Emparelhar colegas de quarto em dormitório (... perfeito de peso máximo)(... perfeito de peso máximo)

Heurística para TSP Simétrico e Euclidiano Heurística para TSP Simétrico e Euclidiano (... perfeito de peso máximo)(... perfeito de peso máximo)

Problema do Carteiro Chinês Problema do Carteiro Chinês (... perfeito de peso máximo)(... perfeito de peso máximo)

Afectar alunos a Universidades Afectar alunos a Universidades (... perfeito tal que não haja nenhum par que fique melhor trocado)(... perfeito tal que não haja nenhum par que fique melhor trocado)

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

EmparelhamentoEmparelhamento(algebra)(algebra)

Problema de Programação Inteira:Problema de Programação Inteira:

( )

max

s.a 1 ( ) (rest. de grau)

0 ( ) (nao negatividade)

( ) (integralidade)

e ee E

ee i

e

e

c x

x i V

x e E

x e E

ou max s.a 1, 0, mcx Ax x x

com A matriz de incidência vértice-aresta de G

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

EmparelhamentoEmparelhamento(estrutura poliedral)(estrutura poliedral)

Cunningham e Marsh, 1978:Cunningham e Marsh, 1978:

O seguinte sistema de desigualdades é TDI:O seguinte sistema de desigualdades é TDI:

( )

E( )

1 ( )

1 ( : impar )

2

0 ( )

ee i

ee S

e

x i V

Sx i A S V S

x e E

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.

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

EmparelhamentoEmparelhamento(Berge, 1957)(Berge, 1957)

Caminho aumentadoCaminho aumentado relativamente a um emparelhamento M: relativamente a um emparelhamento M:

Berge, 1957:Berge, 1957: Um emparelhamento M é de máxima Um emparelhamento M é de máxima cardinalidade se e só se não existe caminho aumentado cardinalidade se e só se não existe caminho aumentado relativamente a M.relativamente a M.

DEM: “DEM: “” Por absurdo. Trivial. “” Por absurdo. Trivial. “” Por absurdo, existe |” Por absurdo, existe |M’|>|M|. Então, F=MM’|>|M|. Então, F=MM’ é um conjunto de circuitos e M’ é um conjunto de circuitos e caminhos simples. Circuitos têm número par de arestas. Como caminhos simples. Circuitos têm número par de arestas. Como |M’|>|M|, existe um dos caminho simples que é aumentado(!).|M’|>|M|, existe um dos caminho simples que é aumentado(!).

IdeiaIdeia para obter emparelhamento de máxima cardinalidade: para obter emparelhamento de máxima cardinalidade: Identificar sucessivos caminhos aumentados.Identificar sucessivos caminhos aumentados.

M M M MM M M

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartidografo bipartido

1

2

3

4

5

6

7

8

9

10

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10

*Vértice exposto

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10

*

17

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10

*

17

28

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10

*

17

28

3

3

3

Caminho aumentado: 1, 7, 2, 8, 3, 6

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10

*

17

28

3

3

3

Rótulas permitem identificarNovo emparelhamento

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10*Vértice exposto

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10* 5

5

5

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10* 5

5

5

10

8

7

Não existe caminho aumentado a partir de 5!Existe a partir de 9?

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo bipartido:grafo bipartido:

1

2

3

4

5

6

7

8

9

10* 5

5

5

10

8

7

Não existe caminho aumentado a partir de 5!Existe a partir de 9?

V2+V1

+

V1-

V2-

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

EmparelhamentoEmparelhamento(em grafos bipartidos)(em grafos bipartidos)

Quando um vértice adquire uma posição relativa num caminho Quando um vértice adquire uma posição relativa num caminho alternado ( ou ) essa posição relativa é igual em qualquer alternado ( ou ) essa posição relativa é igual em qualquer caminho aumentado.caminho aumentado.

Por isso, qualquer rotulação de um vértice é definitiva o que Por isso, qualquer rotulação de um vértice é definitiva o que facilmente implica que averiguação de um caminho alternado facilmente implica que averiguação de um caminho alternado pode ser implementado em O(npode ser implementado em O(n22) operações.) operações.

Em conclusão, a determinação de um emparelhamento de Em conclusão, a determinação de um emparelhamento de máxima cardinalidade num grafo bipartido pode ser efectuada máxima cardinalidade num grafo bipartido pode ser efectuada em O(nem O(n33) operações.) operações.

No final, R=No final, R=V1- V2

+ é uma cobertura por vértices de G tal que |R|=|M|.

V2+V1

+

V1- V2

-

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Vejamos se a mesma ideia funciona com grafos não bipartidosVejamos se a mesma ideia funciona com grafos não bipartidos

a b c d

e f g

h

*Vértice exposto

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Vejamos se a mesma ideia funciona com grafos não bipartidosVejamos se a mesma ideia funciona com grafos não bipartidos

a b c d

e f g

h

*

a

b

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Vejamos se a mesma ideia funciona com grafos não bipartidosVejamos se a mesma ideia funciona com grafos não bipartidos

a b c d

e f g

h

*

a

b

e

e

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Vejamos se a mesma ideia funciona com grafos não bipartidosVejamos se a mesma ideia funciona com grafos não bipartidos

a b c d

e f g

h

*

a

b

e

e f

c

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Vejamos se a mesma ideia funciona com grafos não bipartidosVejamos se a mesma ideia funciona com grafos não bipartidos

a b c d

e f g

h

*

a

b

e

e f

c

Vértice d pode receber rótulo ou .Foi encontrado circuito ímpar! Como enumerar caminhos alternados de modo eficiente?

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Para Berge (1957) isso não seria problema - enfim, há um número finito de Para Berge (1957) isso não seria problema - enfim, há um número finito de caminhos alternados.caminhos alternados.

Pois, só com Edmonds (1965a) veio a primeira proposta de enumeração Pois, só com Edmonds (1965a) veio a primeira proposta de enumeração eficienteeficiente de caminhos alternados no célebre de caminhos alternados no célebre Paths, trees and flowersPaths, trees and flowers..

Edmonds (1965a) usou a palavra Edmonds (1965a) usou a palavra goodgood para se referir a funcionar em para se referir a funcionar em tempo polinomial – só mais tarde com Karp e Cook (anos 70) veio o rigor tempo polinomial – só mais tarde com Karp e Cook (anos 70) veio o rigor e o formalismo da classificação de problemas.e o formalismo da classificação de problemas.

A ideia: A ideia: Sempre que for encontrado um vértice que pode ser do tipo ou então 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 substituir todos esses vértices do circuito ímpar encontrado por um novo vértice e retomar a procura de um caminho aumentado.vértice e retomar a procura de um caminho aumentado.

Ilustramos esta ideia com o exemplo anterior, ...Ilustramos esta ideia com o exemplo anterior, ...

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido:grafo não bipartido:

a b c d

e f g

*

a

b

e

e f

ca b

a

hh

U b

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

Emparelhamento Emparelhamento

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido:grafo não bipartido:

a b c d

e f g

*

a

b

e

e f

ca b

a

U b

hh

U, f

Caminho aumentado encontrado: a, b, U, hMais precisamente: a, b, e, c, d, g, f, h

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido:grafo não bipartido:

a b c d

e f g

h

*

a

b

e

e f

c

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido:grafo não bipartido:

a b c d

e f g

h

*

a

b

e

e f

c

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Encontrar emparelhamento de máxima cardinalidade num Encontrar emparelhamento de máxima cardinalidade num grafo não bipartido:grafo não bipartido:

a b c d

e f g

h

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Notação introduzida por Edmonds, 1965a:Notação introduzida por Edmonds, 1965a:

u v a

b c

dx

y

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Notação introduzida por Edmonds, 1965a:Notação introduzida por Edmonds, 1965a:

u v a

b c

dx

y

Encontrado vérticeque pode ser rotulado dedois modos diferentes

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Notação introduzida por Edmonds, 1965a:Notação introduzida por Edmonds, 1965a:

u v a

b c

dx

y

Flower: a união dos doiscaminhos alternados encontrados

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Notação introduzida por Edmonds, 1965a:Notação introduzida por Edmonds, 1965a:

u v a

b c

dx

y

Flower: a união dos doiscaminhos alternados encontrados

Stem: o caminho comum àqueles dois caminhos alternados

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Notação introduzida por Edmonds, 1965a:Notação introduzida por Edmonds, 1965a:

u v a

b c

dx

y

Flower: a união dos doiscaminhos alternados encontrados

Stem: o caminho coumum àqueles dois caminhos Blossom: o circuito ímpar encontrado

(que vai ser substituído por um novo vértice – shrinked).

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

EmparelhamentoEmparelhamento(em grafos não bipartidos)(em grafos não bipartidos)

Cada um dos vértices do Cada um dos vértices do BlossomBlossom pode ser rotulado com ou para uma pode ser rotulado com ou para uma escolha adequado da ordem pela qual o circuito ímpar é percorrido escolha adequado da ordem pela qual o circuito ímpar é percorrido alternadamente.alternadamente.

Apenas uma aresta do emparelhamento é incidente no Apenas uma aresta do emparelhamento é incidente no BlossomBlossom. Essa aresta é a . Essa aresta é a última do última do stemstem..

Por isso, podemos interpretar o Por isso, podemos interpretar o BlossomBlossom como um grande vértice rotulado como um grande vértice rotulado com . As suas arestas incidentes são as arestas incidentes de todos os vértices com . As suas arestas incidentes são as arestas incidentes de todos os vértices do do BlossomBlossom. Contraccão! Sucede-se a procura de um caminho aumentado como . Contraccão! Sucede-se a procura de um caminho aumentado como normalmente. normalmente.

Quando um caminho aumentado for encontrado, recuperam-se as arestas desse Quando um caminho aumentado for encontrado, recuperam-se as arestas desse caminho usando os rótulos e escolhendo as orientações adequadas sempre um caminho usando os rótulos e escolhendo as orientações adequadas sempre um vértice associado a um vértice associado a um BlossomBlossom é encontrado. é encontrado.

Se um caminho aumentado não for encontrado deve tentar-se um outro vértice 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. exposto. Podem manter-se todas as contracções entretanto efectuadas.

Como a rotulação de vértices é sempre definitiva, o algoritmo pode ser Como a rotulação de vértices é sempre definitiva, o algoritmo pode ser implementado em O(nimplementado em O(n33) operações – implementação mais delicada do que no caso ) operações – implementação mais delicada do que no caso bipartido.bipartido.

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

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

Encontrar Encontrar emparelhamento perfeito de peso máximo num grafo bipartidoemparelhamento perfeito de peso máximo num grafo bipartido G G (Kuhn, 1955)(Kuhn, 1955)

Sem perda de generalidade, suponhamos que G é completo (arestas Sem perda de generalidade, suponhamos que G é completo (arestas inexistentes têm peso -inexistentes têm peso -). Afectação!). Afectação!

Uma formulação é Uma formulação é

Nota: Matriz das restrições é TU.Nota: Matriz das restrições é TU.Por isso, restrições de integralidade podem ser ignoradas.Por isso, restrições de integralidade podem ser ignoradas.

1 1

1

1

max

. 1 ( 1,2, , )

1 ( 1,2, , )

0 ( , 1,2, , )

( , 1, 2, , )

n n

ij iji j

n

ijj

n

iji

ij

ij

c x

s a x i n

x j n

x i j n

x i j n

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

Teorema (Kuhn, 1955):Teorema (Kuhn, 1955): Um ponto X é óptimo para o problema da Um ponto X é óptimo para o problema da Afectação se e só se existirem vectores Afectação se e só se existirem vectores u,vu,v satisfazendo satisfazendo ccijij – u – uii – v – vjj 0 tal 0 tal

que X é vector característico de um emparelhamento perfeito no grafo que X é vector característico de um emparelhamento perfeito no grafo G[u,v]=(V,E[u,v]), com G[u,v]=(V,E[u,v]), com E[u,v] = {(i,j): cE[u,v] = {(i,j): cijij – u – uii – v – vjj =0 } =0 }..

DEM: Dualidade Forte da P.L. DEM: Dualidade Forte da P.L.

Ideia:Ideia: Construir G[u,v] para u,v satisfazendo c Construir G[u,v] para u,v satisfazendo c ijij – u – uii – v – vjj 0. 0.

Obter M emparelhamento de máxima cardinalidade em G[u,v].Obter M emparelhamento de máxima cardinalidade em G[u,v]. Se |M|=n Se |M|=n então parar, senão então parar, senão modificar u,v de modo a obter mais uma aresta em Mmodificar u,v de modo a obter mais uma aresta em M sem violar csem violar cijij – u – uii – v – vjj 0. 0.

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

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

Consideremos o seguinte problema de Afectação:Consideremos o seguinte problema de Afectação:

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

27 17 7 8

14 2 10 2( )

12 19 4 4

8 6 12 6

ijc

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

G[u,v]

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

G[u,v]

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

*

G[u,v]

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

*

2

3’

G[u,v]

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

*

2

3’

V1+={2,4}, V2

-={1’,2’,4’},

G[u,v]

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

Como valores iniciais, considerem-se Como valores iniciais, considerem-se u=(0,-2,0,0), v=(27,19,12,8)u=(0,-2,0,0), v=(27,19,12,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 5 0

11 15 0 4

15 0 8 4

19 13 0 2

ij ij i jc c u v

*

2

3’

V1+={2,4}, V2

-={1’,2’,4’},

G[u,v]

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

Após adequada modificação: u=(0,-4,0,-2), v=(27,19,14,8)Após adequada modificação: u=(0,-4,0,-2), v=(27,19,14,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 7 0

9 13 0 2

15 0 10 4

17 11 0 0

ij ij i jc c u v

*

2

3’

G[u,v]

Nota importante: os rótulos anteriores permanecem válidos

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

Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 7 0

9 13 0 2

15 0 10 4

17 11 0 0

ij ij i jc c u v

*

2

3’

G[u,v]

4

Caminho aumentado encontrado!

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

Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

0 2 7 0

9 13 0 2

15 0 10 4

17 11 0 0

ij ij i jc c u v

*

2

3’

G[u,v]

4

Caminho aumentado encontrado!

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

Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)Após adequada modificação: u =(0,-4,0,-2), v=(27,19,14,8)

1

2

3

4

1’

2’

3’

4’

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

G[u,v] Portanto, pelo Teorema de Kuhn, encontrámos solução ‘optima x11 = x21 = x32 = x44 = 1,

de valor (0-4+0-2)+(27+19+14+8)=62.

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

No final de cada iteração (após modificacao de No final de cada iteração (após modificacao de uu e de e de vv):): Os custos reduzidos permanecem não positivos. Os custos reduzidos permanecem não positivos. Os rótulos permanecem válidos.Os rótulos permanecem válidos. O emparelhamento de máxima cardinalidade permanece O emparelhamento de máxima cardinalidade permanece

emparelhamento no novo G[u,v].emparelhamento no novo G[u,v]. É criada pelo menos uma aresta (i,j) com É criada pelo menos uma aresta (i,j) com i i VV11

++ e e j j VV22--

Por isso, no final de cada iteração, um dos seguintes acontece: Por isso, no final de cada iteração, um dos seguintes acontece: É encontrado um emparelhamento com mais uma aresta, É encontrado um emparelhamento com mais uma aresta, ouou O conjunto VO conjunto V22

++ fica com mais um vértice. fica com mais um vértice. Por isso, o esforço computacional envolvido em aumentar uma Por isso, o esforço computacional envolvido em aumentar uma

unidade ao emparelhamento é O(nunidade ao emparelhamento é O(n22). ). O método Húngaro termina após O(nO método Húngaro termina após O(n33) operações.) operações.

EmparelhamentoEmparelhamento(de peso máximo num grafo bipartido)(de peso máximo num grafo bipartido)

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

ConclusãoConclusão

1.1. Recordámos os métodos clássicos para a determinação de Recordámos os métodos clássicos para a determinação de um emparelhamento de cardinalidade máxima.um emparelhamento de cardinalidade máxima.

2.2. Procurámos justificar o desempenho desses métodos Procurámos justificar o desempenho desses métodos (detalhes no documento em papel) recorrendo a imagens e (detalhes no documento em papel) recorrendo a imagens e exemplos. exemplos.

3.3. Recordámos o método Húngaro usando uma notação que o Recordámos o método Húngaro usando uma notação que o torna uma extensão do método anterior para o caso torna uma extensão do método anterior para o caso bipartido.bipartido.