fbpx
Wikipedia

Minimax

En teoría de juegos, minimax es un método de decisión para minimizar la pérdida máxima esperada en juegos con adversario y con información perfecta. Minimax es un algoritmo recursivo.

El funcionamiento de minimax puede resumirse en cómo elegir el mejor movimiento para ti mismo suponiendo que tu contrincante escogerá el peor para ti.

Historia

Aunque existen evidencias de que Charles Babbage ya había trabajado antes sobre una idea similar,[1]​ fue el matemático francés Émile Borel el primero en ofrecer en 1921 un tratamiento riguroso a los juegos competitivos y en estudiar las estrategias aplicables a los juegos de suma cero.[2][3]​ Sin embargo suele atribuirse a John von Neumann el principal mérito de la concepción del principio minimax, ya que fue él quien, en su artículo de 1928 «Zur Theorie der Gesellschaftsspiele» («Sobre la teoría de los juegos de sociedad») publicado en la revista Mathematische Annalen,[4]​ puso las bases de la moderna teoría de juegos y probó el teorema fundamental del minimax, por el que se demuestra que para juegos de suma cero con información perfecta entre dos competidores existe una única solución óptima.[5]

Teorema minimax

John von Neumann es el creador del teorema minimax, quien dio la siguiente noción de lo que era un juego:

Un juego es una situación conflictiva en la que uno debe tomar una decisión sabiendo

que los demás también toman decisiones, y que el resultado del conflicto se determina, de

algún modo, a partir de todas las decisiones realizadas.

También afirmó que:

Siempre existe una forma racional de actuar en juegos de dos participantes, si los intereses que los gobiernan son completamente opuestos.

La demostración a esa afirmación se llama teoría minimax y surge en 1928.

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 pérdida máxima esperada. En particular, cuando se examina cada posible estrategia, un jugador debe considerar todas las respuestas posibles del jugador adversario y la pérdida máxima que puede acarrear. El jugador juega, entonces, con la estrategia que resulta en la minimización de su máxima pérdida. Tal estrategia es llamada óptima para ambos jugadores sólo en caso de que sus minimaxes sean iguales (en valor absoluto) y contrarios (en signo). Si el valor común es cero el juego se convierte en un sinsentido.

En los juegos de suma no nula, existe tanto la estrategia minimax como la maximin. La primera intenta minimizar la ganancia del rival, o sea busca que el rival tenga el peor resultado. La segunda intenta maximizar la ganancia propia, o sea busca que el jugador obtenga el mejor resultado.

Algoritmo minimax con movimientos alternativos

 

Pasos del algoritmo minimax:

  1. Generación del árbol de juego. Se generarán todos los nodos hasta llegar a un estado terminal.
  2. Cálculo de los valores de la función de utilidad para cada nodo terminal.
  3. Calcular el valor de los nodos superiores a partir del valor de los inferiores. Según nivel si es MAX o MIN se elegirán los valores mínimos y máximos 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 asignándoles un valor numérico mediante una función de evaluación, empezando por los nodos terminales y subiendo hacia la raíz. La función de utilidad definirá lo buena que es la posición 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 tendrán un rango de [+192,-192], correspondiéndose con el valor de las fichas. Para cada juego pueden ser diferentes.

Si minimax se enfrenta con el dilema del prisionero escogerá siempre la opción con la cual maximiza su resultado suponiendo que el contrincante intenta minimizarlo y hacernos perder.

Ejemplo

En el siguiente ejemplo puede verse el funcionamiento de minimax en un árbol generado para un juego imaginario. Los posibles valores de la función de utilidad tienen un rango de [1-9]. En los movimientos del contrincante suponemos que escogerá los movimientos que minimicen nuestra utilidad, en nuestros movimientos suponemos que escogeremos los movimientos que maximizan nuestra utilidad.

El primer paso será calcular los nodos terminales, en verde. Posteriormente calcularemos el cuarto nivel, movimiento min, minimizando lo elegido (5, 2 y 1). Después 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).

 

Optimización

En la práctica el método minimax es impracticable excepto en supuestos sencillos. Realizar la búsqueda completa requerirían 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 búsqueda en el árbol de posibilidades y determinar su valor mediante una función heurística.

Para optimizar minimax puede limitarse la búsqueda por nivel de profundidad o por tiempo de ejecución. Otra posible técnica es el uso de la poda alfa-beta. Esta optimización se basa en evitar el cálculo de ramas cuya evaluación final no va a poder superar los valores previamente obtenidos.

Minimax en la ficción

Referencias

Bibliografía

Enlaces externos

  • Ejemplo de implementación de MINIMAX en Clisp .
  • Explicación Matemática de juegos bipersonales de suma nula y algoritmo minimax
  •   Datos: Q751319

