AdamStelmaszczyk / gtsa

Licence: GPL-3.0 License
Game Tree Search Algorithms - C++ library for AI bot programming

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to gtsa

shallow-blue
UCI Chess engine written in C++11
Stars: ✭ 55 (-19.12%)
Mutual labels:  game-theory
bool-expr-indexer
A fast boolean expression index implementation, especially for RTB ad selection. A Go implementation of the core algorithm in paper <Indexing Boolean Expression>
Stars: ✭ 49 (-27.94%)
Mutual labels:  search-algorithm
bop
Bop is a very fast Boyer-Moore parser/matcher for String or Buffer patterns.
Stars: ✭ 15 (-77.94%)
Mutual labels:  search-algorithm
gamegym
A game theory framework with examples and algorithms
Stars: ✭ 49 (-27.94%)
Mutual labels:  game-theory
Deep-Learning-Mahjong---
Reinforcement learning (RL) implementation of imperfect information game Mahjong using markov decision processes to predict future game states
Stars: ✭ 45 (-33.82%)
Mutual labels:  game-theory
Intelligent Document Finder
Document Search Engine Tool
Stars: ✭ 45 (-33.82%)
Mutual labels:  search-algorithm
latplan
LatPlan : A domain-independent, image-based classical planner
Stars: ✭ 73 (+7.35%)
Mutual labels:  search-algorithm
astar-typescript
A* search algorithm in TypeScript
Stars: ✭ 37 (-45.59%)
Mutual labels:  search-algorithm
js-algorithms
Computer science
Stars: ✭ 64 (-5.88%)
Mutual labels:  search-algorithm
indexer4j
Simple full text indexing and searching library for Java
Stars: ✭ 47 (-30.88%)
Mutual labels:  search-algorithm
gt
Source files for my course on Game Theory.
Stars: ✭ 28 (-58.82%)
Mutual labels:  game-theory
algorithms
The All ▲lgorithms documentation website.
Stars: ✭ 114 (+67.65%)
Mutual labels:  game-theory
Project-1-Search-in-Pacman
Search algorithms(BFS, DFS, UCS, A*) in python.Berkeley Pacman Project 1.
Stars: ✭ 20 (-70.59%)
Mutual labels:  search-algorithm
Differentia.js
No longer being supported or maintained. A Graph Theory & Data Structure Library for JavaScript.
Stars: ✭ 13 (-80.88%)
Mutual labels:  search-algorithm
matching
A package for solving matching games.
Stars: ✭ 97 (+42.65%)
Mutual labels:  game-theory
mxfactorial
a payment application intended for deployment by the united states treasury
Stars: ✭ 36 (-47.06%)
Mutual labels:  game-theory
Computational-Economics
Algorithmic game theory, recursive macroeconomics, machine learning for econometrics
Stars: ✭ 35 (-48.53%)
Mutual labels:  game-theory
ilqgames
Iterative Linear-Quadratic Games!
Stars: ✭ 54 (-20.59%)
Mutual labels:  game-theory
egtplot
egtplot: A python package for 3-Strategy Evolutionary Games
Stars: ✭ 33 (-51.47%)
Mutual labels:  game-theory
pynpuzzle
Solve, test and benchmark algorithms for N-Puzzle problem with Python
Stars: ✭ 26 (-61.76%)
Mutual labels:  search-algorithm

Game Tree Search Algorithms Build Status Coverage Status

C++ library for AI bot programming.

Usage

  1. Specify game rules by subclassing State and Move.
  2. Choose AI algorithm (Minimax, MonteCarloTreeSearch), play by yourself (Human) or against external program (Executable).
  3. Read the game state, pass it to the algorithm and output the move. For local, statistically significant tests, use Tester.

Game examples

Implemented algorithms

Both handle sequential, multiplayer games:

MCTS also handles simultaneous games using SUCT.

Make commands

Execute below commands in the cpp directory.

  • make builds everything.
  • make test runs unit tests.
  • make valgrind runs valgrind's memory leak tests.
  • make play_isola plays as many games as needed to determine which Isola bot is better.

For all the commands check Makefile file.

Dependencies

  • To build and run unit tests, g++ and libboost-all-dev packages are needed.
  • To run valgrind, valgrind package is needed.
  • To make GIFs, imagemagick package is needed.

You can install all of them with sudo apt-get install g++ libboost-all-dev valgrind imagemagick.

Priorities of the library

  1. Correctness.
  2. Compliance with environment typical for competitions. One process. One file submission, compiled with one invocation of g++.
  3. Performance.

Would like to help?

Suggestions welcome on Issues. Pull requests too.

If you use code or ideas from this repository, please cite it as follows:

@misc{stelmaszczyk2015gtsa,
    author = {Stelmaszczyk, Adam},
    title = {Game Tree Search Algorithms},
    year = {2015},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/AdamStelmaszczyk/gtsa}},
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].