Algoritmo Min Max

Embed Size (px)

Citation preview

  • Inteligencia Artificial algoritmo min-maxAlumna : Fredesvinda Jimnez PeraltaDocente : Ing. Pedro Antonio Gonzales Snchez

  • Algoritmo minimaxAlgoritmo de decisin para minimizar la prdida mxima aplicada en juegos de adversarios Informacin completa (cada jugador conoce el estado del otro) Eleccin del mejor movimiento para cada jugador, suponiendo que el contrincante escoger el peor

    *

  • Algoritmo minimaxEl espacio de estados se representa mediante rboles al ternados, donde:-Nodo: Representa una situacin del juego-Sucesores de un nodo: Situaciones del juego a las que se accede por movimientos legales aplicando sus reglas -Nivel: Contiene todas las situaciones posibles para uno de los jugadores

    *

  • Representacin de los juegos

    Posicin inicial. Conjunto de operadores o reglas del juego (definen movimientos legales).Estado terminal.Funcin de utilidad, ej. gana, pierde, empata

    *

  • Pasos del algoritmo Generacin del rbol de juego. Se generan todos los nodos hasta llegar a un estado terminal. calculo de los valores de la funcin de utilidad para cada nodo terminal. Calcular el valor de los nodos superiores a partir del valor de los inferiores. Alternativamente se elegirn los valores mnimos y mximos representando los movimientos del jugador y del oponente, de ah el nombre de Minimax.

    *

  • Pasos del algoritmo Elegir la jugada valorando los valores que han llegado al nivel superior. el algoritmo explorara los nodos del rbol asignndoles un valor numrico mediante una funcin de utilidad empezando por los nodos terminales y subiendo hacia la raz. Colocar 0 o 1 en los nodos terminales dependiendo si gano MIN o MAX.La funcin de utilidad definir lo bueno que es la posicin para un jugador cuando la alcanza.

    *

  • Pasos del algoritmo Se requiere de una estrategia que garantice llegar a estados terminales ganadores independientemente de lo que haga el oponente. Un valor positivo indica le 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. *

  • Pasos del algoritmo El maximizador busca movimientos que lo conduzcan al mayor numero positivo. El minimizador busca movimientos que lo conduzcan la menor numero negativo. P. ejemplo:Nivel max

    Nivel min

    Nivel max*22 8117

  • Pasos del algoritmo Desde el punto de vista de el maximizador, el Minimizador puede escoger 2 1.Los resultados de un nivel determinan la accin y el resultado del nivel inmediato superior

    Nivel max

    *2

  • ejemplo

  • ejemplo

  • ejemplo

  • ejemplo

  • ejemplo

  • ejemplo

  • ejemplo

  • Ejemplo: tic-tac-toee (funcin utilidad) = nmero de filas, columnas y diagonales completas disponibles para MAX - nmero de filas, columnas y diagonales completas disponibles para MINMAX juega con X y desea maximizar eMIN juega con 0 y desea minimizar eValores absolutos altos de e: buena posicin para el que tiene que moverControlar las simetrasUtilizar una profundidad de parada (en el ejemplo: 2)

  • Ejemplo: tic-tac-toe

  • MinimaxValor-Minimax(n):Utilidad(n), si n es un estado terminalmaxsSucesores(n) Valor-Minimax(s), si n es un estado MAXminsSucesores(n) Valor-Minimax(s), si n es un estado MIN

  • *

    ***********