métodos de búsqueda para juegos humano-maquina · métodos de búsqueda para juegos...

24
Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D.

Upload: phungdien

Post on 30-Sep-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Métodos de Búsqueda para juegos humano-maquina

PROF: Lic. Ana María Huayna D.

Page 2: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Tópicos

1. Introducción

2. Juegos

3. Estrategias de Juego

4. Algoritmo Minimax

5. Algoritmo Poda Alfa-Beta

Page 3: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

1.- Introducción

Desde la aparición de las civilizaciones, los juegos han ocupado la atención de las facultades intelectuales del ser humano.

En los entornos multi-agente (cooperativos o competitivos). Cualquier agente tiene que considerar las acciones de otros agentes.

La imprevisibilidad de estos otros agentes puede introducir muchas contingencias en el proceso de resolución de problemas.

Los entornos competitivos, en los cuales los objetivos de los agentes están en conflicto, dan ocasión a problemas de búsqueda entre adversarios, a menudo conocidos como juegos

Page 4: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

1.- Introducción …

– Juegos

Origen, 1928: John Von Newmann

– Teorema fundamental de los juegos bipersonales de

suma nula.

Desarrollo, 1944: Oskar Morgernsten

– “Theory of Games and Economic Behaviour” – Los juegos son un dominio apropiado para explorar la

inteligencia computacional: Tarea bien estructurada; permite medir claramente el

éxito o fracaso. No requiere gran cantidad de conocimiento. Pueden ser

resueltos buscando una ruta del estado inicial a la meta.

Page 5: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

1.- Introduccion …

– Aplicaciones

Antropología, psicología, economía, política, negocios, biología, IA, etc.

– Elementos:

Jugadores: personas, empresas, naciones, entes biológicos, etc.

Conjunto de estrategias: operadores o acciones

Resultado o Valor del juego: estado/s objetivos/s

Conjuntos de Pasos para cada jugador: función de utilidad sobre las estrategias.

– Métodos que permiten practicar juegos de tablero es decir opciones intercaladas entre dos adversarios.

– Estudiaremos dos algoritmos básicos:

Busqueda Minimax: método básico para recorrer un árbol y seleccionar movimiento más prometedor.

Poda alfa-beta: idea para reducir la búsqueda mediante la detección de perdedores garantizados.

Page 6: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

2.- Juegos

La teoría matemática de juegos, una rama de la economía, ve a cualquier entorno multiagente como un juego ; sin tener en cuenta si los agentes son cooperativos ó competitivos.

Los “juegos” que se tratan en IA son una clase más especializada, usualmente tienen las siguientes características:

– Ambientes totalmente observables

– Dos jugadores

– Son deterministas

– Información perfecta

– Movimientos alternados

Page 7: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Definición de juegos

Una definición formal de juego sería la de

una clase de problema de búsqueda

integrado por lo siguiente:

– El estado inicial

– Una función sucesor

– Un test terminal

– Una función de utilidad

Page 8: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Clasificación de Juegos Cooperación

– Cooperativos/no cooperativos

Número de jugadores

– n=2, bipersonales:

por naturaleza no cooperativos

– n>2, n-personales:

Pueden ser cooperativos. Dan lugar a coaliciones

Beneficios

– Suma nula:

la suma de beneficios y pérdidas de los jugadores debe ser 0. (Son habituales en IA).

– Suma no nula: caso contrario

Duración

– Finitos:

tienen final programado (nº jugadas, ruinas, etc.)

– Infinitos: sin final programado

Page 9: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

3. Estrategias de Juego Nivel de

Dificultad

Estrategias Descripción

0: Principiante No Determinística Se selecciona en forma aleatoria una

de las posibles jugadas

1: Normal Primero el mejor

(voraz, glotón)

Se selecciona la mejor jugada, esto es

la jugada que genera mejor valor de la

función evaluadora

2: Experto Min-Max

(criterio: defensivo)

Se selecciona la jugada que genera

peor utilidad entre las mejores jugadas

del oponente (humano)

Max-Diferencia

(criterio: ofensivo)

Se selecciona la jugada que genera

mayor diferencia de utilidades entre la

jugada de la máquina y la

correspondiente mejor jugada para el

humano.

Page 10: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Planteamiento General 2 jugadores: MAX y MIN (MAX mueve primero):

Estado inicial – Posición del tablero e identificación del primer jugador a

mover

Función sucesora: – Lista de pares (movimiento, estado) indica cada movimiento

legal y su estado resultante

Función objetivo: – Determina cuándo se acaba el juego (en nodos objetivo o

terminales)

Función de utilidad (función u): – Definida en nodos terminales (valores numéricos)

– Resultado del juego. Por ejemplo:

+1 si gana MAX

-1 si gana MIN

0 si empate (tablas)

Page 11: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Representación del Juego

– La manera natural es mediante un árbol de

juegos, que no es otra cosa que un tipo de red

semántica.

Los nodos representan configuraciones de tablero

Las ramas indican cómo una configuración puede

transformarse en otra mediante un solo movimiento.

