/game-solver

Solve any sequential game.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Crates.io Discord

Solve any sequential game. These are currently restricted to Combinatorial Games - or n-player perfect-information games.

More in-depth information can be found in the book.

Background

Game Theory is a general study of games. Many of these games are solved without rigirous computation (for example, where impartial combinatorial games 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 would also be great!

Profiling

Recommended profiling tools:

Flamegraph

cargo install flamegraph (requires linux perf or windows dtrace)

Unix

CARGO_PROFILE_RELEASE_DEBUG=true cargo flamegraph --example <example> -- <args>

Windows

$env:CARGO_PROFILE_RELEASE_DEBUG='true'; cargo flamegraph --example <example> -- <args>; $env:CARGO_PROFILE_RELEASE_DEBUG=$null