Periodic Points and Iteration in Sequential Dynamical Systems
Taom Sakal Advised by Padraic Bartlett
Senior Thesis
CCS Mathematics University of California Santa Barbara May 2016 CONTENTS
Introduction...... 4
1. Predicting Periodic Points in Cycle Graphs ...... 5 1.0.1 WhatisaSimpleCyclicSDS? ...... 5 1.0.2 The Phase Space ...... 7 1.1 The Compatibility Graph ...... 8 1.2 The Transition Graph ...... 10 1.2.1 Construction and Definitions ...... 11 1.2.2 Calculating SDS with the Transition Graph: an Algo- rithm ...... 14 1.3 MainResults ...... 17 1.3.1 ShiftingStates ...... 19 1.3.2 Finding other graphs with points of the same period . 20 1.4 FutureDirections...... 23
2. The Iterated Phase Space ...... 25 2.1 GeneralizedSDS ...... 25 2.2 The Iterated Phase Space ...... 25 2.2.1 Definitions for IPS ...... 28 2.3 Classification of IPS ...... 29 2.3.1 Behavior of Or and And ...... 29 2.3.2 Behavior of Parity and Parity+1 ...... 35 2.3.3 Behavior of Majority and Majority+1 ...... 36 2.3.4 Behavior of Nor and Nand ...... 38 2.4 Otherresults ...... 38
3. Color SDS ...... 41 3.1 What is a Color SDS? ...... 41 3.2 Color Distance ...... 41 3.3 Other Coloring SDSs, Other Color Distances ...... 43 3.4 Lonely Colorings ...... 44 Contents 3
Future Directions ...... 46
Acknowledgments ...... 47
Bibliography ...... 48 INTRODUCTION
Graph dynamical systems capture a phenomena found in nearly all of sci- ence: emergence. Individuals which follow simple rules can, when viewed collectively, create complex behavior. Graph dynamical systems have mod- eled everything from ants to tra c to economies. In all these models indi- viduals look to their immediate environment and the actions of those around them to decide their next action. The classic mathematical example of such a system is Conway’s Game of Life. Moving creations, pulsing galaxies, and even the complexity of self reproducing organisms can emerge from the game’s simple and mechanical rules [2, Chapter 7.3] [3]. Sequential Dynamical Systems are time and space discrete systems, sim- ilar to the Game of Life. However, they have the added dimension of an vertex-by-vertex update order (compared to the Game of Life’s simultane- ous update order). The order in which a system updates matters, and this is what gives SDS its applications, some examples being tra c simulations, genetic models, queuing theory, and even a mathematically precise founda- tion for computer simulation [4, Chapter 1.3, Chapter 8].
We begin in Chapter 1 by describing results on a special class of SDS called cyclic SDS. We then consider the Iterated Phase Space and more general SDS in Chapter 2. Finally in Chapter 3 we consider Color SDS and some results on 2-cycles. We will assume basic knowledge of graph theory throughout (ie. what a graph is, what vertices and edges are, and the basic types of graphs). 1. PREDICTING PERIODIC POINTS IN CYCLE GRAPHS
Often we wish to know when SDS are periodic. Given a starting state, an SDS may update back to this starting state after n updates. A state that does this is called a point of period n. Knowing which points are periodic is important because it tells what inputs cause our systems to loop. Mortveit and Reidys characterized points of period one for a special class of SDS (called Simple Cyclic SDS) on cycle graphs. [4, Chapter 5.1]. In this chapter we generalize their technique to find points of arbitrary period on Cn for such SDS. To do this we first we introduce basic terminology and Simple Cyclic SDS in section 1.0.1. Next we review the compatibility graph, the tool Mortveit and Reidy studied fixed points with. From there we introduce the transition graph as a generalization of the compatibility graph and show how to transform the problem of calculating an SDS into a problem of finding walks on the transition graph. To finish we prove two theorems which allow us to, when given a point of period k on Cn, find points of period k on the graphs Cn and Cn+ank,wherea is a natural number.
1.0.1 What is a Simple Cyclic SDS? A Sequential Dynamical System (SDS) is a discrete dynamical system on a graph, and a formal construction of them can be found in [4, Chapter 4.1]. The results in this paper are limited to Simple Cyclic SDS, a special class of SDS on Cn. We label the vertices of Cn in the natural way: vi is adjacent to vi+1, and vn is adjacent to v1. A Simple Cyclic SDS consists of 1. An undirected cycle graph C with vertices v ,...v with n 3. n { 1 n} 2. A set of possible vertex states K. (For this paper we let K = F2.) 3. A local vertex function f : K3 K. ! 4. An ordering ⇡ =( (v1), (v2),..., (vn)) of the vertices in Cn,where is a permutation in Sn. For this paper, will be the identity. 1. Predicting Periodic Points in Cycle Graphs 6
The local vertex function f is defined as
f : K3 K ! (xi 1,xi,xi+1) (xi0 ) 7! Where x K and the subscripts are taken modulo n.Givenavertexv in i0 2 i state xi with neighbors vi 1,vi+1 in states xi 1,xi+1, we can update vi by replacing xi with the state given by f(xi 1,xi,xi+1). An update function is symmetric if it does not care about the order of the x’s in the input (xi 1,xi,xi+1). These local functions can be composed to give the SDS-map.This map, denoted [fCn , ⇡], applies the local vertex function to each vertex in our graph, in the order specified by ⇡. We call an application of the SDS- map a system update. A system state is an assignment of vertices in our graph to elements of K.Weletthetuple(x ,...x ) Kn denote the system state in which 1 n 2 vertex vi has state xi. A system update changes the system state (x1,...,xn) to a new system state
Definition 1. Let F =[fCn , ⇡] be an SDS-map and let X and X0 be system states. If F (X)=X0 we write
X X0 7!F and read it as “X updates to X0,” and we say that we have applied a system update.
Generally, Cn and ⇡ are assumed to be fixed and we write F in place of
[fCn , ⇡].
Example: Consider the SDS on C3, the cycle graph on three vertices. Let the vertex set be v1,v2,v3 and let the vertex state set be F2.Set { } ⇡ =(v1,v2,v3), the identity update order. Define the vertex update function to be
Parity(vi 1,vi,vi+1):=(vi 1 + vi + vi+1)mod2.
Take the system state (1, 0, 0), as shown in Figure 1.1, and apply our local vertex functions in the order given by ⇡. We begin with v1.Itsees that its left neighbor is 0, itself is 1, and the right neighbor is 0. Thus
we have fv1 (0, 1, 0) = 0 + 1 + 0 mod 2 = 1. Thus v1 updates to 1. 1. Predicting Periodic Points in Cycle Graphs 7
Do this for v2. It sees the updated v1 to its left, a 0 for itself, and a 0 to
its right. Thus it updates to fv2 (1, 0, 0) = 1 + 0 + 0 mod 2 = 1. Finally
we do this for v3 and we find it updates to fv3 (1, 0, 1) = 0. The resulting system state is (1, 1, 0). As we have updated all the vertices in the order specified, we have finished an entire system update, and we have that (1, 0, 0) (1, 1, 0). 7!F
Fig. 1.1: A single system update using Parity
1.0.2 The Phase Space The phase space of an SDS is a directed graph that represents how an SDS updates. The vertex set of this graph is the collection of all possible system states for our SDS. For an SDS-map F , we draw an edge from one system state X to system state X if X X . 0 7!F 0
Fig. 1.2: The phase space of Parity over C3.
The phase space gives us a complete view of an SDS’s behavior. A special structure in the phase space is the periodic point: a system state that returns to itself after a certain number of system updates. For example, the phase space illustrated above contains four points of period four, two points of period two, and two points of period one. A point of period one is called a fixed point. 1. Predicting Periodic Points in Cycle Graphs 8
Observe that finding periodic points in an SDS is equivalent to finding directed cycles in the phase space.
1.1 The Compatibility Graph
In this section we review the compatibility graph, first introduced in [4, Chapter 5.1]. The compatibility graph allows us to find all fixed points in a simple cyclic SDS. It does this by “stitching together” local fixed points, which we define below. Definition 2. Let f be a local vertex function. A local fixed point for f is a vertex state (xi 1,xi,xi+1) such that
f(xi 1,xi,xi+1)=xi. 3 Example: Consider the function Majority : F F2, defined as follows: 2 ! 1ifa + b + c>1, Majority(a, b, c)= (0ifa + b + c 1. The local fixed points for Majority are labeled in the table below.
(xi 1,xi,xi+1) Majority(xi 1,xi,xi+1) Fixed Point? (0, 0, 0) 0 Yes (0, 0, 1) 0 Yes (0, 1, 0) 0 No (0, 1, 1) 1 Yes (1, 0, 0) 0 Yes (1, 0, 1) 1 No (1, 1, 0) 1 Yes (1, 1, 1) 1 Yes
The compatibility graph for a given simple cyclic SDS describes a way to fit local fixed points together into a global fixed point. We do this by finding which local fixed points are compatible with each other, as defined below. Definition 3. Atriple(a, b, c) is compatible with a triple (x, y, z) if and only if b = x and c = y.
Example: For Majority,thetriple(0, 0, 1) is compatible with the triples (0, 1, 1) and (0, 1, 0), but not with any other triples. 1. Predicting Periodic Points in Cycle Graphs 9
Definition 4. The compatibility graph of an SDS is a directed graph where the vertex set is all local fixed points. There is an edge from (a, b, c) to (x, y, z) if and only if (a, b, c) is compatible with (x, y, z). Example: The compatibility graph for Majority is as follows.
000
001 100
011 110
111
To denote a walk that goes from v to v to . . . v we write v v 1 2 n 1 ! 2 ! v . The compatibility graph encodes all the information about fixed ··· ! n points on Cn as follows.
Proposition 1. Let [fCn , ⇡] be a simple cyclic SDS function where ⇡ is an arbitrary permutation of our vertices and let G be the corresponding com- patibility graph. Then if W =(a ,b ,c ) (a ,b ,c ) (a ,b ,c ) (a ,b ,c ) 1 1 1 ! 2 2 2 ! ···! k k k ! 1 1 1 is a closed walk in G such that k divides n, we have that
b1,...,bk repeated n/k times
B = (b1,...,bk,b1,...,bk,...... ,b1,...,bk) z }| { is a fixed point for [fCn , ⇡].Thatis,[fCn , ⇡](b1,b2,...,bk)=(b1,b2,...,bk). Likewise, every fixed point corresponds to a closed walk on the compatibility graph. 1. Predicting Periodic Points in Cycle Graphs 10
Furthermore, the number of fixed points of our SDS-map [fCn , ⇡] is equal the trace of An, where A is any adjacency matrix corresponding to this com- patibility graph.
Proof. As described above, take any simple cyclic SDS [fCn , ⇡] and any walk W that gives the state B =(b1,...,bk,b1,...,bk,...... ,b1,...,bk). When- ever we update the vertex b⇡(i) our function takes in (b⇡(i) 1,b⇡(i),b⇡(i)+1), which is a local fixed point, meaning the vertex state stays the same. As the vertex state never changes for any vertex, B is a fixed point. If instead we are given a fixed point B, then whenever we update the ver- tex b⇡(i) the vertex’s state does not change, meaning that (b⇡(i) 1,b⇡(i),b⇡(i)+1) is a local fixed point. Likewise, when we update the adjacent vertex b⇡(i)+1 it’s state also does not change, meaning that (b⇡(i),b⇡(i)+1,b⇡(i)+2) is also a local fixed point. This corresponds to the edge that goes from (b⇡(i) 1,b⇡(i),b⇡(i)+1) to (b⇡(i),b⇡(i)+1,b⇡(i)+2) in the compatibility graph. In this way we create a path in the compatibility graph. Since our SDS is over Cn, this path is a closed cycle of length k,wherek divides n. Finally, let A denote the adjacency matrix of our compatibility graph. It is well-known that the entry (i, j) of the n-th power of an adjacency matrix is equal to the number of distinct walks length n from the i-th vertex to the j-th vertex. Hence an entry in the diagonal of An gives the total number of closed walks length n. Thus the trance of An gives the total number of fixed points of our SDS-map.
Example: We find that (000) (001) (011) (111) (110) ! ! ! ! ! (100) (000) is a closed walk of length 6 in the compatibility graph for ! Majority. Therefore the state (0, 0, 1, 1, 1, 0, 0) is a fixed point.
1.2 The Transition Graph
The transition graph is a generalization of the compatibility graph. While the compatibility graph gives information about points of period one on simple cyclic SDS, the transition graph gives information about points of any period on simple cyclic SDS, provided we limit the update order to the identity permutation. For the remainder of this paper we limit our study simple cyclic SDS with the SDS-map [fCn , id]. For notational convenience, we will denote [fCn , id] as simply F whenever the map f and the cycle Cn are understood. 1. Predicting Periodic Points in Cycle Graphs 11
1.2.1 Construction and Definitions The transition graph is similar to the compatibility graph in that it is a 3 directed graph made of the eight triples in F2. However, instead of com- patibility we draw an edge from one triple to another if, when we update the first triple, we move to the next vertex and see the second triple. More formally,
Definition 5. Let our local update function be f and our SDS-map be 3 [fCn ,id].Thetransition graph of [fCn ,id] has F2 as the vertex set, and for any two triples (a, b, c), (x, y, z) F3, we have (a, b, c) (x, y, z) if and 2 2 ! only if x = f(a, b, c) and y = c.
000 101
100 110
001 011
010 111
Fig. 1.3: The transition graph for Parity+1
The following notation is helpful for understanding the transition graph.
Definition 6. Let X =(x1,...,xn) be a system state. Then
f(xn,x1,x2) if i =1
xi0 = 8f(xi0 1,xi,xi+1) if 1