Message Boards Message Boards

[WSS16] Predicting the evolution of the code 1599 cellular automaton

I am a student at Wolfram Summer School 2016. This is the project I did about the evolution of the code 1599 cellular automaton.


Introduction to the code 1599 cellular automaton

Code 1599 is a 3-color totalistic cellular automaton. With radius 1, its rule looks like this:

enter image description here

The rule looks very simple. However, when the simple rule combines with simple initial conditions, very complex and interesting behaviors can arise.

enter image description here enter image description here enter image description here

This is the patterns produced by code 1599 starting from a single black cell in a uniform white background. What makes this complicated evolving pattern more interesting is that it will eventually turn to repetitive patterns after nearly 10000 steps. We do not know if all initial conditions will eventually die out, or if they do, at what steps. This is the open problem.

In his book A New Kind of Science, Stephen Wolfram described code 1599 as having a "free will" pattern, and used it as an example of his idea of computational irreducibility.


Approaching the problem

In this project, we try to find a way to predict the long-term evolution code 1599 cellular automaton given only very small steps. We accomplished this by separating the status of the cellular automaton into three classes: dead, oscillates and evolving, and using a classifier to make predictions. The features of different status are extracted and represented as tensors. Using the default training set we currently have, the classifier function is able to accurately predict the status after 50000 steps by only looking at the first 1000 steps. Below is some sample test results of the prediction function:

  • Test 1: 100 Random initial conditions of size 6, Labeled after 30000 steps. (the test set is labeled after run for 30000, the prediction function only use the first 1000 steps to predict).

enter image description here

  • Test2: 100 Random initial conditions of size 31, Labeled after 50000 steps.

enter image description here

As we can see, not only does the classifier function have a high overall accuracy, but it also makes the right prediction on the rare cases of dead and evolving. So with the default training set. we have a classifier function that can accurately predict the status of the code 1599 after 50000 steps. We might be able to make predictions for larger steps if we use better training set.


Prediction Result

We used the prediction function on 534 initial conditions of random sizes ranging from 6 to 41, and get a prediction of 476 oscillates, 53 dead, and 5 cases of evolving. When we examine the 5 evolving initial conditions and run them to longer steps, about 100000, all of them turn to repetitive patterns. This seems to suggest that all evolving patterns will eventually turn to repetitive patterns. However, we cannot make conclusions since our classifier function is only as good as the labeled training set, and more test data is needed.


Conclusion

We have built a prediction function that can accurately predict the long-term behavior of the code 1599 cellular automaton, given only its initial condition run to 1000 steps. Using the default training set we can accurately predict status after 50000 steps. We can predict for larger steps if we provide training set labeled after larger steps. However, the limitation of the prediction function is that it is only as good as the labeled training set, so we cannot make definite conlusions about if all code 1599 evolving patterns will eventually turn to repetitive.


Future Direction - A suprising discovery

When finishing the prediction function, I played around with the rule by expanded the search space to initial conditions with repetitive backgrounds instead of just uniform ones, and I found some very interesting and surprising new patterns that resemble some of the elementary cellular automaton rules.

  • Simple Uniform Triangles

enter image description here

  • Rule 150 Elementary Cellular automaton-like nested structure

enter image description here

  • Rule 30 Elementary Cellular automaton-like chaotic pattern (the left edge of the triangle)

enter image description here

The next direction of our project would be to understand why using more complex initial conditions we would produce simple patterns resemble elementary rules that are not at all equivalent to code 1599.

POSTED BY: Minjie Lei
2 Replies

Great post. Ive read the book and Im learning the wolfram language because I want to study the computational universe in this way. Examples like this motivate me! thanks

POSTED BY: jm jones volonte

enter image description here - you earned "Featured Contributor" badge, congratulations !

This is a great post and it has been selected for the curated Staff Picks group. Your profile is now distinguished by a "Featured Contributor" badge and displayed on the "Featured Contributor" board.

POSTED BY: Moderation Team
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract