Skip to content

chetweger/min-max-games

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 

Repository files navigation

min-max-games
=============

A collection of AIs written in python and translated into javascript using pyjs/pyjamas.  The AIs use the following techniques from AI and machine learning:
  1.) Min-max search
  2.) Alpha-beta pruning
  3.) Transposition tables
  4.) A utility function composed of multiple basis functions
  5.) Temporal difference learning to improve basis function constants

This project is hosted online at the following urls:

  TTT.py:

    http://chet-weger.herokuapp.com/play_ttt/

  Meta.py:
  
    http://chet-weger.herokuapp.com/play_meta_ttt/

  LearnMeta.py:

    http://chet-weger.herokuapp.com/learn_meta_ttt/

Summary of contents:

  learning.py --> AI for meta tic tac toe with min-max search, and temporal difference learning to learn utility function constants.

  test.py --> verification functions for learning.py

  td.txt --> a file that holds these constants

  td_saved.txt --> another file that holds these constants (best found)

  bug --> illustrates a bug I found in the pyjs python to javascript translator/compiler.

      see issue:
  
        pyjs/pyjs#817

  ---------------------------------------------------------------------

  Meta.py --> the pyjamas user interface for playing the meta tic tac toe AI.

  Meta.html --> html stub for this interface

  Meta_out --> result of Meta.py being translated to javascript using pyjs

  ---------------------------------------------------------------------

  LearnMeta.py --> the pyjamas user interface for training the AI to learn the constants

  LearnMeta.html --> html stub for this interface

  LearnMeta_out --> result of LearnMeta.py being translated to javascript using pyjs