0% found this document useful (0 votes)
8 views16 pages

Lexicodes Slide

Uploaded by

Damla Aslan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views16 pages

Lexicodes Slide

Uploaded by

Damla Aslan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Error-Correcting Codes Derived from Cellular

Automata Games

Damla Zerya Aslan

July 14, 2024


Introduction

▶ Cellular Automata games are models where players interact


with a grid of cells that evolve over time.
▶ In two-player Celata games players alternately change the
state of cells.
▶ Error-correcting codes are constructs for detecting and
correcting transmission errors.
▶ Linear error-correcting codes use algebraic methods for
encoding and decoding.
Preliminaries

▶ Games on a digraph G = (V, E) with V = {z1 , . . . , zn }.


▶ Tokens distributed on vertices; moves involve selecting and
moving tokens.
▶ Vertex labeling: N if the next player has a winning move, P
otherwise.
F(u) = {v ∈ V : (u, v) ∈ E}

u ∈ P ⇐⇒ F(u) ⊆ N
u ∈ N ⇐⇒ F(u) ∩ P = ∅
Preliminaries

▶ The numerical value of a vector u = (u0 , . . . , un−1 ) ∈ GF(2)n


is:

n−1
|u| := ui 2i
i=0
▶ The weight of u is the number of 1-bits in u:


n−1
w(u) = ui
i=0

▶ The Grundy number (or nimber) g(x) of a position x in a


combinatorial game is defined recursively as:

g(u) = mex{g(v) : v ∈ F(u)}


Example

▶ Consider the game graph below and compute Grundy


numbers:

z0 g(z0 ) = 1
g(z1 ) = 0
z1 z2 z3 g(z2 ) = 0
g(z3 ) = 0
g(z4 ) = 1
z4 g(z5 ) = 0
g(z6 ) = 0
g(z7 ) = 0
z5 z6 z7
Vector Matrix

▶ Construct the vector matrix W for the game:


 
1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
 
0 1 1 0 0 0 0 0
 
1 0 1 0 0 0 0 0
W=
0

 1 1 1 0 0 0 0
0 0 0 1 1 0 0 0
 
0 0 0 0 1 1 0 0
0 0 0 0 0 1 1 0

▶ Each row corresponds to a vertex zi in the game.


Vector Space Operations
Theorem
In the vector space V, the sum of any two vertices u, v ∈ V is given
by their vector addition in GF(2).

Proof.


n−1
u= ui zi
i=0

n−1
v= vi zi
i=0

n−1
u⊕v= (ui ⊕ vi )zi
i=0
Vector Space Operations

▶ Summing vectors in GF(2):

u = (1, 0, 0, 0, 1, 0, 0)
v = (0, 1, 0, 1, 0, 0, 0)
u ⊕ v = (1, 1, 0, 1, 1, 0, 0)

▶ Hamming distance between vectors:

u = (1, 0, 0, 0, 1, 0, 0)
v = (0, 1, 0, 1, 0, 0, 0)
H(u, v) = w(u ⊕ v) = w(1, 1, 0, 1, 1, 0, 0) = 4
Lexicodes

Definition
Lexicodes are a type of error-correcting code that can be generated
using lexicographic order on binary vectors.
▶ Lexicodes are constructed by selecting vectors in lexicographic
order with a minimum Hamming distance.
Lexicode L = {v ∈ Vm : Hamming distance d ≥ 5}
g(zi ) = mex{g(zi1 ) ⊕ g(zi2 ) ⊕ . . . ⊕ g(zij )}
Lexicode Algorithm

▶ Calculate g(zm ) for each state m.


▶ Identify seeds (not sums of smaller g-values).
▶ Generate basis members from seeds.
▶ Apply greedy algorithm for lexicodes.
Lexicode L = {v ∈ Vm : Hamming distance d ≥ 5}
Example
▶ Consider a game with n = 5 and 3 dimensions.
▶ Basis vectors:
v1 = (1, 0, 0, 0, 0), v2 = (0, 1, 0, 0, 0), v3 = (0, 0, 1, 0, 0)
▶ Linear independence means no vector in the set can be
represented as a linear combination of the others.
a1 v1 + a2 v2 + a3 v3 = 0
a1 = a2 = a3 = 0

z0

z1 z2

z3 z4 z5 z6
Greedy Algorithm for Lexicodes

▶ Start with the smallest vector not yet in the code.


▶ Add vectors in lexicographic order, ensuring a minimum
Hamming distance.
▶ Example: Start with v1 = (1, 0, 0, 0, 0).
▶ Add v2 = (0, 1, 0, 0, 0) if H(v1 , v2 ) ≥ d.
Lexicode L = {v ∈ GF(2)5 : Hamming distance d ≥ 2}
▶ Construct the vector matrix W for the game:
 
1 0 0 0 0
0 1 0 0 0
 
0 0 1 0 0
 
0 0 0 1 0
W=
0

 0 0 0 1
0 1 0 0 1
 
0 0 1 1 0
0 0 1 0 1

▶ Each row corresponds to a basis vector.


▶ Lexicodes:

{(1, 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0), (0, 0, 0, 1, 0),

(0,0,0,0,1), (0,1,0,0,1), (0,0,1,1,0), (0,0,1,0,1)}


Forcing a Win

▶ Strategy based on g-function to determine P-, N-, and


D-positions.
▶ Representations and follower functions.

Fe(ue , uj , vj ) = ue ∪ {vj } \ {uj }



h ∪
Fe(ue ) = Fe(ue , uj , vj )
j=1 vj ∈F(uj )
Lexicodes

▶ Apply equations for forcing a win to identify winning positions.


▶ Use these positions to derive lexicodes restricted to winning
configurations.
Fe(ue , uj , vj ) = ue ∪ {vj } \ {uj }

h ∪
Fe(ue ) = Fe(ue , uj , vj )
j=1 vj ∈F(uj )

γ(ue , ξ(ve )) = we ⊆ Rj , ξ(we ) ∈ F(ξ(ve )) ∩ Vp

▶ Construct lexicodes using only winning positions identified by


Fe(ue ) and γ(ue , ξ(ve )).
Thank You for Listening!

You might also like