five lectures on ca 0 preliminaries
play

Five Lectures on CA 0. Preliminaries Thomas Worsch Department of - PowerPoint PPT Presentation

Five Lectures on CA 0. Preliminaries Thomas Worsch Department of Informatics Karlsruhe Institute of Technology at Hiroshima University, January 2012 Contents Five lectures on cellular automata A little bit of purely mathematical notation


  1. Five Lectures on CA 0. Preliminaries Thomas Worsch Department of Informatics Karlsruhe Institute of Technology at Hiroshima University, January 2012

  2. Contents Five lectures on cellular automata A little bit of purely mathematical notation Basic definitions for cellular automata

  3. Five lectures on cellular automata A little bit of purely mathematical notation Basic definitions for cellular automata

  4. Topics of the five lectures on CA You have already had the short introduction by Prof. Morita. We will ◮ look at some topics in more detail ◮ look at some new topics ◮ mostly from an algorithmic point of view Topics of the lectures: Monday: Signals and markings Tuesday: Simulations Wednesday: Synchronization Thursday: Sorting Friday: Asynchronous and probabilistic CA

  5. Where to get the pdf files ◮ slides and homework problems are available from http://liinwww.ira.uka.de/~thw/vl-hiroshima/ ◮ use a search engine to find “homepage Thomas Worsch” and look for “Five Lectures on CA”

  6. Five lectures on cellular automata A little bit of purely mathematical notation Basic definitions for cellular automata

  7. Total functions ◮ A and B sets ◮ a total function f : A → B assigns to each a ∈ A exactly one function value f ( a ) ∈ B ◮ A is called the domain of f ◮ B is called the codomain of f ◮ If A is finite, it can be completely specified by a function table ◮ for example ◮ A = {− 1 , 0 , 1 } and B = { 0 , 1 } ◮ some function called ℓ 5 : A → B : − 1 0 1 x ℓ 5 ( x ) 1 0 1

  8. Sets of functions ◮ A and B sets ◮ the set of all total functions from A to B is denoted B A ◮ (possible) reason for this notation: if A , B are finite, there are | B A | = | B | | A | such functions ◮ just look at an example ◮ A = {− 1 , 0 , 1 } and B = { 0 , 1 } ◮ all functions ℓ : A → B :

  9. Sets of functions ◮ A and B sets ◮ the set of all total functions from A to B is denoted B A ◮ (possible) reason for this notation: if A , B are finite, there are | B A | = | B | | A | such functions ◮ just look at an example ◮ A = {− 1 , 0 , 1 } and B = { 0 , 1 } ◮ all functions ℓ : A → B : x − 1 0 1 ℓ 0 ( x ) 0 0 0 ℓ 1 ( x ) 0 0 1 ℓ 2 ( x ) 0 1 0 ℓ 3 ( x ) 0 1 1 ℓ 4 ( x ) 1 0 0 ℓ 5 ( x ) 1 0 1 ℓ 6 ( x ) 1 1 0 ℓ 7 ( x ) 1 1 1

  10. Sets of functions ◮ A and B sets ◮ the set of all total functions from A to B is denoted B A ◮ (possible) reason for this notation: if A , B are finite, there are | B A | = | B | | A | such functions ◮ just look at an example ◮ A = {− 1 , 0 , 1 } and B = { 0 , 1 } ◮ all functions ℓ : A → B : ℓ ( − 1) ℓ (0) ℓ (1) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

  11. A special notation for addition ◮ if N is a set of numbers and x is a number we write x + N = { x + n | n ∈ N } ◮ example: if N = {− 1 , 0 , 1 } then 42 + N = { 41 , 42 , 43 } ◮ generalized even more to two sets of numbers: M + N = { m + n | m ∈ M ∧ n ∈ N }

  12. Five lectures on cellular automata A little bit of purely mathematical notation Basic definitions for cellular automata

  13. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  14. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  15. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  16. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  17. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  18. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  19. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  20. An example CA you have already seen for all x , z , y ∈ { # , 1 , 2 } f ( x , # , y ) = # f ( # , 1 , y ) = 1 f ( x , 2 , # ) = 2 f ( 2 , 1 , y ) = 2 f ( x , 2 , 1 ) = 1 f ( x , z , y ) = z otherwise t = 0 # 2 1 1 2 1 # t = 1 # 1 2 1 1 2 # t = 2 # 1 1 2 1 2 # t = 3 # 1 1 1 2 2 # t = 4 # 1 1 1 2 2 #

  21. Definition of CA you have already seen A k -dimensional cellular automaton is a quintuple A = ( Z k , Q , N , f , q 0 ) ◮ Z k : k -dimensional discrete space of cells ◮ Q : non-empty finite set of states ◮ N : finite subset of Z k called a neighborhood ◮ f : local function f : Q | N | → Q ◮ q 0 : a quiescent state satisfying f ( q 0 , . . . , q 0 ) = q 0 ◮ α : Z → Q are global configurations ◮ the set of all global configurations is Conf ( Q ) let’s reformulate that just a little bit

  22. Notation for CA (1) ◮ R : discrete space of cells ◮ we will always look at R = Z or R = Z 2 ◮ Q : non-empty finite set of states ◮ N : finite subset of R called a neighborhood ◮ the elements of N are used as differences of coordinates ◮ if x ∈ R , cells with coordinates x + n are its neighbors ◮ example: if N = {− 1 , 0 , 1 } then the neighbors of cell 42 are the cells in 42 + N = { 41 , 42 , 43 }

  23. Notation for CA (2) ◮ a (global) configuration is a function c : R → Q describing the current states of all cells ◮ the “whole state” of a CA ◮ c ∈ Q R

  24. Notation for CA (3) ◮ a local configuration is a function ℓ : N → Q , i.e. ℓ ∈ Q N ◮ an example ◮ N = { (0 , 1) , ( − 1 , 0) , (0 , 0) , (1 , 0) , (0 , − 1) } and Q = { a , b , c } ◮ (0 , 1) ( − 1 , 0) (0 , 0) (1 , 0) (0 , − 1) n ℓ ( n ) a b a c b ◮ or simply: a b a c b ◮ if cell (0 , 0) is indicated one also knows the others ◮ for each CA there is always only a finite number of local configurations

  25. Notation for CA (4) ◮ local function f of a CA specifies how one cell changes its state depending on the local configuration it observes: f : Q N → Q ◮ compare that with f : Q | N | → Q

  26. Notation for CA (4) ◮ local function f of a CA specifies how one cell changes its state depending on the local configuration it observes: f : Q N → Q ◮ compare that with f : Q | N | → Q ◮ example ◮ N = {− 1 , 0 , 1 } and Q = { 0 , 1 }

  27. Notation for CA (4) ◮ local function f of a CA specifies how one cell changes its state depending on the local configuration it observes: f : Q N → Q ◮ compare that with f : Q | N | → Q ◮ example ◮ N = {− 1 , 0 , 1 } and Q = { 0 , 1 } ℓ ( − 1) ℓ (0) ℓ (1) f ( ℓ ) ◮ 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1

  28. Notation for CA (4) ◮ local function f of a CA specifies how one cell changes its state depending on the local configuration it observes: f : Q N → Q ◮ compare that with f : Q | N | → Q ◮ example ◮ N = {− 1 , 0 , 1 } and Q = { 0 , 1 } ℓ ( − 1) ℓ (0) ℓ (1) f ( ℓ ) ◮ 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 ◮ this is the so-called rule 110 = ( 0 1 1 0 1 1 1 0 ) 2

  29. Notation for CA (5) ◮ The global function F describes one step of the whole CA. ◮ F : Q R → Q R ◮ in a global configuration c ∈ Q R each cell x ∈ R “observes” a local configuration L ( c , x ) in its neighborhood defined as L ( c , x ): N → Q : n �→ c ( x + n ) ◮ the transition from c ∈ Q R to F ( c ) is defined by ∀ x ∈ R : F ( c )( x ) = f ( L ( c , x ))

Recommend


More recommend