. Juegos.

Slides:



Advertisements
Presentaciones similares
INGENIERIA INFORMATICA Y BUSQUEDAS CON ADVERSARIOS
Advertisements

El juego del ajedrez ES BUENO JUGAR PORQUE
Búsqueda en árboles de juego
Búsqueda en un espacio de Estado
INTELIGENCIA ARTIFICIAL
PARTE I: JUEGOS SIMULTANEOS.
Tema 4. Juegos simultáneos con información incompleta.
Ejemplo 2: Reparto de 3 objetos indivisibles.
Diseño y análisis de algoritmos
Inteligencia Artificial
Inteligenica Artificial I Alejandro Permingeat Inteligencia Artificial de Russell y Norving 1° edición 1996 Parte II Capítulo V.
LAS PIEZAS.
INTRODUCCION Análisis de decisiones: Es una herramienta cuyo objetivo es ayudar en el estudio de la toma de decisiones en escenarios bajo incertidumbre.
TEORIA DE JUEGOS Trata del comportamiento estratégico, del comportamiento en interacción. Esto es fundamental en la gerencia política. En teoría de juegos.
Tema 3: Juegos bipersonales
Investigación de Operaciones
Movimientos Especiales
Inteligencia Artificial Búsqueda informada y exploración
COSTOS ESTANDAR DEFINCIÓN
Inteligencia Artificial
Búsqueda Informada Heurísticas.
Inteligencia Artificial Búsqueda informada y exploración
Inteligencia Artificial Búsqueda entre adversarios
Problema: Viajante de Comercio
Investigación Operativa
BUSQUEDA EN JUEGOS DE ADVERSARIO Sección 1-4
Solución de problemas por búsqueda inteligente
El ajedrez.
Equipo # 1 Norma Pimentel Wendy Hernandez Julisa Javier Mario Tristán.
Inteligencia Artificial Resolver problemas mediante búsqueda
Dar click en boton de avanzar. CURSO DE AJEDREZ “ Las piezas sobre la mesa “ CAPITULO II VENTAJA POSICIONAL (1) abcdef gh Ejemplo ideal.
Sesión 12: Procesos de Decisión de Markov
Decisiones bajo Incertidumbre Teoría de Juegos
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Búsqueda heurística.
Capítulo 4 BUSQUEDA INFORMADA.
El proceso general de la técnica de ataque radica en el ataque doble. Un ataque simultaneo sobre dos unidades hostiles o sobre dos puntos, es con toda.
Métodos Cuantitativos Análisis de Decisiones II 4.5 al 4.6.
Leydy Johanna Hernández
Estas combinaciones implican, a menudo, la coronación de un Peón o un mate en la última fila. A veces los dos incidentes aparecen en la misma combinación,
TEMA 4 TRANSFORMADA DE LAPLACE
Optimización, Búsqueda Heurística
Problemas de Decisión y Optimización
TEMA 4 JUEGOS SECUENCIALES CON INFORMACIÓN PERFECTA. Manual: cap. 6
Agentes de resoluciones d problemas Parte I. Un agente puede adoptar una meta o un propósito para satisfacer.
Diseño y análisis de algoritmos
DESARROLLO MODELO RESOLUCION MODELO ¿VALIDA? MODELO MODIFICADO IMPLEMENTACION DEFINICION DEL PROBLEMA t.
Parte I. Estructuras de Datos.
Diseño y análisis de algoritmos
Organización y Administración II Problemas Universo Indeterminado
Algoritmo Poda Alpha-Beta
METODOS DE BUSQUEDA INFORMADOS CAPITULO 5
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 13 L. Enrique Sucar / Marco López Sesión 13 L. Enrique Sucar / Marco López.
Sistemas Inteligentes Distribuidos Sistemas Inteligentes Distribuidos Sesión 8 Eduardo Morales / L. Enrique Sucar Sesión 8 Eduardo Morales / L. Enrique.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Dar click en botón de avanzar. CURSO DE AJEDREZ “ Las piezas sobre la mesa “ CAPITULO II VENTAJA POSICIONAL (2) abcdef gh Los finales en.
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Inteligencia Artificial Búsqueda entre adversarios Primavera 2008 profesor: Luigi Ceccaroni.
1 Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de.
INTRODUCCIÓN A JUEGOS (BÚSQUEDA CON ADVERSARIOS)
AJEDREZ Carlos A. Alsina.
Toribio Sarmiento Miguel Sesarego Cruz Rosmery. Desde la aparición de las civilizaciones, los juegos han ocupado la atención de las facultades intelectuales.
Ajedrez.
Equilibrio Bayesiano Nash
Toma de decisiones en la empresa
TEMA: DECISIONES BAJO RIESGO –TEORIA DE JUEGOS Ing. Larry D. Concha B.
 Consiste en la elección del mejor movimiento para cada jugador, es decir la máquina para quien programaremos el sistema tratará de maximizar las oportunidades.
