Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leodog896/game-solver
Solve any sequential game.
https://github.com/leodog896/game-solver
combinatorial-game combinatorial-game-theory game-solver game-theory rust
Last synced: about 2 months ago
JSON representation
Solve any sequential game.
- Host: GitHub
- URL: https://github.com/leodog896/game-solver
- Owner: LeoDog896
- License: mpl-2.0
- Created: 2023-07-13T03:33:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-02T08:52:21.000Z (2 months ago)
- Last Synced: 2024-11-02T09:25:42.450Z (2 months ago)
- Topics: combinatorial-game, combinatorial-game-theory, game-solver, game-theory, rust
- Language: Rust
- Homepage: https://leodog896.github.io/game-solver/
- Size: 639 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# [game-solver](https://leodog896.github.io/game-solver)
![Crates.io](https://img.shields.io/crates/v/game-solver)
[![Discord](https://img.shields.io/discord/1140401094338556009)](https://discord.gg/VjbCyaX29C)Solve any sequential game. These are currently restricted to [Combinatorial Games](https://en.wikipedia.org/wiki/Combinatorial_game_theory) - or n-player perfect-information games.
More in-depth information can be found in [the book](https://leodog896.github.io/game-solver/book).
## Background
[Game Theory](https://en.wikipedia.org/wiki/Game_theory) is a general study of games. Many of these games are solved without rigirous computation (for example, where [impartial](https://en.wikipedia.org/wiki/Impartial_game) [combinatorial games](https://en.wikipedia.org/wiki/Combinatorial_game_theory) are solved by generalizing the game to Nim).
However, computation is required to strongly solve to more complex games. This is where the `game-solver` comes in.
## Contribute
Rust nightly is required.
If you want to contribute, new game implementations would be greately appreciated!
The more examples of games that are provided, the more examples that can be used
for benchmarks, analysis, and further optimization.Any new visual representations for games that don't exist on the [app](https://leodog896.github.io/game-solver/app/) would also be great!
### Profiling
Recommended profiling tools:
#### Flamegraph
`cargo install flamegraph` (requires linux `perf` or windows `dtrace`)
### Unix
```sh
CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --example --
```### Windows
```ps
$env:CARGO_PROFILE_RELEASE_DEBUG='true'; cargo flamegraph --example -- ; $env:CARGO_PROFILE_RELEASE_DEBUG=$null
```