Program synthesis with a 2 player Game of Life
Posted: July 3rd, 2018, 12:54 pm
Hey,
I'm looking for ideas to synthesize programs in GoL.
We've developed a two-player version of GoL to use for program synthesis. Similar to DeepMind's AlghaGo, we aim to generate a GoL program through self-play.
We are still working on the exact rules, for now, each player gets a 64x64 grid to create a program in a 512x512 game board. Killing cells follow the normal GoL rules. A new cell is owned by the player that has a majority of the three creating cells.
Each player has a 'game-wall' side and a collision side. The programs are mirrored to have the collision sides against each other. The program that has most living cells by say 1000 cycles wins.
We are developing algorithms that generate these programs. We are starting off by trying a deep neuroevolution/genetic algorithm approach.
Have you seen any similar research? Do you have any suggestions for the 2 player game dynamics? Suggestions for algorithms to synthesize programs? Or benchmarks to measure how good a GoL player is?
Cheers,
Emil
I'm looking for ideas to synthesize programs in GoL.
We've developed a two-player version of GoL to use for program synthesis. Similar to DeepMind's AlghaGo, we aim to generate a GoL program through self-play.
We are still working on the exact rules, for now, each player gets a 64x64 grid to create a program in a 512x512 game board. Killing cells follow the normal GoL rules. A new cell is owned by the player that has a majority of the three creating cells.
Each player has a 'game-wall' side and a collision side. The programs are mirrored to have the collision sides against each other. The program that has most living cells by say 1000 cycles wins.
We are developing algorithms that generate these programs. We are starting off by trying a deep neuroevolution/genetic algorithm approach.
Have you seen any similar research? Do you have any suggestions for the 2 player game dynamics? Suggestions for algorithms to synthesize programs? Or benchmarks to measure how good a GoL player is?
Cheers,
Emil