Continuous Cellular Automata
and
Chaotic Strings

Kiran Lall Shrestha, PhD

Wolfram Technology Conference
November 6, 2025

#WolframTechConf

Dedicated to the loving memory of my father

ABSTRACT

We explore continuous cellular automata, by investigating different neighborhood sizes and activation functions, and see how small perturbations affect their evolution. We classify the resulting automata according to their complexity. We investigate intrinsic randomness generation and sensitivity to initial conditions, while on the way toward building a computational tool, for studying the foundation of chaotic string theory, using Wolfram Mathematica.

Introduction

Notes

The main computations shown throughout this presentation were performed with accuracy set to (10^4):
N[_,{∞,(10^4)}]

An external reference is indicated in bold by a number within square brackets. For example, [4] means reference 4.

A reference within this presentation is indicated by a number and character(s) separated by hyphen(s) within parentheses. For example, (2-c-d) means Section (2), Subsection (c), Subsubsection (d).

References

Giorgio Parisi and Yongshi Wu (1981), “Perturbation theory without gauge fixing”, Scientia Sinica, Volume XXIV, Number 4.
https://dds.sciengine.com/cfs/files/pdfs/view/1000-0002/ND788HY5Zy6xPfrcr.pdf

Christian Beck (2001), “Chaotic strings and standard model parameters”, arXiv.
https://arxiv.org/pdf/hep-th/0105152

Carl P Dettmann (2002), “Stable synchronised states of coupled Tchebyscheﬀ maps”, Physica D: Nonlinear Phenomena, Volume 172, Issue 1-4.
https://arxiv.org/pdf/nlin/0110007

Stephen Wolfram (2002), A New Kind Of Science. Wolfram Media, Inc.
https://www.wolframscience.com/nks/

Christian Beck (2002), Spatio Temporal Chaos and Vacuum Fluctuations of Quantized Fields. World Scientific Publishing Co. Pte. Ltd.
https://www.amazon.com/Spatio-Temporal-Vacuum-Fluctuations-Quantized/dp/9810247982

Christian Beck (2002), “Spatio-temporal Chaos and Vacuum Fluctuations of Quantized Fields”, arXiv.
https://arxiv.org/pdf/hep-th/0207081

Stefan Groote and Hardi Veermäe (2009), “Short chaotic strings and their behaviour in the scaling region”, arXiv.
https://arxiv.org/pdf/0803.2991

Kiran L Shrestha (2025), “ChaoticStrings”, GitHub.
https://github.com/KiranLShrestha/ChaoticStrings

Kiran Shrestha (2025), “[WSS25] Exploring continuous cellular automata with respect to small perturbations”, Wolfram Community post.
https://community.wolfram.com/groups/-/m/t/3497743

Motivation

Here, we do some fundamental exploration in what are called continuous cellular automata, sometimes also known as coupled map lattices. Basically, these are just cellular automata, with each cell containing a value from a continuous range of real numbers.

Some special types of these systems are known as chaotic strings, which have been used to correctly predict several fundamental parameters of physics [2, 5, 6], following the approach taken in [1], but using chaotic noise instead of white noise.

In [8], I have written a program in Wolfram Mathematica aimed at validating -- at least approximately -- the prediction of one of the parameters, namely the fine structure constant, shown on pp. 11-12 in [2] and on pp. 133-136 in [5].

Please note that the illustration below resembles Fig. 7.2 in [5] rather well.

In the following plot for the chaotic string 3(SuperPlus[A]) (please see (3-a) below)(By the way, the section number here doesn’t have any connection with the label of the chaotic string!!), the so-called “Interaction Energy”, which is simply half of the average value of the product of the values of all two consecutive cells in the cellular automaton evolution using periodic boundary conditions, has been plotted versus the coupling parameter a.

Whereas in Fig. 7.2 in [5], a coupled map lattice (continuous cellular automaton) of size (10^4) with periodic boundary conditions had been used to compute the average over about (10^7) iterations, in the illustration below, a similar lattice of size (10^3) has been used to compute the average over the last 2*(10^3) iterations out of a total of 2,050 iterations.

In the illustration below, with the parameter a ∈ [0.000, 0.018], two sets of plots have been superimposed, each of which resembles Fig. 7.3 in [5] rather well.

The red plot shows the result from a similar lattice of size (10^3) which has been used to compute the average over the last 1*(10^5) iterations after ignoring the initial “transient” of 50 iterations.

INTERESTINGLY, the yellow plot shows the result from a similar lattice of size only 4 (FOUR) which has been used to compute the average over the last 6*(10^7) iterations after ignoring the initial “transient” of 50 iterations.

