1. Cu´ (a) El algoritmo Minimax realiza una exploraci´

Anuncio
Universidad Rey Juan Carlos
Curso 2014–2015
Hoja de Problemas
Tema 5
Búsqueda multiagente
1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas
(a) El algoritmo Minimax realiza una exploración primero en anchura del árbol de
juego.
(b) El algoritmo Minimax maximiza la utilidad mı́nima que puede conseguir
el jugador max
(c) Puede haber estrategias que funcionan mejor que Minimax si el contrincante no es óptimo
(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es
óptimo
(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados
2. Considera el siguiente juego: Dos contrincantes (min y max ) manejan una ficha en un
tablero como en figura 1. Min y max mueven respectivamente las fichas B y A. Los dos
jugadores mueven por turno, empezando por Max.
Cada jugador debe mover su ficha a un espacio vacı́o adyacente en una u otra dirección.
Si el adversario ocupa un espacio adyacente, entonces un jugador puede saltar sobre
el adversario al siguiente espacio vacı́o, si existe. Por ejemplo, si A está sobre 3 y B
está sobre 2, entonces max puede mover A hacia atrás en el espacio 1.
El juego termina cuando un jugador alcanza el extremo opuesto del tablero. Si max
alcanza el espacio 5 primero, el valor de utilidad para max será +∞, si min alcanza el
espacio 1 primero el valor de utilidad de max será −∞.
Figura 1: Tablero
(a) Defina una función de evaluación e(s) para el generico estado s, donde s es una
hoja del árbol, y no necesariamente un estado donde uno de los jugadores gana.
(b) Aplica el algoritmo Minimax con suspensión hasta el nivel
tablero de figura 1 (nótese que empezando con el nodo raı́z
nivel 0, las hojas de nivel 6 también tendrán etiqueta max ).
calculados para cada nodo y determina la mejor jugada para
Página 1 de 12
6, empezando con el
con etiqueta max de
Especifica los valores
max.
Hoja de Problemas Tema 5
Búsqueda multiagente
Solución:
Una posible función de evaluación es
e(s) =















+∞
if d(max) = 0
−∞
if d(min) = 0
(1)
d(min) − d(max) otherwise
donde d(max) (respectivamente d(min)) es el número de espacios entre la posición de
la ficha A (respectivamente B) y el espacio 5 (respectivamente 1).
Página 2 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
3. Considera el árbol en figura 2 de un juego de dos personas, donde los cuadrados son
nodos max y los cı́rculos son nodos min.
Figura 2: Árbol de juego
(a) Aplique el algoritmo minimax con poda alfa-beta, propaga los valores de evaluación
hasta el nodo raı́z, marca la mejor jugada para max, y marca todos los subárboles
que se podan.
Solución:
Página 3 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
Página 4 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
Página 5 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
Página 6 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
4. Considera el árbol en figura 3 de un juego de dos personas, donde los cı́rculos son nodos
max y los cuadrados son nodos min.
Figura 3: Árbol de juego
(a) Aplique el algoritmo minimax con poda alfa-beta, propaga los valores de evaluación
hasta el nodo raı́z, marca la mejor jugada para max, y marca todos los subárboles
que se podan.
Solución:
Página 7 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
5. Dos conductores, el agente y su contrario, se plantean competir sobre un circuito de
ciudades con las siguientes reglas:
El recorrido del circuito se hace por tramos, partiendo de la ciudad marcada como
Salida (ver figura 4).
Los jugadores alternativamente eligen el tramo a recorrer entre aquellos que parten
de la ciudad en la que se encuentran. Una vez elegido el tramo, ambos conductores
lo recorren y se apunta los kilómetros del tramo el conductor que lo eligió, sin
importar quién llega antes a la ciudad de destino. Es decir, si el agente empieza el
recorrido y decide ir a B, el agente se apuntará 30 kilómetros. A continuación el
contrario debe elegir, partiendo de B, entre ir a C o a D.
Un conductor no puede ir a una ciudad en la que haya estado antes, por lo que
la competición acaba cuando el conductor al que le toca moverse no puede ir a
ninguna ciudad no visitada anteriormente.
Gana el conductor que haya acumulado más kilómetros con los tramos recorridos.
SALIDA
30
B
90
60
80
A
20
C
50
D
G
70
40
10
100
E
F
Figura 4: Circuito
(a) Defina una representación eficiente para los estados del juego.
(b) Desarrolle el árbol de búsqueda Minimax hasta ply 4 (dos jugadas del agente y del
contrario, respectivamente; empieza el agente). Genere los sucesores de un nodo en
orden alfabético, es decir, el primer sucesor del nodo Salida serı́a A y el segundo B.
(c) Defina una función de evaluación adecuada para los nodos hoja, y propague sus
valores a través del árbol. Qué jugada harı́a el agente?
(d) Qué partes del árbol del apartado (c) no se expandirı́an si se aplicara la poda ?
Página 8 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
Solución:
Página 9 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
6. Considere el siguiente árbol de juego. Evalúe el árbol utilizando el algoritmo ExpectM inimax.
Las probabilidades de los diferentes nodos son 0,5 para cada acción en los nodos de azar
del nivel 3 y los que se indican en el árbol para los nodos de nivel 1.
Figura 5: Árbol ExpectMinimax
Solución:
Página 10 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
7. Considere un juego para 3 personas (de suma no-nula), en el que no está permitido formar
alianzas. Los jugadores se llaman sp1 , sp2 y sp3 . A diferencia de los juegos bipersonales
de suma nula, la función de evaluación en este juego devuelve una tripleta de valores
(x1 , x2 , x3 ) para cada hoja del árbol de juego que evalúa, tal que xi es el valor del nodo
(estado) para el jugador spi .
(a) En el árbol de juego que se muestra a continuación, propague las tripletas de valores
desde las hojas hasta la raı́z del árbol, anotando en cada nodo interior la tripleta
que corresponda (en la figura, en cada nivel del árbol se ve a qué jugador le toca en
cada jugada). La mejor jugada del jugador sp1 es la de la izquierda o de la derecha?
Justifique brevemente su elección.
Figura 6: Árbol de juego con 3 jugadores
Solución:
Figura 7: Propagación de valores en el árbol de juego con 3 jugadores
Suponiendo que sp2 y sp3 son jugadores racionales, la mejor jugada de sp1 es la de
la izquierda, puesto que su valor es 2 (frente a 1 de la de la derecha).
(b) Asuma ahora para el ejercicio del apartado anterior que el valor del tercer nodo hoja
de la izquierda es (1,0,2) (en vez de (1,1,1)). Qué problema se produce a la hora
Página 11 de 12
Hoja de Problemas Tema 5
Búsqueda multiagente
de propagar las tripletas hacia arriba? Cómo se puede mejorar el procedimiento de
propagación para poder abarcar estos casos? Justifique brevemente su opinión
Solución:
El problema es que se ha de predecir qué estado elige el jugador sp3 ((1,0,2)
ó (2,1,2)), ya que ambos le proporcionan un valor de evaluación de 2. Puesto que no
se pueden formar coaliciones (y por tanto la utilidad que los demás agentes alcanzan
no importa a sp3 ), una solución serı́a asumir que ambas opciones son equiprobables,
y por tanto tratar este caso similar a un nodo azar en el algoritmo ExpectM inimax,
e.d. si le toca a sp3 decidir entre (x1 , x2 , z) y (y1 , y2 , z), la tripleta que se propaga
hacia arriba serı́a ((x1 + y1 )/2, (x2 + y2 )/2, z) (y similar para los otros dos agentes).
Página 12 de 12
Descargar