tema 5: emparejamientos - universidad de sevillama1.eii.us.es/material/ftg_itis_tema5.pdf ·...

47
1 Tema 5: Emparejamientos Emparejamientos • Preliminares. • Emparejamientos máximos en grafos bipartitos. • grafos no ponderados • grafos ponderados, asignación óptima • Emparejamientos máximos en grafos en general. • grafos no ponderados • grafos ponderados Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa Cáceres Sansaloni

Upload: others

Post on 15-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

1

Tema 5: EmparejamientosEmparejamientos

• Preliminares.

• Emparejamientos máximos en grafos bipartitos.

• grafos no ponderados• grafos ponderados, asignación óptima

• Emparejamientos máximos en grafos en general.

• grafos no ponderados• grafos ponderados

Fundamentos de la teoría de grafos.3º I.T.I. de Sistemas

Mª Teresa Cáceres Sansaloni

Page 2: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Problema de los matrimonios

Problema de la asignación de tareas

Problema de los horarios

Problema de los matrimoniosProblema de los matrimonios

Dada una reunión de hombres y mujeres, donde cada mujerconoce a alguno/s de los hombres ¿bajo qué condiciones puede cada mujer casarse con un hombre al que conoce previamente?

Determinar el número máximo de mujeres de la reunión que puede casarse con algún hombre al que conoce previamente.

Page 3: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

ModelizaciModelizacióónn del problemadel problema:

Un grafo bipartito G

conjuntos partitos: el conjunto de hombre y el conjunto de mujeres

aristas: une un vértice que corresponde a un hombre con otro que representa a una mujer si y sólo si ambos se conocen previamente.

El problema de los matrimonios puede expresarse en términos de Teoría de Grafos como:

¿Bajo qué condiciones un grafo bipartito G dado posee un subgrafo 1-regular que incluya a todos los vértices de uno de los subconjuntos partitos (el que representa a las mujeres)?

¿Cuál es el tamaño máximo de un subgrafo 1-regular de un grafo bipartito?

Page 4: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Problema de la asignaciProblema de la asignacióón de tareasn de tareas

Dada una serie de trabajos (tareas) vacantes y otra de candidatospara uno o más de dichos trabajos ¿bajo qué condiciones existeuna asignación ?

¿Qué asignación de candidatos a tareas permite cubrir el máximonúmero de tareas?

ModelizaciModelizacióónn del problema del problema

Un grafo bipartito G

conjuntos partitos: los trabajos vacantes y los candidatos

aristas: un vértice que representa a un candidato es adyacente a los vértices que representan las tareas que está capacitado a realizar el candidato

Page 5: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

El problema de la asignación de tareas puede expresarse en términos de Teoría de Grafos como:

¿Bajo qué condiciones un grafo bipartito G dado posee un subgrafo 1-regular que incluya a todos los vértices de uno de los subconjuntos partitos, el que representa a los candidatos (o bien a los trabajos)?

¿Cuál es el tamaño máximo de un subgrafo 1-regular de un grafo bipartito?

Page 6: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

ModelizaciModelizacióónn del problemadel problema

Un grafo G bipartito ponderado. Si el candidato (C) se le asigna la tarea (T), entonces el peso de la arista CT, w(CT), en G es una medida del beneficio que la compañía obtendrácontratando al candidato C para cubrir el puesto T.

El problema de encontrar una asignación de candidatos a trabajos vacantes que produzca un beneficio máximo a la empresa es equivalente a encontrar un subgrafo 1-regular H de G tal que la suma de los pesos de las aristas de H sea máximo.

Problema de la asignaciProblema de la asignacióón n óóptimaptima

Es otra versión del problema anterior, no se exige cubrir el máximo número posible de trabajos vacantes sino dar una asignación tal, que los salarios que pague la compañía produzca el máximo beneficio.

Page 7: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

DefiniciDefinicióónn

Un emparejamientoemparejamiento de un grafo G es cualquier subgrafo1-regular de G (es decir, un subgrafo inducido por una colección de aristas dos a dos no incidentes entre sí).