The fact that these two plots almost overlap each other so very well is due to the very interesting fact discovered in [7], that very small lattices of size 3, 4 or 5 -- as the case may be -- suffice as long as the value of the coupling parameter a is very small compared to 1.

There are two points where the curve crosses the horizontal 0-axis with a negative slope. According to p. 135 of [5], the second of these points corresponds to ((Subscript[a, 2])^((3(SuperPlus[A])))) = (Subscript[α, el])(3(Subscript[m, e])), which is the electric fine structure parameter α at the energy scale of 3 times the mass of the electron.

Computation of α from ((Subscript[a, 2])^((3(SuperPlus[A])))) = (Subscript[α, el])(3(Subscript[m, e]))

{m[e], m[μ], m[τ], m[u], m[c], m[t], m[d], m[s], m[b]}
= {0.000510998902, 0.1056583569, 1.77705, 0.005, 1.3, 176, 0.01, 0.2, 4.4};
(* elementary particle masses in GeV*)
(* Ref.: "https://www.wolframscience.com/nks/notes-9-14--particle-masses/" *)

{f[e], f[μ], f[τ], f[u], f[c], f[t], f[d], f[s], f[b]}
= {1, 1, 1, (4/3), (4/3), (4/3), (1/3), (1/3), (1/3)};
(* "charge factors" *)
(* Ref.: p. 135 of [5] *)

αEl[energy_] := αEl[0] ( 1 + 2 ((αEl[0])/π) (∑_(i ∈ { e, μ, τ, u, c, t, d, s, b })) f[i] (∫_0^1) x (1 - x) Log[ 1 + x (1 - x) ((((energy/(m[i]))))^2) ] \[DifferentialD]x )
(* First-order QED formula *)
(* Ref.: Equation (7.4) in [5] *)

((Subscript[a, 2])^((3(SuperPlus[A])))) == 0.007303 == αEl[ 3 * m[e] ]
->
αEl[0] == 0.007297 == (1/137.036) == α == "fine structure constant"

The main motivation for the current exploration comes from the following two sources:

(A) At the end of the Abstract in [3], the following statement has been made regarding chaotic string theory [2, 5, 6]:

“... These results indicate that a theory of particle physics based on coupled map lattices must specify strong physical arguments for any choice of initial conditions, and explain how stochastic quantisation is obtained in the many stable parameter regions.”

(B) In [4], on pp. 149-155, the following crucial observations have been made:

(b1)	A number’s digit sequence can sometimes be at least as important as its size.

(b2)	The iterations of some functions converge to some uniform pattern, independent of the initial conditions.

(b3)	The iterations of some functions simply display the randomness or complexity inherent in the initial conditions. They do not generate randomness or complexity if the initial conditions are simple.

(b4)	However, there are some functions whose iterations can generate intrinsic randomness or complexity, independent of the initial conditions.

The eventual goal of the present work is to make progress toward addressing the above concerns in [3] by using the above observations in [4].

Here we do some basic studies on how small perturbations affect the evolution of various continuous cellular automata.

We will continue to address the above concerns in [3] in more detail in a future work.

Overview

Section 1 (Various types of effect of small perturbations)

In Section 1, we do some basic studies of continuous cellular automata, by categorizing the various types of patterns generated when subtracting a small value δ from the initial value 1, where δ is a small perturbation within the range Range[0,(1/100),(1/100000)].

Section 2 (Intrinsic randomness generation and sensitivity to initial conditions)

In Section 2, we investigate how the overall evolution changes when we:

(A) perturb the initial conditions very slightly by adding a tiny perturbation δ = (10^(-20)), and also

(B) change the initial conditions between having a simple digit sequence and having a complicated digit sequence.

By starting with the number (1/2) which has a simple digit sequence, and with the number (π/6) which has a complicated digit sequence, and by using the 4 different mappings as shown on p. 150 of [4], we explore the phenomena of intrinsic randomness generation and sensitivity to initial conditions.

Starting with a tiny perturbation δ, as the iteration proceeds, if large differences suddenly start arising after some point, then there is sensitivity to initial conditions.

When starting with (1/2), if we see an apparently random behavior which is qualitatively similar to that when starting with (π/6), then it means that the apparent randomness is not coming from the initial conditions. Therefore, we have intrinsic randomness generation.

Section 3 (Chaotic Strings)

In Section 3, we extend the investigation of Section 2 to chaotic strings.

