Cellular Automata
CIMPA School Tilings and Tesselations
G. Theyssier
CNRS, Université de Savoie
Isfahan, August 2015
Relation to other CIMPA lectures
symbolic dynamics
self-assembly tilings
any lecture that uses "decidable/undecidable"
Context of this lecture
discrete dynamical system:
F :K →K
K compact, F continuous
F not necessarily injective or surjective
Context of this lecture
discrete dynamical system:
F :K →K
K compact, F continuous
F not necessarily injective or surjective
symbolic space:
d
K = AZ
it is compact (Cantor topology)
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Definition
a finite object:
A : alphabet
d > 0 : dimension
U ⊆ Zd : (finite) neighborhood
f : AU → A : local transition map
d
a global map: F : AZ → AZ
d
F (x)(i) = f (x|i+U )
d
∀x ∈ AZ , ∀i ∈ Zd
Example
XOR
d = 1, A = {0, 1}, U = {−1, 0}, f (a, b) = a + b mod 2:
F (x)(i) = f (x|i+U )
F 8 (x)
F 7 (x)
F 6 (x)
F 5 (x)
F 4 (x)
F 3 (x)
F 2 (x)
F (x)
x
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
Examples
Majority
d =2
A = {0, 1}
9
U = B(0, 4)
9
f((· · · ) =
1 if #U (1) ≥ #U (0)
0 else
DEMO...
Examples
Cyclic cellular automaton
1
0
2
d =2
A = {0, 1, 2}
U = B(0, 1)
(
c + 1 mod 2
f (. . . , c, . . .) =
c
if #U (c + 1 mod 2) ≥ 3
otherwise
"go to next state in cycle if it is ≥ 3 times in neighborhood"
DEMO...
Hedlund’s Theorem
Hedlund’s Theorem
Definition
The shift maps are defined by (for any j ∈ Zd ):
Sj (x)i = x(i − j)
Theorem (Curtis-Lyndon-Hedlund)
d
Cellular automata on Q Z are exactly the continuous maps that
commutes with shift maps.
Reversibility
F global map of a CA
F can be bijective (one-to-one)
Reversibility
F global map of a CA
F can be bijective (one-to-one)
in this case, F −1 :
1
2
commutes with shift maps (why?)
is continuous (why?)
Reversibility
F global map of a CA
F can be bijective (one-to-one)
in this case, F −1 :
1
2
commutes with shift maps (why?)
is continuous (why?)
therefore F −1 is a CA by hedlund’s theorem
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Fixed-point of CA vs. SFT
fix a dimension d and an alphabet A
d
d
given a CA F : AZ → AZ , its fixed-points are
d
YF = {x ∈ AZ : F (x) = x}
Fixed-point of CA vs. SFT
fix a dimension d and an alphabet A
d
d
given a CA F : AZ → AZ , its fixed-points are
d
YF = {x ∈ AZ : F (x) = x}
Proposition
1
given a CA F , YF is a subshift of finite type
2
given a subshift of finite type X, there exists a CA F such
that X = YF
d-CA vs. (d+1)-SFT
d
d
given F : AZ → AZ define the (d+1)-SFT XF by:
x ∈ XF ⇔ ∀i ∈ Zd+1 , x i + (0, . . . , 0, 1) = f (x|i+U×{0} )
in Zd+1 , for any t ∈ Z the t-slice St is
St = {i ∈ Zd+1 : πd+1 (i) = t}
d-CA vs. (d+1)-SFT
d
d
given F : AZ → AZ define the (d+1)-SFT XF by:
x ∈ XF ⇔ ∀i ∈ Zd+1 , x i + (0, . . . , 0, 1) = f (x|i+U×{0} )
in Zd+1 , for any t ∈ Z the t-slice St is
St = {i ∈ Zd+1 : πd+1 (i) = t}
limit set: ΩF =
T
t
F t AZ
d
d-CA vs. (d+1)-SFT
d
d
given F : AZ → AZ define the (d+1)-SFT XF by:
x ∈ XF ⇔ ∀i ∈ Zd+1 , x i + (0, . . . , 0, 1) = f (x|i+U×{0} )
in Zd+1 , for any t ∈ Z the t-slice St is
St = {i ∈ Zd+1 : πd+1 (i) = t}
limit set: ΩF =
T
t
F t AZ
d
Proposition
x ∈ XF if and only if for any t ∈ Z:
x|St ∈ ΩF ;
x|St+1 = F x|St .
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Garden of Eden patterns
to simplify, we restrict to d = 1
given a CA with U = {−r , . . . , r } and f : A2r +1 → A we can
extend f to A∗ by:
f (u) = v ⇔ |u| = |v | + 2r and F ([u]) ⊆ [v ]
compactness: F surjective if and only if f surjective
Balance
the CA is balanced if
|u| = |v | ⇒ f −1 (u) = f −1 (v )
Balance
the CA is balanced if
|u| = |v | ⇒ f −1 (u) = f −1 (v )
Theorem
A CA is balanced if and only if it is surjective.
Pre-injectivity
∞
x = y if the set {i : x(i) 6= y (i)} is finite
Pre-injectivity
∞
x = y if the set {i : x(i) 6= y (i)} is finite
∞
F is pre-injective if, for any pair x = y , we have
x 6= y ⇒ F (x) 6= F (y )
Pre-injectivity
∞
x = y if the set {i : x(i) 6= y (i)} is finite
∞
F is pre-injective if, for any pair x = y , we have
x 6= y ⇒ F (x) 6= F (y )
Theorem
A cellular automaton is pre-injective if and only if it is surjective.
Pre-injectivity
∞
x = y if the set {i : x(i) 6= y (i)} is finite
∞
F is pre-injective if, for any pair x = y , we have
x 6= y ⇒ F (x) 6= F (y )
Theorem
A cellular automaton is pre-injective if and only if it is surjective.
cellular automata over any finitely generated group G
above equivalence true exactly when G is amenable
Surjunctivity
a class of maps X is surjunctive if:
if f ∈ X is injective then it is surjective
Surjunctivity
a class of maps X is surjunctive if:
if f ∈ X is injective then it is surjective
examples (other than cellular automata):
maps E → E, E finite
linear maps over a vector space of finite dimension
polynomial maps Cn → Cn (Ax-Grothendieck Theorem)
Surjunctivity
a class of maps X is surjunctive if:
if f ∈ X is injective then it is surjective
examples (other than cellular automata):
maps E → E, E finite
linear maps over a vector space of finite dimension
polynomial maps Cn → Cn (Ax-Grothendieck Theorem)
open problem (Gottschalk, 1973)
cellular automata over any finitely generated group G
problem: surjunctivity of cellular automata true for all G?
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
What is an algorithm?
Ancient view
What is an algorithm?
Ancient view
a precise method to solve a problem
+
7 2 3
9 2 5
1 6 4 8
What is an algorithm?
Ancient view
a precise method to solve a problem
+
7 2 3
9 2 5
1 6 4 8
Euclid, Erathosthenes, Al-Khwarizmi, etc
algorithms mainly executed by humans
list of examples rather than a definition
What is an algorithm?
Modern view
algorithms executed by machines
precise mathematical formalization by Turing machines
we now have a definition of
what is not computable
complexity (time, space, P, NP, etc) ← lecture F. Becker
Church-Turing thesis: this formalization captures all
conceivable algorithms
The old picture
The new picture
q
B
1
0
1
1
B
Turing machines
The syntactical definition
Definition
A Turing machine is a 5-uple where A, B, Q, qi , qf , δ where:
A is the tape alphabet;
B 6∈ A is the blank symbol;
Q is the finite set of states;
qi ∈ Q is the initial state;
qf ∈ Q is the final state;
δ : A × Q → A × Q × {−1, 0, 1} is the transition map.
δ : letter, state 7→ letter, state, move
|
{z
}
|
{z
}
read
write
Turing machines
How it runs
B-finite configurations: B except on a finite part
global state: (c, i, q) where c is B-finite, i ∈ Z and q ∈ Q
Turing machines
How it runs
B-finite configurations: B except on a finite part
global state: (c, i, q) where c is B-finite, i ∈ Z and q ∈ Q
one step starting from (c, i, q):
if δ(q, c(i)) = (q 0 , a, m)
then new global state is (c 0 , i + m, q 0 ) where
(
a
if i0 = i
0 0
c (i ) =
0
c(i ) else.
Turing machines
How it runs
B-finite configurations: B except on a finite part
global state: (c, i, q) where c is B-finite, i ∈ Z and q ∈ Q
one step starting from (c, i, q):
if δ(q, c(i)) = (q 0 , a, m)
then new global state is (c 0 , i + m, q 0 ) where
(
a
if i0 = i
0 0
c (i ) =
0
c(i ) else.
run starting from u ∈ A∗
cu : u at position 0, B elsewhere
run step by step starting from (cu , 0, qi )
if qf is reached at some step, define φM (u) as the A-word to
the right of the head
if qf is never reached, φM (u) is undefined
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qi
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qi
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qi
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qi
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qi
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qc
B
1
0
1
1
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qc
B
1
0
1
0
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qc
B
1
0
0
0
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qb
B
1
1
0
0
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qb
B
1
1
0
0
B
An example
0,0,→
1,0,←
B,B,←
qi
1,1,→
qc
0,1,←
qf
B,1,←
qb
B,B,→
1,1,←
0,0,←
qf
B
1
1
0
0
B
Computability
Definition
to a Turing machine M with alphabet A we associate a
partial map:
φM : A∗ → A∗
a partial map f : A∗ → A∗ is computable if there is a
machine M on alphabet A+ with:
1
2
A ⊆ A+
φM restricted to A∗ is f
a language L ⊆ A∗ (or problem) is decidable if its
characteristic map is computable
Computability
Definition
to a Turing machine M with alphabet A we associate a
partial map:
φM : A∗ → A∗
a partial map f : A∗ → A∗ is computable if there is a
machine M on alphabet A+ with:
1
2
A ⊆ A+
φM restricted to A∗ is f
a language L ⊆ A∗ (or problem) is decidable if its
characteristic map is computable
Theorem
The map "n 7→ n + 1" (numbers written in binary) is
computable!
Universal Turing machine
Informal version
What is a universal Turing machine?
Universal Turing machine
Informal version
What is a universal Turing machine?
your computer
a Turing machine that can compute all what is computable
by any Turing machine
a machine U which given "w" and "x" will compute
φw (x)
Universal Turing machine
Formal version
recode any alphabet to {0, 1} by blocks
βn : {0, . . . , n}∗ → {0, 1}∗
Universal Turing machine
Formal version
recode any alphabet to {0, 1} by blocks
βn : {0, . . . , n}∗ → {0, 1}∗
code Turing machines by words: w ∈ {0, 1}∗
φw : {0, . . . , kw }∗ → {0, . . . , kw }∗
Universal Turing machine
Formal version
recode any alphabet to {0, 1} by blocks
βn : {0, . . . , n}∗ → {0, 1}∗
code Turing machines by words: w ∈ {0, 1}∗
φw : {0, . . . , kw }∗ → {0, . . . , kw }∗
pairing < ·, · >: {0, 1}∗ × {0, 1}∗ → {0, 1, #}
< u, v >= u#v
Universal Turing machine
Formal version
recode any alphabet to {0, 1} by blocks
βn : {0, . . . , n}∗ → {0, 1}∗
code Turing machines by words: w ∈ {0, 1}∗
φw : {0, . . . , kw }∗ → {0, . . . , kw }∗
pairing < ·, · >: {0, 1}∗ × {0, 1}∗ → {0, 1, #}
< u, v >= u#v
Theorem (Turing)
There is a universal Turing machine U such that for any
w ∈ {0, 1}∗ and any x ∈ {0, . . . , kw }∗ we have:
φU (< w, βkw (x) >) = βkw φw (x)
Halting problem
there are more problems than Turing machines...
Halting problem
there are more problems than Turing machines...
...so there are undecidable problems!
Halting problem
there are more problems than Turing machines...
...so there are undecidable problems!
example: language H
H = w ∈ {0, 1}∗ , φw (w) defined
Theorem
H is undecidable.
Computability: survival guide
1
proving that something is computable...
high-level programming language rather than TM
re-use what is known: modularity, subroutines
a program needs a proof that it does the job!
Computability: survival guide
1
proving that something is computable...
high-level programming language rather than TM
re-use what is known: modularity, subroutines
a program needs a proof that it does the job!
2
proving that something is NOT computable...
re-use what is known: the reduction method
P: studied (decision) problem
K : known uncomputable (decision) problem
reduction: a computable map f such that
x ∈ K ⇔ f (x) ∈ P
Computability: survival guide
1
proving that something is computable...
high-level programming language rather than TM
re-use what is known: modularity, subroutines
a program needs a proof that it does the job!
2
proving that something is NOT computable...
re-use what is known: the reduction method
P: studied (decision) problem
K : known uncomputable (decision) problem
reduction: a computable map f such that
x ∈ K ⇔ f (x) ∈ P
re-use what is known: Rice’s Theorem
Rice’s Theorem
Theorem
Given any non-trivial property of the maps associated to Turing
machines, the following problem is undecidable:
input: w ∈ {0, 1}∗
question: does φw has the property?
non-trivial: there is w1 , w2 such that φw1 has the property
and φw2 has NOT the property
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Some Problems
does F admits a fixed point?
is F surjective? injective?
what is the long term behavior of F ?
etc
Fixed points
previously we showed equivalence between:
1
2
set of fixed points of a CA
subshift of finite type
Fixed points
previously we showed equivalence between:
1
2
set of fixed points of a CA
subshift of finite type
so deciding whether F has a fixed point is like deciding if a
SFT is empty.
Fixed points
previously we showed equivalence between:
1
2
set of fixed points of a CA
subshift of finite type
so deciding whether F has a fixed point is like deciding if a
SFT is empty.
Theorem
Knowing if a CA admits a fixed point is
(easily) decidable in dimension 1 — finite automata
undecidable in dimension 2 and more — wang tilings
Injectivity and surjectivity
Dimension 1
injectivity is ∀x, ∀y : F (x) = F (y ) ⇒ x = y
surjectivity is ∀y , ∃x : F (x) = y
same idea for all first-order theory:
∀x / ∃x / = / F (x) / or / and / not
Injectivity and surjectivity
Dimension 1
injectivity is ∀x, ∀y : F (x) = F (y ) ⇒ x = y
surjectivity is ∀y , ∃x : F (x) = y
same idea for all first-order theory:
∀x / ∃x / = / F (x) / or / and / not
key tool: non-deterministic Büchi automata
0
1
start
A
1
B
0
C
0, 1
1
language recognized: all infinite paths with an accepting
state appearing infinitely often
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Theorem (Büchi, Safra, etc)
1
we can decide if the language recognized is empty,
2
∃ algorithm that transform an automaton into another that
recognize the complement language.
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Theorem (Büchi, Safra, etc)
1
we can decide if the language recognized is empty,
2
∃ algorithm that transform an automaton into another that
recognize the complement language.
we can recognize S1 = y : ∃x, F (x) = y
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Theorem (Büchi, Safra, etc)
1
we can decide if the language recognized is empty,
2
∃ algorithm that transform an automaton into another that
recognize the complement language.
we can recognize S1 = y : ∃x, F (x) = y
so we can recognize S2 the complement of S1
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Theorem (Büchi, Safra, etc)
1
we can decide if the language recognized is empty,
2
∃ algorithm that transform an automaton into another that
recognize the complement language.
we can recognize S1 = y : ∃x, F (x) = y
so we can recognize S2 the complement of S1
we can recognize I = (x, y ) : x 6= y and F (x) = F (y )
Injectivity and surjectivity
Dimension 1
we work on semi-infinite configurations: AN
Theorem (Büchi, Safra, etc)
1
we can decide if the language recognized is empty,
2
∃ algorithm that transform an automaton into another that
recognize the complement language.
we can recognize S1 = y : ∃x, F (x) = y
so we can recognize S2 the complement of S1
we can recognize I = (x, y ) : x 6= y and F (x) = F (y )
Theorem (Amoroso, Patt)
Injectivity and surjectivity are decidable in 1D.
Injectivity and surjectivity
Dimension 2
Theorem (Kari)
Surjectivity and injectivity are undecidable in dimension 2.
Injectivity and surjectivity
Dimension 2
Theorem (Kari)
Surjectivity and injectivity are undecidable in dimension 2.
Long term behavior
any dimension
limit set ΩF = ∩t F t AZ
F nilpotent if |ΩF | = 1
d
Long term behavior
any dimension
limit set ΩF = ∩t F t AZ
d
F nilpotent if |ΩF | = 1
concretely equivalent to: ∃t such that F t is a constant map
Long term behavior
any dimension
limit set ΩF = ∩t F t AZ
d
F nilpotent if |ΩF | = 1
concretely equivalent to: ∃t such that F t is a constant map
Theorem (Kari)
It is undecidable to know whether a cellular automaton is
nilpotent or not.
Long term behavior
any dimension
limit set ΩF = ∩t F t AZ
d
F nilpotent if |ΩF | = 1
concretely equivalent to: ∃t such that F t is a constant map
Theorem (Kari)
It is undecidable to know whether a cellular automaton is
nilpotent or not.
Theorem (Kari)
Any non-trivial property of the limit set is undecidable.
Table of contents
1
Cellular automata basics
2
Cellular automata vs. subshifts
3
Garden of Eden Theorem
4
Interlude: computability
5
Decidability & Undecidability
6
Introduction to Ergodic Theory
Probability measures
intuition: associate a weight or probability to sets of
configurations
we define it on cylinders [u]i
it extends to all Borel sets by classical theorems
Probability measures
intuition: associate a weight or probability to sets of
configurations
we define it on cylinders [u]i
it extends to all Borel sets by classical theorems
concretely:
1
2
3
µ([u]i ) ∈ [0, 1]
d
µ(AZ ) = P
1
µ(∪Ei ) = µ(Ei ) for countable family of pairwise disjoint
sets
Bernoulli measures
intuition: state of each cell chosen independently with
same distribution
Bernoulli measures
intuition: state of each cell chosen independently with
same distribution
formally:
µ([u]i ) =
Y
a∈A
µ([a])nb a in u
Bernoulli measures
intuition: state of each cell chosen independently with
same distribution
formally:
µ([u]i ) =
Y
µ([a])nb a in u
a∈A
Definition
A measure µ is S-ergodic if for any measurable set E with is
S-invariant we have:
µ(E) ∈ {0, 1}
Bernoulli measures
intuition: state of each cell chosen independently with
same distribution
formally:
µ([u]i ) =
Y
µ([a])nb a in u
a∈A
Definition
A measure µ is S-ergodic if for any measurable set E with is
S-invariant we have:
µ(E) ∈ {0, 1}
Theorem
All product (or Bernoulli) measures are S-ergodic.
Dynamics with measures
fix F and µ in dimension 1
orbit of µ under action of F : µ, F (µ), F 2 (µ), . . .
F t (µ)(E) = µ F −t (E)
Dynamics with measures
fix F and µ in dimension 1
orbit of µ under action of F : µ, F (µ), F 2 (µ), . . .
F t (µ)(E) = µ F −t (E)
a finite word u not persistent if limt→∞ µ F −t ([u]i ) = 0
Dynamics with measures
fix F and µ in dimension 1
orbit of µ under action of F : µ, F (µ), F 2 (µ), . . .
F t (µ)(E) = µ F −t (E)
a finite word u not persistent if limt→∞ µ F −t ([u]i ) = 0
µ-limit set: subshift of configurations made of persistent
words
Dynamics with measures
fix F and µ in dimension 1
orbit of µ under action of F : µ, F (µ), F 2 (µ), . . .
F t (µ)(E) = µ F −t (E)
a finite word u not persistent if limt→∞ µ F −t ([u]i ) = 0
µ-limit set: subshift of configurations made of persistent
words
Theorem (Delacourt)
If µ is the uniform measure, any non trivial property of the
µ-limit set is undecidable.
© Copyright 2026 Paperzz