• Stars
    star
    6
  • Rank 2,539,965 (Top 51 %)
  • Language
    Jupyter Notebook
  • Created almost 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Reverse the arrow of time in the Game of Life using Genetic Algorithm 🤖

Reversing Game of Life

This repository contains our approach of solving the challenge posted on Kaggle back in the days. The whole algorithm is described on Medium in great detail. You can find accompanying code in ga_tutorial.ipynb.

Almost equivalent code is used in GeneticSolver, with multiprocessing version of fitness scoring added. MPGeneticSolver goes one step further by running multiple GeneticSolver's in parallel and returning the best scoring solution across all of the cores. Cythonized version of make_move is written in life.pyx, which is responsible for ~8x speedup in fitness scoring, and thus the overall performance.

Results

Genetic Algorithm have yielded 0.0634 score on private test set, which beats top solutions by a wide margin. Another approaches were tried, including Random Forest and Neural Networks on sliding windows, with top score ~0.12034.

Team