minimax, para, otros, usos, este, término, véase, infantil, teoría, juegos, minimax, método, decisión, para, minimizar, pérdida, máxima, esperada, juegos, adversario, información, perfecta, algoritmo, recursivo, funcionamiento, minimax, puede, resumirse, cómo,. Para otros usos de este termino vease Minimax infantil En teoria de juegos minimax es un metodo de decision para minimizar la perdida maxima esperada en juegos con adversario y con informacion perfecta Minimax es un algoritmo recursivo El funcionamiento de minimax puede resumirse en como elegir el mejor movimiento para ti mismo suponiendo que tu contrincante escogera el peor para ti Indice 1 Historia 2 Teorema minimax 3 Algoritmo minimax con movimientos alternativos 4 Ejemplo 5 Optimizacion 6 Minimax en la ficcion 7 Referencias 8 Bibliografia 9 Enlaces externosHistoria EditarAunque existen evidencias de que Charles Babbage ya habia trabajado antes sobre una idea similar 1 fue el matematico frances Emile Borel el primero en ofrecer en 1921 un tratamiento riguroso a los juegos competitivos y en estudiar las estrategias aplicables a los juegos de suma cero 2 3 Sin embargo suele atribuirse a John von Neumann el principal merito de la concepcion del principio minimax ya que fue el quien en su articulo de 1928 Zur Theorie der Gesellschaftsspiele Sobre la teoria de los juegos de sociedad publicado en la revista Mathematische Annalen 4 puso las bases de la moderna teoria de juegos y probo el teorema fundamental del minimax por el que se demuestra que para juegos de suma cero con informacion perfecta entre dos competidores existe una unica solucion optima 5 Teorema minimax EditarJohn von Neumann es el creador del teorema minimax quien dio la siguiente nocion de lo que era un juego Un juego es una situacion conflictiva en la que uno debe tomar una decision sabiendo que los demas tambien toman decisiones y que el resultado del conflicto se determina de algun modo a partir de todas las decisiones realizadas Tambien afirmo que Siempre existe una forma racional de actuar en juegos de dos participantes si los intereses que los gobiernan son completamente opuestos La demostracion a esa afirmacion se llama teoria minimax y surge en 1928 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 perdida maxima esperada En particular cuando se examina cada posible estrategia un jugador debe considerar todas las respuestas posibles del jugador adversario y la perdida maxima que puede acarrear El jugador juega entonces con la estrategia que resulta en la minimizacion de su maxima perdida Tal estrategia es llamada optima para ambos jugadores solo en caso de que sus minimaxes sean iguales en valor absoluto y contrarios en signo Si el valor comun es cero el juego se convierte en un sinsentido En los juegos de suma no nula existe tanto la estrategia minimax como la maximin La primera intenta minimizar la ganancia del rival o sea busca que el rival tenga el peor resultado La segunda intenta maximizar la ganancia propia o sea busca que el jugador obtenga el mejor resultado Algoritmo minimax con movimientos alternativos Editar Pasos del algoritmo minimax Generacion del arbol de juego Se generaran todos los nodos hasta llegar a un estado terminal Calculo de los valores de la funcion de utilidad para cada nodo terminal Calcular el valor de los nodos superiores a partir del valor de los inferiores Segun nivel si es MAX o MIN se elegiran los valores minimos y maximos representando los movimientos del jugador y del oponente de ahi el nombre de minimax Elegir la jugada valorando los valores que han llegado al nivel superior El algoritmo explorara los nodos del arbol asignandoles un valor numerico mediante una funcion de evaluacion empezando por los nodos terminales y subiendo hacia la raiz La funcion de utilidad definira lo buena que es la posicion 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 tendran un rango de 192 192 correspondiendose con el valor de las fichas Para cada juego pueden ser diferentes Si minimax se enfrenta con el dilema del prisionero escogera siempre la opcion con la cual maximiza su resultado suponiendo que el contrincante intenta minimizarlo y hacernos perder Ejemplo EditarEn el siguiente ejemplo puede verse el funcionamiento de minimax en un arbol generado para un juego imaginario Los posibles valores de la funcion de utilidad tienen un rango de 1 9 En los movimientos del contrincante suponemos que escogera los movimientos que minimicen nuestra utilidad en nuestros movimientos suponemos que escogeremos los movimientos que maximizan nuestra utilidad El primer paso sera calcular los nodos terminales en verde Posteriormente calcularemos el cuarto nivel movimiento min minimizando lo elegido 5 2 y 1 Despues 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 Optimizacion EditarEn la practica el metodo minimax es impracticable excepto en supuestos sencillos Realizar la busqueda completa requeririan 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 busqueda en el arbol de posibilidades y determinar su valor mediante una funcion heuristica Para optimizar minimax puede limitarse la busqueda por nivel de profundidad o por tiempo de ejecucion Otra posible tecnica es el uso de la poda alfa beta Esta optimizacion se basa en evitar el calculo de ramas cuya evaluacion final no va a poder superar los valores previamente obtenidos Minimax en la ficcion EditarLa teoria del minimax inspiro a Phillip K Dick a escribir la novela Loteria solarReferencias Editar Beal 1999 p 2 Borel 1921 Mosterin 2000 p 210 Neumann 1928 Mosterin 2000 pp 210 211 Bibliografia EditarBeal Donald F 1999 The Nature of Minimax Search Universidad de Maastricht Institute of Knowledge and Agent Technology UM ISBN 90 62 16 6348 Borel Emile 1921 La theorie du jeu et les equations integrales a noyau symetrique Comptes rendus de l Academie des sciences Herik Jaap van 1983 Computerschaak Schaakwereld en Kunstmatige Intelligentie La Haya Delft University of Technology Academic Service ISBN 90 62 33 093 2 Mosterin Jesus 2000 Los logicos Madrid Espasa Calpe ISBN 84 239 9755 3 Neumann John von 1928 Zur Theorie der Gesellschaftsspiele Mathematische Annalen enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Wiener Norbert 1948 Cybernetics Or Control and Communication in the Animal and the Machine Cambridge MIT Press ISBN 978 0 262 73009 9 Enlaces externos EditarEjemplo de implementacion de MINIMAX en Clisp Explicacion Matematica de juegos bipersonales de suma nula y algoritmo minimax Datos Q751319Obtenido de https es wikipedia org w index php title Minimax amp oldid 120831239, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos