1 unstable release
0.1.0 | Aug 3, 2023 |
---|
#3 in #minimax
11KB
106 lines
game-solver
solve any sequential game (currently only works with combinatorial games, or 2-player perfect-information sequential games)
Features
- 2-player optimization with Negamax
- Perfect information optimizations:
Optimization Tips
Move Ordering
This is arguably the most important.
Making sure your Game#possible_moves
function guesses what the best moves are first
can save a lot of time on alpha-beta pruning and iterative deepening.
Efficient Bitboards
Use efficient bitboards - you can look at the examples for inspiration, but make sure your board representation is fast, and preferably doesn't need allocation.
Credits
A lot of the algorithms have been inspired by Pascal Pons's excellent blog and the general Chessprogramming wiki.
Future Plans (Contributions Welcome!)
- Game Tree Visualization
- Parallelization as a feature
- 2+ player games (multiple agents w/ minimax instead of negamax)
- Non-perfect information games
- Games that involve chance