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

Documentos relacionados
Inteligencia Artificial. Integrantes Equipo # 1:

Resumen de las clases dictadas: Semana 16 al 20 de Noviembre INTRODUCCIÓN

INSTITUTO TECNOLOGICO DE NUEVO LAREDO INGENIERIA EN SISTEMAS COMPUTACIONALES INTELIGENCIA ARTIFICIAL IMPARTE: ING. BRUNO LÓPEZ TAKEYAS

INTELIGENCIA EN REDES DE COMUNICACIONES

Inteligencia Artificial

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

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

Búsqueda en línea y Búsqueda multiagente

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

Sistemas Inteligentes I Tema 3. Juegos José A. Montenegro Montes

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

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

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

Búsqueda con adversario

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Búsqueda con adversario

VivaMéxico sin PRI. Quiero que mi país sea de todos. Dr. Ivo H. Pineda Torres. Primavera Lllegó el calor sabroso

4. En el algoritmo de minimax con poda alfa-beta es posible podar TODOS los sucesores de un nodo de juego que se está analizando? Por qué?

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales

El Juego como Problema de Búsqueda

Problemas de. adversarios. Juegos

Para definir en formalmente el juego se deberá establecer:

EJERCICIOS DE GRAFOS DE JUEGO

Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa:

Conceptos de Inteligencia Artificial & Sistemas Inteligentes Artificiales. Clase 12 CIA Clase 5 SIA Algoritmos genéticos Búsqueda adversaria

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

Problemas de búsqueda entre adversarios

22 de diciembre de 2008

Búsqueda con adversario

Búsqueda con adversario. Representación del juego. Búsqueda con adversario. Notas. Uso: Decidir mejor jugada en cada momento para cierto tipo de

Estrategias ganadoras

Tema 6: Técnicas heurísticas en juegos

Hoja de Ejercicios. Temas 1 y 2

TP de Programación Funcional: Reversi

Tema 7: Búsqueda con adversario (juegos)

BÚSQUEDA. Vicente Martínez Orga

Tema 4: Técnicas heurísticas en juegos

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA

Inteligencia Artificial. Oscar Bedoya

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA

Problemas de búsqueda entre adversarios

(Ficha 2, CASILLA) i. FE(1, A1) = = 1 ii. FE(1, A2) = = 2 iii. FE(5, A3) = = 1

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

(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 *?

Fundamentos de Inteligencia Artificial

IN2201 Teoría de Juegos. Prof. Auxiliar: Charles Thraves. Universidad de Chile Facultad de Ciencias Físicas y Matemáticas

INTELIGECIA EN REDES DE COMUNICACIONES 5º ING TELECOMUNICACIÓN TRABAJO FINAL DE LA ASIGNATURA EL DOMINÓ AUTORES

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

Proporcionalidad

Un Juego De Jose Manuel Alonso Agulló

INSTITUTO TECNOLOGICO DE NUEVO LAREDO

2.1. Es un juego de información perfecta o imperfecta? Fundamente su respuesta.

EJEMPLO DE PARTIDA. Pongo en la casilla: 4 El tablero queda como: X

PROGRAMA CONSTRUYENDO ESCUELAS EXITOSAS

Algoritmos de búsqueda

Programación Dinámica

Teoría de Juegos Modelos Rectangulares. Agosto 2016

Problema 1. Se considera un triángulo equilátero de lado 1 y centro O, comoeldelafigura.

PRUEBA REGIONAL SÉPTIMO GRADO 2005

IV Taller de Olimpiadas Matemáticas para Profesores 2014

Implementación del juego Reversi en Java con algoritmo de búsqueda y estrategia

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

1. GRAFOS : CONCEPTOS BASICOS

INTELIGENCIA EN REDES DE COMUNICACIÓN TRABAJO FIN DE CURSO. Las cuatro en raya

Algoritmo de ramificación y acotación

I Olimpiada de Informática

Estratégias generales de análisis y diseño de algorítmos

Capitulo 4. DECISIONES BAJO RIESGO TEORIA DE JUEGOS

Hoja de ejercicios del Tema 6

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG

6.2 Métodos y modelos para la toma de decisiones

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

Hoja de Problemas Tema 2 Búsqueda no-informada

1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1.

Inteligencia Artificial

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

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

La habilidad de jugar es considerada como una distinción de inteligencia. Fácil de crear situaciones complicadas con reglas sencillas.

Reglamento PES 17 Formato tradicional TORNEOS PRESENCIALES DE PLAY STATION 4

Reglamento de Juego. Cubo Gusano. Santiago del Estero 2829 (C.P. 3000) Santa Fe

Teoría de Juegos Modelos Extensivos. Agosto 2016

El tiempo estimado para realizar la prueba es de 3 horas y media

Algoritmos: Exploración de grafos

Reglamento FIFA 17 Formato tradicional TORNEOS PRESENCIALES DE PLAY STATION 4

Ampliación de Algoritmos y Estructura de Datos Curso 02/03. Ejercicios

Inteligencia Artificial Búsqueda entre adversarios

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

Inteligencia Artificial Búsqueda informada y exploración

Algoritmo Poda Alpha-Beta

Escuela Superior Politécnica del Litoral Facultad de Ciencias Naturales y Matemáticas Departamento de Matemáticas

Búsqueda en espacio de estados

1. La partida de ajedrez

Planta Primera. Vivenda. 63,70m² 73,99m² 6,27m²

Planteamiento General

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas

Trabajo avanzado con consultas

Apuntes de Teórico PROGRAMACIÓN 3

Transcripción:

ALGORITMO MINIMAX Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios Información completa (cada jugador conoce el estado del otro) Elección del mejor movimiento para cada jugador, suponiendo que el contrincante escogerá el peor El espacio de estados se representa mediante árboles alternados, donde: o Nodo: Representa una situación del juego o Sucesores de un nodo: Situaciones del juego a las que se

accede por movimientos legales aplicando sus reglas o Nivel: Contiene todas las situaciones posibles para uno de los jugadores El algoritmo Minimax es un procedimiento recursivo y el corte de la recursión está dado por alguna de las siguientes condiciones: o Gana algún jugador o Se han explorado N capas, siendo N el límite establecido o Se ha agotado el tiempo de exploración o Se ha llegado a una situación estática donde no hay grandes cambios de un nivel a otro.

Representación de los juegos Posición inicial. Conjunto de operadores o reglas del juego (definen movimientos legales) Estado terminal Función de utilidad, ej. gana, pierde, empata Pasos del Algoritmo Minimax 1. Generación del árbol de juego. Se generarán todos los nodos hasta llegar a un estado terminal. 2. Cálculo de los valores de la función de utilidad para cada nodo terminal.

3. Calcular el valor de los nodos superiores a partir del valor de los inferiores. Alternativamente se elegirán los valores mínimos y máximos representando los movimientos del jugador y del oponente, de ahí el nombre de Minimax. 4. Elegir la jugada valorando los valores que han llegado al nivel superior. El algoritmo explorará los nodos del árbol asignándoles un valor numérico mediante una función de utilidad, empezando por los nodos terminales y subiendo hacia la raíz. Colocar 0 ó 1 en los nodos terminales dependiendo si gana MIN o MAX

La función de utilidad definirá lo buena que es la posición para un jugador cuando la alcanza. Se requiere de una estrategia que garantice llegar a estados terminales ganadores independientemente de lo que haga el oponente. Un valor positivo indica la ventaja de un jugador y uno negativo la ventaja del otro. El jugador que espera valores positivos se conoce como maximizador El jugador que espera valores negativos se conoce como minimizador

El maximizador busca movimientos que lo conduzcan al mayor número positivo El minimizador busca movimientos que lo conduzcan al menor número negativo P. ejemplo: Nivel MAX 2 1 Nivel MIN 7 2 1 8 Nivel MAX El maximizador: o Puede esperar llegar a un valor de 8

o Sabe que el minimizador puede escoger un movimiento que lo lleve a un valor de 1 Desde el punto de vista de el maximizador, el minimizador puede escoger 2 ó 1 Los resultados de un nivel determinan la acción y el resultado del nivel inmediato superior

Cálculo de valores de la función de utilidad Calcular el valor minimax del nodo J: V(J) SI J es Terminal, V(J) ev(j) SI NO Genera los sucesores de J: J 1, J 2, J n Evalúa V(J 1 ), V(J 2 ),, V(J n ) de izq a der SI J es nodo Max ENTONCES V(J) max[v(j 1 ), V(J 2 ),, V(J n )] SI J es nodo Min ENTONCES V(J) min[v(j 1 ), V(J 2 ),, V(J n )]

EJEMPLO Funcionamiento de Minimax en un árbol generado para un juego imaginario. Los posibles valores de la función de utilidad tienen un rango de [1-9]. En los movimientos del contrincante suponemos que escogerá los movimientos que minimicen nuestra utilidad En nuestros movimientos suponemos que escogeremos los movimientos que maximizan nuestra utilidad. 1er. Paso: Calcular los nodos terminales, en verde.

2º. Paso: Calcular el cuarto nivel, movimiento MIN, minimizando lo elegido (5, 2 y 1). 3er. Paso: Calcular el tercer nivel, movimiento MAX, maximizando la utilidad (5, 9). El segundo nivel es un movimiento MIN (5, 3 y 1). Finalmente llegamos al primer nivel, el movimiento actual, elegiremos el nodo que maximize nuestra utilidad (5).

Aplicación: El Juego del Gato Dos jugadores MIN y MAX Los jugadores colocan fichas en un tablero de 3 X 3 MAX usa las fichas X MIN usa las fichas O Reglas: Inicialmente el tablero está vacío MAX empieza y se alternan los movimientos MAX gana si obtiene una línea de 3 X s MIN gana si obtiene una línea de 3 O s Existe la posibilidad de empate X O X O X O X O X MAX gana O O X O X O O X X MIN gana X O X O X O O X O Empate

Espacio de estados para el juego del gato

Procedimiento Se desarrolla una búsqueda por niveles, generando los nodos del cada nivel Se aplica una función de evaluación a cada nodo La función de evaluación considera los siguientes factores: o Número de casillas restantes o Posición de casillas vacías La función de evaluación devolverá los siguientes valores: o Positivos altos: Si la situación de uno de los jugadores es ventajosa o Negativos altos: Si la situación del otro jugador es ventajosa o Cero: Si ninguno de los jugadores tiene ventaja

Función de evaluación para el juego del gato Si s no es ganadora para cualquiera de los jugadores (MAX o MIN): f(s)=no. filas abiertas para MAX - No. Filas, columnas o diagonales abiertas para MIN f(s)= No. Líneas que no contiene una O No. esto es: Líneas que no contienen una X Si s es ganadora para el jugador MAX f(s)= (mayor número positivo posible) Si s es ganadora para el jugador MIN

f(s)= - (mayor número negativo posible) MAX elegirá los nodos de mayor evaluación MIN elegirá los nodos de menor evaluación

Caso práctico de Función de evaluación para el juego del gato Se define la función de evaluación: f(s)=n MAX (s)-n MIN (s) donde: S: Situación o distribución del tablero f(s): Función de evaluación del tablero (nodo del espacio de estados) N MAX (s): No. de filas, columnas o diagonales abiertas para MAX (donde aún puede ganar) N MIN (s): No. de filas, columnas o diagonales abiertas para MIN (donde aún puede ganar)

1ª. Etapa del Espacio de Estados

2ª. Etapa del Espacio de Estados

3ª. Etapa del Espacio de Estados