Go to file
2022-04-15 18:11:18 +02:00
brains Smashed bugs 2022-04-15 18:11:18 +02:00
.gitignore Removed brains from .gitignore 2022-04-15 14:15:40 +02:00
dikehiker.py Initial commit 2022-03-21 14:27:16 +01:00
encBreaker.py Initial commit 2022-03-21 14:27:16 +01:00
mycelia.py Initial commit 2022-03-21 14:27:16 +01:00
README.md New README 2022-04-15 14:35:58 +02:00
tictactoe.py Blub 2022-04-13 22:49:38 +02:00
ultimatetictactoe.py Smashed bugs 2022-04-15 18:11:18 +02:00
vacuumDecay.py Smashed bugs 2022-04-15 18:11:18 +02:00

Project vacuumDecay

Project vacuumDecay is a framework for building AIs for games.
Avaible architectures are

  • those used in Deep Blue (mini-max / expecti-max)
  • advanced expecti-max exploration based on utility heuristics
  • those used in AlphaGo Zero (knowledge distilation using neural-networks)

A new AI is created by subclassing the State-class and defining the following functionality (mycelia.py provies a template):

  • initialization (generating the gameboard or similar)
  • getting avaible actions for the current situation (returns an Action-object, which can be subclassed to add additional functionality)
  • applying an action (the state itself should be immutable, a new state should be returned)
  • checking for a winning-condition (should return None if game has not yet ended)
  • (optional) a getter for a string-representation of the current state
  • (optional) a heuristic for the winning-condition (greatly improves capability)
  • (optional) a getter for a tensor that describes the current game state (required for knowledge distilation)
  • (optional) interface to allow a human to select an action

Current state of the project

The only thing that currently works is the AI for Ultimate TicTacToe.
It uses a trained neural heuristic (neuristic)
You can train it or play against it (will also train it) using 'python ultimatetictactoe.py'