First I invite you have a look to draft.pdf where it is a scientific research draft article where it contains all information.
Main files:
env_previous.py: Env that uses previous trained version of itenv_random.py: Env that uses a random playergame.py: The game functions and play methodstrain_*.py: Training Scriptstune_*.py: Tuning scriptsutils.py: Necessary functions to connect between the game and the RL env (encode and decode actions)test.py: Testing the trained agentenv_checker.py: A script to check the configuration of the env.
Secondary files:
Quixo.pdf: An explanation of the gamerequirements.txt: The python env libraries and packagesquixo_ppo_random_opponent_*.zip: PPO trained models.2M, 2M_previous, longestare the first, second and third trainings respectively.
Non-used files:
easyAI.py: An non-complete implementation of Negamax for Quixo.mcts.py: An non-complete implementation of Monte-Carlo Tree Search for Quixo.
This work has been done as a project for the Computational Intelligence course 23/24 @ PoliTO.