Inteligencia Artificial

Documentos relacionados
(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

Tema 3: Juegos bipersonales

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

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

Búsqueda con adversario

Búsqueda con adversario

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Tema 4: Técnicas heurísticas en juegos

El Juego como Problema de Búsqueda

Tema 7: Búsqueda con adversario (juegos)

Para definir en formalmente el juego se deberá establecer:

Inteligencia Artificial. Integrantes Equipo # 1:

Búsqueda Heurística IV

Curso /10/12. Inteligencia Artificial (30223) Lección 5. Juegos. Índice. Juegos. Los juegos son una forma de entorno multiagente

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

Problemas de búsqueda entre adversarios

Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos

Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos

Formulación del problema de la ruta más corta en programación lineal

Algoritmos de búsqueda

Teoría de juegos Andrés Ramos Universidad Pontificia Comillas

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

Inteligencia Artificial. Oscar Bedoya

Inteligencia Artificial

Jueves, 30 de abril. Ejemplo de recursión. Ejemplo de PD. Ejemplo de programación dinámica. Programación dinámica

Resolución de problemas de búsqueda

Inteligencia Artificial Búsqueda entre adversarios

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

UNLPam - Fac. Cs. Econ. y Jur.

Estado 3.2 (coste = 9)

Tema 4: Búsqueda informada mediante técnicas heurísticas

Juegos. Esquema. Introducción: juegos como búsqueda Decisiones perfectas Decisiones imperfectas Poda α β

CLASE PHP. Ejercicios. Nicolás Cenzano Silva

Materia: Matemática de 5to Tema: Método de Cramer. Marco Teórico

Ajedrez. Cómo jugar Autor: Erick López

FINANZAS CORPORATIVAS

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Estrategias en Juegos

Teoría de Juegos Modelos Extensivos. Agosto 2016

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

Análisis de. Análisis de. Decisiones:

OPTIMIZACIÓN VECTORIAL

Inteligencia Artificial Búsqueda entre adversarios

Ejercicios de Lógica Proposicional *

Capitulo 4. DECISIONES BAJO RIESGO TEORIA DE JUEGOS

Teoría de la Decisión: Decisión con incertidumbre y riesgo. Begoña Vitoriano Villanueva

Métodos de Inteligencia Artificial

Tema 4: Aplicaciones del equilibrio de Nash

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Lógica y Conteo. Elaborado por: Jeff Maynard Guillén. Eliminatoria III

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

PLE: Ramificación y Acotamiento

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Bloque 1. Contenidos comunes. (Total: 3 sesiones)

Hay tres juegos, que se juegan utilizando las mismas fichas y tablero, pero con distintas estrategias, y complejidad:

UD Trigonometría Ejercicios Resueltos y Propuestos Col La Presentación

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

Valor esperado: ejemplo

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

Problemas de Espacios Vectoriales

Capítulo 6. ÁRBOLES.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

MODELOS DE INVESTIGACION DE OPERACIONES

Algoritmos para determinar Caminos Mínimos en Grafos

INVESTIGACIÓN DE OPERACIONES

Resolución de problemas

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

Capítulo 2 Juegos estáticos con información asimétrica

Inteligencia Artificial. Aprendizaje neuronal. Ing. Sup. en Informática, 4º. Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

Diapositiva 2 La acción de los circuitos lógicos se puede comprender mediante la lógica booleana. Normalmente usaremos tres de sus elementos. Primero

Teoría de Algoritmos. Capitulo 5: Algoritmos para la Exploración n de Grafos.

Ensayo o prueba: es la realización concreta de un experimento aleatorio.

1.1 CASO DE ESTUDIO: JUEGO DE CRAPS

INDICE. Prólogo a la Segunda Edición

3ra. Practica. Algoritmos de Búsqueda. Inteligencia Artificial Prácticas 2004/2005

Cálculo Diferencial: Enero 2016

Aula Virtual Análisis de Circuitos D.C. Facultad Tecnológica Universidad Distrital Francisco José de Caldas.

Tema 3: Espacios vectoriales

Cálculo numérico. Sistemas de ecuaciones lineales.

ALGORITMO ID3. Objetivo

7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.

3. Técnicas de diseño de algoritmos

ICM Fundamentos de Computación

Juegos en Forma Estratégica de Información Incompleta

4º E.S.O. Matemáticas A

Somos veloces en nuestros cálculos

Ingeniería de Sistemas. Teoría de colas y juegos

Dinámica Jugando fósforosf. En grupos de hasta 5 personas.

PROGRAMACION CUADRATICA

CAPÍTULO 4 TÉCNICA PERT

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Transcripción:

I.T. en Informática de Sistemas, 3º Curso académico: 2009/2010 Profesores: Sascha Ossowski y Ramón Hermoso 1

Tema 2: Búsqueda Resumen: 2. Búsqueda 2.1. Agentes de resolución de problemas 2.2. Búsqueda no informada 2.3. Búsqueda heurística 2.4. Búsqueda multiagente 2

Resolución de problemas con múltiples agentes 3

Agentes especializados Situación: múltiples agentes de resolución de problemas actúan en el mismo entorno las acciones de los demás agentes influyen en la medida de rendimiento de cada agente ningún agente puede controlar las acciones de los demás agentes hasta cierto punto, un agente puede predecir las acciones de los demás Tipos de problemas multiagente : escenarios cooperativos: metas compartidas escenarios parcialmente cooperativos: algunas metas compartidas, otras opuestas escenarios antagónicos: metas opuestas 4

Escenarios antagónicos: Juegos Juegos: ejemplo clásico de escenarios antagónicos (juegos de suma nula) el escenario está totalmente definido por las reglas del juego, y los agentes jugadores los conocen completamente Tipos de juegos: número de jugadores : bipersonales (damas) / múltiples jugadores (Monopoly) elementos de azar: con elementos de azar (backgammon) / sin elementos de azar (damas) información: información perfecta (damas) / información incompleta (póker) juegos bipersonales con información perfecta y sin elementos de azar 5

Ejemplo: Tres en Raya Tres en Raya: dos jugadores (min y max) los jugadores van poniendo fichas en las casillas de un tablero 3x3 max usa las fichas X / min usa las fichas O una casilla puede contener como mucho una ficha Reglas: Inicialmente el tablero está vacío max empieza y los jugadores se van alternando en poner sus fichas max gana si obtiene una raya de tres fichas X min gana si obtiene una raya de tres fichas O si todas las casillas están ocupadas sin que haya una raya de 3 fichas del mismo tipo, hay empate gana max gana min empate 6

Modelo de juegos bipersonales Conocimientos mínimos a priori de los agentes max y de min : Nótese: s 0 posición inicial (estado inicial) expandir: s {s i1,..., s in } cjto. finito de posiciones sucesores terminal?: s true false prueba terminal U: s k, k R función parcial de utilidad del juego la función expandir codifica las jugadas (acciones) permitidas en una posición s supone implícitamente que los jugadores se alternan en realizar las jugadas la función de utilidad está definida sólo en los estados terminales s juegos de suma nula: max gana si sólo si min pierde gana max: U(s) = + / gana min : U(s) = / empate: U(s) = 0 7

Ejemplo: Árbol de juego para Tres en Raya max min... max... min......... terminal 0 + utilidad 8

Árboles de juego Definición: Sea N un conjunto de nodos, E N N, L = {max,min}, y G = (N,E,L) un árbol etiquetado. G es un árbol de juego si G no es vacío la raíz está etiquetada max todos los sucesores de max son etiquetados min todos los sucesores de min son etiquetados max Observaciones: cada nivel del árbol de juego representa un ply (media jugada) en los nodos etiquetados max, es el turno del agente max en los nodos etiquetados min, es el turno del agente min las hojas de un árbol de juego (completamente desarrollado) representan las posiciones terminales del juego 9

Estrategias Problema del agente max: cómo determinar su mejor jugada? max podría aplicar métodos de búsqueda estándar, usando las posiciones en las que él gana como estados meta pero min no querría realizar las acciones que el plan de max prevé para él! Estrategia: define las jugadas de max para cada posible jugada de min un subárbol del árbol de juego Estrategia óptima (ó racional) : la estrategia que implica el mejor resultado garantizado para max escenarios totalmente antagónicos con agentes racionales: max puede asumir que min hará lo mejor para sí mismo, lo cual el lo peor para max la estrategia óptima para max es la estrategia minimax: maximizar la utilidad mínima en cada jugada 10

Ejemplo: estrategia minimax estrategia óptima: mejor jugada de max: a 1 max 0 a 1 a 2 a 3 min 0 - - a 1,1 a 1,2 a 1,3 a 2,1 a 2,2 a 2,3 a 3,1 a 3,2 a 3,3 terminal utilidad 0 0 + + + 0 0 11

Método minimax Método Minimax: 1. Generar el árbol de juego completo 2. Aplicar la función de utilidad en cada nodo terminal 3. Propagar las utilidades hacia arriba en los nodos max, usar la utilidad máxima de los sucesores en los nodos min, usar la utilidad mínima de los sucesores 4. Eventualmente los valores de utilidad llegan al nodo raíz (max) 5. La jugada óptima de max es la que lleva al sucesor de utilidad máxima 12

Algoritmo Minimax básico Algoritmo: funciones mutuamente recursivas estado es el estado actual α : máximo de la utilidad de los sucesores de un nodo max β : mínimo de la utilidad de los sucesores de un nodo min {MaxValor en el Minimax básico} Función MaxValor(estado) Si terminal?(estado) entonces devolver(u(estado)) sucesores expandir(estado) α Para cada s sucesores hacer α max(α, MinValor(s)) devolver(α) Fin {MaxValor} {MinValor en el Minimax básico} Función MinValor(estado) Si terminal?(estado) entonces devolver(u(estado)) sucesores expandir (estado) β + Para cada s sucesores hacer β min(β,maxvalor(s)) devolver(β) Fin {MinValor} 13

Decisiones imperfectas Problema: crecimiento exponencial del árbol de juego incluso en juegos muy simples, es imposible desarrollar el árbol de juego completo hasta todos sus nodos terminales Solución: Heurísticas sustituir la prueba terminal por una prueba suspensión que detiene la búsqueda aún sin llegar a una posición terminal: límite de profundidad fijo posiciones en reposo aplicar una función de evaluación e, que estime la utilidad esperada del juego correspondiente a una posición s determinada e debe coincidir con la función de utilidad u en los nodos terminales suele ser función lineal ponderada : e(s) = w 1 f 1 (s) + w 2 f 2 (s) +... + w n f n (s) Ajedrez: e(s) = suma de los valores materiales en s Tres en Raya: e(s) = nº de línea abiertas para líneas max en s nº de línea abiertas para líneas min en s 14

Ejemplo: minimax con suspensión estrategia óptima: mejor jugada de max: a 1 max 3 a 1 a 2 a 3 min 3 2 2 a 1,1 a 1,2 a 1,3 a 2,1 a 2,2 a 2,3 a 3,1 a 3,2 a 3,3 evaluación e 3 12 8 2 4 6 14 5 2 15

Algoritmo Minimax con suspensión Algoritmo: funciones mutuamente recursivas estado es el estado actual α : máximo de la evaluación de los sucesores de un nodo max β : mínimo de la evaluación de los sucesores de un nodo min {MaxValor: Minimax con suspensión} Función MaxValor(estado) Si suspensión?(estado) entonces devolver(e(estado)) sucesores expandir(estado) α Para cada s sucesores hacer α max(α, MinValor(s)) devolver(α) Fin {MaxValor} {MinValor: Minimax con suspensión} Función MinValor(estado) Si suspensión?(estado) entonces devolver(e(estado)) sucesores expandir (estado) β + Para cada s sucesores hacer β min(β,maxvalor(s)) devolver(β) Fin {MinValor} 16

max Suspensión en ply 3 Ejemplo: Tres en Raya min 2............ max 1 + + 0 1 1 1 1 + 1 1 + 17

Ejercicio 2.11 Considérese el siguiente árbol de juego desarrollado hasta ply 3. Los nodos están etiquetados con los valores de la función de evaluación e. a) Evalúe el árbol del juego en base al algoritmo minimax. b) Cuál es la mejor jugada para el agente max? 7 6 8 5 2 3 0 2 6 2 5 8 9 2 18

