Documente Academic
Documente Profesional
Documente Cultură
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
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
Posicin inicial. Conjunto de operadores o reglas del juego (definen movimientos legales)
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
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
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
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
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
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
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
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
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
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
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
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
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
f(s)= No. Lneas que no contiene una O No. Lneas que no contienen una X
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
f(s)=
MAX MIN
evaluacin evaluacin
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
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
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx
Algoritmo Minimax
http://www.itnuevolaredo.edu.mx/takeyas
Email: takeyas@itnuevolaredo.edu.mx