La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Inteligencia Artificial Búsqueda de Soluciones: Algoritmo miniMAX.

Presentaciones similares


Presentación del tema: "Inteligencia Artificial Búsqueda de Soluciones: Algoritmo miniMAX."— Transcripción de la presentación:

1 Inteligencia Artificial Búsqueda de Soluciones: Algoritmo miniMAX

2 Que es? En teoría de juegos, Minimax es un método de decisión para minimizar la perdida máxima esperada en juegos con adversario con información completa.En teoría de juegos, Minimax es un método de decisión para minimizar la perdida máxima esperada en juegos con adversario con información completa.

3 Que es? Esta diseñado para dos jugadores.(Max y Min).Esta diseñado para dos jugadores.(Max y Min). Es un procedimiento recursivo, hasta que se cumple alguna de las condiciones siguientes:Es un procedimiento recursivo, hasta que se cumple alguna de las condiciones siguientes: Gana algún jugador.Gana algún jugador. Se han explorado N capas, siendo N el limite establecido.Se han explorado N capas, siendo N el limite establecido. Se ha agotado el tiempo de exploración.Se ha agotado el tiempo de exploración. Se ha llegado a una situación estática donde no hay grandes cambios de un nivel a otro.Se ha llegado a una situación estática donde no hay grandes cambios de un nivel a otro.

4 Representación de los juegos. Posición inicial.Posición inicial. Conjunto de operadores o reglas del juego.Conjunto de operadores o reglas del juego. Estado terminal.Estado terminal. Función de utilidad.Función de utilidad.

5 Heurística:Heurística: No garantiza el éxito.No garantiza el éxito. El camino seleccionado es razonablemente un camino hacia la victoria o empate.El camino seleccionado es razonablemente un camino hacia la victoria o empate. Imita el comportamiento humano al examinar por anticipado un pequeño numero de jugadas antes de decidirse por una.Imita el comportamiento humano al examinar por anticipado un pequeño numero de jugadas antes de decidirse por una. Representación de los juegos.

6 Estructuras utilizadas. El algoritmo Minimax utiliza la estructura de un árbol.El algoritmo Minimax utiliza la estructura de un árbol. En estructuras de datos un árbol esta formado por:En estructuras de datos un árbol esta formado por: A B C DE Nodos. Nodos. Nodo raíz Nodo raíz Hojas Hojas

7 Que es? El espacio de estados se presenta mediante árboles alternados.El espacio de estados se presenta mediante árboles alternados. NODO SUCESORES DE UN NODO NIVEL

8 Ejemplo: x xx x x x x x x o o o o o o MAX MIN MAX 1-2 MAX MIN

9 Historia La teoría de juegos.La teoría de juegos. ¿Qué es un juego?¿Qué es un juego? Principales exponentes de la teoría de juegos:Principales exponentes de la teoría de juegos: –Emile Borel –John Von Neumman –Oskar Morgenster

10 Teorema Minimax ¿Quién fue John Von Neumman?¿Quién fue John Von Neumman? El teorema minimax.El teorema minimax. Ejemplo:Ejemplo: c1c2c3 r1-2,21,-110,-10 r2-1,12,-20,0 r3-8,80,0-15,15

11 Teorema Minimax La suma de los valores maximin de los dos jugadores es igual a cero.La suma de los valores maximin de los dos jugadores es igual a cero. La solución maximin es la misma que el la teoría del equilibrio de NashLa solución maximin es la misma que el la teoría del equilibrio de Nash El punto de equilibrio de Nash.El punto de equilibrio de Nash.

12 Un ejemplo: Crisis 1914 A.Comprometerse con Serbia. Poca influencia Rusa es conservada en Serbia. (2) C. Serbia es salvado; la influencia Rusa en los Balcanes es preservada; continua la agitación Serbia; el imperio Austriaco comienza a desintegrarse. (1) B. Rusia humillada y pierde influencia en los Balcanes; Austria gana el control de Serbia y preserva el imperios. (4) D. Guerra (3) Mínimo de las filas Atacar No apoyar a SerbiaApoyar a Serbia Comprometerse Máximo de las columnas Doble Alianza (Austria-Alemania ) Rusia-Francia

