Answers.Body: <p>I am very much interested in this and will start my research on this at Ghent University soon. I'm preparing results about this approach and some preliminary results for pattern recognition in elementary cellular automaton using convolutional neural networks. I couldn't find much on this, but see e.g. <a href="https://direct.mit.edu/isal/proceedings/isal2019/280/99182" rel="nofollow noreferrer">this</a> (very limited) paper.</p>
  <p>Please keep me posted via <a href="https://www.researchgate.net/profile/Michiel-Rollier" rel="nofollow noreferrer">my ResearchGate page</a> if you make any progress :)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-16T15:10:00.713Z
Answers.Text: Can you elaborate on the goal of the research? Is the goal to automatically identifying rules leading to complex patterns? If so, how is "complex" defined?
Answers.UserDisplayName: Rexcirus
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-17T10:40:33.467Z
Answers.Text: As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer).
Answers.UserDisplayName: Community
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-16T12:37:31.527Z
Answers.LastActivityDate: 2023-02-16T12:38:55.717Z
Answers.LastEditDate: 2023-02-16T12:38:55.717Z
Answers.UserDisplayName: michiel
Answers.Body: <p>I'm afraid that the application is so obscure that this has not been done due to lack of interests. As a supervised learning classification problem it seems a fairly easy one, I bet you should be able to build a computer vision classifier with high accuracy in an afternoon, by finetuning a pretrained convolutional neural network on a small dataset of examples. The latter are easy to generate programmatically.</p>
  <p>Perhaps a non trivial example of ML + cellular automata is <a href="https://distill.pub/2020/growing-ca/" rel="nofollow noreferrer">this</a> work on Growing Neural Cellular Automata, showing how self-organising patterns can emerge from simple rules and be able to rigenerate lost limbs or entire body parts.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-16T10:12:09.817Z
