Está en la página 1de 4

ALGORITMO 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.

Aunque existen evidencias de que Charles Babbage ya había trabajado antes sobre una idea
similar, 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, 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, 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

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 minimax es 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 el 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.

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.

LA HEURISTICA

Se conoce como heurísticaal conjunto de técnicas o métodos para resolver un problema. La


palabra heurística es de origen griego εὑρίσκειν que significa “hallar, inventar”.

La heurística es vista como el arte de inventar por parte de los seres humanos, con la intención
de procurar estrategias, métodos, criterios, que permitan resolver problemas a través de la
creatividad, pensamiento divergente o lateral.

También, se afirma que la heurística se basa en la experiencia propia del individuo, y en la de


otros para encontrar la solución más viable al problema.

Por ejemplo, la heurística puede ser vista como una teoría que estimula el pensamiento del
individuo encargado de analizar todos los materiales recopilados durante una investigación.

En este sentido, se puede afirmar que se relaciona con la toma de decisiones a fin de
solucionar un problema, sin asegurar que la opción tomada sea la más idónea.

Ahora bien, la heurística como disciplina científica, y en su sentido más amplio puede ser
aplicada a cualquier ciencia con la finalidad de elaborar medios, principios, reglas o estrategias
como ayuda para lograr encontrar la solución más eficaz y eficiente al problema que analiza el
individuo.

Existen varios procedimientos heurísticos que se dividen en:

 Principios heurísticos, son los que establecen sugerencias para encontrar la solución idónea al
problema.
 Reglas heurísticas, son las que señalan los medios para resolver el problema.
 Estrategias heurísticas, son aquellas que permiten organizar los materiales o recursos
compilados que contribuyen a la búsqueda de la solución del problema.
Como tal, el término heurístico se puede emplear como sustantivo y adjetivo. Como
sustantivo, alude a la ciencia o arte del descubrimiento, considerada como una disciplina que
posee el carácter de ser investigada.

Ahora bien, en el caso de ser utilizada como adjetivo señala los principios, las reglas y las
estrategias idóneas para encontrar la solución al problema.

La heurística fue un término utilizado por Albert Einstein en la publicación sobre el efecto
fotoeléctrico, en el artículo que lleva por título, traducido al español, “Sobre un punto de vista
heurístico concerniente a la producción y transformación de la luz”, cuya publicación le otorgó
un premio Nobel de la Física, en el año 1921.

Método heurístico

Es el conjunto de métodos y técnicas que se emplean con el fin de encontrar y solucionar un


problema en aquellos casos que es difícil hallar una solución óptima o satisfactoria.

Por tal razón, en las disciplinas científicas se suele emplear el método heurístico a fin de
alcanzar el mejor resultado ante un problema en específico.

La heurística existe desde la antigua Grecia, sin embargo, este término lo popularizó el
matemático George Pólya, en su libro “Cómo resolverlo”, en el cual explica el método
heurístico a sus alumnos de matemáticas, y a todos aquellos que desearan aprender de la
disciplina, citando cuatro ejemplos:

 Si no consigues entender un problema, dibuja un esquema.

 Si no encuentras la solución, haz como si ya la tuvieras y mira qué puedes deducir de


ella (razonando a la inversa).

 Si el problema es abstracto, prueba examinar un ejemplo concreto.

 Intenta abordar primero un problema más general y revisar.

Por su parte, el filósofo y matemático Lakato, estableció que la heurística es un conjunto de


métodos o reglas que pueden ser positivos o negativos, que indican cuáles son las acciones
idóneas que pueden generar soluciones al problema.

En su trabajo de programa científico de investigación, Lakato indicó que todo programa


contempla una estructura que puede servir como guía de modo positivo o negativo.

En relación a lo anterior, la heurística positiva es aquella que establece las directrices de cómo
desarrollar un programa de investigación.

En cambio, la heurística negativa de un programa señala lo que no se puede cambiar, ni


modificar, conocido como el núcleo central.
Por ejemplo, en informática la heurística consiste en encontrar o construir algoritmos con
buena velocidad para ser ejecutados como los juegos informáticos o los programas que
detectan si un correo electrónico es un spam o no.

ALGORITMO DE BUSQUEDA A*

El algoritmo de búsqueda A* (pronunciado "A asterisco" o "A estrella") se clasifica dentro de


los algoritmos de búsqueda en grafos. Presentado por primera vez en 1968 por Peter E. Hart,
Nils J. Nilsson y Bertram Raphael, el algoritmo A* encuentra, siempre y cuando se cumplan
unas determinadas condiciones, el camino de menor coste entre un nodo origen y uno
objetivo.

El problema de algunos algoritmos de búsqueda en grafos informados, como puede ser el


algoritmo voraz, es que se guían en exclusiva por la función heurística, la cual puede no indicar
el camino de coste más bajo, o por el coste real de desplazarse de un nodo a otro (como los
algoritmos de escalada), pudiéndose dar el caso de que sea necesario realizar un movimiento
de coste mayor para alcanzar la solución. Es por ello bastante intuitivo el hecho de que un
buen algoritmo de búsqueda informada debería tener en cuenta ambos factores, el valor
heurístico de los nodos y el coste real del recorrido.

Así, el algoritmo A* utiliza una función de evaluación f ( n ) = g ( n ) + h ′ ( n ), donde h ′ ( n )


representa el valor heurístico del nodo a evaluar desde el actual, n, hasta el final, y g ( n ), el
coste real del camino recorrido para llegar a dicho nodo, n, desde el nodo inicial. A* mantiene
dos estructuras de datos auxiliares, que podemos denominar abiertos, implementado como
una cola de prioridad (ordenada por el valor f ( n ) de cada nodo), y cerrados, donde se guarda
la información de los nodos que ya han sido visitados. En cada paso del algoritmo, se expande
el nodo que esté primero en abiertos, y en caso de que no sea un nodo objetivo, calcula la f ( n
) de todos sus hijos, los inserta en abiertos, y pasa el nodo evaluado a cerrados.

El algoritmo es una combinación entre búsquedas del tipo primero en anchura con primero en
profundidad: mientras que h ′ ( n ) tiende a primero en profundidad, g ( n ) tiende a primero en
anchura. De este modo, se cambia de camino de búsqueda cada vez que existen nodos más
prometedores.

También podría gustarte