Está en la página 1de 6

1

MINIMAX
Aplicacin: juegos de antagonismo
Caractersticas de este tipo de problemas:
la accin la desarrollan 2 antagonistas
el turno pasa alternativamente de uno a otro
la informacin es completa: cada antagonista conoce el
estado del otro
(ajedrez, damas, domin, cartas)
juegos de suma nula: lo que gana uno de los antagonistas
es lo que pierde el otro
puede haber tablas o empate
MINIMAX
El espacio de bsqueda se representa mediante rboles
alternados
- nodo: representa una situacin (del juego)
- sucesores de un nodo: situaciones a las que se puede
acceder aplicando las reglas del juego
- cada nivel: contiene las situaciones posibles para uno
de los antagonistas
Si primero juega el antagonista A, lo har en los niveles
pares (0,2,4, ...) del rbol alternado
B lo har en los niveles impares (1,3,5, ...) del rbol alternado
2
MINIMAX
En juegos complejos (ajedrez, damas) se descarta una
exploracin total del espacio de bsqueda (explosin
combinatoria)
Se realiza una exploracin parcial en torno a una situacin
dada (nodo)
- explorar solo hasta una determinada profundidad
- evaluar una situacin y sus sucesoras por medio de
una funcin heurstica
MINIMAX
Heurstica :
- no garantiza el xito
- el camino seleccionado es razonablementeun camino
hacia la victoria o el empate
- imita el comportamiento humano al examinar por
anticipado un pequeo nmero de jugadas antes de
decidirse por una
3
MINIMAX
Se dispone de un analizador de situaciones que las
representa mediante un valor numrico simple
Por convencin, un valor numrico positivo indicar la ventaja
de un jugador y uno negativo la ventaja del otro jugador
El grado de ventaja entre jugadores aumentar con el valor
absoluto del nmero
El jugador que espera resultados positivos se conoce como
jugador de maximizacin o maximizador
El jugador que espera resultados negativos se conoce como
jugador de minimizacin o minimizador
MINIMAX
El maximizador busca un movimiento que le lleve al mayor
nmero positivo
El minimizador busca un movimiento que le lleve al menor
nmero negativo
4
MINIMAX
El maximizador
- puede esperar llegar a la situacin que le producir un
valor de 8
- sabe que el minimizador puede escoger un movimiento
que le lleve a la situacin de valor 1
2 7 1 8
nivel de maximizacin
nivel de minimizacin
nivel de maximizacin
MINIMAX
Las decisiones del maximizador deben tener conocimiento de
las alternativas disponibles del minimizador en el siguiente
nivel
Las decisiones del minimizador deben tener conocimiento de
las alternativas del maximizador en el siguiente nivel
En un momento dado se alcanza el lmite de exploracin y los
valores numricos deben permitir la seleccin de alternativas
5
MINIMAX
Desde el punto de vista del maximizador, el minimizador
puede escoger entre los resultados efectivos de 2 o 1
El maximizador elegir moverse hacia la alternativa en la que
el minimizador deba elegir el resultado de 2
2 7 1 8
nivel de maximizacin
nivel de minimizacin
nivel de maximizacin
2 1
MINIMAX
Los resultados de un nivel determinan la accin y el resultado
efectivo del nivel inmediato superior
2 7 1 8
nivel de maximizacin
nivel de minimizacin
nivel de maximizacin
2 1
6
MINIMAX
Procedimiento minimax: procedimiento mediante el cual la
informacin de los resultados pasa hacia arriba del rbol de
juegos (rbol alternado)
El resultado de cada nodo es o bien el mnimo o el mximo de
los resultados que estn inmediatamente debajo
2 7 1 8
nivel de maximizacin
nivel de minimizacin
nivel de maximizacin
2 1
MINIMAX
Para efectuar una bsqueda minimax:
1.- Si el lmite de bsqueda se ha alcanzado, se calcula el valor
numrico de la situacin actual en relacin con el jugador
apropiado, dando a conocer el resultado
2.- De otro modo, si el nivel es de minimizacin, se usa
minimax en los hijos de la situacin actual, dando a conocer el
mnimo de los resultados
3.- Si el nivel es de maximizacin, se usa minimax en los hijos
de la situacin actual, dando a conocer el mximo de los
resultados
7
Ejemplo: Tres en Raya
J uego:
dos jugadores (min y max)
los jugadores van poniendo fichas en las
casillas de un tablero 3x3
max (A) usa las fichas X / min (B)
usa las fichas O
una casilla puede contener como
mucho una ficha
ganamax
ganamin
empate
Ejemplo: Tres en Raya
Reglas:
Inicialmente el tablero estvaco
max empieza y los jugadores se van
alternando en poner sus fichas
max gana si obtiene una raya de tres
fichas X
min gana si obtiene una raya de tres
fichas O
si todas las casillas estn ocupadas sin
que haya una raya de 3 fichas del
mismo tipo, hay empate
ganamax
ganamin
empate
8
MINIMAX
Se desarrolla una bsqueda por niveles hasta que se generan
los nodos (situaciones) de nivel p
Se aplica una funcin de evaluacin a esos nodos
La funcin de evaluacin deber tener en cuenta los factores
determinantes de cada juego:
n casillas restantes
posicin casillas vacas
...
MINIMAX
La funcin de evaluacin devolver valores:
positivos altos: si la situacin de uno de los
antagonistas es ventajosa
negativos altos: si la situacin del otro antagonistas es
ventajosa
prximos a cero: si ninguno de los jugadores tiene
ventaja
9
MINIMAX
Una funcin de evaluacin f(s)para el juego del 3 en raya:
- Si s no es ganadora para cualquiera de los jugadores:
f(s) =n filas, columnas o diagonales abiertas para A
n filas, columnas o diagonales abiertas para B =
=n lneas que no contienen un 0
n lneas que no contienen una X
- Si s es ganadora para A
f(s) = (mayor nmero positivo posible)
- Si s es ganadora para B
f(s) =- (mayor nmero negativo posible)
MINIMAX
Si juega A: elegir los nodos de mayor valor de evaluacin
Si juega B: elegir los nodos de menor valor de evaluacin
A: maximizante o max
B: minimizante o min
10
Ejemplo: rbol de juego
...
. . .
. . .

... ...
+
0
max
max
min
min
terminal
rbol de juego a nivel 2, p=2
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
x
La mejor jugada para el minimizador es la de valor -1
11
rbol de juego a nivel 2, p=2
(-1) (1) (-2)
6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1
x
La mejor jugada para el maximizador es la de valor 1
MINIMAX
Funcion MINIMAX (situacin, profundidad): valorEvaluacion
Si profundidad =limiteProfundidad entonces
devolver evaluacin (situacin)
sino Si ganadora (situacin) entonces
devolver
sino Si perdedora (situacin) entonces
devolver -
sino Si empate (situacin) entonces
devolver 0
sino
S sucesores (situacin)
L lista llamadas a MINIMAX (S
i
S, profundidad +1)
Si nivelMaximizar(profundidad) entonces
devolver max(L)
sino
devolver min(L)
FinFuncion

También podría gustarte