Implementación del juego de mesa de estrategia (borradores) con BOT basado en AI
Este proyecto está destinado a mostrar la capacidad de las redes neuronales para aprender a jugar un juego de damas.
La red entrenada se utiliza para guiar un algoritmo de búsqueda - Minax con poda alfa -beta
Para seleccionar los movimientos más prometedores en los juegos.
La red neuronal se utiliza para evaluar el estado de la junta, se necesita el estado de la junta como el valor de las entradas y las salidas entre -1 y 1
(Valores cercanos a -1 -> White gana, valores cercanos a 1 -> Black gana). Alphazero introdujo esto como "red de valor".
Actualmente, la red neuronal es solo el modelo MLP (multicapa perceptron) con 6 capas ocultas:
-> 32 neuronas para la capa de entrada | 64, 64, 128, 128, 256, 256 para capas ocultas y 1 neurona para la capa de salida
Estoy trabajando en el método de aprendizaje de diferencia temporal (TD Leaf) que parece mucho mejor que MLP ATM
(Necesita algo de tiempo para entrenar completamente el modelo).
La idea principal es utilizar el aprendizaje supervisado para capacitar (pre) algún modelo y luego mejorar ese modelo con una jugada propia, lo que DeepMind hizo con Alphazero.
-> http://www.fierz.ch/download.php
Alrededor de 20000 juegos, los resultados son en su mayoría dibujados (alrededor de 14000), no es tan bueno para redes neuronales, pero no puedo encontrar un mejor cajero automático.
1. python main.py # runs web server on localhost:5000
2. Web browse to localhost:5000
At this phase game does not support (interface) validation and multiple jumps so dont use it right now :)
Console version is fully featured (it supports validation and multiple jumps)