(1) Uno de los jugadores hace Jaque mate y gana. (2) Uno de los jugadores abandona y pierde. (3) Los jugadores empatan o hacen tablas. El final como etapa.
EL AJEDREZ Potenciar las capacidades de cálculo, de análisis y de síntesis; se mejora la percepción, la discriminación, la creatividad, la imaginación,
CURSO DE AJEDREZ “ Las piezas sobre la mesa “ El gato ajedrez abcdef gh Dicen las malas lenguas que Capablanca, en su temprana edad, estaba.
Transcripción de la presentación:

. Juegos

CLASIFICACIÓN Diferentes puntos de vista: 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 Suma constante: caso contrario Finitud Finitos: tienen final programado (nº jugadas, ruinas, etc.) Infinitos: sin final programado

Introducción I Juegos Aplicaciones Elementos: Origen, 1928: John Von Newmann Teorema fundamental de los juegos bipersonales de suma nula. Desarrollo, 1944: Oskar, Morgernsten “Theory of Games and Economic Behaviour” 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 Pagos para cada jugador: en función de las estrategias

Introducción II Tipos de representación J2 A B J1 2 -3 C -5 10 A B C Matricial Árbol J2 A B J1 2 -3 C -5 10 Pagos de J2 a j1 A B C MAX MIN A B C A B C A B C

Introducción III Los Juegos bipersonales en la IA Son problemas con contingencias En ocasiones pueden tener una ramificación alta por ejemplo en ajedrez, b35 Puede haber limitaciones de tiempo Entorno semidinámico En la resolución se utilizan: Funciones de evaluación Evalúan los operadores utilizados por cada jugador. Ayudan a decidir el resultado del juego y las mejores estrategias para cada jugador. Métodos de poda Simplificación de la búsqueda.

Decisiones perfectas en juegos de dos adversarios Dos jugadores, MAX y MIN (MAX mueve primero): Estado inicial: Posición del tablero e identificación del primer jugador a mover Conjunto de operadores: Movimientos legales que hace cada jugador 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): Se define en los nodos terminales Resultado del juego. Por ejemplo (suma nula): +1 si gana MAX -1 si gana MIN 0 si empate (tablas)

Decisiones óptimas en juegos de dos adversarios Ejemplo: tres en raya Inicialmente MAX puede realizar uno de entre nueve 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 de utilidad desde el punto de vista de MAX (valores altos son buenos para MAX y bajos buenos para MIN) El estado inicial y los movimiento legales de cada jugador definen el árbol del juego.

Decisiones perfectas en juegos de dos adversarios Algoritmo minimax Tiene por objetivo decidir un movimiento para MAX. HIPÓTESIS Jugador MAX trata de maximizar su beneficio (función de utilidad). Jugador MIN trata de minimizar su pérdida. Aplicación algoritmo: 1) Generar árbol entero hasta nodos terminales 2) Aplicar función u a nodos terminales 3) Propagar hacia arriba para generar nuevos valores de “u” para todos los nodos minimizando para MIN Maximizando para MAX 4) Elección jugada con máximo valor de “u” MINIMAX-VALUE(n) = UTILITY(n) Si n es un nodo terminal maxs  Sucesor(n) MINIMAX-VALUE(s) Si n es un nodo MAX mins  Sucesor(n) MINIMAX-VALUE(s) Si n es un nodo MIN

Decisiones óptimas en juegos de dos adversarios Ejemplo: tres en raya Nodos MAX, le toca mover a MAX Nodos MIN Valores minimax (cada nodo tiene asociado valor minimax o MINIMAX-VALUE(n)) Valores de la función de utilidad para MAX La mejor jugada de MAX es A1 porque genera el mayor valor minimax entre sus nodos sucesores. La mejor jugada entonces de MIN es A11 porque genera el menor valor minimax entre sus nodos sucesores.

Decisiones perfectas en juegos de dos adversarios Ejemplo Utilidad Para MAX 3 Utilidad Para MIN 2 3 3 12 8 2 4 6 14 5 2 Utilidad Para MAX

Decisiones perfectas en juegos de dos adversarios Algoritmo (con más detalle): function MINIMAX-DECISION(state) returns una acción inputs: state, estado actual en el juego v  MAX-VALUE(state) return una acción de SUCCESSORS(state) con valor v function MAX-VALUE(state) returns valor utilidad if TERMINAL-TEST(state) then return UTILITY(n) v  -  for s en SUCCESSORS(state) do v  MAX(v, MIN-VALUE(s)) return v function MIN-VALUE(state) returns valor utilidad v   v  MIN(v, MAX-VALUE(s)) La complejidad (m=máxima profundidad), como es una búsqueda en profundidad, es: Temporal: Espacial: Para juegos reales la complejidad temporal hace que sea impracticable. Es válido para casos de libro.

Decisiones imperfectas en juegos de dos adversarios Decisión imperfecta: Decisión tomada por el algoritmo minimax sobre un horizonte que no alcanza el final del juego (se asume) y con función de evaluación estimada f = û. Función de evaluación: Debe coincidir con û en nodos terminales Ejemplos: Si hay 50% posibilidades de ganar, 25% de perder y 25% de empate, f=1*0.50+(-1)*0.25+0*0.25=0.25 En el ajedrez: peon=1, alfil=3, .... Suponiendo que MAX=fichas-negras: f=(num-peones-negros)*1 + (num-alfiles-negros)*3 .... -(num-peones-blancos)*1 - (num-alfiles-blancos)*3 ....