Un emparejamiento memparejamiento mááximoximo de un grafo G es cualquier emparejamiento de G de orden máximo (con el máximo número posible de vértices).

emparejamientos (no máximos)

emparejamiento máximo

no es emparejamiento

Page 8: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

DefiniciDefinicióónn

Un emparejamiento perfectoemparejamiento perfecto de un (p,q)-grafo G es un emparejamiento de tamaño p/2 (luego p ha de ser par). En el ejemplo anterior, el emparejamiento máximo es perfecto.

Nota:Nota:Aunque cada grafo que admita un emparejamiento

perfecto ha de ser de orden par (p/2 ha de ser natural), NONO todo grafo de orden par admite un emparejamiento perfecto (por ejemplo, k1,2n+1 con n≥1)

Page 9: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

DefiniciDefinicióón:n:

Un emparejamientoemparejamiento de un grafo ponderado G es cualquier subgrafo 1-regular de G(≡ cualquier conjunto de aristas NO incidentes dos a dos).

Un emparejamiento de peso memparejamiento de peso mááximoximo de un grafo ponderado G es un emparejamiento de G tal que la suma de los pesos de sus aristas sea máximo.

Nota:Nota:Un emparejamiento de peso máximo en un grafo

ponderado NO tiene por qué corresponder a un emparejamiento máximo del grafo subyacente.

1 1

1

2 3 emparejamiento de peso máximo w(H)=4. No es emparejamiento máximo en el grafo subyacente.

Page 10: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Hay cuatro tipos de Problemas relacionados con emparejamientos:

1. Encontrar un emparejamiento máximo en un grafo bipartito.

2. Encontrar un emparejamiento máximo en un grafo general.

3. Encontrar un emparejamiento ponderado máximo en un grafo bipartito ponderado.

4. Encontrar un emparejamiento ponderado máximo en un grafo ponderado general.

El 4 es mas complejo y requiere tratamientos más avanzados.

Page 11: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Sea M un emparejamiento de G.

Se llama arista emparejadaarista emparejada con respecto a M a cada una de las aristas de G que pertenecen a M y arista no emparejadaarista no emparejada con respecto a M a las que pertenecen a G-M.

Se llama vvéértice emparejadortice emparejado con respecto a M a cada uno de los vértices incidentes con aristas de M (vértices de M) y vvéértice no rtice no emparejado (o soltero)emparejado (o soltero) con respecto a M en otro caso.

Se llama camino alternadocamino alternado de G con respecto a M a un camino de G cuyas aristas son alternativamente emparejadas y no emparejadas con respecto a M.

Se llama camino aumentante (o creciente)camino aumentante (o creciente) de G con respecto a M a un camino alternado no trivial cuyos vértices extremos son ambos solteros.

Nota: Todo camino alternado tiene longitud par y todo caminoaumentante tiene longitud impar.

Page 12: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Resultados técnicos:

Teorema 1:Teorema 1:

Sean M1 y M2 dos emparejamientos de un grafo G. Sea A el conjunto de aristas que pertenecen a M1 o a M2 pero no a ambos (es decir, A=(M1-M2) ∪ (M2-M1)).Sea H el subgrafo recubridor de G de conjunto de aristas E(H)=A. Entonces, cada componente de H es de uno de los siguientes tipos:

a) un vértice aisladob) un ciclo cuyas aristas pertenecen, alternativamente,

a M1 y M2.c) un camino no trivial cuyas aristas pertenecen,

alternativamente, a M1 y M2 y tal que cada vértice final del camino es un vértice no emparejado con respecto a M1 o a M2, pero no a ambos.

__

_

Page 13: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Demostración:

D(H) § 2 (cada vértice de H incide como mucho con una arista de M1 y una de M2 )

Cada componente de H es o un camino o un ciclo.

(a) Camino trivial ï vértice aislado

(b) Ciclo (alternan aristas de M1 y de M2) ï Ciclo par

(c) Camino P, componente de H con la arista e=uv con u como vértice final del camino P.

