Post on 20-Jul-2015
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
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
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.
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
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?
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.
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
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
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
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.
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
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.
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.
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
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.
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.
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.
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
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
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
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.
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
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.
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.
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.
G
a b e f
c d
g h
c
g
d
h
b e
Árvore de largura de G
fa
Caminho de aumento
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.
G
a b e f
c d
g h
G
a b e f
c d
g h
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)
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