Mancala written in Python, playable in CLI (GUI coming soon)!
Project description
Mancala
Mancala board game written in python.
Features & Road maps
- Mancala playable on CLI
- Cmpatible with the gym API
- Can train RL agents
- Mancala playable on GUI
Installation
$ pip install mancala
Usage
Play a game with agents
$ mancala play --player0 human --player1 random
Compare each agents and plot their win rates
The values are player1's (second move) win rates in percentage
$ mancala arena
p0_random p0_exact p0_max p0_minimax p0_negascout
p1_random 50.0 53.0 3.0 0.0 0.0
p1_exact 42.0 48.0 4.0 1.0 1.0
p1_max 95.0 91.0 41.0 0.0 3.0
p1_minimax 100.0 96.0 87.0 30.0 39.0
p1_negascout 100.0 97.0 84.0 19.0 32.0
Algorithms
Mancala is a game with perfect information. マンカラは完全情報ゲームです。
Mini-Max
Mini-max is an algorithm for n-player zero-sum games. The concept is to assume the opponent will take their best move and try to minimize them.
- MiniMax https://en.wikipedia.org/wiki/Minimax
- Alpha-beta pruning https://en.wikipedia.org/wiki/Alpha–beta_pruning
- Negamax https://en.wikipedia.org/wiki/Negamax
Value Iteration
Using Dynamic Programming (DP), calculate value for states and memorize them. Use the value to plan future actions.
Other implementations
- OpenSpiel value_iteration algorithm https://github.com/deepmind/open_spiel/blob/master/open_spiel/python/algorithms/value_iteration.py example https://github.com/deepmind/open_spiel/blob/master/open_spiel/python/examples/value_iteration.py
Policy Iteration
Using Dynamic Programming (DP), calculate value for states and memorize them. Use the value and policy for planning.
References
Multi agent RL
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mancala-0.3.0.tar.gz
.
File metadata
- Download URL: mancala-0.3.0.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.8.8 Darwin/20.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94981791d24cd7178d05ec48ad79ff1be353bda3f983527453f37d6f06252ae6 |
|
MD5 | 42014d474aaba8ba2cae43b63366d50a |
|
BLAKE2b-256 | 89e82c982474497cead1129c39e34177c179007b7adb9bb63601587c3ca49aab |
File details
Details for the file mancala-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: mancala-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.5 CPython/3.8.8 Darwin/20.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e03595eb3ed68980e8efd8dd9c6f3bab8363f4889a2d7ee975204d3260f8bf6 |
|
MD5 | 9bbed2b0a429a71d944dd74ec67152a6 |
|
BLAKE2b-256 | c3ff85b6cd81fbbb77bb9bae69fda776ac50d0da5898e4584d0464edc768bbda |