e œ E(H) Ø (e œ M1 - M2 ó e œ M2 – M1)

Entonces, u es vértice de emparejamiento de M1 y no de M2 o viceversa, (u es vértice de emparejamiento de M2pero no de M1)

Page 14: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Teorema 2: (de Teorema 2: (de BergeBerge))

Un emparejamiento M de un grafo G es máximo ⇔ no existen caminos aumentantes de G con respecto a M.

Demostración:

(fl ) Por R.A.

Sea M un emparejamiento máximo en G y suponemos que G contiene camino aumentante P. P tiene longitud impar.M’ = E(P) … M; M’’ = E(P) – M’|M’’| = |M’| + 1 fl |(M - M’) » M’’| > |M| (contradicción)

Page 15: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

(›) Sea M1 emparejamiento en G. No existe camino aumentante respecto a M1. Entonces M1 es un emparejamiento máximo.

Sea M2 emparejamiento máximo en G, entonces no existe camino aumentante con respecto a M2. Sea H subgraforecubridor de G con

E(H) = (M1 - M2 ) » (M2 – M1) H contiene tantas aristas de M1 como de M2 , ya que H contiene un número par de aristas y por tanto, tantas aristas de M1como de M2 , veámoslo:si H1 una componente de H será del tipo del teorema anterior (a), (b), (c)

Si H1 es del tipo (a), (b) ⇒ E(H1)=par

Si H1 es de tipo (c) no puede ser un camino aumentante respecto M1 o M2 (a M1 por hipótesis y a M2 porque es máximo) ⇒ H1 es un camino alternado ⇒ E(H1)=par

Así | M1| = | M2| y M1 es máximo. †

Page 16: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Sea G con U1, U2 Õ V(G) tal que U1 … U2 ∫ «

U1 estestáá emparejadoemparejado con U2 si existe un emparejamiento M en G talque:

cada arista de M es incidente con un vértice de U1 y un vértice de U2

y cada vértice de U1 o U2 es incidente con una arista de M.

Sea U un subconjunto no vacío de vértices de G,

N(U) = {v∈V(G) adyacentes con, al menos, un elemento de U}((vecinosvecinos o o entornoentorno de U)de U)

Se dice que U es no no deficientedeficiente si |N(S)|¥|S| "SŒU S∫«

Page 17: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Teorema:Teorema:Sea G grafo bipartito, con V(G) = V1 » V2El conjunto V1 puede estar emparejado con V2 si y sólo si |N(S)| ¥ |S| "SŒ V1 S ∫ «

Una colección S1, S2,..., Sn, n ¥ 1, de conjuntos finitos no vacíos, tiene un sistema de representacisistema de representacióón n si existe un conjunto{s1 , s2 ,..., sn} de elementos distintos con si œ Si , para 1§ i § n

Teorema: Teorema: Una colección S1, S2,..., Sn, n ¥ 1, de conjuntos finitos no vacíos, tiene un sistema de representación si y sólo si para cada k (1§ k § n) la unión de cualesquiera k de estos conjuntos contiene al menos k elementos.

Para el problema de los matrimonios: Una condición necesaria y suficiente que garantiza que cada mujer puede casarse con un hombre al que conoce previamente, es que cualquier subconjunto de k mujeres (1§ k § n)colectivamente conozcan al menos a k hombres.

Page 18: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Emparejamiento mEmparejamiento mááximo en un grafo bipartito.ximo en un grafo bipartito.

Sea M un emparejamiento en G y P un camino aumentante respecto a M

M’ = E(P) … M; M’’ = E(P) – M’; M1 = (M - M’) » M’’

M1 es un emparejamiento para G con |M1| = |M| + 1

M1 se obtiene aumentando M a lo largo de P

v1

v8

Gv1

v8

G

Page 19: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Emparejamiento mEmparejamiento mááximo en un grafo bipartito.ximo en un grafo bipartito.