We investigate with the total of 26 special values of the parameter a listed in Tables 12.1-3 on pp. 241-244 in [5] and in Tables 1-3 on pp. 20-23 in [6].

Corresponding to each value of a, we consider three values -- including the slightly lower value and the slightly higher value based on the given uncertainty.

Therefore, we compute a total of 26 × 3 = 78 cases -- each of these cases further splitting into two -- one corresponding to the initial value (1/2), and the other corresponding to the initial value (π/6).

(1) Various types of effect of small perturbations

(1-a) Introduction

We define the following customizable activation function f, and study the cellular automaton evolution for neighborhood radius = 1, 2 and 3.

f[x_,{{a_,b_,c_,d_},{0,0}}]:=FractionalPart[a (x^3)+b (x^2)+c x+d];
f[x_,{{_,_,_,_},{k_,p_}}]:=FractionalPart[((p*x)/k)]/;(k*p≠0)∧(k>=0∧p>=0)∧(x<=k);
f[x_,{{_,_,_,_},{k_,p_}}]:=FractionalPart[((p*(1-x))/(1-k))]/;(k*p≠0)∧(k>=0∧p>=0)∧(x>k);

Throughout this section, we take the min and the max of both x and f[x, __] to be 0 and 1, respectively.

When k*p ≠ 0, then a, b, c and d are ignored, and f becomes a piecewise-linear “tent” function.

Basically, k and p become the x and y coordinates, respectively, of the apex of the “tent”.

For convenient reference, here are some sample values of a, b, c, d, k and p for some special cases:

abcdkp01={{0,4,-4,1},{0,0}}(* "ChebyshevT[2, x]" for 0<=x<=1 *);
abcdkp02={{16,-24,9,0},{0,0}}(* "ChebyshevT[3, x]" for 0<=x<=1 *);
abcdkp03={{0,-4,4,0},{0,0}}(* "ChebyshevT[2, x]" flipped upside down *);
abcdkp04={{-16,24,-9,1},{0,0}}(* "ChebyshevT[3, x]" flipped upside down *);
abcdkp05={{0,0,0,0},{(6/10),(943/1000)}}(* a "tent" function *);

Starting with one of the above sample cases, we can experiment further.

In this section we use the activation function f using the following algorithm:

Algorithm 1:

(A) Corresponding to each cell, take the average of all the cells in its neighborhood, and apply the activation function to the average. The result is the new value of the cell on the next row.

(B) After computing the values of all the cells in the new row, subtract the average of the neighboring cells from the value of each cell, and take the absolute value of the result. This helps to filter out some stripe patterns.

The initial value is (1 - δ), where δ is a small perturbation within the range Range[0,(1/100),(1/100000)].

By varying the value of δ, we observe whether there is any change in the overall pattern.

We examine the effects of small perturbations to the simple initial conditions, and gather the results into the following three groups, and then, within each group, classify further into Classes 1, 2, 3 and 4, as applicable:

(1-d) Results stable with respect to small perturbations

(1-e) Results sensitive with respect to small perturbations

(1-f) Results sensitive only at particular threshold values of perturbation

(1-b) Experiments

(1-c) Results stable with respect to small perturbations

In these cases, categorized into Classes 1-4, changes within the used range of δ-values do not seem to affect the cellular automaton evolution:

Class 1

Class 2

Class 3

Class 4

(1-d) Results sensitive with respect to small perturbations

In these cases, categorized into Classes 1-4, as applicable, changes within the used range of δ-values do seem to affect the cellular automaton evolution:

Class 2

Class 3

Class 4

(1-e) Results sensitive only at particular threshold values of perturbation

In these cases, categorized into Classes 1-4, as applicable, changes within the used range of δ-values seem to affect the cellular automaton evolution, but for each case at only a certain threshold value of δ:

Class 2

Class 3

Class 4

(2) Intrinsic randomness generation and sensitivity to initial conditions

(2-a) Introduction

In this section also, we similarly define a customizable activation function f, and study the evolution for radius = 1, 2 and 3.

For convenient reference, here are some sample values of a, b, c, d, k and p for some special cases:

abcdkpA={{0,0,(3/2),0},{0,0}}(* Case (a) on p. 150 of [4] below *);
abcdkpB={{0,0,0,0},{(1/2),(3/4)}}(* Case (b) on p. 150 of [4] below *);
abcdkpC={{0,0,(3/4),0},{0,0}}(* Case (c) on p. 150 of [4] below *);
abcdkpD={{0,0,2,0},{0,0}}(* Case (d) on p. 150 of [4] below *)(* shift map *);

Here, the way we use this activation function f on each cell is the following:

