Five Lectures on CA 3. Synchronization Thomas Worsch Department of Informatics Karlsruhe Institute of Technology http://liinwww.ira.uka.de/~thw/vl-hiroshima/ at Hiroshima University, January 2012
Outline Classical Firing Squad Synchronization Problem General at an arbitrary position Two-dimensional FSSP Outlook
Classical Firing Squad Synchronization Problem General at an arbitrary position Two-dimensional FSSP Outlook
FSSP (Firing Squad Synchronisation Problem) ◮ Fixed: R = Z , N = {− 1 , 0 , 1 } , and Q ′ = { # , g , s , f } ◮ # is the border state ◮ g is the general state ◮ s is the soldier state ◮ f is the firing state ◮ Wanted: CA with Q ⊇ Q ′ and some f , such that ◮ for all local configurations ℓ : if ℓ (0) = # then f ( ℓ ) = # ◮ for all local configurations ℓ : if ∀ n ∈ N : ℓ ( n ) ∈ { # , s } then f ( ℓ ) = ℓ (0) ◮ C transforms each global start configuration #gss · · · s# in a finite number of steps into the firing configuration #fff · · · f# having the same support ◮ such that in no configuration occuring before the firing configuration state f appears anywhere.
FSSP (2) please note: ◮ activities can only start at the general g and spread throughout the grid cell by cell ◮ no matter how large the support of the initial configuration is, it should always be the same Q and the same f ◮ the CA should work for arbitrarily large numbers of s cells How could one try to achieve that?
Algorithm (Balzer)
Algorithm (Balzer) ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> < ) ( 2> < ) ( 3> < ) ( 1> < ) ( 2> < ) ( < <1 ) ( 1> > )
Algorithm (Balzer) ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> < ) ( 2> < ) ( 3> < ) ( 1> < ) ( 2> < ) ( < <1 ) ( 1> > ) ( < <2 ) ( 2> > ) ( < <3 ) ( 3> > ) ( < <1 ) ( 1> > ) ( > <2 ) ( 2> < ) ( > <3 ) ( 3> < ) ( <<1)(1>> ) ( <<1)(1>> )
Algorithm (Balzer) ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> > ( 2> > ( 3> > ( 1> < ) ( 2> < ) ( 3> < ) ( 1> < ) ( 2> < ) ( < <1 ) ( 1> > ) ( < <2 ) ( 2> > ) ( < <3 ) ( 3> > ) ( < <1 ) ( 1> > ) ( > <2 ) ( 2> < ) ( > <3 ) ( 3> < ) ( <<1)(1>> ) ( <<1)(1>> ) ( < <2)(2> > ) ( < <2)(2> > ) ( > <3)(3> < ) ( > <3)(3> < ) ( <<1)(1>> )( <<1)(1>> ) ( <<1)(1>> )( <<1)(1>> )
Algorithm (Balzer) ( 1> > s s s s s s s s s ( 2> > s s s s s s s s ( 3> > s s s s s s s ( 1> > s s s s s s ( 2> > s s s s s ( 3> > s s s s ( 1> > s s s ( 2> > s s ( 3> > s ( 1> < ) ( 2> < ) ( 3> < ) ( 1> < ) ( 2> < ) ( < <1 ) ( 1> > ) ( < <2 ) ( 2> > ) ( < <3 ) ( 3> > ) ( < <1 ) ( 1> > ) ( > <2 ) ( 2> < ) ( > <3 ) ( 3> < ) ( <<1)(1>> ) ( <<1)(1>> ) ( < <2)(2> > ) ( < <2)(2> > ) ( > <3)(3> < ) ( > <3)(3> < ) ( <<1)(1>> )( <<1)(1>> ) ( <<1)(1>> )( <<1)(1>> ) f f f f f f f f f f
Running time (of Balzer’s algorithm) for the synchronisation of n cells approximately t ( n ) ≈ 3 2 n + t ( n 2) which results in t ( n ) ≈ 3 n + lower order terms Is that optimal? Or can you do faster?
Theorem ◮ Goto (1962): There is a CA solving the FSSP for all n ≥ 2 in time 2 n − 2. ◮ Mazoyer (1987): There is such a CA which only uses 7 states. (i.e. only 3 more besides # , g , s , f ) we will see fast algorithms later Theorem Waksman (1966): There is no CA which solves the FSSP for all n and needs only 2 n − 3 steps for one n ≥ 2.
Proof of Waksman’s theorem indirect proof ◮ given: a CA C solving the FSSP ◮ assumption: There is a k for which the C needs at most 2 k − 3 steps. ◮ will show: C does not solve the FSSP for all n
� ✞ ✝ ✝ ✝ ✞ ✞ ✞ ✞ ✞ ✞ ✝ ✟ � ✁ ✁ � ✁ ✄ ✁ ✁ ✝ ✝ ✝ ✂ ✄ ☎ ✆ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✂ ☎✡✠ ☎✡✠ ☎☛✠ ☎☛✠
� ✞ ✝ ✝ ✝ ✞ ✞ ✞ ✞ ✞ ✞ ✝ ✟ � ✁ ✁ � ✁ ✄ ✁ ✁ ✝ ✝ ✝ ✂ ✄ ☎ ✆ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✂ ☎✡✠ ☎✡✠ ☎☛✠ ☎☛✠
� ✁ ✂ ✄ ☎ � ✁ ✂ ✄ ☎ ✁ ☎ ✟ � ✆ ✝ ✝ ✝ ✝ ✝ ✝ ✠ ✆ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ � ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✁ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ☎ ✟ ✁ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ☎ ✟ � ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✝ ✁ ☎ ✟ ✄ ✝ ✝ ✞ ✞ ✞ ✞ ✞ ✞ ✞ ✁ ☎ ✟ ✂ ✞ ✝
2 k − 1 1 2 3 4 k 1 2 3 4 k g g s s s s s s 0 s s s s s s s s s s s s s s s s s 1 s s s s s s s s s s s s s s s s s s s s s s s s s 2 s s s s s s s s s s s s s s s s s s s s s s k − 2 s s s s s s s s k − 1 s s s s s s s s s s s s s s s s s s 2 k − 4 s s 2 k − 3 s f f f f f f f f Wrong!
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Gerken)
Algorithm (Mazoyer) 7 states are sufficient for that!
Algorithm (infinitely many signals with different speeds) > <> 1 <> 1 <0 <> 1 0 < <> 1 1 < <> 1 1 <0 < <> 1 <0 0 < < <> 1 0 1 < < <> 1 0 1 <0 < < <> 1 0 < 0 < < < <> 1 1 1 < < < <> 1 1 1 <0 < < < 1 1 < 0 < < < < 1 1 <0 1 < < < 1 <0 0 1 <0 < < < 1 0 0 < 0 < < < 1 0 0 < 1 < < < 1 0 1 1 <0 < < 1 0 1 < 0 < < < 1 0 1 < 1 < < 1 0 1 <0 1 <0 < < 1 0 < 0 < 0 < < 1 1 0 < 1 < < 1 1 0 < 1 <0 < 1 1 1 < 0 < < 1 1 1 < 1 < 1 1 1 < 1 <0 < 1 1 1 <0 < 0 < 1 1 < 0 < 1 < 1 1 <0 0 < 1 <0 1 <0 0 0 < < 0 < 1 0 0 1 < 1 1 0 0 1 < 1 <0 1 0 0 1 < < 0 1 0 0 1 <0 < 1
Classical Firing Squad Synchronization Problem General at an arbitrary position Two-dimensional FSSP Outlook
Problem ◮ Fixed: R = Z , N = {− 1 , 0 , 1 } , and Q ′ = { # , g , s , f } ◮ Wanted: CA with Q ⊇ Q ′ and some f , such that ◮ for all local configurations ℓ : if ℓ (0) = # then f ( ℓ ) = # ◮ for all local configurations ℓ : if ∀ n ∈ N : ℓ ( n ) ∈ { # , s } then f ( ℓ ) = ℓ (0) ◮ C transforms each global start configuration #ss · · · sgs · · · s# in a finite number of steps into the firing configuration #fff · · · f# having the same support ◮ such that in no configuration occuring before the firing configuration state f appears anywhere.
Theorem Each configuration to be fired has the form #s a gs b # for some a , b ∈ N 0 . Let k = min { a , b } and n = a + 1 + b . ◮ The FSSP with a General at an arbitrary position can be solved in 2 n − 2 − k = a + b + max { a , b } steps. ◮ For n ≥ 2 this time is optimum.
Proof ◮ upper bound: algorithm; see later ◮ lower bound: analogously to the proof by Waksman: Each end must “know”, how far the other end is away. Therefore time 2( n − k ) − 2 in general is not enough.
� ✁ � ✂ � ✄ Algorithm
Classical Firing Squad Synchronization Problem General at an arbitrary position Two-dimensional FSSP Outlook
Recommend
More recommend