Giter Club home page Giter Club logo

maistermind's Introduction

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

maistermind's People

Contributors

pistocop avatar sginj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.