A+
A-
Algoritmo MinimaxEl Algoritmo Minimax

Las Inteligencias Artificiales de los videojuegos están muy desarrolladas a día de hoy. No es raro encontrarse con algún shooter en el que el adversario incluso hace fintas, o algún juego de estrategia en tiempo real en el que te conducen a emboscadas.

Hoy no vamos a profundizar en esos aspectos complejos de las IAs de videojuegos, sino que nos vamos a remontar al pasado reciente, cuando los investigadores planteaban ideas para que un ordenador pudiese ser un digno adversario en varios juegos de tablero.

Pero antes de empezar, es necesario conocer el concepto de “algoritmo“. Muchos de vosotros ya lo conoceréis, pero para el que no, he creado una página de definiciones, llamada Glosario. Os recomiendo que echéis un vistazo al concepto de Algoritmo antes de seguir. Aviso a navegantes: esto no es una guía de programación del algoritmo, sino una explicación sencilla de cómo funciona.

El Algoritmo Minimax se usa para juegos de dos jugadores, o juegos con adversario, en donde un humano se enfrenta con un ordenador, o dos ordenadores se enfrentan entre ellos. Consiste en hacer la mejor jugada posible sabiendo que el rival hará la jugada que más te perjudique. Como ya sabéis, un algoritmo son unas instrucciones. Minimax dice:

Calcula todas las posibles jugadas

Contamos con que los ordenadores hacen muy bien una cosa: calcular. Es por ello que antes los llamábamos “computadores”. De todos modos, como la cantidad de posibilidades puede ser muy alta dependiendo del juego, este paso se puede limitar por tiempo (“calcular todas las posibilidades que te de tiempo en 10 minutos).

Dar valores a cada jugada final

Digamos que empezamos por el tejado. Una vez que sabemos todas las posibles jugadas, tenemos que decidir cómo de buena es cada una. Para ello se le dan “puntos” a cada una de las posibilidades finales. Las jugadas que lleven a una victoria tendrán puntos positivos, y los que lleven a una derrota tendrán puntos negativos.

A partir de las jugadas finales, dar valor a las jugadas anteriores, hasta el inicio

Suponemos que antes de llegar a una jugada final, el rival habrá hecho un movimiento que sea el peor para nosotros, y el mejor para él. Con esta información, tratamos de predecir el juego. Vamos dando valores a cada jugada, y al final obtenemos varias “rutas”. Algunas tendrán más puntos que otras. Estos puntos dependerán del tipo de juego.

Elegir el siguiente movimiento

Para elegir la mejor jugada, cogemos la que lleve por el camino que nos asegura la victoria. Es decir, la jugada que está en el camino que más puntos tiene.

Los juegos donde se aplica Minimax deben ser sencillos y no tener demasiadas combinaciones, ya que es poco eficiente para problemas muy grandes, donde se usa o una versión más avanzada u otros algoritmos más apropiados, como el A* (A estrella). Además, Minimax siempre supone que el adversario va a elegir su mejor jugada, y se podría dar la paradoja de que el adversario se equivoque, haga una jugada que no es la mejor, y “despiste” al algoritmo, pudiendo llevarle a perder la partida.

John Von NeumanJohn Von Neuman

La Teoría Minimax surgió en 1926, de la mano de John Von Neuman (uno de los Padres de la Informática): Siempre existe una forma racional de actuar en juegos de dos participantes, si los intereses que los gobiernan son completamente opuestos..

Neuman dio una definición de 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.


Fuente: lareinaroja.es/?p=125

0 comentarios Google+ 0 Facebook





 
2013 - 2018 Te interesa saber



Política de privacidad




TiS, con tecnología Responsive Web Design y Blogger

Ir a inicio