Answers.Text: Thanks for the link to growing neural cellular automata - it's fascinating.
Answers.UserDisplayName: Hans-Peter Stricker
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-15T15:28:32.223Z
Answers.LastActivityDate: 2023-02-15T15:39:04.153Z
Answers.LastEditDate: 2023-02-15T15:39:04.153Z
Answers.UserDisplayName: Rexcirus
Answers.Body: <p>As you say in your question, there are many directions &quot;machine learning with cellular automata&quot; can take.</p>
  <h3>Classifying cellular automata space-time diagrams with ML</h3>
  <p>I know of these two works that use neural networks to classify cellular automata into one of the 4 Wolfram classes:</p>
  <ul>
  <li><a href="https://community.wolfram.com/groups/-/m/t/1417114" rel="nofollow noreferrer">https://community.wolfram.com/groups/-/m/t/1417114</a></li>
  <li><a href="https://direct.mit.edu/isal/proceedings/isal2019/280/99182" rel="nofollow noreferrer">https://direct.mit.edu/isal/proceedings/isal2019/280/99182</a> [1]</li>
  </ul>
  <p>In general, predicting the Wolfram class is tricky because it is not a well-defined notion.</p>
  <p>This is part of the larger problem of classifying cellular automata behavior from their space-time diagram (or rule, etc.), for which there are also many non-ML approaches. For example, [2] uses compression to estimate the complexity of the CA, while [3] uses the asymptotic properties of the transient sizes.</p>
  <p>In related work [4], Gilpin used a convolutional neural network representation of CA to learn the rules. He estimates the complexity of a rule from &quot;how hard it is to learn that rule.&quot;</p>
  <h3>Cellular automata and neural networks</h3>
  <p>@Rexcirus has pointed you to the very interesting &quot;Growing neural cellular automata&quot; paper. The same authors have recently been working on a continuous cellular automaton called Lenia, extending it to create <a href="https://google-research.github.io/self-organising-systems/particle-lenia/" rel="nofollow noreferrer">Particle Lenia</a>.</p>
  <p>The whole idea behind these examples is to use a convolutional neural network to implement a CA-like system. This has many advantages, including being able to use all the NN properties and differentiability to &quot;learn&quot; things with the CA.</p>
  <p>There is a fundamental difference between the usual discrete CA and the neural network-based extensions because you move to continuous space. However, there are interesting connections to be made between the two models.</p>
  <h3>Cellular automata as ML systems</h3>
  <p>Another approach is using the CA as the basis of a ML system, harvesting its computations to make predictions. This is done with something called reservoir computing. This whole subfield is called reservoir computing with cellular automata (ReCA), and you might be interested in it. Here are a few papers to get you started (including one of mine) [5,6,7,8].</p>
  <ol>
  <li>Silverman, E. Convolutional Neural Networks for Cellular Automata Classification. Artificial Life Conference Proceedings 31, 280–281 (2019).</li>
  <li>Zenil, H. Compression-Based Investigation of the Dynamical Properties of Cellular Automata and Other Systems. Complex Systems 19, (2010).</li>
  <li>Hudcová, B. &amp; Mikolov, T. Classification of Complex Systems Based on Transients. in 367–375 (MIT Press, 2020). doi:10.1162/isal_a_00260.</li>
  <li>Gilpin, W. Cellular automata as convolutional neural networks. arXiv:1809.02942 [cond-mat, physics:nlin, physics:physics] (2018).</li>
  <li>Yilmaz, O. Reservoir Computing using Cellular Automata. arXiv:1410.0162 [cs] (2014).</li>
  <li>Nichele, S. &amp; Molund, A. Deep Reservoir Computing Using Cellular Automata. arXiv:1703.02806 [cs] (2017).</li>
  <li>Cisneros, H., Mikolov, T. &amp; Sivic, J. Benchmarking Learning Efficiency in Deep Reservoir Computing. in Proceedings of The 1st Conference on Lifelong Learning Agents 532–547 (PMLR, 2022).</li>
  <li>Glover, T. E., Lind, P., Yazidi, A., Osipov, E. &amp; Nichele, S. The Dynamical Landscape of Reservoir Computing with Elementary Cellular Automata. in ALIFE 2021: The 2021 Conference on Artificial Life (MIT Press, 2021).</li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-18T11:02:29.483Z
Answers.Text: Thanks a lot, Hugo! Do you have an intuition if classifying cellular automata by (typical) isolated states could work (not sequences = spacetime diagrams). Spontaneously you may say, "no, won't work". But maybe it deserves a second look.
Answers.UserDisplayName: Hans-Peter Stricker
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-20T13:21:48.650Z
Answers.Text: @Hans-PeterStricker, the problem with isolated states is that you cannot tell if it is part of a constant or periodic pattern or a more complex structure that evolves over time. There might be interesting structures in a single state, but they are not that interesting if they never change.
Answers.UserDisplayName: hugcis
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-28T14:34:35.193Z
Answers.Text: @Hans-PeterStricker, Also, for a general review of CA classification, see [this article](https://www.sciencedirect.com/science/article/pii/S0167278921002311)
Answers.UserDisplayName: hugcis
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-12T15:25:55.753Z
Answers.Text: Thanks a lot for the link to this valuable paper. I knew about it but haven't read it until now. Especially footnotes [33] and [34] are very promising references.
Answers.UserDisplayName: Hans-Peter Stricker
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-17T15:18:05.643Z
Answers.LastActivityDate: 2023-02-17T15:18:05.643Z
Answers.UserDisplayName: hugcis
Body: <p>I wonder if machine learning has ever been applied to space-time diagrams of <a href="https://en.wikipedia.org/wiki/Cellular_automaton" rel="noreferrer">cellular automata</a>. What comprises a training set seems clear: a number of space-time diagrams of one or several (elementary) cellular automata. For a supervised learning task, the corresponding local rules may be given as labels, e.g. in Wolfram's notation. Another label could be the complexity class of the rule (according to some classification, e.g. Wolfram's). But I am more interested in unsupervised learning tasks.</p>
  <p><a href="https://i.sstatic.net/1IUuN.png" rel="noreferrer"><img src="https://i.sstatic.net/1IUuN.png" alt="enter image description here" /></a></p>
  <p>I'm just starting to think about this topic and am not clear, yet, what the purpose of such a learning task should be. It may be (unsupervised) classification, feature extraction, object recognition (objects = gliders), or hypothesis generation (&quot;what's the underlying rule?&quot;).</p>
  <p>Where can I start or continue my investigation? Has there already work been done into this direction? Is it immediately clear by which ML technique the problem should be approached? Convolutional neural networks?</p>
  
