28
 Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Natal - RN Emparelhamento Sílvia Maria Diniz Monteiro Maia Profª D.Sc. Elizabeth Ferreira Gouvêa Goldbarg

Aula 4 - Introdução ao Problema de Emparelhamento

Embed Size (px)

Citation preview

Page 1: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 1/28

 

Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra

Departamento de Informática e Matemática Aplicada

Natal - RN

Emparelhamento

Sílvia Maria Diniz Monteiro Maia

Profª D.Sc. Elizabeth Ferreira Gouvêa Goldbarg

Page 2: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 2/28

 

Roteiro

• Problema do casamento

• Problema de alocação (assignment problem)

 – Problema de alocação ótima

• Emparelhamento

Page 3: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 3/28

 

Problema do Casamento

• Dado um conjunto de homens e mulheres em

que cada mulher conhece alguns homens.

• Quais seriam as condições para que toda

mulher pudesse casar com um homem que ela

conhece?

• Encontre o número máximo de mulheres as

quais podem casar com um homem queconhecem.

Page 4: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 4/28

 

Problema do Casamento

Page 5: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 5/28

 

Problema do Casamento

1) Em que condições G tem um subgrafo

1-regular que contém todos os vérticesque representam mulheres?

2) Qual o tamanho máximo de um

subgrafo 1-regular de G?

Page 6: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 6/28

 

Problema de Alocação

• Dado várias vagas de trabalho e candidatospara um ou mais desses cargos, determine

uma alocação candidado-vaga de maneira que

o maior número possível de vagas sejapreenchido.

Page 7: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 7/28

Problema de Alocação

 

Page 8: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 8/28

Problema de Alocação Ótima

• Alocação com maximização de benefícios paraempresa.

10

10

20

5

20

 

Page 9: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 9/28

Emparelhamento

Um emparelhamento em um grafo G é um subgrafo

1-regular de G, ou seja, um subgrafo induzido por

uma coleção de arestas não adjacentes par a par.

x y u v

z w

e1

e3

e4

e5

e6

e2

x y u v

z w

e1

e3

e4

e5

e6

e2

Emparelhamento máximo Emparelhamento máximal

 

Page 10: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 10/28

Emparelhamento

•Emparelhamento máximo – Máxima cardinalidade.

 – Maior número de arestas possível.

• Emparelhamento maximal – Nenhuma aresta pode ser adicionada e aumentar o

emparelhamento.

• Emparelhamento perfeito – Contém n/2 arestas.

 – Abrange todos os vértices do grafo. – O grafo deve possuir um número par de vértices.

 – Nem todo grafo de ordem par tem umemparelhamento perfeito.

 

Page 11: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 11/28

Emparelhamento

• Emparelhamento máximo ponderado em umgrafo ponderado

 – Emparelhamento no qual a soma dos pesos das

arestas é máximo. – Não necessariamente coincide com o

emparelhamento máximo do grafo.

x y u vz

w

1

1

12 3

x y u vz

w

1

1

12 3

Emparelhamento ponderado máximo Emparelhamento máximo

 

Page 12: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 12/28

Emparelhamento

• Problemas relacionados a emparelhamento – Encontrar emparelhamento máximo em um grafo

bipartido.

 –

Encontrar emparelhamento máximo em um grafoqualquer.

 – Encontrar emparelhamento ponderado máximo

em um grafo bipartido ponderado.

 – Encontrar emparelhamento ponderado máximo

em um grafo ponderado qualquer.

 

Page 13: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 13/28

Emparelhamento

• Definições: –  Aresta emparelhada: faz parte do emparelhamento.

 –  Aresta não-emparelhada: não faz parte doemparelhamento.

 – Vértice emparelhado: é vértice terminal de algumaaresta emparelhada.

 – Vértice simples: não é vértice terminal de nenhumaaresta emparelhada.

 – Caminho alternante: Caminho cujas arestas sãoalternadamente emparelhadas e não-emparelhadas.

 – Caminho de aumento: caminho alternante não-trivialque inicia e termina com um vértice simples.

 

Page 14: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 14/28

Emparelhamento

• Caminho alternante: x, y, z, u, w

• Caminho de aumento: x, y, z, w, u, v

x y u v

z w

e1

e3

e4

e5

e6

e2

 

Page 15: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 15/28

Emparelhamento

TeoremaSeja M1 e M2 emparelhamentos em um grafo G. Seja E o

conjunto de arestas de G que pertence ou a M1 ou a M2, porém

não a ambos. Sendo assim, E = (M1-M2) U (M2-M1). Seja H osubgrafo gerador com conjunto de arestas E(H) = E. Então, cada

