juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/clases-ia/laminas2014/juegos.pdftamano de b˜ usqueda´...

54
Juegos Eduardo Morales, Enrique Sucar Introducci ´ on MiniMax Tama ˜ no de usqueda Algoritmo Minimax Alpha–Beta Algoritmo Alfa-Beta An´ alisis SSS * MCTS Estrategias de Juego Juegos con eventos externos Hombres vs. aquinas Juegos Eduardo Morales, Enrique Sucar INAOE Eduardo Morales, Enrique Sucar (INAOE) Juegos 1 / 54

Upload: others

Post on 20-Oct-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Juegos

Eduardo Morales, Enrique Sucar

INAOE

Eduardo Morales, Enrique Sucar (INAOE) Juegos 1 / 54

Page 2: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Contenido

1 Introduccion

2 MiniMaxTamano de BusquedaAlgoritmo Minimax

3 Alpha–BetaAlgoritmo Alfa-BetaAnalisis

4 SSS∗

5 MCTS

6 Estrategias de Juego

7 Juegos con eventos externos

8 Hombres vs. Maquinas

Eduardo Morales, Enrique Sucar (INAOE) Juegos 2 / 54

Page 3: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Introduccion

Juegos

La habilidad de jugar es considerada como una distincionde inteligencia.Caractersticas:• Facil de crear situaciones complicadas con reglas

sencillas.• Se pueden probar contra humanos en donde existen

escalas.• Son adictivos.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 3 / 54

Page 4: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Introduccion

Juegos

• Casi todos: 2 jugadores + informacion perfecta, aunqueexisten otros, por ejemplo: barajas, backgammon, etc.

• Con informacion perfecta: las reglas del juegodeterminan los posibles movimientos.

• A diferencia de busqueda, el oponente introduceincertidumbre porque no sabemos que va a tirar, lo cualse asemeja mas a problemas reales.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 4 / 54

Page 5: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Introduccion

Juegos

En un juego tenemos:• Posicion inicial.• Conjunto de operadores (definen movidas legales).• Estado terminal.• Funcion de utilidad, e.g., gana, pierde, empata (pero

puede haber mas, por ejemplo en backgammon).

Eduardo Morales, Enrique Sucar (INAOE) Juegos 5 / 54

Page 6: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Introduccion

Juegos

• Los arboles de juegos tienen correspondencia conarboles AND–OR (mis tiradas son OR, las del oponenteson AND).

• Se require de una estrategia que garantice llegar aestados terminales ganadores independientemente delo que haga el oponente.

• Los juegos, y el ajedrez en particular, han sido objetode estudio por muchos anos por los investigadores deInteligencia Artificial.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 6 / 54

Page 7: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

MimiMax

Shanon lo sugirio originalmente (50), basado en teorıa dejuegos de von Neumann y O. Morgenstern, aunque Turingpresento el primer programa (51).Idea: Maximizar mis tiradas considerando que el oponenteva a minimizar.Para decidir que jugada hacer, el arbol se divide por niveles:• Max: el primer jugador (nivel) y todas las posiciones

(niveles) donde juega.• Min: el oponente y todas las posiciones en donde juega

Eduardo Morales, Enrique Sucar (INAOE) Juegos 7 / 54

Page 8: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

Minimax

• Las hojas se etiquetan con gana, pierde, empata desdeel punto de vista de max.

• Si podemos etiquetar todas las hojas, podemosetiquetar todo el arbol.

• La siguiente funcion calcula lo mejor que max puedeesperar desde la posicion J si juega de manera optimacontra un oponente perfecto.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 8 / 54

Page 9: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

Minimax

Si J es nodo max no–terminal:

etiq(J) =

gana si algun sucesor de J es ganapierde si todos los sucesores son pierdeempata si alguno empata y ninguno gana

Si J es nodo min no–terminal:

etiq(J) =

gana si todos los sucesores de J son ganapierde si algun sucesor de J es pierdeempata si alguno empata y ninguno pierde

Eduardo Morales, Enrique Sucar (INAOE) Juegos 9 / 54

Page 10: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

Minimax

MAX

MIN

W

D W L

W D W W D L

D L W L W L L D

L W L D W W L W

M A X

MAX

MIN

Eduardo Morales, Enrique Sucar (INAOE) Juegos 10 / 54

Page 11: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

Minimax