Algorithm 2:

(A) Take the average of all the cells in its neighborhood, and apply f to the average. The result is the new value of the cell on the next row.

We use an initial value u, which is either (1/2) or (π/6), both of which are rather close in magnitude but totally different in digital expansion:

Next, we use the initial value (u + δ), where δ is a small perturbation = (10^(-20)).

We compute and study the behavior of the absolute values of the differences between the above two results as the cellular automaton evolution proceeds.

Corresponding to each row, we take the average of the above absolute values and plot it as a function of the iteration number.

We perform 4 sets of experiments with (1/2) and (π/6), using the 4 mappings as shown on p. 150 of [4].

(2-b) Experiments

(2-c) Results

Comparing with what has been observed on pp. 150-151 in [4]:

(a)

Here also, we observe both intrinsic randomness generation and sensitivity to initial conditions.

(b)

Again, we observe both intrinsic randomness generation and sensitivity to initial conditions.

(c)

Here also, we observe evolution to zero, independent of the initial conditions.

(d)

Here, we do observe sensitivity to initial conditions. However, unlike what has been observed for case (d) on pp. 150-151 in [4], here in the case of continuous cellular automata, we observe intrinsic randomness generation for this case.

(3) Chaotic Strings

(3-a) Introduction

We investigate intrinsic randomness generation and sensitivity to initial conditions in the case of the eight (based on the values of n, b and s) continuous cellular automata (the so-called chaotic strings), for various values of the coupling parameter a, as indicated below, for a radius-1 neighborhood.

Here are the ranges of the various parameters and variables involved:

n ∈ {2, 3}
b ∈ {1, 0}
s ∈ {+1, -1}
a ∈ [0, 1]
x ∈ [-1, +1]

Here are the definitions used in the cellular automaton rule for the chaotic strings:

t[2,x_]:=ChebyshevT[2,x];
t[3,x_]:=ChebyshevT[3,x];
q[n_,x_,b_]:=b*t[n,x]+(1-b)*x;
caRuleChaoticString[n_,b_,s_,a_]:={{x_,y_,z_}:>t[n,y]+a*Mean[{s*q[n,x,b]-t[n,y],s*q[n,z,b]-t[n,y]}]};

Corresponding to the different values of n, b and s, we obtain the following 8 different chaotic strings:

n	b	s	Chaotic String
2	1	+1	2(SuperPlus[A])
2	1	-1	2(SuperMinus[A])
2	0	+1	2(SuperPlus[B])
2	0	-1	2(SuperMinus[B])
3	1	+1	3(SuperPlus[A])
3	1	-1	3(SuperMinus[A])
3	0	+1	3(SuperPlus[B])
3	0	-1	3(SuperMinus[B])

We investigate the 26 special values of the parameter a listed in Tables 12.1-3 on pp. 241-244 in [5] and in Tables 1-3 on pp. 20-23 in [6], as indicated below:

(3-b) Experiments

Since we work in the domain [-1, +1] in this section, we use the following color code:

(3-c) Results

As mentioned near the beginning of this presentation, the results below in this section should help toward addressing the concerns in [3], regarding the foundation of the theory of chaotic strings [2, 5, 6].

Concluding Remarks

When exploring various continuous cellular automata, including chaotic strings, we have found various instances of intrinsic randomness generation and/or sensitivity to initial conditions.

This foundational work should help to examine the foundation of chaotic string theory which correctly predicts various physical parameters of fundamental physics.

We will continue more detailed investigations in a future work.

Acknowledgments

It has been my good fortune to have, as my mentor for this project, Dugan Hammock who has been very kind, helpful and supportive.

Dugan’s amazingly acute observation, of visually almost indistinguishable asymmetry in some of my earlier cellular automata plots, opened my eyes to the risk involved in working with machine precision, and hence was crucial in setting the direction of my research.

From the very beginning, I have been grateful to Xerxes Arsiwalla for his enthusiastic encouragement, high-level support and wise guidance throughout my research.

I greatly appreciate Stephen Wolfram for kindly, and with deep understanding and foresight, suggesting to me this project which is foundational for my longer-term research goals.

From the bottom of my heart, I thank Stephen and the entire Wolfram Summer School 2025 (WSS25) team for organizing the wonderful summer school program, which has been a very enjoyable and special experience in my life.

WSS25 has tremendously helped me to get started on a concrete path in this current ongoing research project.

I deeply thank the organizers of Wolfram Technology Conference 2025 for giving me this opportunity to present the current status of my research.

Thank you so much!! 🙏