Firing squad synchronization problem

From Wikipedia, the free encyclopedia

One solution to the FSSP using 15 states and 3n units of time.
One solution to the FSSP using 15 states and 3n units of time.

The firing squad synchronization problem is a problem in computer science and cellular automata first proposed by John Myhill in 1957 and published (with a solution) in 1962 by Edward Moore. The problem is analogous to problems of logical design, systems design, and programming, and can be stated as follows:

Consider a finite amount - but arbitrarily many - of identical finite state machines (soldiers) arranged in a line. At time t = 0, every soldier is initialized to the same state, except for the soldier on the far left (the general). At every time t > 0, the state of every soldier is dependent upon its state and the state of its two neighbors at time t − 1 (except for the two soldiers at either end, whose state depends only upon itself and its one neighbor). In addition, a soldier cannot change state at time t if its state and its neighbors' states at time t − 1 is equal to the initial state. The problem is to define such a set of rules for the soldiers such that all soldiers enter for the first time a distinguished state (fire) at the same time.

Contents

[edit] History

The first solution to the FSSP was found by John McCarthy and Marvin Minsky and was published in Sequential Machines by Moore. A solution using a minimal amount of states was introduced by Jacques Mazoyer in 1988, whose solution uses only six states.[1] In addition, he also proved that no four state solution exists. It is still unknown whether a five state solution exists.

A solution using a minimal amount of time was later found by Professor E. Goto at M.I.T., whose solution uses thousands of states and requires exactly 2n − 2 units of time for n soldiers. It is proven that a solution using a smaller amount of time cannot exist.

[edit] General solution

A general solution to the FSSP involves propagating two waves down the line of soldiers: a fast wave and a slow wave moving three times as slow. The fast wave bounces off the other end of the line and meets the slow wave in the centre. The two waves then split into four waves, a fast and slow wave moving in either direction from the centre, effectively splitting the line into two equal parts. This process continues, subdividing the line until each division is of length 1. At this moment, every soldier fires. This solution requires 3n units of time for n number of soldiers.

[edit] Optimal solution for the line

A solution using 2n-2 units of time
A solution using 2n-2 units of time

An optimal 2n − 2 time solution was first described in (Waksman,1966). The general sends to the right signals S_1, S_2, S_3, \ldots, S_i at speeds 1,1/3,1/7,...,1 / (2i − 1 − 1). The signal S1 reflects at the right end of the line (like the fast wave in the preceding section), and meets signal Si (for i\geq 2) at cell n / 2i − 1. When S1 reflects, it also creates the new general at the right end.

Signals Si are constructed using auxiliary signals, which propagate to the left. Every second time the signal moves (to the right), it send an auxiliary signal to the left. S1 moves on its own at speed 1, signal Si for i\geq 2 moves only when they get an auxiliary signal.

[edit] Generalizations

Several generalizations of the FSSP have been conjectured and studied, including the FSSP on one-dimensional lines with the general at an arbitrary location, closed rings, Cayley graphs, squares, rectangles, cubes, and general networks.

[edit] External links

  • [1] "Firing Squad Problem"
  • [2] "On Formulations of Firing Squad Synchronization Problems"
  • [3] "Firing squad synchronization"

[edit] References

  1. ^ Mazoyer 1987
  • Waksman, Abraham (feb 1966). "An Optimum Solution to the Firing Squad Synchronization Problem". Information and Control 9: 66--78. doi:10.1016/S0019-9958(66)90110-0. 

  • Mazoyer, Jacques (1987). "A six-state minimal time solution to the firing squad synchronization problem". Theoretical Computer Science 50: 183--238. doi:10.1016/0304-3975(87)90124-1. 
  • Balzer, Robert (jan 1967). "An 8-state Minimal Time Solution to the Firing Squad Synchronization Problem". Information and Control 10: 22--42. doi:10.1016/S0019-9958(67)90032-0. 
  • Shinahr, Ilka (1974). "Two- and three-dimensional firing-squad synchronization problem". Information and Control 24: 163--180. Academic Press. doi:10.1016/S0019-9958(74)80055-0. 
  • F. R. Moore and G. G. Langdon (mar 1968). "A Generalized Firing Squad Problem". Information and Control 12: 212--220.