Teorema:Teorema:Sea M un emparejamiento de G que no es máximo, v vértice suelto respecto a M. M1 emparejamiento obtenido aumentando M por un camino aumentante. Si G contiene un camino aumentante respecto aM1 con v como vértice final, entonces G contiene un camino aumentante con respecto a M que tiene v como vértice final.

Corolario:Corolario:Sea M un emparejamiento de G. Supongamos que M1, M2,..., Mk es una secuencia de emparejamientos de G de modo que Mi (2§i§k) esobtenido de Mi-1por un camino aumentante. Sea v un vértice suelto respecto de M para el cual no existe un camino aumentante con v como vértice final. Entonces G no contiene un camino aumentante con respecto a Mi (2§i§k) que tiene v como vértice final.

Page 20: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

[Encuentra un emparejamiento máximo en un (p, q)-grafo bipartito con V (G) = {v1, v2, . . . , vp} y con emparejamiento inicial M1]

P1.− i ô 1, Mô M1

P2.− Si i < p, entonces continuaSi no, STOP (ya que hemos encontrado un emparejamiento máximo M)

P3.− Si vi está emparejado entonces iô i + 1 y ve al P2.Si no vôvi y la cola Q se inicializa sólo con v, (Q ô {v})

Algoritmo 1

Page 21: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P4.− [Construye el árbol alternado enraizado en v]

P4.1.− Para j = 1, 2, . . . , p y j ≠ i, ARBOL(vj) ô FAdemás, ARBOL(vi) ô V

P4.2.− Si Q =«; entonces iô i + 1 y ve al P2.Si no, borra un vértice x de Q y continua (QôQ−{x})

P4.3.− [Determina si hay camino aumentante o extiende el árbol]P4.3.1− Supóngase que N(x) = {y1, y2, . . . , yk}. j ô 1P4.3.2− Si j ≤ k, entonces yô yj

Si no, ve al paso P4.2.P4.3.3− Si ARBOL(y) = V , entonces jôj+1 y ve a P4.3.2

Si no, continua.P4.3.4− Si y es incidente con una arista emparejada yz,

entonces ARBOL(y)ô V , ARBOL(z)ô V , PADRE(y)ô x, PADRE(z) ô y, QôQ + {z}, j ô j + 1 y ve al paso P4.3.2.Si no, y es vértice no emparejado y continua.

P4.3.5− Usamos la lista PADRE para encontrar el caminoalternado P’≡ v − x en el árbol alternado. Sea P elcamino aumentante obtenido añadiendo {x, y} a P’.

Page 22: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P5− Aumenta M a lo largo de P para obtener un nuevo emparejamiento M’. Sea M ← M’, i ← i + 1 y ve al P2.

Complejidad:Complejidad: O(pq)

Cada vez que construimos un árbol alternado, los vértices adyacentes a cada vértice borrado de la cola Q han sido examinados a lo sumo una vez.

Dado que ∑δ(u)=2q ⇒ para cada árbol alternado se realizanO(q) pasos en P4.

Cada camino aumentante tiene a lo sumo p-1 aristas, así que P5 tiene complejidad O(p). Como p-1≤q, se tiene que P5 tiene complejidad O(q).

Ya que cada vértice se elige a lo sumo una vez como raíz de un árbol alternado, sigue que la complejidad del algoritmo completo es O(pq).

Page 23: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Problema de asignaciProblema de asignacióón n óóptimoptimo

Encontrar un emparejamiento de peso máximo en un grafo bipartito ponderado.

G grafo bipartito ponderado con V(G) = V1» V2

Sea G’ grafo bipartito completo ponderado. G subgrafo de G’

V(G’) = U1» U2 con |U1| = |U2| = max{|V1|, |V2| } y Vi Œ Ui i=1,2

Si x œ U1; y œ U2 ï wG’(xy) = wG(xy) si xy œ E(G) wG’(xy) = 0 en otro caso

Page 24: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Si M es un emparejamiento ponderado máximo de G’, entonces:

1.- M es un emparejamiento perfecto de G’(puede haber aristas de M con peso 0)

2.- M … E(G) emparejamiento ponderado máximo de G.

