You are on page 1of 4

Ej1)

Falso. Daremos una instancia del Problema de Emparejamiento que servirá de contraejemplo,
donde mostraremos que ninguna de sus soluciones tiene un par (m,w) donde m este primero en la
lista de preferencias de w y w este primero en la lista de preferencias de m.
Sea la instancia del problema dada por las listas de preferencias siguientes:
m: w , w' m': w', w
w: m', m w': m', m'
Existen dos emparejamientos estables posibles:
S1 = {(m,w), (m', w')}.
Para el par (m, w) se cumple que w esta primero en la lista de m, pero m no está primero en la lista
de w. Para el par (m', w') se cumple que w' esta primero en la lista de m', pero m' no está primero
en la lista de w'.
S2 = {(m, w'), (m', w)}.
Para el par (m, w') se cumple que m esta primero en la lista de w', pero w' no está primero en la
lista de m. Para el par (m', w) se cumple que m' esta primero en la lista de w, pero w no está primero
en la lista de m'.
Por lo tanto, ninguna de las soluciones cumple lo anterior lo cual demuestra que la afirmación es
falsa.
Ej2)
Verdadero. Supongamos por el absurdo que existe un emparejamiento estable S que no tiene el
par (m, w). Se tiene entonces que (m, w') y (m', w) pertenecen a S para algún w’ y m’. Es fácil ver
que (m, w) es una inestabilidad pues m prefiere a w antes que a w' y w prefiere a m antes que a m'.
Por lo tanto, esto contradice nuestra hipótesis de que S es un emparejamiento estable. Se concluye
entonces que el par (m, w) necesariamente debe pertenecer a todo emparejamiento estable.
Ej3)
Debemos encontrar, en caso de existir, una planificación de mantenimiento donde se le asigne a
cada barco el puerto destino donde se le hará el mantenimiento el resto del mes. La planificación
debe cumplir además el siguiente requerimiento de seguridad:
Nunca habrán dos o más barcos en el mismo puerto el mismo día.
El problema puede expresarse de manera formal de la siguiente forma: sea B = {b1, … , bn} el
conjunto de barcos y P = {p1, … , pn} el conjunto de puertos; y sea BxP el conjunto de pares
donde cada (b, p) representa que el barco se detendrá en el puerto p. La solución consiste entonces
encontrar un emparejamiento perfecto S del conjunto BxP que cumpla el requerimiento de
seguridad, que expresado formalmente se traduce a que:
La solución S no puede contener dos pares (b, p) y (b’, p’) donde se cumpla que
- b visita p’ antes que p (b visita p’ antes de detenerse en p)
- b’ visita p’ antes b. (b’ se detiene en p’ antes de que llegue b)
De la condición anterior se desprende que los barcos siempre deben preferir los puertos más
próximos en su travesía mientras que los puertos deben preferir los barcos que llegan últimos. Por
lo tanto, expresando este problema como un problema de emparejamiento estable tendríamos que
la lista de preferencia de los barcos estaría dada por el orden de llegada de los puertos, siendo los
puertos a los que se llega primero los más preferidos, mientras que la lista de preferencias de los
puertos consiste en el orden opuesto de llegada de los barcos, prefiriéndose los barcos que llegan
ultimo. De esta forma, aplicando el algoritmo se G-S obtenemos una solución al problema de
emparejamiento estable que garantiza que no ocurre una inestabilidad, en nuestro caso que no se
cumpla la condición de seguridad.
Otra forma:
Para resolver el problema debemos encontrar una planificación de mantenimiento donde cada
barco tendrá asignado un puerto destino donde hará su mantenimiento el resto del mes. La
planificación elegida debe contemplar el requerimiento de seguridad siguiente:
No puede haber dos o más barcos en el mismo puerto el mismo día. (*)
Viendo el problema de manera más formal tenemos que si B = {b1, … , bn} es el conjunto de
barcos y P = {p1, … , pn} el conjunto de puertos, la solución consiste en encontrar un conjunto de
pares (bi, pj), donde el barco bi tiene como destino el puerto pj, que cumpla el requerimiento (*).
En primer lugar debe observarse que el conjunto solución debe ser un emparejamiento perfecto de
los conjunto P y B, es decir, no hay barcos sin un puerto destino y un puerto es el destino de un
único barco.
Para resolver el problema anterior como un Problema de Emparejamiento Estable debemos realizar
lo siguiente:
1) Decidir cuál sera las listas de preferencias de los barcos y los puertos.
2) Demostrar que las listas de preferencias elegidas permiten garantizar el requerimiento (*).
El algoritmo de G-S garantiza que dada una lista de preferencias la solución retornada no tendrá
una inestabilidad. Por lo tanto, la estrategia a seguir aquí es elegir las lista de preferencias adecuada
que hagan coincidir el concepto de inestabilidad con el hecho de que haya dos barcos en un mismo
puerto el mismo día. Al lograr ésto necesariamente la solución retornada cumplirá el requerimiento
(*).
Veamos una forma posible de como deducir cuales son la listas de preferencias adecuadas.
Dado un puerto al mismo llegarán en secuencia los diferentes barcos. Lo que queremos evitar es
que un barco llegue a un puerto y se encuentre con que ya hay otro haciendo su mantenimiento.
Por lo tanto, una estrategia podría ser que cada puerto sirva de destino al barco que llega último.
De esta forma dicho barco no trancará a ningún otro, pues fue el último en llegar. Ahora, siguiendo
esta estrategia de asignar a cada puerto el barco que llega último nos encontramos con el problema
de un empate, donde dos puertos p1, p2 podrían ser el destino de un mismo barco b. Esto es, b es
el último barco en llegar a p1 y a p2. Un ejemplo concreto es el siguiente:
b1 : ………………....p1……p2
b2: …….p1….p2
Por lo tanto, surge la duda en este caso de empate a que puerto asignarle al barco b. Supongamos
que b se asigna al puerto que llega último. En este caso, que barco tendrá asignado el otro puerto?
Claramente ninguno, pues el b era el que llegó último a ambos por lo tanto este puerto no tendrá
barco. Esto obliga a que en caso de empate entre puertos, el barco sea asignado al puerto que llega
primero.
Por lo tanto, lo anterior sugiere que los barcos prefieren siempre los puertos que llegan primero,
es decir que su lista de preferencias esta dada por el orden de visita a los puertos. Por oro lado, los
puertos prefieren los barcos que llegan últimos, es decir que su lista de preferencias esta dada por
el órden inverso de visita.
Ya tenemos resuelto el punto 1). Procedamos a hora a probar el punto 2). Al aplicar G-S con dichas
listas sabemos que el algoritmo garantiza que no habrá una inestabilidad, es decir, no existen pares
(b, p) y (b’, p’) tal que:
b prefiere a p’ antes que a p
p’ prefiere a b antes que a b’.
Interpretemos lo anterior con el significado de nuestras lista de preferencias. Que b prefiera a p’
antes que a p quiere decir que b visita a p’ antes que a p. Por otro lado, que p’ prefiera a b antes
que a b’ quiere decir que b’ llega a p’ antes que b. Es decir:
b visita a p’ antes que p. b : …………...p’………..p
b’ llega antes p’ que b. b’: …….p’………..……..
Por lo tanto, si la solución garantiza estar libre de lo anterior hemos probado que la lista de
preferencias anterior permite obtener una solución correcta que cumpla con el requerimiento de
seguridad.
Es interesante ver que algunas opciones de listas de preferencias fallan en garantizar la condición
de seguridad.
Ejemplos:
1) Barcos en orden de visita y puertos en orden de llegada
b : …….p…p’
b’……………… b
p…...p’
Un emparejamiento estable es { (b,p), (b’, p’) }. Problema: cunado b’ llega a p se encuentra con
b.
2) Barcos en orden inverso de visita y puertos en orden de llegada
b : …...p…...p’
b’……………….p’……p
Un emparejamiento estable es { (b,p’), (b’, p) }. Problema: cunado b’ llega a p’ se encuentra con
b.
3) Barcos en orden inverso de visita y puertos en orden inverso de llegada.
Igual al caso anterior.
Un emparejamiento estable es { (b’,p), (b, p’) }. Problema: cunado b’ llega a p’ se encuentra con
b.

You might also like