Sei sulla pagina 1di 3

Minimax

2 Algoritmo Minimax con movimientos alternativos

En teora de juegos, Minimax es un mtodo de decisin


para minimizar la prdida mxima esperada en juegos
con adversario y con informacin perfecta. Minimax es
un algoritmo recursivo.
El funcionamiento de Minimax puede resumirse como
elegir el mejor movimiento para ti mismo suponiendo
que tu contrincante escoger el peor para ti.

-7

-10

Teorema Minimax

-10

10
10
10 +

-7

-10

-10

5
5
7

-7
-7

-
5

-7

-5

John von Neumann es el creador del teorema minimax,


quien dio la siguiente nocin de lo que era un juego:
Un juego es una situacin conictiva en la que uno de- Pasos del algoritmo Minimax:
be tomar una decisin sabiendo que los dems tambin
toman decisiones, y que el resultado del conicto se de1. Generacin del rbol de juego. Se generarn todos
termina, de algn modo, a partir de todas las decisiones
los nodos hasta llegar a un estado terminal.
realizadas.
Tambin arm que:

2. Clculo de los valores de la funcin de utilidad para


cada nodo terminal.

Siempre existe una forma racional de actuar en juegos


de dos participantes, si los intereses que los gobiernan son
completamente opuestos.

3. Calcular el valor de los nodos superiores a partir del


valor de los inferiores. Segn nivel si es MAX o MIN
se elegirn los valores mnimos y mximos representando los movimientos del jugador y del oponente, de ah el nombre de Minimax.

La demostracin a esa armacin se llama Teora Minimax y surge en 1926.


Este teorema establece que en los juegos bipersonales de
suma cero, donde cada jugador conoce de antemano la
estrategia de su oponente y sus consecuencias, existe una
estrategia que permite a ambos jugadores minimizar la
prdida mxima esperada. En particular, cuando se examina cada posible estrategia, un jugador debe considerar
todas las respuestas posibles del jugador adversario y la
prdida mxima que puede acarrear. El jugador juega,
entonces, con la estrategia que resulta en la minimizacin
de su mxima prdida. Tal estrategia es llamada ptima
para ambos jugadores slo en caso de que sus minimaxes
sean iguales (en valor absoluto) y contrarios (en signo).
Si el valor comn es cero el juego se convierte en un sinsentido.

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 evaluacin,
empezando por los nodos terminales y subiendo hacia la
raz. La funcin de utilidad denir lo buena que es la posicin para un jugador cuando la alcanza. En el caso del
ajedrez los posibles valores son (+1,0,1) que se corresponden con ganar, empatar y perder respectivamente. En
el caso del backgammon los posibles valores tendrn un
En los juegos de suma no nula, existe tanto la estrategia rango de [+192,192], correspondindose con el valor
Minimax como la Maximin. La primera intenta minimi- de las chas. Para cada juego pueden ser diferentes.
zar la ganancia el rival, o sea busca que el rival tenga el Si Minimax se enfrenta con el dilema del prisionero escopeor resultado. La segunda intenta maximizar la ganan- ger siempre la opcin con la cual maximiza su resultado
cia propia, o sea busca que el jugador obtenga el mejor suponiendo que el contrincante intenta minimizarlo y hacernos perder.
resultado.
1

ENLACES EXTERNOS

Ejemplo

nivel de profundidad o por tiempo de ejecucin. Otra posible tcnica es el uso de la poda alfa-beta. Esta optimiEn el siguiente ejemplo puede verse el funcionamiento de zacin se basa en la suposicin que el jugador contrario
Minimax en un rbol generado para un juego imagina- no nos permitir jugar nuestras mejores jugadas.
rio. Los posibles valores de la funcin de utilidad tienen
un rango de [1-9]. En los movimientos del contrincante
suponemos que escoger los movimientos que minimi- 5 Minimax en la ccin
cen nuestra utilidad, en nuestros movimientos suponemos
que escogeremos los movimientos que maximizan nues La teora del Minimax inspir a Phillip K. Dick a
tra utilidad.
escribir la novela Lotera solar
El primer paso ser calcular los nodos terminales, en verde. Posteriormente calcularemos el cuarto nivel, movimiento min, minimizando lo elegido (5, 2 y 1). Despus
podremos calcular el tercer nivel, movimiento max, maximizando la 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 maximice nuestra utilidad (5).

Optimizacin

En la prctica el mtodo Minimax es impracticable excepto en supuestos sencillos. Realizar la bsqueda completa requeriran cantidades excesivas de tiempo y memoria.
Claude Shannon en su texto sobre ajedrez de 1950 (Programming a Computer for Playing Chess) propuso limitar
la profundidad de la bsqueda en el rbol de posibilidades
y determinar su valor mediante una funcin heurstica.
Para optimizar Minimax puede limitarse la bsqueda por

6 Enlaces externos
Ejemplo de implementacin de MINIMAX en Clisp
.
Explicacin Matemtica de juegos bipersonales de
suma nula y algoritmo minimax

Text and image sources, contributors, and licenses

7.1

Text

Minimax Fuente: http://es.wikipedia.org/wiki/Minimax?oldid=78097276 Colaboradores: Pino, Yearofthedragon, Maltusnet, Pedvi, Orgullobot, RobotQuistnix, Platonides, Yrbot, YurikBot, GermanX, Eskimbot, Tomatejc, Davius, Thijs!bot, RoyFocker, Rufasto, TuvicBot, TXiKiBoT, Hernan1990, Rei-bot, Nicoguaro, Matdrodes, YonaBot, BotMultichill, Anoryat, Farisori, Alexbot, BotSottile, MastiBot,
Jorge.maturana, Luckas-bot, Ptbotgourou, Hunyadym, ArthurBot, MacyBot, Xqbot, Waeswaes, EmausBot, Wald, Xerox 5B, MerlIwBot,
Addbot y Annimos: 28

7.2

Images

Archivo:Minimax.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/6/6f/Minimax.svg Licencia: CC BY-SA 2.5 Colaboradores: http://en.wikipedia.org/wiki/Image:Minimax.svg, created in Inkscape by author Artista original: Nuno Nogueira (Nmnogueira)
Archivo:Minimax2.png Fuente: http://upload.wikimedia.org/wikipedia/commons/d/d6/Minimax2.png Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ?

7.3

Content license

Creative Commons Attribution-Share Alike 3.0

Potrebbero piacerti anche