Skip to content

pistocop/mAIstermind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mAIstermind

Project developed for a university exam in 2019

The aim of this project is to train and test differents sub-symbolic systems capable to play the mastermind board game. To do this, this repository contains:

  • Players that implement different mathematical strategies to play the game and build the training database
  • Neural networks implemented using Tensorflow Estimators
  • Jupyter notebooks to manage the databases
  • Jupyter notebooks to analyze the neural networks performances

Changelog

2020 - Some notes

  • This is my first ML project and the first "big" project in a more general sense
  • I haven't changed anything from the exam submission, and I haven't plan to improve this package
  • Keypoints
    • Mastermind players to build the ML dataset:
      • knuth - best algorithm, from Knuth paper
      • knuth_fast - my idea to speed-up knuth algorithm
      • hopeful - simple but fast algorithm
    • All the dataset are available on mega
      • After unzip, those are the file:
      ❯ tree -s -h --du
      .
      ├── [ 99M]  hopeful
      │   ├── [ 69M]  hopeful.csv
      │   └── [ 30M]  hopeful_cuts.csv
      ├── [133K]  knuth
      │   ├── [ 89K]  knuth_optimal.csv
      │   └── [ 40K]  knuth_optimal_cuts.csv
      └── [ 19M]  knuth_fast
          ├── [5.8M]  knuth_cuts.csv
          └── [ 13M]  knuth_fast.csv
      
       118M used in 3 directories, 6 files
      
    • Machine learning models
      • The model is a Bi-LSTM with attention system
      • The model is written in Tensorflow using the tf_estimator (TF2 was not released when I did the exam).
      • For the best solution, 4 models were trained and used in cascade (see the slides)
    • Slides are available for a deeper explanation of the project.
      • Although in Italian, they use a lot of images