• Nenhum resultado encontrado

Emparelhamentos de peso máximo

N/A
N/A
Protected

Academic year: 2022

Share "Emparelhamentos de peso máximo"

Copied!
41
0
0

Texto

(1)

AULA 12

(2)

Emparelhamentos de peso máximo

(3)

Emparelhamentos

Um emparelhamento em um grafo (não-orientado) é um conjunto de arestas que duas-a-duas não tem ponta em comum.

Exemplo: {b, d} e {c, e} formam um emparelhamento

a

b d

f

(4)

Peso de arestas

Seja G = (N, E) um grafo (não-orientado) e w : E → Z uma função-peso. O peso de um conjunto de arestas M é

w(M) := X

e∈M

w(e) .

Exemplo: Peso das arestas vermelhas é 2

a

b

c

d

e

f 2

2

3

−4

1

5

(5)

Problema

Problema do emparelhamento de peso máximo: Dado uma grafo bipartido G = (N, E) e uma função-peso w : E → Z, encontrar um emparelhamento de peso máximo.

(6)

Problema

Problema do emparelhamento de peso máximo: Dado uma grafo bipartido G = (N, E) e uma função-peso w : E → Z, encontrar um emparelhamento de peso máximo.

Entra:

a

b

c

d

e

f 1

1

1

1

1

1

1

(7)

Problema

Problema do emparelhamento de peso máximo: Dado uma grafo bipartido G = (N, E) e uma função-peso w : E → Z, encontrar um emparelhamento de peso máximo.

Sai:

a

b d

f 1

1

1

1

1

1

(8)

Problema

Problema do emparelhamento de peso máximo: Dado uma grafo bipartido G = (N, E) e uma função-peso w : E → Z, encontrar um emparelhamento de peso máximo.

Entra:

a

b

c

d

e

f

−1

1

2

1

3

2

1

(9)

Problema

Problema do emparelhamento de peso máximo: Dado uma grafo bipartido G = (N, E) e uma função-peso w : E → Z, encontrar um emparelhamento de peso máximo.

Sai:

a

b d

f

−1

1

2

1

2

1

(10)

Caminhos aumentadores

Seja M um emparelhamento em um grafo G.

Um caminho hv0, v1, v2, . . . , vti é M-aumentador se t é ímpar e v0, v1, . . . , vt são distintos;

v1v2, v3v4, . . . , vt−2vt−1 então em M;

v0 e v1 não são pontas de arestas em M.

Exemplo: ha, b, c, d, e, fi é um caminho M-aumentador

a b c d e f

Se P é um caminho M-aumentador, então M = M ⊕ P é

(11)

Método húngaro

Desenvolvido por H.W. Kuhn [1955], usando trabalho de Egerváry [1931].

Um emparelhamento M é extremo se tem peso máximo dentre os emparelhamentos com |M| arestas.

O método húngaro encontra, iterativamente,

emparelhamentos extremos M0, M1, M2, . . . tais que |Mk| = k

e devolve o emparelhamento de peso máximo entre M0, M1, M2, . . .

(12)

Iteração

Suponha que M é um emparelhamento extremo.

Defina uma função-custo c : E → Z da seguinte maneira:

c(e) := w(e) se e ∈ M c(e) := −w(e) se e 6∈ M Vale que

Se P é um caminho M-aumentador de custo

mínimo, então M := M ⊕ P é um emparelhamento extremo.

(13)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f

−1

1

2

1

2

1

M

0

(14)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f 1

−1

−2

−1

−3

−2

−1

M

0

(15)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f

−1

1

2

1

2

1

M

1

(16)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f 1

−1

−2

−1

3

−2

−1

M

1

(17)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f

−1

1

2

1

2

1

M

2

(18)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f 1

−1

2

−1

3

−2

−1

M

2

(19)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f 1

−1

2

−1

−2

−1

M

2

(20)

Exemplo

Interferência!puta que o pariu!!!

a

b

c

d

e

f

−1

1

2

1

3

2

1

M

3

(21)

Demonstração

Considere qualquer emparelhamento N com |M| + 1 arestas.

Como |N| > |M|, então M ∪ N contém um componente Q que é um caminho M-aumentador.

0

c b

e g

h

i l

(22)

Demonstração

Considere qualquer emparelhamento N com |M| + 1 arestas.

Como |N| > |M|, então M ∪ N contém um componente Q que é um caminho M-aumentador.

0

c b

d

e

f

g

h

i

k l

m

(23)

Demonstração

Como P é um caminho M-aumentador de custo mínimo temos que c(Q) ≥ c(P).

Como N ⊕ Q é um emparelhamento com |M| arestas e M é extremo, temos que

w(N ⊕ Q) ≤ w(M). Portanto,

w(N) = w(N ⊕ Q) − c(Q)

≤ w(M) − c(Q)

(24)

Caminho aumentador mínimo

Recebe uma grafo bipartido (N, E) com bipartição (U, W ), uma função-custo c : E → Z e um emparelhamento M e

Devolve um caminho M-aumentador P de custo mínimo, se um tal caminho existe.

Oriente cada aresta uw do grafo, com u em U e w em W da seguinte maneira:

se uw está em M oriente a aresta de w para u,

se uw não está em M oriente a aresta de u para w. Seja (N, A) o grafo (orientado) resultante.

(25)