Tags: <machine-learning><convolutional-neural-networks><reference-request><cellular-neural-networks>
Title: Machine learning applied to space-time diagrams of cellular automata
UserDisplayName: Hans-Peter Stricker
ThreadText: # Machine learning applied to space-time diagrams of cellular automata
  
  (Asked by: username_0 on 2023-02-08)
  
  I wonder if machine learning has ever been applied to space-time diagrams of [cellular automata](https://en.wikipedia.org/wiki/Cellular_automaton). What comprises a training set seems clear: a number of space-time diagrams of one or several (elementary) cellular automata. For a supervised learning task, the corresponding local rules may be given as labels, e.g. in Wolfram's notation. Another label could be the complexity class of the rule (according to some classification, e.g. Wolfram's). But I am more interested in unsupervised learning tasks.
  
  [![enter image description here](https://i.sstatic.net/1IUuN.png)](https://i.sstatic.net/1IUuN.png)
  
  I'm just starting to think about this topic and am not clear, yet, what the purpose of such a learning task should be. It may be (unsupervised) classification, feature extraction, object recognition (objects = gliders), or hypothesis generation ("what's the underlying rule?").
  
  Where can I start or continue my investigation? Has there already work been done into this direction? Is it immediately clear by which ML technique the problem should be approached? Convolutional neural networks?
  
  **Tags:** machine-learning, convolutional-neural-networks, reference-request, cellular-neural-networks
  
  ---
  
  ## 3 answers
  
  ### Answer by username_4 on 2023-02-17. Score: 4 | Accepted answer
  
  As you say in your question, there are many directions "machine learning with cellular automata" can take.
  
  ### Classifying cellular automata space-time diagrams with ML
  
  I know of these two works that use neural networks to classify cellular automata into one of the 4 Wolfram classes:
  
  * <https://community.wolfram.com/groups/-/m/t/1417114>
  * <https://direct.mit.edu/isal/proceedings/isal2019/280/99182> [1]
  
  In general, predicting the Wolfram class is tricky because it is not a well-defined notion.
  
  This is part of the larger problem of classifying cellular automata behavior from their space-time diagram (or rule, etc.), for which there are also many non-ML approaches. For example, [2] uses compression to estimate the complexity of the CA, while [3] uses the asymptotic properties of the transient sizes.
  
  In related work [4], Gilpin used a convolutional neural network representation of CA to learn the rules. He estimates the complexity of a rule from "how hard it is to learn that rule."
  
  ### Cellular automata and neural networks
  
  @Rexcirus has pointed you to the very interesting "Growing neural cellular automata" paper. The same authors have recently been working on a continuous cellular automaton called Lenia, extending it to create [Particle Lenia](https://google-research.github.io/self-organising-systems/particle-lenia/).
  
  The whole idea behind these examples is to use a convolutional neural network to implement a CA-like system. This has many advantages, including being able to use all the NN properties and differentiability to "learn" things with the CA.
  
  There is a fundamental difference between the usual discrete CA and the neural network-based extensions because you move to continuous space. However, there are interesting connections to be made between the two models.
  
  ### Cellular automata as ML systems
  
  Another approach is using the CA as the basis of a ML system, harvesting its computations to make predictions. This is done with something called reservoir computing. This whole subfield is called reservoir computing with cellular automata (ReCA), and you might be interested in it. Here are a few papers to get you started (including one of mine) [5,6,7,8].
  
  1. Silverman, E. Convolutional Neural Networks for Cellular Automata Classification. Artificial Life Conference Proceedings 31, 280–281 (2019).
  2. Zenil, H. Compression-Based Investigation of the Dynamical Properties of Cellular Automata and Other Systems. Complex Systems 19, (2010).
  3. Hudcová, B. & Mikolov, T. Classification of Complex Systems Based on Transients. in 367–375 (MIT Press, 2020). doi:10.1162/isal\_a\_00260.
  4. Gilpin, W. Cellular automata as convolutional neural networks. arXiv:1809.02942 [cond-mat, physics:nlin, physics:physics] (2018).
  5. Yilmaz, O. Reservoir Computing using Cellular Automata. arXiv:1410.0162 [cs] (2014).
  6. Nichele, S. & Molund, A. Deep Reservoir Computing Using Cellular Automata. arXiv:1703.02806 [cs] (2017).
  7. Cisneros, H., Mikolov, T. & Sivic, J. Benchmarking Learning Efficiency in Deep Reservoir Computing. in Proceedings of The 1st Conference on Lifelong Learning Agents 532–547 (PMLR, 2022).
  8. Glover, T. E., Lind, P., Yazidi, A., Osipov, E. & Nichele, S. The Dynamical Landscape of Reservoir Computing with Elementary Cellular Automata. in ALIFE 2021: The 2021 Conference on Artificial Life (MIT Press, 2021).
  
  > **Comments:**
  > **username_0**: Thanks a lot, Hugo! Do you have an intuition if classifying cellular automata by (typical) isolated states could work (not sequences = spacetime diagrams). Spontaneously you may say, "no, won't work". But maybe it deserves a second look.  
  > **username_4**: @Hans-PeterStricker, the problem with isolated states is that you cannot tell if it is part of a constant or periodic pattern or a more complex structure that evolves over time. There might be interesting structures in a single state, but they are not that interesting if they never change.  
  > **username_4**: @Hans-PeterStricker, Also, for a general review of CA classification, see [this article](https://www.sciencedirect.com/science/article/pii/S0167278921002311)  
  > **username_0**: Thanks a lot for the link to this valuable paper. I knew about it but haven't read it until now. Especially footnotes [33] and [34] are very promising references.  
  
  ---
  
  ### Answer by username_1 on 2023-02-16. Score: 2
  
  I am very much interested in this and will start my research on this at Ghent University soon. I'm preparing results about this approach and some preliminary results for pattern recognition in elementary cellular automaton using convolutional neural networks. I couldn't find much on this, but see e.g. [this](https://direct.mit.edu/isal/proceedings/isal2019/280/99182) (very limited) paper.
  
  Please keep me posted via [my ResearchGate page](https://www.researchgate.net/profile/Michiel-Rollier) if you make any progress :)
  
  > **Comments:**
  > **username_2**: Can you elaborate on the goal of the research? Is the goal to automatically identifying rules leading to complex patterns? If so, how is "complex" defined?  
  > **username_3**: As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer).  
  
  ---
  
  ### Answer by username_2 on 2023-02-15. Score: 0
  
  I'm afraid that the application is so obscure that this has not been done due to lack of interests. As a supervised learning classification problem it seems a fairly easy one, I bet you should be able to build a computer vision classifier with high accuracy in an afternoon, by finetuning a pretrained convolutional neural network on a small dataset of examples. The latter are easy to generate programmatically.
  
  Perhaps a non trivial example of ML + cellular automata is [this](https://distill.pub/2020/growing-ca/) work on Growing Neural Cellular Automata, showing how self-organising patterns can emerge from simple rules and be able to rigenerate lost limbs or entire body parts.
  
  > **Comments:**
  > **username_0**: Thanks for the link to growing neural cellular automata - it's fascinating.  
  
  ---
  
  