13 Historia ¿Quién fue Claude Shannon?¿Quién fue Claude Shannon? Programando una Computadora para que Juegue Ajedrez artículo que describe la aplicación de MINIMAX en el procedimiento para que una computadora juegue ajedrez.Programando una Computadora para que Juegue Ajedrez artículo que describe la aplicación de MINIMAX en el procedimiento para que una computadora juegue ajedrez. 1 punto para los peones,1 punto para los peones, 3 puntos para los caballos o alfiles, 3 puntos para los caballos o alfiles, 5 puntos para las torres y 9 puntos para la reina. 5 puntos para las torres y 9 puntos para la reina. 200 puntos para jaque mate.200 puntos para jaque mate.

14 Funcionamiento de Minimax Planteamiento general:Planteamiento general: –2 jugadores: MAX y MIN (MAX mueve primero) –Estado inicial –Función sucesora –Función objetivo –Función de utilidad (función u)

15 Funcionamiento de Minimax Algoritmo minimaxAlgoritmo 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.

16 Funcionamiento de Minimax –Aplicación algoritmo: 1) Generar árbol entero hasta nodos terminales1) Generar árbol entero hasta nodos terminales 2) Aplicar función de utilidad a nodos terminales2) Aplicar función de utilidad a nodos terminales 3) Propagar hacia arriba para generar nuevos valores de utilidad para todos los nodos3) Propagar hacia arriba para generar nuevos valores de utilidad para todos los nodos 4) Elección jugada con máximo valor de utilidad4) Elección jugada con máximo valor de utilidad

17 Decisiones imperfectas Dada una función de evaluación f, se puede aplicar una búsqueda minimax con límite de profundidadDada una función de evaluación f, se puede aplicar una búsqueda minimax con límite de profundidad Uso de valores heurísticos para juegos con un espacio de estados extremadamente grandeUso de valores heurísticos para juegos con un espacio de estados extremadamente grande

18 Ejemplo: Juego imaginario

19 Funcionamiento: Pseudo código MINIMAX(posicion, nivel) /* casos base */ if (esGanador(posicion)) then devolver + else if (esPerdedor(posicion)) then devolver else if (esEmpate(posicion)) then devolver 0 else if (nivel = limite) then devolver evaluacion(posicion) else /* caso recursivo */ for all sucesor i de posicion do valores[i] := MINIMAX(sucesor i, nivel+1) if (esNodoMAX(nivel)) then devolver maximo(valores) end if if (esNodoMIN(nivel)) then devolver minimo(valores) end if end for end if

20 Ejemplos de juegos Gato Conecta cuatro 9! = partidasNim

21 Ejemplos de juegos DamasAjedrez partidas partidas

22 Ejemplos de juegos GoOthello partidas

23 Ejemplos de juegos Juegos que no aplicaJuegos que no aplica Bridge, Solitario, Backgammon

24 Ejemplo: Rock Piles Dos jugadoresDos jugadores Los jugadores toman piedras de la pilaLos jugadores toman piedras de la pila ReglasReglas –Inicialmente hay 2 piedras en una pila y 1 en otra –MAX empieza y se alternan movimientos MAX gana si MIN saca la última piedraMAX gana si MIN saca la última piedra MIN gana si MAX saca la última piedraMIN gana si MAX saca la última piedra

25 Ejemplo: Rock Piles Jugador 2 Pierde Jugador 1 Pierde MAX MIN MAX

26 Ejemplo: Rock Piles Jugador 2 Pierde Jugador 1 Pierde MAX MIN MAX MIN MAX


Descargar ppt "Inteligencia Artificial Búsqueda de Soluciones: Algoritmo miniMAX."

Presentaciones similares


Anuncios Google