Es suficiente un algoritmo para encontrar un emparejamientoperfecto de peso máximo en grafos bipartitos completosponderados.

Sea G G grafografo bipartitobipartito completocompleto ponderadoponderado, con V1 = {v1, v2, ... , vp} y V2 = {u1, u2, ... , up}

EtiquetadoEtiquetado de de vvéérticesrtices viableviable, es una función { real del conjuntode vértices tal que "v œ V1, " u œ V2 {(v) + {(u) ¥ w(vu)

Un etiquetado de vértices viable de G es:{(v) = max{ w(vu): u œ V2 } " v œ V1{(u) = 0 " u œ V2

Page 25: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Se define:E{ ={vu œ E(G): vœV1, uœV2, {(v) + {(u) = w(vu)}H{ subgrafo recubridor de G con conjunto de aristas E{

TeoremaTeorema:Sea { un etiquetado de vértices viable de un grafo G bipartitocompleto ponderado. Si H{ contiene un emparejamiento perfecto M’, entonces M’ es un emparejamiento ponderado máximo de G.

Page 26: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Algoritmo 2 (Algoritmo 2 (KuhnKuhn--MunkresMunkres))[Algoritmo de emparejamiento ponderado máximo para grafos bipartitos completos ponderados. Sea G un grafo bipartito ponderado completo]

P1.- [Inicializa un etiquetado viable]

P1.1- Para cada v∈V1, l(v)←max {w(vu): u∈V2} .P1.2- Para cada u∈V2, l(u)←0.P1.3- Sea Hl el subgrafo recubridor de G con

conjunto de aristas El.P1.4- Sea Gl el grafo subyacente de Hl.

P2. - Se aplica el algoritmo 1 para grafos bipartitos no ponderados para encontrar un emparejamiento máximo M en Gl.

Page 27: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P3.– [Determina si se ha encontrado un emparejamiento ponderado máximo]P3.1- Si cada vértice de V1 está emparejado con

respecto a M, entonces retorna M y STOP.Si no, continua.

P3.2- Sea x el primer vértice no emparejado de V1.P3.3- Se construye un árbol alternado con respecto a M

que está enraizado en x. Si se encuentra un camino aumentante P, entonces aumentamos M a lo largo de P y ve al paso P3.1.Si no, sea T el árbol alternado con respecto a M y enraizado en x que no puede ser extendido más en Gl.

P4.- Calcular ml←min{l(v)+l(u)-w(vu): v∈V1∩V(T) y u∈V2-V(T)}Sea

l(v)-ml si v∈V1∩V(T)

l’(v)← l(v)+ml si u∈V2∩V(T)

l(v) en otro caso

P5.- Sean l←l’, construye Gl y ve a P3.3.

Page 28: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Complejidad del algoritmoComplejidad del algoritmo: O(p4)

Cada vértice de G tiene grado p ⇒ el paso P1 tiene complejidad O(p2).

En P2, se construye p veces un árbol alternado ⇒ la complejidad es O(p3).

P3.1 y P3.2 tienen complejidad O(p) si mantenemos la posición del último vértice no emparejado considerado .

Cada vez que se construye un árbol alternado en P3.3, se realizan O(p2) operaciones.Para cada vértice no emparejado x seleccionado en

P3.2, el paso P3.3 se realiza O(p) veces,Así, P3.3 tiene complejidad O(p4).

Page 29: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P3.3 tiene complejidad O(p4).

Cada vez que volvemos a P3.3 después de la primera, construimos un árbol alternado (O(p2)) enraizado en x y, además una de dos:

- o encontramos un camino aumentante - o se añaden dos vértices al árbol alternado

enraizado en x que teníamos previamente.

Puesto que un árbol alternado enraizado en x que no contenga ningún camino aumentante tiene, como máximo, 2p-1 vértices, volvemos al paso P3.3 como mucho p-1 veces.

Page 30: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

El mismo argumento prueba que P4 se realiza O(p2) veces. Cada vez que se ejecuta P4 se realizan O(p2) operaciones.

Puesto que P5 se realiza cada vez que se completa P4 y que la construcción de Gl tiene complejidad O(p2), la complejidad de P5 es O(p4).

Así, la complejidad del algoritmo es O(p4)

Page 31: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Emparejamientos mEmparejamientos mááximos en grafos generalesximos en grafos generales

a

b

c

d

ef

gh

Alg. 1

a

b

c

g d

ef

El algoritmo 1 se pararía y nunca encontraríamos el caminoaumentante P: abcdefgh

El algoritmo 1 no permite la existencia de caminos alternados con longitudes par unos e impar otros. Por ej., P’: abcg P’’:abcdefg son ambos caminos a-g alternados de longitud 3 (impar) P’ y 6 (par) P’’.

Page 32: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

La contribución más importante del algoritmo se debe a Edmonds en 1965. Desarrolló el método llamado “la flor menguante”. Actualmente se han descrito diversas modificaciones a dicho procedimiento. Nuestra descripción sigue fielmente el trabajo de Pape y Conradt de 1980.

Sea G grafo general con v vértice sin emparejar (soltero) respecto del emparejamiento M.

Construimos un árbol alternado enraizado en v. (Todos loscaminos desde v son alternados respecto a M en G)

Si u es un vértice soltero adyacente a v, añadir (vu) a MEn otro caso, todos los vértices adyacentes a v están

emparejados.

Page 33: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

v en Nivel 0

u1, u2, … , uk vértices adyacentes a v en Nivel 1

Sean uivi œ M para 1§ i § k.

vi en Nivel 2(Es posible vi = uj, entonces uiuj œ M y vj = ui)

Supongamos que estamos en el Nivel m (m par)

Para cada vértice x en el nivel m examinamos los vértices y adyacentes con x en G.

Si xy ΠM o y = v no hacer nada.

Page 34: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Si xy œ M, y π v, Si y es no emparejado (soltero) entonces el camino

alternado v-x seguido de xy es un camino aumentanterespecto a M.

Si y está emparejado yz œ M hay tres casos:

1.- y pertenece a algún nivel impar del árbol alternado

( no extender el árbol yz ya está explorado)

2.- y pertenece a algún nivel par del árbol alternado(determinar si y es antecesor de x, si lo es no hacer

nada y si no lo es, entonces añadir xy, yz, y en el nivel m + 1, z en el nivel m + 2

3.- y no pertenece al árbol alternado, entonces añadir xy, yz, y en el nivel m + 1, z en el nivel m + 2.

Page 35: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

La construcción del árbol alternante termina por:

se encuentra un camino aumentante

después de un nivel m par, no se puede añadir nivelessegún las reglas anteriores.

Ejemplo.

a

b

c d

u

v

wx

yz

a no emparejado respecto a M. Construimos un árbol alternado enraizado en a. Al finalizar se veráque existe un camino aumentante a-z.

Page 36: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

a

b c d

u cd

En el nivel 0 se sitúa a. En el nivel 1 sus adyacentes, b,c,d y se unen con a. Como los tres están emparejados, se llevan sus parejas al nivel 2 y se unen con los vértices del nivel 1. Obsérvese que los vértices c y d están emparejados entre sí, así que aparecen en los niveles 1 y 2.Como c y d no tienen más adyacentespero el vértice u es adyacente a y, v, w (además de b que es antecesor), se añaden y, v, w al nivel 3 del árbol y sus parejas x, w, v al nivel 4, incluyendo las aristas de M que los unen. De nuevo se repiten vértices de los niveles 3 y 4 (luego aristas)

y w v

x v w

Como los adyacentes a x son y, w y ambos están en un nivel impar, no se hace nada. Lo mismo ocurre con v. Adyacentes a w son x y v, wx∉M y x está emparejado, xy∈M, x está en nivel par, x no antecesor de w, añadir wx, xy, x en el nivel 5 e y en el nivel 6. Con v, wv ∈M, no se hace nada.

nivel 0

nivel 1

nivel 2

nivel 3

nivel 4

xy

nivel 5

nivel 6

Sea ahora el vértice y del nivel 6, y es adyacente a u, x, z, tanto u como xson antecesores suyos, sólo resta el vértice z, yz ∉M y z no emparejado,hemos encontrado el camino aumentante.

z nivel 7

Page 37: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

M el emparejamiento

Q cola cuyos vértices pertenecen a un nivel par, y sus aristasincidentes aun no han sido estudiadas.

Listas de tamaño p:

PAREJA describe el emparejamiento actual.PAREJA(vi)=vj si (vivj) œ M ;PAREJA(vi)=0 si vi es SOLTERO

NIVEL con valor lógico verdadero T o falso FNIVEL(w) = F si w es la raíz o está en nivel imparNIVEL(w) = T en otro casoInicialmente, NIVEL (v) =F si v raíz ,

NIVEL (w) = T " w œ V(G) w ∫ v

ABUELO para determinar si un vértice es antecesor

ABUELO(w) = u si w es de nivel par y existe un caminouvw en el árbol tal que vw œ M.

Variable SOLTERO , número de vértices sin emparejar.Inicialmente SOLTERO = p - 2|M|

Page 38: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Modo de actuar para extender el árbol alternado:

Eliminar x de QConsiderar todas las aristas incidentes xy con

NIVEL(y) = T

Si y no emparejado, añadir.

Si y emparejado, si es antecesor de x ABUELO(x) =y, seguirsi no es antecesor: sea PAREJA(y)=z,

añadir y, z, aristas xy, yz al árbol, añadir z a Q, ABUELO(z) =x, NIVEL(y)=F

Page 39: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P1.- SOLTERO ≠ p - 2 |M| , i ≠ 1

P2.- Si SOLTERO < 2, parar, M emparejamiento máximo. Fin En otro caso, continuar.

P3.- Si i < p entonces continuar; Si no, retorna M emparejamiento máximo. Fin.

P4.- Si PAREJA( vi) ∫ 0, entonces i≠ i + 1, ir a P3;En otro caso, vi raíz del árbol alternado, continuar.

P5.- [Inicializar NIVEL y Q para la nueva raíz vi]NIVEL(vj) ≠ T para 1§ j § p , j ∫ iNIVEL(vi) ≠ F, Q ≠ {vi}

[P6-P9 construye un árbol alternante con raíz vi. Si se encuentra camino alternante se mejora el emparejamiento]

P6.- Si Q = «, i ≠ i + 1 , volver P3;en otro caso, Q ≠ Q – {x}

AlgoritmoAlgoritmo 33 ((EmparejamientoEmparejamiento mmááximoximo en un (en un (p,qp,q) ) grafografo G)G)[Sea un (p,q) grafo G, con V(G)={v1, v2, ... , vp}, dado un emparejamiento M (puede ser «) definido por el vector PAREJA(vi)=vj si (vivj) œ M; PAREJA(vi)=0 si vi es SOLTERO]

Page 40: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P7.- [Determina si se expande el árbol alternado en x]

7.1.- Sea N(x) = {w1, w2, ... , wk}, j ≠ 17.2.- Si j > k, volver P6; en otro caso, y ≠ wj7.3.- Si NIVEL(y) = F, j ≠ j + 1, volver P7.2;

en otro caso NIVEL(y) = T continuar.7.4.- Si PAREJA(y) = 0 ir a P8; en otro caso, ir a P9.

P8.- [Mejora del emparejamiento y actualización de PAREJA]

8.1.- PAREJA(y) ≠ x8.2.- SIGUIENTE ≠ PAREJA(x)8.3.- PAREJA(x) ≠ y8.4.- Si SIGUIENTE = 0, ir P8.7; si no, continuar8.5.- x ≠ ABUELO(x) , PAREJA( SIGUIENTE) ≠ x 8.6.- y ≠ SIGUIENTE volver P8.28.7.- SOLTERO ≠ SOLTERO -2, i ≠ i + 1 , ir P2

Page 41: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

P9.- [Determinar si y es antecesor de x, para extender o no el árbol alternado.]

9.1.- Si x = vi, ir P9.5; si no continuar.9.2.- u ≠ ABUELO(x)9.3.- Si u = y, j ≠ j + 1 , volver P7.2; si no continuar9.4.- Si u ∫ vi, u ≠ ABUELO(u) ir P9.3;

En otro caso continuar, y no es antecesor de x9.5.- NIVEL(y) ≠ F, Q ≠ Q » {PAREJA(y)}9.6.- ABUELO(PAREJA(y)) ≠ x9.7.- j ≠ j + 1 , volver P7.2

Page 42: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Ejemplo:

1

23

4

5

6 7

8 9

10

11

PAREJA:

007698201531110987654321

SOLTERO=3

Page 43: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Primer vértice no emparejado, 4. Construimos el árbol alternado.

4

2

5

1110987654321

TTTTTTTFTFTNIVEL

ABUELO 4

Q

5 1 8 94

(a)

(b) 4

2

53

1

6 7

8 9

1110987654321

TTTTFFTFFFT

5545

NIVEL

ABUELO

Q

54

Page 44: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

(c)4

2

53

1

6 7

8 9

9

7

8

6

1110987654321

NIVEL TTFFFFTFFFT

ABUELO

558945

Q 795 1 8 64

Page 45: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

(d)

1110987654321

TFFFFFFFFFTNIVEL

ABUELO

5589475

068951072143PAREJA:

1110987654321

SOLTERO=1

4

2

53

1

6 7

8 9

9

7

8

6

10 11

Q=«

El vértice 5 es adyacente a 7, no se añade pues 5 es antecesor de 7.

Page 46: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Complejidad: Complejidad: O(pO(p22qq))

La complejidad total de los pasos 2, 3, 4 es O(p).Realizamos el paso 5 cuando un vértice es considerado la

raíz de un árbol alternado. Como el paso 5 sólo actualiza las pentradas de la lista NIVEL y actualiza la cola Q, requiere complejidad O(p). Como cada vértice de G es a lo más una vez raíz de un árbol alternado, el paso 5 requiere O(p2).

Pasos 6-9. Cuando un vértice v es seleccionado para ser raíz de un árbol alternado, cada vértice de G aparece a lo más una vez en la cola para el árbol alternado. Supongamos que z se añade a la cola durante la construcción del árbol. El vértice v es soltero respecto de M. Puesto que v aparece sólo una vez en Q (como primer elemento), podemos suponer z≠v. Entonces, existe un vértice x de G tal que el camino x,y,z pertenece al árbol alternado. Además, esta aparición de z en el árbol alternado es en un nivel par, pues yaparece en un nivel impar del árbol a lo más una vez, de donde sigue que z aparece a lo más una vez en la cola Q.

Page 47: Tema 5: Emparejamientos - Universidad de Sevillama1.eii.us.es/Material/FTG_itis_Tema5.pdf · 2008-07-10 · Fundamentos de la teoría de grafos. 3º I.T.I. de Sistemas Mª Teresa

Para cada vértice x que es borrado de la cola en el paso 6, cada vértice y adyacente a x es examinado a lo más una vez en el paso 7. Chequeamos los valores de NIVEL(y) para como mucho δ(x) vértices y adyacentes a x.

Si NIVEL(y)=T entonces se chequea el paso 7.4 y es realizado exactamente uno de los pasos 8 ó 9. El paso 8 cambia las aristas de un camino aumentante y aumenta el emparejamiento inicial. Como cada camino de G contiene a lo más p-1 aristas, el paso 8 tiene complejidad O(p). El paso 9 también tiene complejidad O(p), la mayor parte del tiempo consumido es para determinar si yaparece en el camino v-x del árbol alternado. Así, el número de veces que se realiza el paso 8 o el 9 para cada raíz de un árbol alternado es a lo más ∑δ(x)=2q.

Así, el tiempo estimado en los pasos 7-9 para una raíz fijada de un árbol alternado es O(pq). Como cada vértice es a lo más una vez raíz, la complejidad del algoritmo es O(p2q).