Minmax (a veces Minimax , MM [1] o punto de silla [2] ) es una regla de decisión utilizada en inteligencia artificial , teoría de la decisión , teoría de juegos , estadística y filosofía para minimizar la posible pérdida en el peor de los casos ( pérdida máxima ). . Cuando se trata de ganancias, se le conoce como "maximin", es decir, maximizar la ganancia mínima. Originalmente formulado para la teoría de juegos de suma cero de varios jugadores , que abarca tanto los casos en los que los jugadores realizan movimientos alternativos como aquellos en los que realizan movimientos simultáneos, también se ha extendido a juegos más complejos y a la toma de decisiones en general en presencia de incertidumbre.
El valor máximo es el valor más alto que el jugador puede estar seguro de obtener sin conocer las acciones de los demás jugadores; de manera equivalente, es el valor más bajo que los otros jugadores pueden obligar al jugador a recibir cuando conocen la acción del jugador. Su definición formal es: [3]
Dónde:
El cálculo del valor máximo de un jugador se realiza en el peor de los casos: para cada acción posible del jugador, verificamos todas las acciones posibles de los otros jugadores y determinamos la peor combinación posible de acciones: la que le da al jugador i el valor más pequeño. valor. Luego, determinamos qué jugador de acción puedo realizar para asegurarnos de que este valor más pequeño sea el más alto posible.
Por ejemplo, considere el siguiente juego para dos jugadores, donde el primer jugador ("jugador de fila") puede elegir cualquiera de los tres movimientos, denominados T , M o B , y el segundo jugador ("jugador de columna") puede elegir cualquiera de dos movimientos, L o R. El resultado de la combinación de ambos movimientos se expresa en una tabla de pagos:
(donde el primer número en cada celda es el pago del jugador de la fila y el segundo número es el pago del jugador de la columna).
A modo de ejemplo, consideraremos sólo estrategias puras . Comprueba a cada jugador por turno:
Si ambos jugadores juegan sus respectivas estrategias maximin , el vector de pago es .
El valor minimax de un jugador es el valor más pequeño que los otros jugadores pueden obligar al jugador a recibir, sin conocer las acciones del jugador; de manera equivalente, es el valor más grande que el jugador puede estar seguro de obtener cuando conoce las acciones de los demás jugadores. Su definición formal es: [3]
La definición es muy similar a la del valor maximin: sólo que el orden de los operadores máximo y mínimo es inverso. En el ejemplo anterior:
Para cada jugador i , el maximin es como máximo el minimax:
Intuitivamente, en maximin la maximización viene después de la minimización, por lo que el jugador i intenta maximizar su valor antes de saber qué harán los demás; En minimax, la maximización viene antes que la minimización, por lo que el jugador i está en una posición mucho mejor: maximiza su valor sabiendo lo que hicieron los demás.
Otra forma de entender la notación es leyendo de derecha a izquierda: Cuando escribimos
el conjunto inicial de resultados depende de ambos y Primero marginamos de , maximizando sobre (para cada valor posible de ) para producir un conjunto de resultados marginales que dependen sólo de. Luego minimizamos sobre estos resultados. (A la inversa, para maximin.)
Aunque siempre es el caso que y el vector de pagos resultante de que ambos jugadores jueguen sus estrategias minimax, en el caso de o en el caso de no puede clasificarse de manera similar frente al vector de pagos resultante de que ambos jugadores jueguen su estrategia maximin.
En los juegos de suma cero entre dos jugadores , la solución minimax es la misma que el equilibrio de Nash .
En el contexto de los juegos de suma cero, el teorema minimax equivale a: [4] [ verificación fallida ]
Para cada juego de suma cero entre dos personas y con un número finito de estrategias, existe un valor V y una estrategia mixta para cada jugador, tal que
- (a) Dada la estrategia del jugador 2, el mejor pago posible para el jugador 1 es V , y
- (b) Dada la estrategia del jugador 1, el mejor pago posible para el jugador 2 es − V .
De manera equivalente, la estrategia del jugador 1 les garantiza un pago de V independientemente de la estrategia del jugador 2 y, de manera similar, el jugador 2 puede garantizarse un pago de − V. El nombre minimax surge porque cada jugador minimiza el máximo beneficio posible para el otro; dado que el juego es de suma cero, también minimizan su propia pérdida máxima (es decir, maximizan su pago mínimo). Ver también ejemplo de un juego sin valor .
El siguiente ejemplo de un juego de suma cero, donde A y B realizan movimientos simultáneos, ilustra soluciones maximin . Supongamos que cada jugador tiene tres opciones y considere la matriz de pagos para A que se muestra en la mesa ("Matriz de pagos para el jugador A"). Supongamos que la matriz de pagos de B es la misma matriz con los signos invertidos (es decir, si las opciones son A1 y B1, entonces B paga 3 a A ). Entonces, la elección maximina para A es A2, ya que el peor resultado posible es tener que pagar 1, mientras que la elección maximina simple para B es B2, ya que el peor resultado posible es no pagar. Sin embargo, esta solución no es estable, ya que si B cree que A elegirá A2, entonces B elegirá B1 para ganar 1; entonces, si A cree que B elegirá B1, entonces A elegirá A1 para ganar 3; y luego B elegirá B2; y eventualmente ambos jugadores se darán cuenta de la dificultad de tomar una decisión. Por eso se necesita una estrategia más estable.
Algunas opciones están dominadas por otras y pueden eliminarse: A no elegirá A3 ya que A1 o A2 producirán un mejor resultado, sin importar lo que B elija; B no elegirá B3 ya que algunas mezclas de B1 y B2 producirán un mejor resultado, sin importar lo que elija A.
El jugador A puede evitar tener que realizar un pago previsto de más de1/ 3 eligiendo A1 con probabilidad1/ 6 y A2 con probabilidad 5/ 6 : El pago esperado para A sería 3 ×1/ 6 − 1 ×5/ 6 = -+1/ 3 en caso B eligió B1 y −2 ×1/6 + 0 ×5/ 6 = -+1/ 3 en caso de que B elija B2. De manera similar, B puede asegurar una ganancia esperada de al menos1/ 3 , no importa lo que elija A , utilizando una estrategia aleatoria de elegir B1 con probabilidad1/ 3 y B2 con probabilidad2/ 3 . Estas estrategias minimax mixtas no se pueden mejorar y ahora son estables.
Con frecuencia, en teoría de juegos, maximin es distinto de minimax. Minimax se utiliza en juegos de suma cero para indicar que se minimiza el pago máximo del oponente. En un juego de suma cero , esto es idéntico a minimizar la propia pérdida máxima y a maximizar la propia ganancia mínima.
"Maximin" es un término comúnmente utilizado para juegos de suma distinta de cero para describir la estrategia que maximiza el propio pago mínimo. En los juegos de suma distinta de cero, esto generalmente no es lo mismo que minimizar la ganancia máxima del oponente, ni tampoco la estrategia de equilibrio de Nash .
Los valores minimax son muy importantes en la teoría de juegos repetidos . Uno de los teoremas centrales de esta teoría, el teorema popular , se basa en los valores minimax.
En la teoría de juegos combinatoria , existe un algoritmo minimax para soluciones de juegos.
Una versión simple del algoritmo minimax , que se indica a continuación, se ocupa de juegos como el tres en raya , donde cada jugador puede ganar, perder o empatar. Si el jugador A puede ganar en un solo movimiento, su mejor movimiento es ese movimiento ganador. Si el jugador B sabe que un movimiento conducirá a una situación en la que el jugador A puede ganar en un movimiento, mientras que otro movimiento conducirá a una situación en la que el jugador A puede, en el mejor de los casos, empatar, entonces el mejor movimiento del jugador B es el que conduce a un dibujar. Al final del juego, es fácil ver cuál es el "mejor" movimiento. El algoritmo minimax ayuda a encontrar el mejor movimiento, trabajando hacia atrás desde el final del juego. En cada paso se supone que el jugador A está tratando de maximizar las posibilidades de que A gane, mientras que en el siguiente turno el jugador B está tratando de minimizar las posibilidades de que A gane (es decir, maximizar las propias posibilidades de B de ganar).
Un algoritmo minimax [5] es un algoritmo recursivo para elegir el siguiente movimiento en un juego de n jugadores , generalmente un juego de dos jugadores. Se asocia un valor a cada posición o estado del juego. Este valor se calcula mediante una función de evaluación de posición e indica qué tan bueno sería para un jugador alcanzar esa posición. Luego, el jugador realiza el movimiento que maximiza el valor mínimo de la posición resultante de los posibles movimientos siguientes del oponente. Si es el turno de A de moverse, A le da un valor a cada uno de sus movimientos legales.
Un posible método de asignación consiste en asignar una determinada ganancia a A como +1 y a B como −1. Esto conduce a la teoría de juegos combinatoria desarrollada por John H. Conway . Una alternativa es usar una regla que si el resultado de un movimiento es una victoria inmediata para A , se le asigna infinito positivo y si es una victoria inmediata para B , infinito negativo. El valor para A de cualquier otra jugada es el máximo de los valores resultantes de cada una de las posibles respuestas de B. Por esta razón, a A se le llama jugador maximizador y a B se le llama jugador minimizador , de ahí el nombre de algoritmo minimax . El algoritmo anterior asignará un valor de infinito positivo o negativo a cualquier posición, ya que el valor de cada posición será el valor de alguna posición final ganadora o perdedora. A menudo, esto solo es posible al final de juegos complicados como el ajedrez o el go , ya que no es computacionalmente factible mirar hacia adelante hasta la finalización del juego, excepto hacia el final, y en su lugar, a las posiciones se les asignan valores finitos. como estimaciones del grado de creencia en que conducirán a una victoria para un jugador u otro.
Esto se puede ampliar si podemos proporcionar una función de evaluación heurística que proporcione valores a estados del juego no finales sin considerar todas las posibles secuencias completas siguientes. Luego podemos limitar el algoritmo minimax para que observe solo una cierta cantidad de movimientos por delante. Este número se llama "previsión", y se mide en " capas ". Por ejemplo, la computadora de ajedrez Deep Blue (la primera en vencer al actual campeón mundial, Garry Kasparov en ese momento) miró hacia adelante al menos 12 jugadas y luego aplicó una función de evaluación heurística. [6]
Se puede considerar que el algoritmo explora los nodos de un árbol de juego . El factor de ramificación efectivo del árbol es el número promedio de hijos de cada nodo (es decir, el número promedio de movimientos legales en una posición). El número de nodos a explorar suele aumentar exponencialmente con el número de capas (es menor que exponencial si se evalúan movimientos forzados o posiciones repetidas). El número de nodos a explorar para el análisis de un juego es, por tanto, aproximadamente el factor de ramificación elevado a la potencia del número de capas. Por lo tanto, no es práctico analizar completamente juegos como el ajedrez utilizando el algoritmo minimax.
El rendimiento del ingenuo algoritmo minimax se puede mejorar drásticamente, sin afectar el resultado, mediante el uso de poda alfa-beta . También se pueden utilizar otros métodos de poda heurística, pero no se garantiza que todos den el mismo resultado que la búsqueda no podada.
Un algoritmo ingenuo minimax puede modificarse trivialmente para devolver adicionalmente una variación principal completa junto con una puntuación minimax.
A continuación se proporciona el pseudocódigo para el algoritmo minimax de profundidad limitada.
La función minimax (nodo, profundidad, maximizingPlayer) es si profundidad = 0 o el nodo es un nodo terminal , entonces devuelve el valor heurístico del nodo si maximizingPlayer entonces valor := −∞ para cada hijo del nodo hacer valor := max(valor, minimax(niño, profundidad − 1, FALSO)) valor de retorno else (*minimizando jugador*) valor := +∞ para cada hijo del nodo hacer valor := min(valor, minimax(niño, profundidad − 1, VERDADERO)) valor de retorno
(*Llamada inicial*)minimax(origen, profundidad, VERDADERO)
La función minimax devuelve un valor heurístico para los nodos hoja (nodos terminales y nodos en la profundidad de búsqueda máxima). Los nodos que no son hoja heredan su valor de un nodo hoja descendiente. El valor heurístico es una puntuación que mide la preferencia del nodo por el jugador maximizador. Por lo tanto, los nodos que dan un resultado favorable, como una victoria, para el jugador que maximiza tienen puntuaciones más altas que los nodos más favorables para el jugador que minimiza. El valor heurístico para los nodos de hoja terminales (final del juego) son puntuaciones correspondientes a ganar, perder o empatar, para el jugador que maximiza. Para nodos de hoja no terminales en la profundidad de búsqueda máxima, una función de evaluación estima un valor heurístico para el nodo. La calidad de esta estimación y la profundidad de la búsqueda determinan la calidad y precisión del resultado minimax final.
Minimax trata a los dos jugadores (el jugador que maximiza y el que minimiza) por separado en su código. Basado en la observación de que minimax a menudo se puede simplificar en el algoritmo negamax .
Supongamos que el juego que se está jugando solo tiene un máximo de dos movimientos posibles por jugador en cada turno. El algoritmo genera el árbol de la derecha, donde los círculos representan los movimientos del jugador que ejecuta el algoritmo ( jugador maximizador ) y los cuadrados representan los movimientos del oponente ( jugador minimizador ). Debido a la limitación de los recursos de cálculo, como se explicó anteriormente, el árbol está limitado a una anticipación de 4 movimientos.
El algoritmo evalúa cada nodo hoja mediante una función de evaluación heurística, obteniendo los valores mostrados. Los movimientos en los que gana el jugador que maximiza se asignan con infinito positivo, mientras que los movimientos que conducen a una victoria del jugador que minimiza se asignan con infinito negativo. En el nivel 3, el algoritmo elegirá, para cada nodo, el valor más pequeño del nodo hijo y lo asignará a ese mismo nodo (por ejemplo, el nodo de la izquierda elegirá el mínimo entre "10" y "+∞", por lo tanto asignándose el valor "10" a sí mismo). El siguiente paso, en el nivel 2, consiste en elegir para cada nodo el mayor de los valores del nodo hijo . Una vez más, los valores se asignan a cada nodo principal . El algoritmo continúa evaluando los valores máximo y mínimo de los nodos secundarios alternativamente hasta llegar al nodo raíz , donde elige el movimiento con el valor mayor (representado en la figura con una flecha azul). Este es el movimiento que el jugador debe hacer para minimizar la máxima pérdida posible .
La teoría Minimax se ha extendido a decisiones en las que no hay otro jugador, pero donde las consecuencias de las decisiones dependen de hechos desconocidos. Por ejemplo, decidir buscar minerales implica un costo, que se desperdiciará si los minerales no están presentes, pero traerá importantes recompensas si sí lo están. Un enfoque es tratar esto como un juego contra la naturaleza (ver movimiento por naturaleza ), y usando una mentalidad similar a la ley de Murphy o el resistencialismo , adoptar un enfoque que minimice la pérdida máxima esperada, usando las mismas técnicas que en el cero de dos personas. -juegos de suma.
Además, se han desarrollado árboles expectiminimax para juegos de dos jugadores en los que el azar (por ejemplo, los dados) es un factor.
En la teoría de decisión estadística clásica , tenemos un estimador que se utiliza para estimar un parámetro. También asumimos una función de riesgo generalmente especificada como la integral de una función de pérdida . En este marco, se denomina minimax si satisface
Un criterio alternativo en el marco teórico de la decisión es el estimador de Bayes en presencia de una distribución previa. Un estimador es Bayes si minimiza el riesgo promedio .
Una característica clave de la toma de decisiones minimax es no ser probabilística: a diferencia de las decisiones que utilizan el valor esperado o la utilidad esperada , no hace suposiciones sobre las probabilidades de varios resultados, solo análisis de escenarios sobre cuáles son los posibles resultados. Por tanto, es robusto a cambios en los supuestos, en contraste con estas otras técnicas de decisión. Existen varias extensiones de este enfoque no probabilístico, en particular el arrepentimiento minimax y la teoría de la decisión Info-gap .
Además, minimax solo requiere mediciones ordinales (que los resultados se comparen y clasifiquen), no mediciones de intervalo (que los resultados incluyan "cuánto mejor o peor"), y devuelve datos ordinales, utilizando solo los resultados modelados: la conclusión de un análisis minimax es : "esta estrategia es minimax, ya que el peor de los casos es (resultado), que es menos malo que cualquier otra estrategia". Compárese con el análisis del valor esperado, cuya conclusión es de la forma: "Esta estrategia produce ℰ ( X ) = n ". Por lo tanto, Minimax se puede utilizar con datos ordinales y puede ser más transparente.
El concepto de votación del " mal menor " (LEV) puede verse como una forma de estrategia minimax en la que los votantes, cuando se enfrentan a dos o más candidatos, eligen el que perciben como el menos dañino o el "mal menor". Para hacerlo, "la votación no debe verse como una forma de autoexpresión personal o juicio moral dirigido en represalia hacia los candidatos de los principales partidos que no reflejan nuestros valores, o como un sistema corrupto diseñado para limitar las opciones a aquellas aceptables para las elites corporativas". ", sino más bien como una oportunidad para reducir el daño o la pérdida. [7]
En filosofía, el término "maximin" se utiliza a menudo en el contexto de Una teoría de la justicia de John Rawls , donde se refiere a él en el contexto de El principio de diferencia . [8] Rawls definió este principio como la regla que establece que las desigualdades sociales y económicas deben organizarse de manera que "beneficien al máximo a los miembros menos favorecidos de la sociedad". [9] [10]
Durante el partido de 1997, la búsqueda por software amplió la búsqueda a unas 40 capas a lo largo de las líneas de forzamiento, aunque la búsqueda no extendida alcanzó sólo unas 12 capas.