Skip to content

Probability-based reversal of Conway's Game of Life boards

Notifications You must be signed in to change notification settings

ed-/detective-conway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

So we can't precisely reverse a 2D cellular automata board? Well, we can at least make an educated guess.

A Detective works to find out how a given grid of Conway's Game of Life cellular automata got to be the way they are at present.
That is, it tries to find a board that results in the given board.

Given a Life object, a Detective builds a matching grid of Alibis (each Alibi is a list of Pasts for a single Cell), and then repeatedly checks each Alibi against its neighbors, eliminating Alibis that are entirely impossible.

Once that investigation is over, the next step is to guess, accusing each cell of having either been alive or dead in the previous step. It helps to repeatedly guess until every cell has only a single Alibi that matches with its neighbors.

At any point, a Detective can use its confidence to build a model Life object, which can then be used to check against the original Life object for accuracy.

--

What does this all mean? It means if you give me a Conway's Game Of Life board in any given state, I can give you at least an educated guess as to the state of the board in the step before, and at most a complete board whose immediate future matches the board you gave me.

About

Probability-based reversal of Conway's Game of Life boards

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages