Вы находитесь на странице: 1из 20

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

ALGORITMO MINIMAX
Algoritmo 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 El espacio de estados se representa mediante rboles alternados, donde: o Nodo: Representa una situacin del juego o Sucesores de un nodo: Situaciones del juego a las que se

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

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 recursin est dado por alguna de las siguientes condiciones: o Gana algn jugador o Se han explorado N capas, siendo N el lmite establecido o Se ha agotado exploracin el tiempo de

o Se ha llegado a una situacin esttica donde no hay grandes cambios de un nivel a otro.

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

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 Minimax


1. Generacin del rbol de juego. Se generarn todos los nodos hasta llegar a un estado terminal. 2. Clculo de los valores de la funcin de utilidad para cada nodo terminal.

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

3. 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. 4. Elegir la jugada valorando los valores que han llegado al nivel superior.

El algoritmo explorar 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 1 en los nodos terminales dependiendo si gana MIN o MAX

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

La funcin de utilidad definir lo buena que es la posicin 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 se espera conoce valores como

negativos minimizador

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

El maximizador busca movimientos que lo conduzcan al mayor nmero positivo El minimizador busca movimientos que lo conduzcan al menor nmero negativo P. ejemplo: Nivel MAX 2 2 7 1 1 8 Nivel MIN Nivel MAX

El maximizador: o Puede esperar llegar a un valor de 8

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

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 accin y el resultado del nivel inmediato superior

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Clculo de valores de la funcin 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: J1, J2, Jn Evala V(J1), V(J2), , V(Jn) de izq a der SI J es nodo Max ENTONCES V(J) max[V(J1), V(J2), , V(Jn)] SI J es nodo Min ENTONCES V(J) min[V(J1), V(J2), , V(Jn)]

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

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

terminales, en verde.

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

2.

Paso:

Calcular

el

cuarto

nivel,

movimiento MIN, minimizando lo elegido (5, 2 y 1). 3er. Paso: Calcular el tercer nivel, movimiento 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). MAX, maximizando la

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Aplicacin: 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 vaco MAX empieza y se alternan los movimientos MAX gana si obtiene una lnea de 3 Xs MIN gana si obtiene una lnea de 3 Os Existe la posibilidad de empate X O X O X O X O X

MAX gana O O O O X X X O X

MIN gana X O O O X X X O O

Empate

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Espacio de estados para el juego del gato

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Procedimiento
Se desarrolla una bsqueda por niveles, generando los nodos del cada nivel Se aplica una funcin de evaluacin a cada nodo La funcin de evaluacin considera los siguientes factores: o Nmero de casillas restantes o Posicin de casillas vacas La funcin de evaluacin devolver los siguientes valores: o Positivos altos: Si la situacin de uno de los jugadores es ventajosa o Negativos altos: Si la situacin del otro jugador es ventajosa o Cero: Si ninguno de los jugadores tiene ventaja
http://www.itnuevolaredo.edu.mx/takeyas Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Funcin de evaluacin 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. Lneas que no contiene una O No. Lneas que no contienen una X

esto es: Si s es ganadora para el jugador MAX f(s)=

(mayor nmero positivo posible)

Si s es ganadora para el jugador MIN

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

f(s)=

- (mayor nmero negativo posible)


elegir elegir los los nodos nodos de de mayor menor

MAX MIN

evaluacin evaluacin

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

Caso prctico de Funcin de evaluacin para el juego del gato


Se define la funcin de evaluacin:

f(s)=NMAX(s)-NMIN(s)
donde: S: Situacin o distribucin del tablero f(s): Funcin de evaluacin del tablero (nodo del espacio de estados) NMAX(s): No. de filas, columnas o diagonales abiertas para MAX (donde an puede ganar) NMIN(s): No. de filas, columnas o diagonales abiertas ganar) para MIN (donde an puede

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

1. Etapa del Espacio de Estados

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

2. Etapa del Espacio de Estados

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Algoritmo Minimax

Ing. Bruno Lpez Takeyas

3. Etapa del Espacio de Estados

http://www.itnuevolaredo.edu.mx/takeyas

Email: takeyas@itnuevolaredo.edu.mx

Оценить