Ever wanted to reverse engineer the meaning of life? Well, this repository is for you! We turn a target state of a Game of Life board into a previous one, many times over, creating a rich branching history. And our code's homegrown and organic - none of that factory-farmed SMT stuff.
- Have Rust installed.
- Edit the thread pool size in
main.rs:30
to your liking. - Choose a target grid, and write it in
main.rs:34
. - Make sure that the grid size in
grid.rs:7
matches your intended dimensions. - Optionally, edit the heuristic in
searcher.rs:38
; if a grid doesn't work, try flipping that minus sign to a plus sign. - Run
cargo run --release
, and watch in theout-*
directory for some dumped output!