Decisiones imperfectas en juegos de dos adversarios Aplicación: Dada una función de evaluación f, se aplica una búsqueda minimax con límite de profundidad: Se elige un límite de profundidad Observación: el límite puede tener una posición desventajosa en un nivel más abajo. Se pueden elegir sucesivos límites de profundidad y quedarse con la mejor jugada. El límite de profundidad se debería aplicar sólo a posiciones “inactivas”. En ajedrez, serían por ejemplo posiciones en las que es poco probable que existan capturas Problema del horizonte Surge cuando el programa se enfrenta a una acción del oponente, inevitable y que causa serios perjuicios. Ejemplo: en la figura anexa, peón blanco amenaza convertirse en dama. Torre negra amenaza con jaque. La ventaja actual es negra y la inmediata futura es blanca (evaluación calidad piezas).

Decisiones imperfectas en juegos de dos adversarios Ejemplo: Tres en raya. f(n)= (número de filas, columnas o diagonales libres para MAX) - (número de filas, columnas o diagonales libres para MIN) si “n” no es una solución en que gane alguno de los jugadores , si gana MAX , si gana MIN Exploración y evaluación: El procedimiento de exploración visto separa por completo el proceso de generación del árbol de exploración y la evaluación de posiciones. Se puede reducir el esfuerzo requerido si se hace evaluación de los nodos finales y se llevan hacia atrás esas evaluaciones con la generación el árbol

Decisiones imperfectas en juegos de dos adversarios Ejemplo: tres en raya - página 110 del libro Nilsson

Poda Para aplicar la poda suponemos búsqueda minimax Ejemplo: ajedrez con función de evaluación f limitación en profundidad búsqueda en zonas inactivas. Ejemplo: ajedrez Un programa puede examinar unas 1000 posiciones/segundo. Si tenemos 150 segundos para pensar un movimiento, entonces, como b es aproximadamente 35, podemos bajar hasta 3 ó 4 niveles. La poda va a permitir bajar hasta más niveles. Se definen, para un nodo particular: Un valor es una cota inferior para el valor obtenido por propagación. Un valor es una cota superior para el valor obtenido por propagación.

Poda Ejemplo sencillo =3 =3 =2 <=2 3 12 8 2 4 6 14 5 2

Poda Algoritmo (interpretación): n nodo MAX m nodo MIN Algoritmo (interpretación): Si n es ascendiente de m, y se verifica alguna de estas condiciones (el valor alpha se alcanza en nodo hijo de n): En ambos casos no hace falta seguir examinando por debajo de m (se producen podas). El nodo m no afectaría al resultado final y es prescindible. n nodo MIN m nodo MAX El algoritmo efectúa una búsqueda en profundidad. Si durante la misma se produce que m es mejor que n para el jugador Player, entonces nunca se llegará a n en el juego

Ejemplo I >=2 =2 <=1 <=2 =2 >=2 =2 >=0 =1 >=3 <=2 <=0 <=1 <=7 =3 <=5 =1 2 5 1 2 7 3 6 4 3 5 1 9 6 2 8

Ejemplo I n n m m n n m m >=2 =2 <=1 <=2 =2 >=0 >=2 >=3 =2 =1 <=2 <=0 <=1 <=7 <=5 =2 =3 =1 2 5 1 2 7 3 6 4 3 5 1 9 6 2 8

Poda Algoritmo (uso de ): página 170 del libro Russell & Norvig

No mejora valor de  (lo devuelve hacia arriba) Ejemplo II [ ] [-] [2 ] [2 ]  =  ! [-] [2 ] [2 2] [-2] [-2] No mejora valor de  (lo devuelve hacia arriba) [-2] [-] [2 ] [-2] [2 2] [2 ] [2 2] [2 ]  =  ! [2 ] [-] [-2] [2 5] [2 1]  >  !  >  ! [-”2”] No mejoran  = 2 [2 0] [2 1] 2 5 1 2 7 3 6 4 3 5 1 9 6 2 8

Efectividad de la poda La poda depende del orden en que se examinan los nodos En el ejemplo siguiente, no se producen podas por debajo del nodo “n” porque la rama se expande la última. [-] [3 ] [3 ] [-] [3 ] [3 2] n [3 14] [3 5] [- 3] [3 2] 3 12 8 2 4 6 14 5 2

Efectividad de la poda Si se pudiera elegir el nodo más conveniente (por ejemplo, el nodo con el mínimo de “f” en el caso de MIN): Knut y Moore (1975), demostraron que la complejidad temporal es: Por tanto, el factor de ramificación efectivo sería en lugar de “b”. En el ajedrez tendríamos Podríamos bajar hasta el nivel 8. Es una situación ideal (supondría expandir los nodos para calcular el de menor “f”). Los mismos autores han demostrado también que si se produce una expansión aleatoria, entonces para valores grandes de “b” la complejidad temporal es:

Y para terminar … un último ejemplo (paciencia) - página 116 del libro Nilsson