Una estrategia para un jugador es un arbol considerando uncamino para cada nodo del jugador y todos los posiblespara el oponente.Desde el punto de vista de max:• min tira hacia la estrategia menos favorable:

min(estrategias)• max trata de maximiar esto: max(min(estrategias))

Si cambiamos los roles (tira min): min(max(estrategias)).Minimax propaga asumiendo que las estimaciones soncorrectas. Si la estimacion es burda, la propagacion tambienva a ser burda.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 11 / 54

Page 12: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax

Negmax

Negmax: igual a minimax, pero la funcion de evaluacion essimetrica, por lo que:

etiq(J) =

gana si algun sucesor de J es pierdepierde si todos los sucesores de J son ganaempata cualquier otra situacion

status(J) = maxJ′{−status(J ′) | J ′ es hijo de J}

Lo que nos interesa son estrategias de juegos ganadorassin importar lo que haga el oponente (min).

Eduardo Morales, Enrique Sucar (INAOE) Juegos 12 / 54

Page 13: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Tamano de Busqueda

Tamano de Busqueda

• Una de las motivaciones principales de investigacion enjuegos es que son difıciles de resolver.

• Ajedrez: branching factor ≈ 35, numero de jugadas porjugador ≈ 50, por lo que hay ≈ 35100 o 10120 hojas onodos terminales (aunque solo hay 1040 posicionesdiferentes legales).

• En en caso de Damas Chinas es: 1040

Eduardo Morales, Enrique Sucar (INAOE) Juegos 13 / 54

Page 14: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Tamano de Busqueda

Tamano de Busqueda

• Como no se puede evaluar/explorar todo el arbol,exploramos hasta cierta profundidad y usamosheurısticas (una funcion de evaluacion estatica).

• Suposicion: evaluando despues de cierta exploraciones mejor que evaluar sin exploracion, bajo el supuestoque el merito de una situacion se clarifica al irexplorando.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 14 / 54

Page 15: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Tamano de Busqueda

Juegos

• La calidad del programa depende fundamentalmente dela funcion de evaluacion. Tiene que ser (i) congruentecon la funcion de utilidad de los nodos terminales, (ii)rapida y (iii) reflejar las posibilidades actuales de ganar.

• Una valor de la funcion de evaluacion en realidad cubremuchas posibles posiciones.

• Si fuera perfecta, no tendrıamos que hacer busqueda.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 15 / 54

Page 16: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Tamano de Busqueda

Juegos

• El algoritmo minimax usa dos heurısticas: (i) calculo dela funcion de evaluacion y (ii) propagar valores haciaatras asumiendo que los valores en los nodos defrontera son correctos.

• Si las estimaciones son burdas, tambien son losresultados.

• Muchas de las funciones de evaluacion asumenindependencia entre los factores y las expresan comofunciones lineales con pesos: w1f1 + w2f2 + . . .+ wnfn

• Para esto, hay que encontrar los pesos y decidirque factores a considerar.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 16 / 54

Page 17: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Tamano de Busqueda

Juegos

Algunas estrategias de evaluacion (tomadas de Deep–Blueantes Deep–Thought):• Material: peon = 1, caballos y alfiles = 3, torre = 5, y

reina = 9. Puede variar dependiendo de la situacion(e.g., el mantener un par de alfiles al final del juego).

• Posicion: Al principio se penso que el control del centroera lo primordial. Aunque si es muy importante no es lounico. Una forma facil de imaginarse “posicion” escontanto el numero de cuadros que se pueden atacaren forma segura. Entre mas cuadros se tengan, setiene mas control.

• Defensa: Los aspectos defensivos de la posicion tienenque ver con la seguridad del rey.

• Tempo: define la “carrera” por el control del tablero.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 17 / 54

Page 18: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Minimax

• La mayorıa de los programas usan variantes deminimax: (i) generar arbol hasta cierta profundidad y (ii)evaluar posiciones en nodos de frontera.

• El esfuerzo (dada una funcion de evaluacion) esproporcional al numero de nodos en la frontera que sonevaluados.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 18 / 54

Page 19: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Juegos

Para determinar el valor minimax de J: V (J)

si J es terminal, V (J)← ev(J)sino genera los sucesores de J : J1, J2, . . . , Jn