– Diferente a otros tipos de árboles de búsqueda,

en este caso las decisiones son tomadas por dos

adversarios alternadamente.

Page 12: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

¿Cómo conducir el Juego?

– Los métodos de búsqueda que hemos visto son en

esencia procedimientos de generación y prueba.

– Para hacer más eficiente la búsqueda se

necesita:

Mejorar el procedimiento de generación: producir sólo

estados favorables (buenos movimientos).

Mejorar el procedimiento de prueba: lograr que se

analicen primero los estados más prometedores.

– Estas dos condiciones son importantes, pues una

búsqueda exhaustiva es imposible.

En ajedrez la ramificación es ~16 y la profundidad

~100, lo que nos llevaría a un árbol de 10120 estados.

Page 13: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

• Ejemplo: tres en raya

El estado inicial y los movimiento legales de cada jugador definen el árbol del juego.

Inicialmente MAX puede realizar uno de entre nuevos movimientos posibles

Jugadas alternas entre MAX (x) y MIN (o), hasta llegar a un

estado terminal

El valor de cada nodo hoja indica el valor de la función utilidad desde el punto de vista de

MAX (valores altos son buenos para MAX y bajos buenos para MIN)

Page 14: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

4.- EL ALGORITMO

MINIMAX

Page 15: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Procedimiento Minimax

– Tres ideas básicas:

Evaluación estática: cálculo de un número que refleje

la calidad del tablero (positivo indica una posición

favorable, negativo una favorable al adversario).

Búsqueda hacia delante: se deben analizar varios

niveles abajo para tomar una buena decisión (en

profundidad limitada).

Modelado de adversarios: se modela el

comportamiento de un jugador de maximización (la

máquina) y uno de minimización (el adversario).

Ambos siempre toman las mejores decisiones.

Page 16: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

¿Qué hace Minimax?

• ¿qué jugada debemos seleccionar?

• ¿realmente estamos seguros que será una buena jugada? • ¿el adversario podría quedar en una posición adecuada

para hacernos daño?

Nivel de Maximización

Nivel de Minimización

3 4

2 7 1 8

2 1

2

Page 17: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Analizando el procedimiento

• En el nivel de maximización se busca un movimiento que lleve a un número positivo grande. En el de minimización uno que lleve hacia negativos.

• Las decisiones del maximizador deben tener conocimiento de las alternativas disponibles para el minimizador del nivel inferior, y al revés.

• Cuando se alcanza el limite de exploración, el evaluador estático proporciona una base directa para la selección de alternativas.

• Minimax propaga información de abajo hacia

arriba.

Page 18: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Algoritmo

Para efectuar una búsqueda mediante MINIMAX: • Si el límite de búsqueda se ha alcanzado, calcular el

valor estático de la posición actual. Dar a conocer el resultado.

• De otro modo, si el nivel es de minimización, usar MINIMAX en los hijos de la posición actual y dar a conocer el menor de los resultados.

• De lo contrario, si el nivel es de maximización, usar MINIMAX en los hijos de la posición actual y notificar el mayor de los resultados.

Page 19: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Algoritmo Minimax (Resumen)

El algorimo minimax calcula la decisión minimax del estado actual.

Realiza una exploración primero en profundidad completa del árbol de juegos.

Si la profundidad máxima del árbol es m, y hay b movimientos legales en cada punto, entonces :

– La complejidad en tiempo del algorimo minimax es O(bm)

– La complejidad en espacio es O(bm) para un algoritmo que genere todos los sucesores a la vez ó O(m) para un algoritmo que genere los sucesores uno por uno.

Page 20: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

5.- PODA ALFA-BETA

Page 21: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Bases del procedimiento alfa-beta

Se basa en la observación de que NO es

necesario evaluar todos los nodos hoja del árbol.

Reduce el número de evaluaciones estáticas: Similar a “ramificación y cota”, porque demuestra que unas trayectorias son malas aun cuando no las sigue completamente.

El principio alfa-beta:

Si tiene una idea que es indudablemente mala, no se tome el tiempo para constatar que tan mala es..

Page 22: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

El procedimiento alfa-beta

¿cómo se calculan alfa y beta? Alfa = mínimo valor al que puede aspirar un

nodo del nivel de maximización (según evidencia) Beta = máximo valor que puede ser asignado a un

nodo del nivel de minimización (según evidencia)

¿dónde y cuándo parar la exploración? Por debajo de cualquier nodo de MIN que tenga un valor

de beta menor o igual que el valor alfa de cualquiera de sus nodos MAX antecesores.

Por debajo de cualquier nodo de MAX que tenga su alfa sea mayor o igual que el valor de beta de cualquiera de sus nodos MIN antecesores..

Page 23: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Ejemplo de Poda Alfa-Beta

Page 24: Métodos de Búsqueda para juegos humano-maquina · Métodos de Búsqueda para juegos humano-maquina PROF: Lic. Ana María Huayna D. Tópicos 1. Introducción 2. Juegos ... introducir

Eficacia de la Poda Alfa-Beta