MinMax

14
MINMAX Instituto Tecnológico de Costa Rica Estructuras de Datos Integrantes: Nelson Abarca, Gerardo Mora, Olman Quiros, Carlos Chacón

description

Presentacion MinMax

Transcript of MinMax

Page 1: MinMax

MINMAXInstituto Tecnológico de Costa RicaEstructuras de DatosIntegrantes:Nelson Abarca, Gerardo Mora, Olman Quiros, Carlos Chacón

Page 2: MinMax

¿QUE ES MINIMAX?

• Es un método de decisión para minimizar la pérdida máxima esperada en juegos con adversario y con información perfecta.

• Es un algoritmo recursivo.

• El algoritmo trabaja sobre Arboles de Juego (explicados mas adelante).

• MiniMax en una frase:

” Elegir el mejor movimiento para ti mismo suponiendo que tu contrincante escogerá el peor para ti.”

Page 3: MinMax

¿PARA QUE SIRVE?Permite encontrar la solución más óptima en los juegos estratégicos, especialmente en aquellos en que se tiene Información Perfecta y no interviene el azar en el resultado final.

Page 4: MinMax

HISTORIA

•El Teorema Minimax fue presentado formalmente por John von Neumann  en 1928.

•En 1912 el matemático alemán Ernst Zermelo,  formuló la hipótesis de que los juegos secuenciales y combinatorios están determinados desde la posición inicial al ofrecer una solución óptima que conduce hacia un resultado final, siempre que ambos oponentes apliquen sus mejores estrategias.

John von Neumann

Ernst Zermelo

Page 5: MinMax

ÁRBOL DE JUEGO

Es un tipo especial de árbol semántico en el que los «nodos» representan configuraciones de tablero y las «ramas» indican cómo una configuración puede transformarse en otra mediante un sólo movimiento, los arboles de juego pueden variar dependiendo del tipo de juego.

Page 6: MinMax

ALGORITMO MINMAX

1. Generación del árbol de juego: • Se generarán todos los nodos hasta llegar a un estado terminal o

determinando una profundidad concreta . Se considera el nodo raíz como la situación actual del juego.

• Se aplicando el algoritmo por un número fijo de iteraciones hasta alcanzar una determinada profundidad. En estas aplicaciones la profundidad suele ser el número de movimientos o incluso el resultado de aplicar diversos pasos de planificación en un juego de estrategia.

Page 7: MinMax

ALGORITMO MINMAX

2. Cálculo de los valores de la función de utilidad para cada nodo terminal:

• El algoritmo explorará los nodos del árbol asignándoles un valor numérico mediante una función. La función definirá lo buena que es la posición para un jugador cuando la alcanza.

• Para cada resultado final, cómo de beneficioso me resulta si estamos en MAX o cuanto me perjudicará si estamos en MIN.

Page 8: MinMax

ALGORITMO MINMAX

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.

Page 9: MinMax

EL GATO: UN EJEMPLO SENCILLO

Page 10: MinMax

EL GATO: UN EJEMPLO SENCILLO

Para ejemplificar el algoritmo, consideremos el juego del gato. En este juego podemos usar la siguiente función de evaluación para un tablero t:

E(t) = NA(t) − NC(t)

donde NA(t) es el número de filas, columnas o diagonales abiertas para max (donde aún puede ganar) y NC(t) es el número de filas, columnas o diagonales abiertas para min.

Si t es un tablero ganado por max, E(t) = ∞ y si es un tablero perdido, E(t) = −∞ (aquí en vez de ∞ podríamos haber ocupado otro valor).

Page 11: MinMax

LA FIGURA 1 MUESTRA EL ALGORITMO MINIMAX CON UN ÁRBOL DE PROFUNDIDAD 2

Page 12: MinMax

LA FIGURA 2 MUESTRA OTRO ÁRBOL CON PROFUNDIDAD 2, PERO LUEGO QUE MIN YA HA JUGADO EN UNA DE LAS POSICIONES DEL TABLERO

Page 13: MinMax

FINALMENTE, LA FIGURA 3 MUESTRA LA ULTIMAETAPA DE LA BÚSQUEDA.

Page 14: MinMax

FUENTES BIBLIOGRÁFICAS

• http://es.wikipedia.org/wiki/Minimax

• http://www.eyeintheskygroup.com/Azar-Ciencia/Teoria-de-Juegos/Principio-Minimax-Maximin-en-Juegos-Estrategicos.htm

• http://web.ing.puc.cl/~jabaier/iic2622/juegos.pdf