evalua V (J1),V (J2), . . . ,V (Jn) de izquierda a derechasi J es nodo max, V (J)← max [V (J1), . . . ,V (Jn)]si J es nodo min, V (J)← min[V (J1), . . . ,V (Jn)]

Eduardo Morales, Enrique Sucar (INAOE) Juegos 19 / 54

Page 20: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Minimax

2 7 1 8

MAX

MIN

MAX

2 1

2

Eduardo Morales, Enrique Sucar (INAOE) Juegos 20 / 54

Page 21: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Alternativas

No tenemos que generar todos los sucesores y guardar susvalores hasta que todos sean evaluados. Podemos usar unalgoritmo depth–first:

Algoritmo minimax (backtracking)si J es terminal, V (J)← ev(J), sinofor k = 1, . . . ,n do

generar Jk (el k–esimo sucesor de J)evalua V (Jk )si k = 1,VA(J)← V (J1) sinopara K ≥ 2

si J es nodo max, VA(J)← max [VA(J),V (Jk )]si J es nodo min, VA(J)← min[VA(J),V (Jk )]

regresa V (J)← VA(J)

Eduardo Morales, Enrique Sucar (INAOE) Juegos 21 / 54

Page 22: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Alternativas

Tampoco es necesario que evaluemos todos los nodosterminales

Algortimo mejorado (ilustrado con gana–pierde)si J es terminal, regresa, gana/pierdeempieza a etiquetar los sucesores de J (de izq. a der.)si J es max, regresa gana en cuanto se encuentre un

sucesor con gana o regresa pierde si todoslos sucesores de J son pierde

si J es min, regresa pierde en cuanto se encuentre unsucesor con pierde o regresa gana si todoslos sucesores de J son gana

Eduardo Morales, Enrique Sucar (INAOE) Juegos 22 / 54

Page 23: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MiniMax Algoritmo Minimax

Mejoras

• Las mejoras dependen del orden en que los sucesoresson evaluados.

• Una de las razones de la eficiencia del ultimo algoritmoes que se da cuenta que el estatus de algunos nodosno afecta la evaluacion del nodo raız.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 23 / 54

Page 24: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta

Alpha-Beta

• A McCarthy (56) se le considera el responsable de verla utilidad de alpha–beta.

• Parecido a dynamic–programming en el sentido de queelimina caminos que no van a producir mejoresresultados.

• Es el mas usado en juegos.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 24 / 54

Page 25: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta

Alpha-Beta

Es como un minimax haciendo backtracking, pero . . .

si al actualizar el valor minimax de un nodo, estecruza cierto lımite, entonces no hace falta hacermas exploracion abajo de ese nodo; su valor (VA)se puede transmitir a su padre como si todos sushijos hubieran sido evaluados.

Los lımites o cortes son ajustados dinamicamente.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 25 / 54

Page 26: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta

Alpha-Beta

• Lımite–alpha: el lımite para un nodo J MIN es un lımiteinferior llamado alpha, igual al valor mas alto de todoslos ancestros MAX de J. La exploracion de J terminaen cuanto el valor actual VA es igual o menor a alpha.

• Lımite–beta: el lımite para un nodo J MAX es un lımitesuperior llamado beta, igual al valor mas pequeno detodos los ancestros MIN de J. La exploracion de Jtermina en cuanto el valor actual VA es igual o mayor abeta.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 26 / 54

Page 27: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta

Alpha-Beta

α representa el mejor valor que hemos encontrado hastaahora para MAX y β el mejor valor (mas bajo) para MIN.Idea:• Regresa el valor V (J) si esta entre α y β.• Regresa α si V (J) ≤ α.• Regresa β si V (J) ≥ β.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 27 / 54

Page 28: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta Algoritmo Alfa-Beta

Algoritmo Alpha-Beta

set α = −∞, set β =∞si J es nodo terminal, entonces V (J)← eval(J)sino sean J1, J2, . . . , Jn los sucesores de J

set k = 1si J es max

set α← max [α,V (J;α, β)]si α ≥ β regresa β, sino continuasi k = n regresa α,sino set k ← k + 1 y continua

si J es minset β ← min[β,V (J;α, β)]si β ≤ α regresa α, sino continuasi k = n regresa β,sino set k ← k + 1 y continua

Eduardo Morales, Enrique Sucar (INAOE) Juegos 28 / 54

Page 29: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta Algoritmo Alfa-Beta

Alpha-Beta

