Pop

Curso programación C# - 80. Inteligencia Artificial con C# (9)- Visual Studio 2017


80. Inteligencia Artificial (9). Minimax aplicado al juego 3 en raya

 -  En este capítulo del curso de programación en c# con visual studio 2017 vamos a continuar con nuestra serie de entradas relacionadas con un tema de moda: la inteligencia artificial. En la entrada anterior vimos una introducción al algoritmo minimax.

- En esta entrada nos centraremos en explicar al detalle el funcionamiento de este algortimo. Como ya comentamos en la entrada anterior este  algoritmo se resume en cómo elegir el mejor movimiento suponiendo que tu oponente escogerá el peor para ti. Una vez supuesto esto recorremos todo el árbol de soluciones del juego a partir de un estado dado, es decir, según las casillas que ya han sido rellenadas. Minimax se ejecutará cada vez que le toque mover a la IA.

- Podemos implementar el algoritmo minimax en diferentes pasos y de diferentes maneras pero hay que tener  una idea clara de su funcionamiento.


  • Partimos de un estado inicial, que es el estado en que se encuentra el juego. Para el caso que nos ocupa puede ser por ejemplo:

  • Buscamos las posibles jugadas legales a partir del estado inicial.En el caso que nos ocupa todas las posibles jugadas son las siguientes:

  •  Asignamos un determinado valor para el caso de empate,victoria o derrota
  • Lo que  hará el algoritmo Minimax cuando vaya regresando hacia atrás, será comunicarle a la llamada recursiva superior cuál es el mejor nodo hoja alcanzado hasta el momento. 
  • Cada llamada recursiva tiene que saber a quién le toca jugar, para analizar si el movimiento realizado pertenece a la inteligencia artificial o al otro jugador, ya que cuando sea el turno de la IA nos interesa MAXIMIZAR el resultado, y cuando sea el turno del rival MINIMIZAR su resultado.
  • El algoritmo nos devolverá la jugada que debe realizar la máquina para maximizar sus posibilidades y bloquear las posibilidades del rival.

- En la siguiente entrada del blog veremos el código necesario para implementar esta lógica.De momento os dejo el vídeo con lo explicado en este capítulo:







No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...