Búsqueda entre Adversarios

Page 1

BúsquedaAdversariosentre

En esta clase • Historia / Resumen • Minimax para juegos de suma cero • Poda α-β • Busqueda de Arbol de Montecarlo

Una breve historia • Damas: • 1950: Primer reproductor de ordenador. • 1959: programa autodidacta de Samuel. • 1994: Primer campeón mundial de informática: Chinook derrota a Tinsley • 2007: ¡Damas resueltas! Base de datos de finales de 39 billones de estados • Ajedrez: • 1945 1960: Zuse, Wiener, Shannon, Turing, Newell & Simon, McCarthy. • 1960 en adelante: mejora gradual bajo el "modelo estándar" • 1997: Deep Blue derrota al campeón humano Garry Kasparov • 2022: calificación de Stockfish 3541 (frente a 2882 para Magnus Carlsen 2015). • Go: • 1968: El programa de Zobrist juega Go legal, apenas (¡b>300!) • 1968 2005: varios enfoques ad hoc probados, nivel de principiante • 2005-2014: búsqueda de árbol de Monte Carlo -> aficionado fuerte • 2016 2017: AlphaGo derrota a los campeones mundiales humanos • Pac-man?

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

Valores minimax +8-10-5-8 -8 -10 -8 Nodos MAX: bajo el control del Agente V (s) = max V(s') s' Î sucesores(s) Estados terminales: V (s) = conocido Nodos MIN: bajo el control del Oponente V (s) = min V(s') s' Î sucesores(s)

• 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

Algoritmo minimax

El programa incluye cercanía a pacman, pero hay movimiento circundante al final debido a los estados

Coordinación emergente en fantasmas

Dos fantasmas equipados con minimax: pacman no tiene oportunidad.

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!)

Poda deárbolesdeJuego

Ejemplo minimax 12 8 5 23 2 144 6 3 2 2 3

Ejemplo Alfa-Beta 12 8 5 23 2 14 α = 3 α = 3 α = mejor opción hasta ahora de cualquier Nodo MAX en esta ruta • El orden de generación importa : más la poda es posible si los buenos movimientos son lo primero 3 3

Cuestionario alfa-beta

Cuestionario Alfa Beta 2

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 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.

• Poda

Para juegos de suma cero, decisiones óptimas definidas por minimax

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

Resumen •

La complejidad del tiempo cae a O ( b m /2 ) con un orden de nodos ideal

Extensión simple a n-player "girando" max con vectores de utilidades Implementable como un recorrido en profundidad del árbol del juego

La solución exacta es imposible incluso para juegos "pequeños" como el ajedrez.

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-10 de anticipacion

Resultados aleatorios en los árboles 10 10 9 10010 10 9 100 9 10 9 1010 100 tictactoe , minimaxajedrez tetris, Expectimaxinvertir Backgammon, expectiminimaxMonopolio

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

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 • 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 59/1000/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

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

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.