MAX

MIN

MAX

MAX

MIN

10 11 9 12 14 15 13 14 5 2 4 1 3 22 20 21

10 9

10

1010

14

14

5

5

5

4

Eduardo Morales, Enrique Sucar (INAOE) Juegos 29 / 54

Page 30: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta Algoritmo Alfa-Beta

Juegos

• Se puede hacer una definicion mas concisa usandoneg–max.

• La eficiencia de alpha–beta depende del orden de losvalores de los nodos terminales.

• Si construimos un programa que pueda evaluar 1,000posiciones por segundo, con 150 segundos por movida,podrıamos ver 150,000 posiciones.

• Con un factor de arborescencia de 35 nuestroprograma podrıa ver solo 3 o 4 tiradas (ply) adelante yjugarıa ajedrez a nivel de novato.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 30 / 54

Page 31: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta Algoritmo Alfa-Beta

Alpha-Beta

• Si pudieramos ordenar los nodos terminalestendrıamos que examinar O(bd/2), por lo que el factorde arborescencia efectivo es de

√b en lugar de b, en

ajedrez serıa 6 en lugar de 35, por lo que ahorapodrıamos buscar hasta profundidad 8.

• A veces se usan ordenamientos sencillos, comoconsiderar primero las capturas, luego las amenazas,luego movimientos hacia adelante y finalmentemovimientos hacia atras.

• Otra estrategia es usar una busqueda de profundidaditerativa y usar los ultimos valores para decidirque explorar en la siguiente iteracion.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 31 / 54

Page 32: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Alpha–Beta Analisis

Alpha-Beta

• En promedio α− β permite explorar un 33 % mas queun simple minimax.

• α− β poda el arbol al darse cuenta que los nodospodados (independientemente de sus valores) nopueden influenciar en el valor del nodo raız.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 32 / 54

Page 33: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

SSS∗

SSS∗ (Stockman 79)

Explora caminos tipo best–first (AO*).Es superior a alpha–beta en el sentido que:• No explora nodos que alpha–beta no explora.• Puede no explorar nodos que alpha–beta si explora.

Idea: tomar el arbol de busqueda globalmente, se puede vercomo una version de AO∗ y por lo mismo trata de encontrarla solucion optima.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 33 / 54

Page 34: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

SSS∗

SSS∗

MAX

MIN

MAX

MAX

MIN

41 5 12 9010180 20 30 34 80 36 35 50 36 25 3

a

b c

d

e f

g n h

i p

j

l

k

m o

q r

s t

Desventaja: tiene que guardar mucha informacion paraconsiderar siempre el mejor camino a explorar.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 34 / 54

Page 35: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

SSS∗

SSS∗

• La figure muestra un ejemplo de SSS∗ donde las letrasdentro de los nodos indican el orden en que se evaluanlos nodos y los numeros subrayados muestran losnodos terminales que son evaluados.

• Se han propuesto varias pequenas variantes de SSS∗

como InterSSS∗, RecSSS∗ y Mem∗, las cuales hacenun uso mas eficiente de memoria.

• Existen muchos otros algoritmos de juegos, porejemplo SCOUT (Pearl 80)

Eduardo Morales, Enrique Sucar (INAOE) Juegos 35 / 54

Page 36: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

MCTS (Monte Carlo Tree Search)

• Es un metodo para encontrar decisiones optimastomando muestras aleatorias y construyendo un arbolde busqueda de acuerdo a los resultados

• Desato recientemente un gran interes dados losresultados que se empezaron a obtener en el juego deGo

• Idea: analizar los movimientos mas promisoriosexpandiendo el arbol de busqueda haciendo muestreoaleatorio

Eduardo Morales, Enrique Sucar (INAOE) Juegos 36 / 54

Page 37: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

MCTS

Cada ronda de MCTS consiste de 4 pasos:1 Seleccion: empezando de la raız se seleccionan hijos

sucesores hasta llegar a una hoja (como seleccionarver abajo)

2 Expansion: a menos que la hoja termine el juego, creasus hijos y seleciona uno de ellos

3 Simulacion: Empieza un juego aleatorio de ese nodo(random playout): En un playout el juego se lleva hastael final seleccionado acciones aleatorias

4 Retropropagacion: usando la informacion del playout seactualiza la informacion en los nodos del camino delnodo raız al nodo desde empezo la simulacion