componente de H se encontra em um dos casos a seguir:

(a)Um vértice isolado;

(b)Um ciclo de cardinalidade par, cujas arestas estão

alternadamente em M1 e M2;(c)Um caminho não-trivial cujas arestas estão alternadamente em

M1 e M2 de tal forma que cada vértice terminal do caminho é

simples com relação a M1 ou a M2 mas não a ambos.

 

Page 16: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 16/28

Emparelhamento

Teorema de Berge

Um emparelhamento M em um grafo G é máximo se,

e somente se, não existe caminho de aumento, no

que diz respeito a M, em G.

 

Page 17: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 17/28

Emparelhamento

Teorema do Casamento de Hall

Uma condição necessária e suficiente que garante

que cada mulher pode casar com um homem que

ela conhece é que cada subconjunto de k mulheres

(1kn) conheça coletivamente pelo menos k

homens.

 

Page 18: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 18/28

Emparelhamento

• Emparelhamento máximo em um grafobipartido como um problema de fluxo em

redes.

a b e f

c d

g h

 

Page 19: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 19/28

Emparelhamento

• Emparelhamento máximo em um grafobipartido como um problema de fluxo em

redes.

a b

e

f

c d

g

h

 

Page 20: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 20/28

Emparelhamento

• Emparelhamento máximo em um grafobipartido como um problema de fluxo em

redes.

• Complexidade: O(nm2)  – Ford-Fulkerson

modificado por Edmond e Karp; O(n3) – MPM.

a b

e

f

c d

g

h

s t

1

1

1

1

1

1

1

1

 

Page 21: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 21/28

Emparelhamento

•Sejam – M: um emparelhamento no grafo G;

 – P: um caminho de aumento em relação a M;

 – M’: conjunto de arestas de P pertencentes a M;

 – M’’: E(P) – M’.

• Faça M1 = (M-M’) U M’’.

• M1 é um emparelhamento para G com

cardinalidade |M| + 1, obtido a partir doaumento de M ao longo de P.

• Todo vértice simples em M1 também é simplesem M.

 

Page 22: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 22/28

Emparelhamento

• M: {e2, e5}• P: (x, y, z, w, u, v)

• M’: {e2, e5}

• M’’: {e1, e4, e6}

• M1 = (M – M’) U M’’ = M’’ = {e1, e4, e6}

x y u v

z w

e1

e3

e4

e5

e6

e2

x y u v

z w

e1

e3

e4

e5

e6

e2

 

Page 23: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 23/28

Emparelhamento

Teorema

Seja M um emparelhamento de um grafo G que não é

máximo e seja v um vértice simples com relação a M. Seja

M1 um emparelhamento obtido a partir do aumento de M

ao longo de algum caminho de aumento. Se G contém um

caminho de aumento com relação a M1 em que um dos

vértices terminais é v, então G contém um caminho deaumento com relação a M em que um dos vértices terminais

é v.

 

Page 24: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 24/28

Emparelhamento

Corolário

Seja M um emparelhamento de um grafo G. Suponha que M= M1, M2, ..., Mk é uma sequência de emparelhamentos de G

tal que Mi (2ik) é obtido aumentando Mi-1 ao longo de

algum caminho de aumento. Suponha que v é um vértice

simples com respeito a M de maneira que não existe um

caminho de aumento começando em v. Então, G não

contém um caminho de aumento com respeito a Mi (2ik)

que tenha v como um vértice terminal.

 

Page 25: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 25/28

Emparelhamento

• O procedimento de busca em largura pode serempregado para gerar uma árvore alternante

de G com raiz em um nó simples v.

a b e f

c d

g h

c

g

d

h

b e

Árvore de largura de G 

fa

Caminho de aumento 

 

Page 26: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 26/28

Emparelhamento

• Novo emparelhamento decorrente da árvorealternante.

a b e f

c d

g h

a b e f

c d

g h

 

Page 27: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 27/28

Emparelhamento

Algoritmo

1.Enquanto existir vértice não emparelhado nãoexaminado

2.Encontrar um vértice não emparelhado

3.Construir a árvore alternante

4.Encontrar um caminho de aumento

5.Aumentar o emparelhamento

Complexidade: O(nm)

 

Page 28: Aula 4 - Introdução ao Problema de Emparelhamento

5/17/2018 Aula 4 - Introdução ao Problema de Emparelhamento - slidepdf.com

http://slidepdf.com/reader/full/aula-4-introducao-ao-problema-de-emparelhamento 28/28

Emparelhamento

• Exemplo:

a b

e

f

c d

g

h

c

d f

a e

b

Caminho de aumento