Está en la página 1de 2

Nombre: Pensando Problemas

Código:
Complementario:
Taller 4: Algoritmos

La fecha lı́mite de entrega del taller es el 10 de Mayo hasta la 12:30 p.m en el casillero de los monitores
(W711B). No se admitirán tareas enviadas al correo, en el casillero incorrecto, ni tareas
sin nombre, código o el nombre del complementario correspondiente.
Para este taller vamos a leer las reglas de amigo secreto robado ( o amigo secreto chino) entendido como
un algoritmo de asignación de regalos. En la primera parte vamos a describir el algoritmo combinando
notación matemática con español. Luego, habrá unas preguntas sobre las reglas necesarias del juego
para que de hecho sea un algoritmo. Finalmente se hará un ejemplo en donde tendrán que implementar
el algoritmo.

El algoritmo

Considere un conjunto de jugadores N = {1, 2, ..., n} y el conjunto de regalos Regalos = {r1 , r2 , ..., rn }.
Para cada jugador i ∈ N definimos una relación de preferencias 4i de tal forma que ∀x, y ∈ R decimos
el jugador i prefiere x sobre y si y 4i x. Para simplificar la notación ∀i ∈ N definimos ui : R −→ R una
función de utilidad del agente i que representa sus preferencias. Es decir ∀x, y ∈ R si x 4i y entonces
ui (x) ≤ ui (y).
1. Supuesto 1: ∀x, y ∈ R y ∀i ∈ N si x 6= y entonces ui (x) 6= ui (y). La traducción a español más
acertada del supuesto 1 entre las siguientes opciones es:
a) Todos los jugadores tienen preferencias diferentes sobre los objetos.
b) Ningún jugador es indiferente a elegir entre dos objetos diferentes.
c) Para todos los jugadores, las preferencias entre dos objetos son las mismas.
Antes de comenzar el juego se necesita un orden para jugar. Sea Σ = [σ1 , σ2 , ..., σn ]. Sea α : N −→ R
la función de asignación de regalos.

Paso 1
Defina
α(σ1 ) = arg max uσ1 (x)
Regalos

Recuerden que como vimos en la complementaria arg maxA f (x) es la función que encuentra el ele-
mento del conjunto A que maximiza la función f .

Paso 2
Defina
α(σ2 ) = arg max uσ2 (x)
Regalos

Si α(σ2 ) = α(σ1 ) entonces defina el conjunto R2 = {r ∈ R|@j ∈ {1} t.q α(σj ) = r} y ahora

α(σ1 ) = arg max uσ1 (x)


R2

De lo contrario continúe al siguiente paso.


Paso k ∈ {3, ..., n}
Defina
α(σk ) = arg max uσk (x)
Regalos
Si ∃j ∈ {1, 2, ..., k−1} tal que α(σk ) = α(σj ) entonces defina el conjunto Rk = {r ∈ R|@j ∈ {1, 2, ..., k−
1} t.q α(σj ) = r} y ahora
α(σj ) = arg max uσk (x)
Rk

donde j ∈ {1, 2, ..., k − 1} tal que α(σj ) = α(σk ). De lo contrario continúe al siguiente paso.

Responda a las siguientes preguntas sobre el algoritmo.


2. Cómo se interpretan los conjuntos Ri .
a) Es el conjunto de regalos que han sido robados alguna vez hasta el paso correspondiente.
b) Es el conjunto de regalos que no han sido robados alguna vez hasta el paso correspondiente.
c) Es el conjunto de regalos que han sido escogidos alguna vez hasta el paso correspondiente.
d ) Es el conjunto de regalos que no han sido escogidos alguna vez hasta el paso correspondiente.
3. Implı́citamente dentro del juego, que regla hace de hecho sea un algoritmo.
a) Cada regalo solo puede ser robado máximo una vez.
b) Solo puede haber máximo un robo por turno.
c) No se pueden robar un mismo regalo dos veces en un mismo turno.
4. ¿Por qué es necesario el supuesto 1?
a) Porque sin el supuesto 1 el juego no terminarı́a.
b) Porque sin el supuesto 1 la decisión de los jugadores no es clara.
c) Porque sin el supuesto 1 hay un conjunto de jugadores que se quedarı́an sin regalo.
Ahora considere el siguiente ejemplo en donde hay 5 jugadores y 5 regalos. Las preferencias de los
agentes están en la siguiente tabla. En cada fila se encuentran las preferencias de cada uno de los

r1 r2 r3 r4 r5
1 5 3 2 4 1
2 3 4 1 2 5
3 4 1 5 2 3
4 2 5 4 1 3
5 5 2 4 3 1

Cuadro 1: Preferencias de los agentes

agentes. Con base en este ejemplo y dado Σ = [2, 3, 5, 1, 4] responda a las siguientes preguntas:
5. Cacule el conjunto R3 y escribalo de forma extensiva: .
6. Cacule el conjunto α(σ1 ) y escribalo de forma extensiva: .
7. Cacule el conjunto α(σ3 ) y escribalo de forma extensiva: .
8. Cacule el conjunto R5 y escribalo de forma extensiva: .
9. Cacule el conjunto α(σ5 ) y escribalo de forma extensiva: .

Página 2 de 2

También podría gustarte