Eduardo Morales, Enrique Sucar (INAOE) Juegos 37 / 54

Page 38: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

MCTS

Eduardo Morales, Enrique Sucar (INAOE) Juegos 38 / 54

Page 39: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

UCT (Upper Confidence Bound applied toTrees)

• Un aspecto fundamental de los MCTS es comobalancear exploracion y explotacion.

• Osea explotacion de variantes profundas despues demovimientos con promedios altos y la exploracion demovimientos con pocas simulaciones

• Un muestreo es selectivo puede hacer grandes ahorrosde computo

• La idea de UCT es aplicar ideas de problemasmulti-armed bandit (UCB1) para guiar comoexplorar/explotar ese arbol

Eduardo Morales, Enrique Sucar (INAOE) Juegos 39 / 54

Page 40: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

UCTLa formula basica de UCT es seleccionar en cada nodo delarbol, la movida para la cual la expresion siguiente tenga elvalor maximo:

argmaxv ′∈hijos(v)Q(v ′)N(v ′)

+ c

√ln N(v)N(v ′)

donde:• Q(v ′): recompensas totales (el numero de veces que

se gana despues del i-esimo movimiento)• N(v ′): el numero de veces que se ha visitado

(simulaciones) el i-esimo movimiento• N(v): el numero total de simulaciones que se han

hecho en el nodo (igual a la suma de todas las v ′s)• c: es el parametro de exploracion, en teorıa igual a

√2,

pero en la practica seleccionado empıricamenteEduardo Morales, Enrique Sucar (INAOE) Juegos 40 / 54

Page 41: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

UCT

Ventajas:• No requiere la definicion de una funcion de evaluacion

(no siempre es facil definir una)• El arbol de juego crece asimetricamente, ya que se

concentra en las partes mas promisorias, con lo que leva bien en juegos con factores de arborecencia grandes

• MCTS se puede parar en cualquier momento (any-time)

Eduardo Morales, Enrique Sucar (INAOE) Juegos 41 / 54

Page 42: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

UCT

• Los playouts pueden ser “light” (usando movidasaleatorias) o “heavy” (usando heurısticas paraseleccionar las movidas)

• Para las estadısticas se pueden aprovechar pedazos dejuegos que se repitan.

• Por ejemplo en GO algunas jugadas/posiciones serepiten varias veces en el juego y estan relativamenteaisladas de las demas, por lo que se puedenaprovechar todas las estadısticas de estas.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 42 / 54

Page 43: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

MCTS

UCT

Existen varias versiones paralelas:• Paralelizacion de hojas: executar varios playouts en

paralelo• Paralelizacion de raız: construir varios arboles en

paralelo y realizar el movimiento basado en las ramasde nodo raız de todos los arboles

• Paralelizacion del arbol: construir en paralelo el arbolde juego cuidando de posibles conflictos

Eduardo Morales, Enrique Sucar (INAOE) Juegos 43 / 54

Page 44: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juego

• Progressive/iterative deepening: explorar por niveles.• Si: b = branching factor y d = profundidad: En general

el numero de nodos evaluados al final es: bd .• El numero de nodos en el resto del arbol es:

d−1∑i=0

bi =bd − 1b − 1

Eduardo Morales, Enrique Sucar (INAOE) Juegos 44 / 54

Page 45: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juego

La razon entre ellos es:

bd b − 1bd − 1

≈ b − 1

i.e., con profundidad de 16 el costo total es 115 del costo

normal lo cual es bastante bajo.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 45 / 54

Page 46: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juegos

• Heuristic Pruning: ordenar los nodos con respecto a sufuncion de evaluacion y variar la profundidad deexploracion (mayor/menor). Sin embargo con solo estaestrategia no habrıa sacrificios de damas en ajedrez.

• Heuristic Continuation: continuar caminos que porheurısticas se consideran importantes (e.g., el reypeligra, se va a perder una pieza, un peon puedecoronar, etc.), para tratar de evitar el efecto horizonte(no siempre se puede).

Eduardo Morales, Enrique Sucar (INAOE) Juegos 46 / 54

Page 47: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juegos

• Quiescence Search: En principio, no se deberıa deaplicar la funcion de evaluacion en posiciones en dondeno se esperan cambios fuertes en el valor de la funcionde evaluacion.

• A veces se restringe solo a algunos tipos particularesde movidas (e.g., capturas).