Poda α-β Nótese: a veces es posible calcular la utilidad de un nodo sin tener que evaluar todos sus sucesores max 3 a 1 a 2 a 3 min 3 2 2 a 1,1 a 1,2 a 1,3 a 2,1 a 2,2 a 2,3 a 3,1 a 3,2 a 3,3 3 12 8 2 14 5 2 19

Poda α-β Utilidad más alta encontrada en un nodo max hasta el momento: α max min... β α Condición de poda: β α La utilidad U min del nodo min será como mucho β La utilidad U max del nodo max será al menos α No es necesario explorar los sucesores restantes de min, ya que se cumple en todo caso: U min β α U max 20

Poda α-β Utilidad más baja encontrada en un nodo min hasta el momento: β min max... α β Condición de poda: α β La utilidad U max del nodo max será al menos α La utilidad U min del nodo min será como mucho β No es necesario explorar los sucesores restantes de max, ya que se cumple en todo caso: U min β α U max 21

Minimax con poda α-β Algoritmo: funciones mutuamente recursivas estado es el estado actual α es el mejor valor de evaluación para max en el camino hasta estado β es el mejor valor de evaluación para min en el camino hasta estado {MaxValor: Minimax con poda α β} Función MaxValor(estado,α,β) Si suspensión?(estado) entonces devolver(e(estado)) sucesores expandir(estado) Para cada s sucesores hacer α max(α, MinValor(s,α,β )) Si α β entonces devolver(β) devolver(α) Fin {MaxValor} {MinValor: Minimax con poda α β} Función MinValor(estado,α,β) Si suspensión?(estado) entonces devolver(e(estado)) sucesores expandir (estado) Para cada s sucesores hacer β min(β,maxvalor(s,α,β )) Si β α entonces devolver(α) devolver(β) Fin {MinValor} 22

Ejercicio 2.12 Considerese el árbol de juego del ejercicio anterior. Evalúe el árbol utilizando el algoritmo minimax con poda α-β. Cuando aplica una poda, indique la condición de poda correspondiente. 7 6 8 5 2 3 0 2 6 2 5 8 9 2 23

Resumen Análisis: la eficiencia de minimax con poda α-β depende del orden en el que se exploran los nodos en promedio, la poda α-β permite expandir 50% menos nodos que minimax Problemas: efecto horizonte: la búsqueda se suspende justo cuando el jugador está por hacer una gran jugada suposición de racionalidad perfecta: suponga que max está a punto de perder si min juega de forma óptima sin embargo, hay una jugada que hacer ganar max, si min hace un solo error Extensiones: juegos con elementos de azar (p.e. backgammon) expectminimax: añadir niveles de nodos azar y calcular su utilidad esperada aprender funciones de evaluación y de suspensión heurísticas fuertes basados en meta-razonamiento algoritmos de búsqueda guiados por la utilidad esperada de expandir un nodo 24