BúsquedaAdversariosentre
Tipos de Juegos • Juego = entorno de tareas con > 1 agente • Ejes • ¿Determinista o estocástico? • ¿Información perfecta (totalmente observable)? • ¿Dos, tres o más jugadores? • ¿Equipos o individuales? • ¿Turnos o simultáneos? • ¿ suma cero? • Quiere algoritmos para calcular un plan contingente (también conocido como estrategia o política) que recomiende un movimiento para cada eventualidad posible
Juegos “estándar” • Los juegos estándar son deterministas, observables, de dos jugadores, de turnos, de suma cero. • Formulación del juego: • Estado inicial: s0 • Jugadores: Jugador(s) indica de quién es el movimiento • Acciones: Accion(s) para el jugador en movimiento • Modelo de transición: Resultado(s,a) • Prueba de fin: Terminal-Test(s) • Valores terminales: Utilidad(s,p) para el jugador p • O simplemente Utilidad(s) para el jugador que tome la decisión desde el principio
Juegos de suma cero • Juegos de suma cero • Los agentes tienen utilidades opuestas . • Competencia pura: • Uno maximiza , el otro minimiza • Juegos de suma general • Los agentes tienen utilidades independientes • La cooperación, la indiferencia, la competencia, las alianzas cambiantes y más son posibles • Juegos de equipo • Pago común para todos los miembros del equipo
adversariaBúsqueda
Árboles de agente único 8 2 0 2 6 4 6… … 10 puntos por comer punto; -1 por cada paso de tiempo
Valor de un estado 8 2 0 2 6 4 6… … Valor de un estado: el mejor alcanzableresultado(utilidad) de ese estado Estados terminales: V (s) = conocido Estados no terminales: V (s) = max V(s') s' Î sucesores (s)
Árbol de juego de tres en raya
Algoritmo minimax
• Elija la acción que conduce al estado con el mejor valor minimax • Supone que todos los movimientos futuros serán óptimos • => racional contra un jugador racional
Minimax generalizado • ¿Qué sucede si el juego no es de suma cero o tiene múltiples jugadores? • Generalización de minimax: • Los terminales tienen tuplas • Los valores de nodo también son tuplas de utilidad • Cada jugador maximiza su propio componente • Puede dar lugar a la cooperación y competencia dinámicamente… 1,1,6 0,0,7 9,9,0 8,8,1 9,9,0 7,7,2 0,0,8 0,0,7 0,0,7 8,8,1 7,7,2 0,0,8 8,8,1 7,7,2 8,8,1
El programa incluye cercanía a pacman, pero hay movimiento circundante al final debido a los estados
Coordinación emergente en fantasmas
Estoterminales.podría hacerse con el estado de dos fantasmas, pero en realidad es un minimax de tres jugadores con ambos fantasmas usando min; es decir, surge la coordinación (¡por lo general!)
Dos fantasmas equipados con minimax: pacman no tiene oportunidad.
Eficiencia minimax • ¿Qué tan eficiente es minimax? • Al igual que DFS (exhaustivo) • Tiempo: O ( b m ) • Espacio: O ( bm ) • Ejemplo: Para ajedrez, b » 35, m » 100 • La solución exacta es completamente inviable • Los humanos tampoco pueden hacer esto, entonces, ¿cómo jugamos al ajedrez?
Poda deárbolesdeJuego
•
La poda de hijos del nodo MAX es simétrica Sea β el mejor valor que MIN puede obtener hasta ahora en cualquier punto elegido a lo largo del camino actual desde la raíz a norte
Poda alfa-beta • Caso general (poda de hijos del nodo MIN ) • Estamos calculando el MIN-VALUE en algún nodo norte • Estamos recorriendo los hijos de n • la estimación de n del min de los hijos está disminuyendo • ¿A quién le importa el valor de n ? MÁX. • Sea α el mejor valor que MAX puede obtener hasta ahora en cualquier punto elegido a lo largo de la ruta actual desde la raíz • Si n se vuelve peor que α , MAX lo evitará, por lo que podemos eliminar a los otros hijos de n (ya es lo suficientemente malo como para que no se juegue) •
MÍN.MÁX.MÍN.MÁX.
Propiedades de poda alfa-beta • Teorema: ¡Esta poda no tiene efecto sobre el valor minimax calculado para la raíz! • Un buen ordenamiento de los niños mejora la eficacia de la poda • La profundización iterativa ayuda con esto • Con “ordenamiento perfecto”: • La complejidad del tiempo cae a O ( b m /2 ) • Duplica profundidad soluble! • Este es un ejemplo simple de metarazonamiento. (razonando sobre elrazonamiento) • Para ajedrez: ¡solo 35 50 en lugar de 35 100 ! Yaaay !!!!! 10 10 0 max min
Los valores alfa/beta realizan un seguimiento de los mejores valores que se pueden obtenerde cualquier nodo máximo/mínimo en la ruta desde la raíz hasta el nodo actual
Extensión simple a n-player "girando" max con vectores de utilidades Implementable como un recorrido en profundidad del árbol del juego
•
•
•
Para juegos de suma cero, decisiones óptimas definidas por minimax
Resumen •
•
• Poda
La solución exacta es imposible incluso para juegos "pequeños" como el ajedrez.
•
•
•
•
•
La complejidad del tiempo cae a O ( b m /2 ) con un orden de nodos ideal
Los juegos son problemas de decisión con ³ 2 agentes Gran variedad de problemas y fenómenos según los detalles de las interacciones y losbeneficios.
Complejidad temporal O ( b m ) , complejidad espacial O ( bm ) alfa-beta Conserva la elección óptima en la raíz.
Esquema • Anticipación finita y evaluación • Juegos con elementos de azar • Búsqueda del árbol de Montecarlo
Límites de recursos
Límites de recursos • Problema: ¡En juegos realistas, no se puede buscar hastalas hojas! • Solución (Shannon, 1950): anticipación limitada • Busque solo hasta un límite de profundidad u horizonte preestablecido • Usar una función de evaluación para posiciones no terminales • La garantía de juego óptimo se ha ido. • Ejemplo: • Supongamos que podemos explorar 1 millón de nodos pormovimiento • Ajedrez con alfa beta, 35 (8/2) =~ 1M; la profundidad 8 es bastante buena -1 -2 4 9 4 min max -2 4
• Un ejemplo importante de la compensación entre la complejidad de las características y la complejidad de la computación.
• Las funciones de evaluación son siempre imperfectas. • Búsqueda más profunda => mejor juego (generalmente).
• O bien, la búsqueda más profunda brinda la misma calidad de juego con una función de evaluación menos precisa.
La profundidad importa
Pacman con Profundidad-2 de anticipación
Profundidad 2, un punto y dos fantasmas; el punto no se puede ver la alimentación real, por lo que debe incluir la distancia a los puntos; pero la profundidad limitada significa que entra en un callejón sin salida y no puede escapar ni siquiera de una simple estrategia
Juegos
resultadoscon inciertos
Ejemplo: Backgammon • dados aumentan b : 21 tiradas posibles con 2 dados • Backgammon » 20 movimientos legales • 4 capas = 20 x (21 x 20) 3 = 1,2 x 10 9 • A medida que aumenta la profundidad, la probabilidad de llegar a un nodo de búsqueda determinado se reduce • La utilidad de la búsqueda se ve disminuida • La poda es más complicada... • IA histórica: TDGammon (1997) utiliza búsqueda en profundidad 2 + muy buena función de evaluación + aprendizaje reforzado: nivel de juego de campeón mundial
¿Qué valores usar? • Para el razonamiento minimax en el peor de los casos, la escala de la función de evaluación no importa • Solo queremos mejores estados para tener evaluaciones más altas (ordenar correctamente) • Las decisiones minimax son invariantes con respecto a las transformaciones monótonas de los valores • Las decisiones expectiminimax son invariantes con respecto a las transformaciones afines positivas • Las funciones de evaluacion expectiminimax tienen que estar alineadas con las probabilidades reales de ganar! 0 40 20 30 x2 0 1600 400 900 x>y => f(x)>f(y) f(x) = Ax+B donde A>0
Búsqueda de árboles de Montecarlo • Los métodos basados en la búsqueda alfa-beta asumen un horizonte fijo • Bastante desesperado para Go, con b > 300 • MCTS combina dos ideas importantes: • Evaluación por lanzamientos : juegue múltiples juegos hasta la terminación de un estado s (usando una política de lanzamiento simple y rápida) y cuente las ganancias y pérdidas • Búsqueda selectiva : explore partes del árbol que ayudarán a mejorar la decisión desde la raíz, independientemente de la profundidad
Despliegues • Para cada lanzamiento: • Repita hasta la terminal: • Juega un movimiento de acuerdo con una política de implementación rápida y fija • Registrar el resultado • ¡La fracción de ganancias se correlaciona con el verdadero valor de la posición! • Tener una política de despliegue "mejor" ayuda “Jugada 37"
MCTS Versión 0 • Realice N lanzamientos de cada hijo de la raíz, registre la fracción de victorias • Elija el movimiento que dé el mejor resultado según esta métrica 57/100 65/10039/100
MCTS Versión 0.9 • Asigne implementaciones a nodos más prometedores 77/140 90/1500/10
MCTS Versión 0.9 • Asigne implementaciones a nodos más prometedores 61/100 48/1006/10
MCTS Versión 1.0 • Asigne implementaciones a nodos más prometedores • Asignar lanzamientos a nodos más inciertos 61/100 48/1006/10
heurística UCB • La fórmula UCB1 combina "prometedor" e "incierto": • N ( n ) = número de despliegues desde el nodo n • U ( n ) = utilidad total de despliegues (p. ej., # victorias) para el jugador(padre(n))
MCTS Versión 2.0: UCT • Repita hasta que se acabe el tiempo: • Dado el árbol de búsqueda actual, aplique UCB recursivamente para elegir una ruta hasta un nodo de hoja (no completamente expandido) n • Agregue un nuevo hijo c a n y ejecute un despliegue desde c • Actualice los recuentos de ganancias desde c hasta la raíz • Elija la acción que conduce al niño con mayor N
Ejemplo de UCT 2/3 0/1 2/2 4/7 0/1 0/1 4/95/101/11/2
¿Por qué no hay mínimo o máximo???? • ¡El "valor" de un nodo, U(n)/N(n) , es una suma ponderada de valores secundarios! • Idea: como N ® ¥ , la gran mayoría de los lanzamientos se concentran en los mejores niños, por lo que el promedio ponderado ® máx./mín. • Teorema: como N ® ¥ UCT selecciona el movimiento minimax • (¡pero N nunca tiende a infinito!)
Resumen • Los juegos requieren decisiones cuando la optimización es imposible • Búsqueda de profundidad limitada y funciones de evaluación aproximada. • Los juegos fuerzan el uso eficiente de la computación • Poda alfa-beta, MCTS. • El juego ha producido importantes ideas de investigación. • Aprendizaje por refuerzo (damas) • Profundización iterativa (ajedrez) • Metarazonamiento racional (Otelo) • Búsqueda de árbol de Monte Carlo (ajedrez, Go) • Métodos de solución para juegos de información parcial en economía (póquer) • Los videojuegos presentan desafíos mucho mayores, ¡mucho por hacer! • b = 10 500 , | S | = 10 4000 , m = 10 000 , parcialmente observable, a menudo > 2 jugadores