• Todas las metodologıas asumen que la decision de lajugada mejora con la profundidad de la busqueda.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 47 / 54

Page 48: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juegos

• Se ha mostrado que funciona bien en juegos y esto secuestiona poco. De hecho se cree que el nivel extra deexploracion en ajedrez mejora en 200 el puntaje de lamaquina.

• Sin embargo, se ha mostrado que el niveldiscriminatorio decrece apreciablemente en cada nivel.

• Si la funcion de evaluacion se mantiene igual en todoslos niveles de juego, entre mas buscamos aprofundidad, peor es nuestra evaluacion.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 48 / 54

Page 49: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estrategias de Juegos

Porque no ocurre en los juegos?

Los juegos comunes no son uniformes, estanllenos de “trampas” que son detectadas al buscar aprofundidad.

Sin embargo, no se debe de perder de vista el deterioro delalgoritmo.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 49 / 54

Page 50: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Estrategias de Juego

Estategias de Juegos

• Algo muy usado en juegos (ademas de guardaraperturas y finales de juego) son las transpositiontables. Esto es, guardar informacion de nodosrecorridos para evitar recorrerlos otra vez.

• Existen muchas otras estrategias, e.g., B* (Berlinger 79)• Lıneas de investigacion: usar meta–razonamiento y

combinar planeacion con busqueda.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 50 / 54

Page 51: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Juegos con eventos externos

Juegos con eventos externos

• Juegos, como backgammon, incluyen factores externosno predecibles (e.g., el resultado de tirar un dado).

• Para este tipo de juego, se incluyen nodos intermedios(chance nodes) que contemplan los posibles resultadosde los eventos externos con sus probabilidades.

• Para propagar valores, de los nodos terminales setoman sus valores y al llegar a los nodos “aleatorios” secalcula su valor esperado sumando todas lasposibilidades multiplicadas por su probabilidad paraobtener un valor.

Eduardo Morales, Enrique Sucar (INAOE) Juegos 51 / 54

Page 52: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Hombres vs. Maquinas

Hombres vs. Maquinas

Temores:• Juegos aburridos• Jugadas sin sentido para el hombre

Eduardo Morales, Enrique Sucar (INAOE) Juegos 52 / 54

Page 53: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Hombres vs. Maquinas

Hombres vs. Maquinas

Estado del arte:• Ajedrez: Kasparov es derrotado en condiciones de

torneo por Deep Blue (1997).Deep Blue (97): 32 procesadores RS/6000 (Power TwoSuper Chip (P2SC)), cada uno con 8 procesadoresVLSI de ajedrez, para un total de 256 procesadores.Analiza alrededor de 100–200 mil millones deposiciones cada 3 minutos y alrededor de 200,000,000posiciones por segundo. Kasparov analizaaproximadamente 3.

• Damas Chinas: Chinook es declarado el campeonmundial cuando Tinsley se retira por razones de salud(1994).

Eduardo Morales, Enrique Sucar (INAOE) Juegos 53 / 54

Page 54: Juegos - ccc.inaoep.mxccc.inaoep.mx/~esucar/Clases-ia/Laminas2014/juegos.pdfTamano de B˜ usqueda´ Algoritmo Minimax 3 Alpha–Beta Algoritmo Alfa-Beta alisis´ 4 SSS 5 MCTS 6 Estrategias

Juegos

EduardoMorales,

Enrique Sucar

Introduccion

MiniMaxTamano deBusqueda

Algoritmo Minimax

Alpha–BetaAlgoritmo Alfa-Beta

Analisis

SSS∗

MCTS

Estrategias deJuego

Juegos coneventosexternos

Hombres vs.Maquinas

Hombres vs. Maquinas

Hombres vs. Maquinas

• Backgammon: TD-gammon es considerado como unode los 3 mejores jugadores del mundo (1995). Estesistema usa aprendizaje por refuerzo

• Othello: Logistello considerado muy superior a loshumanos (1994).

• Go: Hasta hace poco muy lejano de los expertoshumanos (factor arborescencia ≈ 360).

• En 2008, MoGo logro nivel “dan” (master) en unatablero de 9× 9 y en 2013 el programa Zen le gano 3:1a un jugador de 2o Dan en un tablero de 19× 19

Eduardo Morales, Enrique Sucar (INAOE) Juegos 54 / 54