Implementação de verificadores (rascunhos) de jogo de tabuleiro com bot baseado em IA
Este projeto pretende mostrar a capacidade das redes neurais de aprender a jogar um jogo de damas.
A rede treinada é usada para orientar um algoritmo de pesquisa - minimax com poda alfa -beta
Para selecionar os movimentos mais promissores nos jogos.
A rede neural é usada para avaliar o estado da diretoria, ele obtém o estado do conselho como o valor de entrada e saídas entre -1 e 1
(Valores próximos a -1 -> vitórias brancas, valores próximos a 1 -> vitórias pretas). Alphazero introduziu isso como "Rede de Valor".
Atualmente, a rede neural é apenas o modelo MLP (multicamada perceptron) com 6 camadas ocultas:
-> 32 neurônios para camada de entrada | 64, 64, 128, 128, 256, 256 para camadas ocultas e 1 neurônio para camada de saída
Estou trabalhando no método de aprendizado de diferença temporal (TD Leaf) que parece muito melhor do que o mlp atm
(Precisa de algum tempo para treinar totalmente o modelo).
A idéia principal é usar o aprendizado supervisionado para treinar algum modelo e, em seguida, melhorar esse modelo com o auto-jogo, o que o DeepMind fez com o Alphazero.
-> http://www.fierz.ch/download.php
Cerca de 20000 jogos, os resultados são principalmente desenhados (cerca de 14000) - não é tão bom para redes neurais, mas não consigo encontrar um caixa eletrônico melhor.
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)