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
Metadata
Release files for mancala 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mancala-0.3.0.tar.gz | 11.0 kB | Without provenance | Details for mancala-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mancala-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for mancala-0.3.0-py3-none-any.whl |
Total release size: 26.5 kB
Release files / mancala-0.3.0.tar.gz
| Download URL | mancala-0.3.0.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94981791d24cd7178d05ec48ad79ff1be353bda3f983527453f37d6f06252ae6
|
|
BLAKE2b-256 checksum How to use checksums |
89e82c982474497cead1129c39e34177c179007b7adb9bb63601587c3ca49aab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.5 CPython/3.8.8 Darwin/20.4.0
|
Release files / mancala-0.3.0-py3-none-any.whl
| Download URL | mancala-0.3.0-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e03595eb3ed68980e8efd8dd9c6f3bab8363f4889a2d7ee975204d3260f8bf6
|
|
BLAKE2b-256 checksum How to use checksums |
c3ff85b6cd81fbbb77bb9bae69fda776ac50d0da5898e4584d0464edc768bbda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.5 CPython/3.8.8 Darwin/20.4.0
|
Security for mancala 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.