Professional Documents
Culture Documents
Tipos de juegos
Juegos deterministas Con informacin perfecta Con informacin imperfecta Juegos de azar
Backgammon, Monopoly
barquitos
rboles de juegos
Juego perfecto Dos jugadores Movimientos intercalados Suma cero (la ganancia de uno es la prdida del otro). Informacin perfecta (ambos jugadores tienen acceso a toda la informacin sobre el estado del juego: no se ocultan informacin el uno al otro). No interviene el azar (p.ej. dados). Ejemplos: Nim, Grundy, 3 en raya, conecta-4, damas, ajedrez Nim, Grundy, conecta-
rboles de juegos
rboles de juegos
Complejidad de algunos juegos
Minimax
Estrategia perfecta para juegos deterministas. IDEA: Elegir el movimiento que nos lleva a la posicin que nos asegura una recompensa mxima en el peor caso (valor minimax). minimax). MAX: Cuando movemos nosotros, elegimos el nodo de mximo valor. MIN: Cuando mueve nuestro oponente, elige el nodo de menor valor (para nosotros).
5
Minimax
rbol con 2 niveles (2-ply): (2-
Minimax
Minimax
Bsqueda minimax (primero en profundidad): 2 2 1 2 1
7 1
7 1
7 1
MAX MIN
8
Minimax
Complejidad b = Factor de ramificacin del rbol d = Profundidad del rbol de juego Tiempo: O(bd). O(b Espacio: O(bd). O(bd) Ejemplo En el ajedrez, b35 y d100, por lo que no podemos explorar el rbol completo del juego.
Poda -
10
Poda -
11
Poda -
12
Poda -
13
Poda -
14
Poda -
15
Poda -
16
Poda -
max min max
= =
0
= =
=0 = =
0
=0
=0
=0 =0
= =0
=0
min
= =
0 0 -3
=0 =
-3
= =0
3
max 0 5 -3 3 3 -3 0 2 -2 3
17
Poda -
max min max
=0 =
= =0
=0 =
= =0 =0 = 3 = =0
=0 =0
min
max 0 5 -3 3 3 -3 0 2 -2 3
18
Poda -
La poda - no afecta al resultado del juego. Cuanto mejor ordenemos los movimientos, ms efectiva ser la poda. Con una ordenacin perfecta, la complejidad del algoritmo es O(bd/2). O(b En otras palabras, con el mismo esfuerzo podremos explorar un rbol del doble de profundidad.
19
Poda -
Por qu se llama poda -? es el valor de la mejor opcin encontrada para el jugador MAX: MAX evitar cualquier movimiento que tenga un valor v peor que (poda si v<). v< es el valor de la mejor opcin encontrada para MIN (mnimo encontrado hasta ahora): MIN evitar cualquier movimiento que tenga, para l, un valor v peor que (poda si v> )
20
En la prctica
Si disponemos de 100 segundos por movimiento y podemos explorar 104 nodos por segundo, slo podremos analizar 106 nodos por movimiento:
Solucin habitual: Cota de profundidad Funcin de evaluacin (heurstica): Solucin aproximada p.ej. Eval(s) Eval(s) = w1 f1(s) + w2 f2(s) + + wn fn(s)
21
En la prctica
Aplicacin: Ajedrez b=35 4-ply (novato) d = 4 bd = 1.5 x 106 8-ply (maestro): Programa tpico para PC d = 8 bd = 2.25 x 1012 12-ply (Kasparov?): 12(Kasparov?): d = 12 bd = 3.4 x 1018 En Deep Blue, el valor medio de b se reduca de 35 a 6 utilizando la poda -.
22
En la prctica
Aplicacin: Ajedrez
23
En la prctica
Damas: Damas: Chinook venci al campen del mundo, Marion mundo, Tinsley, en 1994 usando una base de datos que defina el juego perfecto para todas los finales de partida con 8 o menos piezas (443748 millones de posiciones). posiciones). Ajedrez: Ajedrez: Deep Blue venci a Gary Kasparov en 1997 analizando 200 millones de posiciones por segundo y usando 8000 caractersticas y heursticas que le permitan analizar algunas secuencias de hasta 40 ply. Othello: Othello: Los campeones humanos se niegan a jugar contra ordenadores porque son demasiado buenos. buenos. Go: Los campeones humanos se niegan a jugar contra Go: ordenadores porque son demasiado malos (b>300). 24
Juegos de azar
Hay juegos, como el Backgammon, en los que Backgammon, interviene el azar (en forma de dados):
25
Juegos de azar
26
Juegos de azar
A1 como mejor movimiento 2 resultados con probabilidades (0.9, 0.1) A2 como mejor movimiento
27
Bibliografa
Stuart Russell & Peter Norvig: Artificial Intelligence: Norvig: A Modern Approach [second edition]. Chapter 6: Adversarial Search. Prentice Hall, 2002. ISBN Search. 0137903952. http://aima.cs.berkeley.edu/
28