BúsquedaAdversariosentre
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/da5961ec971c7288184b2ab97c805a1e.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/76b0eeedf2d287dd13511bab5621b7e1.jpeg)
En esta clase • Historia / Resumen • Minimax para juegos de suma cero • Poda α-β • Busqueda de Arbol de Montecarlo
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/d6177f1b060e8475e9eed2179a563810.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a9b9dfe298f6ebaa9525d9be2ec8da25.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/6f451ca190fd1f644e17c9b3c568f71c.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/6e58ed790ad118549319864ae1336808.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/62f823a3d2b2ca9d4d5aa9227d2f0a5c.jpeg)
adversariaBúsqueda
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/991232d21abb7f37dda5accd206c1815.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/816ed99adde660ee20bdc08f513ce394.jpeg)
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)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a089d212b2819c8e67bf4666b6bc7707.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/b8c0df4108ae10abebfb4ad51c0bdde1.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a089d212b2819c8e67bf4666b6bc7707.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a089d212b2819c8e67bf4666b6bc7707.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a089d212b2819c8e67bf4666b6bc7707.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/b8c0df4108ae10abebfb4ad51c0bdde1.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/a089d212b2819c8e67bf4666b6bc7707.jpeg)
Árbol de juego de tres en raya
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/4f0781f162582ffb1d2ea029fcda704e.jpeg)
• 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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/991232d21abb7f37dda5accd206c1815.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/081722a08b89f74bbf337ea1b7998ad4.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/86c555bddd0b6c16afcd0322c2e080b8.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/5683d9a4eb6801b19dcfbbb626b06d02.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/081722a08b89f74bbf337ea1b7998ad4.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/86c555bddd0b6c16afcd0322c2e080b8.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/eb4dbfbfd0dd76da1d67b8eebc4cbf9a.jpeg)
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?
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/1b547e4f694fbdf385cd3cea6dd0471e.jpeg)
Poda deárbolesdeJuego
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/991232d21abb7f37dda5accd206c1815.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/6620689d96e0d7aaada8b70ce4d24b41.jpeg)
Ejemplo minimax 12 8 5 23 2 144 6 3 2 2 3
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
Cuestionario alfa-beta
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/6789faf90c79f3af0d9f96bc23faf394.jpeg)
Cuestionario Alfa Beta 2
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/cb7402306d56595e9e0b20f5c481222b.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/32e9b4b2b776ed792fc2c1f652bf76ce.jpeg)
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 •
•
•
•
•
Extensión simple a n-player "girando" max con vectores de utilidades Implementable como un recorrido en profundidad del árbol del juego
La complejidad del tiempo cae a O ( b m /2 ) con un orden de nodos ideal
Para juegos de suma cero, decisiones óptimas definidas por minimax
La solución exacta es imposible incluso para juegos "pequeños" como el ajedrez.
• Poda
•
•
•
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.
•
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
Esquema • Anticipación finita y evaluación • Juegos con elementos de azar • Búsqueda del árbol de Montecarlo
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/d6177f1b060e8475e9eed2179a563810.jpeg)
Límites de recursos
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/c054d4e011f4ddc22926f2f7bca99ad1.jpeg)
La profundidad importa
• Las funciones de evaluación son siempre imperfectas. • Búsqueda más profunda => mejor juego (generalmente).
• Un ejemplo importante de la compensación entre la complejidad de las características y la complejidad de la computación.
• O bien, la búsqueda más profunda brinda la misma calidad de juego con una función de evaluación menos precisa.
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/4d4d8b625b3267d9ca924a75bc33d259.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/017e572b71737c79487304df5ff94c7e.jpeg)
Pacman con Profundidad-10 de anticipacion
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/08ab6f90bb1b458087d27b7b9f78e1da.jpeg)
resultadoscon inciertos
Juegos
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/991232d21abb7f37dda5accd206c1815.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/262a1eeb459791dda6399e94ac90a83b.jpeg)
Resultados aleatorios en los árboles 10 10 9 10010 10 9 100 9 10 9 1010 100 tictactoe , minimaxajedrez tetris, Expectimaxinvertir Backgammon, expectiminimaxMonopolio
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/e97bf6e05972a140f7045d056d6aefbe.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/48b550f0f1b99b6adad22e607f65f593.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/262a1eeb459791dda6399e94ac90a83b.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/0695b6cf11d1a114d3c4fb8717d96932.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/56baeb32b50649f88a66c789d5612cd0.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
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"
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
MCTS Versión 0.9 • Asigne implementaciones a nodos más prometedores 61/100 48/1006/10
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
MCTS Versión 1.0 • Asigne implementaciones a nodos más prometedores • Asignar lanzamientos a nodos más inciertos 61/100 48/1006/10
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
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))
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/4b678433560878815b43c6bfa354729b.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
Ejemplo de UCT 2/3 0/1 2/2 4/7 0/1 0/1 4/95/101/11/2
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
¿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!)
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)
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
![](https://assets.isu.pub/document-structure/220815231449-48cb506f0738c25ddf0eb0a76c49fb46/v1/8279b344f1f6c176c92f7320e9c182be.jpeg)