Caminho aumentador mínimo

Seja U os nós em U que não são pontas em M. Seja W os nós em W que não são pontas em M.

A todo caminho M-aumentador em (N, E) corresponde um caminho em (N, A) com ponta inicial em U e ponta final em W de mesmo custo e vice-versa.

O algoritmo devolve um caminho M-aumentador P que

corresponde a um caminho de custo mínimo de U a W na rede (N, A, c).

(26)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

6 4

3 4 2

4

2 5 0

8 2

7 3

(27)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

−6

−4 −3

−4 −2

−4

−2 −5 0

−8 −2 −7

−3

(28)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

6

4 3

4 2

4

2 5 0

8 2 7

3

(29)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

−6

−4 −3 −2

−4

−4

−2 −5 0

8 −2 −7

−3

(30)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

−6

−4 −3

−4 −2

−4

−2 −5 0

8 −2 −7

−3

(31)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

6

4 3

4 2

4

2 5 0

8 2 7

3

(32)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

6

−4 −3

−4 −2

−4

−2 −5 0

−8 −2 7

−3

(33)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

6

−4 −3

−4 −2

−4

−2 −5 0

−8 −2 7

−3

(34)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

6

4 3

4 2

4

2 5 0

8 2 7

3

(35)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

6

−4 −3

4 −2

−4

−2 −5 0

−8 −2 7

−3

(36)

Exemplo

Interferência!puta que o pariu!!!

a b

c d

e f

h i g

6

−4 −3

4 −2

−4

−2 −5 0

−8 −2 7

−3

(37)

Exemplo

Interferência!puta que o pariu!!!

c d g

h i

6

4 3

4 2

4

2 5 0

8 2 7

3

(38)

Caminhos de custo mínimo

Fato. Se M é extremo, então a rede auxiliar (N, A, c)

contruída em cada iteração não possui ciclos negativos.

Demonstração: Suponha que O é um circuito tal que c(O) < 0.

Podemos supor O = hu0, w1, u1, . . . , wt, uti com u0 = ut, u1, . . . , ut em U e w1, . . . , wt em W .

Assim, as aresta w1u1, . . . , wtut estão em M e as arestas u0w1, . . . , ut−1wt não estão em M.

Logo, M = M ⊕ O é um emparelhamento com |M| arestas tal que

w(M) = w(M) − c(O) > w(M), contrariando o fato de que M é extremo.

(39)

Consumo de tempo

O consumo de tempo de cada iteração é o consumo de tempo de um algoritmo para o problema do caminho

mínimo em redes com custos negativos, mas sem ciclos negativos. O algoritmo FORD-BELLMAN faz o serviço.

Assim, temos a seguinte conclusão:

O consumo de tempo do algoritmo descrito para encontrar um emparelhamento de peso máximo em

um grafo bipartido é O(n(nm)) = O(n2m).

(40)

Aplicação: optimal assignment

Suponha que temos n tarefas que devem ser executadas em m máquinas. Além disso, seja c(ij) o custo de executar a tarefa j na máquina i. Deseja-se executar as tarefas com custo total mínimo (suponha m ≥ n).

Este problema pode ser resolvido através do método húngaro para encontrar um emparelhamento de peso máximo:

construa um grafo bipartido completo em que os no´s de uma parte correspondam às tarefas e os da outra às

máquinas;

seja C := max{c(ij) : i é máquina e j é tarefa}; defina o peso w(ij) da aresta ij como W − c(ij).

Assim, um emparelhamento de peso máximo corresponde

(41)

Exercícios

Exercício 12.A

Mostre como utilizando o método húngaro pode-se obter um emparelhamento perfeito de peso mínimo de um grafo bipartido. Um emparelhamento M é perfeito se cada nó do grafo é ponta de uma aresta em M.

Exercício 12.B

Seja A = (A1, A2, . . . , An) uma família de subconjuntos de um conjunto finito X. Um subconjunto Y de X é chamado de uma transversal ou de um sistema de representantes distintos (SRD) de A se existe uma bijeção π : {1,2, . . . ,n} → Y tal que π(i) está em Ai

para cada i = 1, . . . ,n.

Dados um família A e uma função-peso w : X Z, mostre como através do método húngaro pode-se obter um SRD de peso mínimo.

Referências

Documentos relacionados

O pressuposto teórico à desconstrução da paisagem, no caso da cidade de Altinópolis, define que os exemplares para essa análise, quer sejam eles materiais e/ou imateriais,

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

De Conceição de Macabú para Macaé o modelo ajustado para o movimento, da mesma forma que para Campos dos Goytacazes, indicou baixo poder de explicação para o rendimento do trabalho

As cadeias laterais variam em certo nível entre as diferentes formas de clorofila encontradas em diferentes organismos, mas todas possuem uma cadeia fitol (um terpeno ) ligada

A partir da análise de cadernos escolares das décadas de 1960 e 1970, busca-se investigar a presença de uma geometria proposta pelo Movimento da Matemática Moderna

Lernaea cyprinacea of Steindachnerina insculpta from Taquari River, municipality of Taquarituba, São Paulo State, Brazil.. Note the hemorrhagic area around the insertion point of

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Contribuições/Originalidade: A identificação dos atributos que conferem qualidade ao projeto habitacional e das diretrizes de projeto que visam alcançá-los, são de fundamental