I N F O R M A T I O N S C I E N C E S 10, 299-318 (1976)
299
Cellular Automata Synchronization FRANCESCO ROMANI Scuola Normale Superiore, Pisa, Italy Communicated by Antonio Grasselli
ABSTRACT The first part of this paper deals with the Firing Squad Synchronization problem extended to networks however connected. A new class of configurations called "flower graphs" is presented whose synchronization is useful to reduce synchronization time for any graph. The second part investigates the lower bounds for synchronization time from a theoretical point of view. Results are obtained that are valid for several classes of graphs.
1. I N T R O D U C T I O N The problem of synchronizing a finite but arbitrarily long one-dimensional array of finite state machines was proposed in 1957 by Myhill. Consider a one-dimensional array of n identical finite state automata called soldiers. The state of each machine at time t + 1 depends on its own state and that of its two neighbors at time t. The problem is to specify the structure of the finite state machines so that one end element of the array, called the General, can cause all the machines to enter a particular terminal state, called Fire, exactly at same time. This problem was solved by W a k s m a n [1] and Balzer [2], among others, and they also obtained the minimum number 2 n - 2 of steps required to synchronize an n-element array. This "firing squad" problem was generalized in many different ways by Moore and Langdon [3], Varshavsky [4, 5], Herman [6, 7], and Grasselli [8]. Here we are interested in continuing the work of Rosenstiehl [9, 10], who studied the problem of synchronizing a network of finite automata however connected. This problem can be stated as follows: given an arbitrarily connected network of automata, with any vertex-automaton acting as General, we must have them all entering a special firing state simultaneously and for the first time. The Rosenstiehl's solution obtains a computation time of 2n, where n ©American Elsevier Publishing Company, Inc., 1976
300
FRANCESCO ROMANI
is the number of automata in the network. In this paper we present an alternative method of solution based on the synchronization of tree connected automata; this method obtains a computation time always shorter than or equal to that of Rosenstiehl. In the second part we discuss theoretically the minimal-time values for the generalized "firing squad" problem, and we determine a common value that is valid for many various kinds of networks. 2. STAR G R A P H S O P T I M A L S Y N C H R O N I Z A T I O N Rosenstiehl [10] gives a minimal-time solution for the star graphs synchronization problem. A star graph is a set of k linear arrays called rays, joining at one end, where the common automaton acts as General [Fig. l(a)]. The time required for the synchronization is 2a + b where a is the longest and b is the second longest length of the rays.
a
b
Fig. 1. (a) A star graph, (b) a ring, (c) a flower graph.
3. S Y N C H R O N I Z A T I O N O F F L O W E R G R A P H S Now we introduce a new class of graphs called flower graphs. A flower graph can be obtained by joining n rings called petals to one particular automaton that also acts as General. For an example see Fig. l(c). Flower graphs differ from star graphs only because the petals are rings instead of linear arrays. To synchronize a flower graph formed by k petals of lengths l, . . . . . lk, respectively: if k = 1 the problem reduces to the synchronization of a ring; see Section 6. if k > l it is possible to use the optimal synchronization technique for star graphs in order to synchronize also the flower graphs.
CELLULAR AUTOMATA SYNCHRONIZATION
301
The process is structured as follows: The General sends distinct signals Sg (i = l, 2 ..... 2k) to every ray departing from itself. When two signals (say Sp and Sq with q > p ) meet in a ring they create a wall, splitting the ring into the rays of equal length and reflecting two signals Bq towards the General. Thus the General can identify rays belonging to the same ring: at this time we have only two identical star graphs whose synchronization has already started. As a matter of fact in the star graph synchronization it is necessary to send signals to every ray and wait for their return; see Fig. 2. Hence the synchronization time for a flower graph equals the time required for the synchronization of one of the star graphs generated. Their ray lengths are, respectively, [lj/2] ..... [lk/2]; therefore, if a and b are the lengths of the longest and the second longest petal we can synchronize a flower graph in 2[a/2] + [b/2] steps.
I I I
I
I I
Fig. 2. The synchronization process for a flower graph.
4. S Y N C H R O N I Z A T I O N OF T R E E - C O N N E C T E D A U T O M A T A The investigation of fast methods for tree synchronization is important because every network can be reduced to a tree disregarding some connections. Let us expose here two synchronization techniques for a tree-connected network. The first one is very similar to the solution proposed by Rosenstiehl, but it seems useful to present it slightly differently.
302
FRANCESCO ROMANI
THE CIRCULAR PATH METHOD
This is the simplest synchronization method for a tree and it allows us to reach the firing status in 2n - 2 steps, where n is the number of the automata in the tree. It is possible to simulate within a finite state automaton a finite number of smaller automata; therefore we simulate in every vertex as many automata as the neighbors are, each one capable of synchronizing a ring, and we connect them in a ring fashion. We can describe in more detail the automata capable of synchronizing a tree as follows: the input function for these finite state rrtachines has the f o r m f ( S i , $2. . . . . Sp,! ..... !), where the number of arguments equals the maximum possible number of neighbors of an automaton in the network, S~. . . . . Sp represent the current states of the neighbors actually existent, and the symbol ! means that the corresponding neighbor does not exist; we suppose that a unique numbering has been assigned to the neighbors of each automaton in the network. If A is an automaton withp actual neighbors then A simulatesp identical automata, each of them capable of synchronizing a ring and connected with two of the simulated automata of the A neighbors, chosen according to the following rule [see Fig. 3(a)]: with neighbor No. 1 there are connected a~a2 with neighbor No. 2 there are connected a2a 3 with neighbor No. i there are connected aiai+ l with neighbor No. p there are connected apa I
I
3
a
la
Fig. 3. (a) The simulated automata connections, (b) how a tree is reduced to ring. These logical connections are realized as follows: If B is an A neighbor, B "knows" the state of A, i.e. a v-tuple SA = ( a j , a 2 ..... ap,! ...... !) where a i represents the state of the ith A-simulated automaton and ! means that this
CELLULAR AUTOMATA SYNCHRONIZATION
303
automaton is not active. The transition function of each actual automaton will be defined so that every simulated automaton can select, among the various components of the states of its actual neighbors, those representing its two logical neighbors in the ring; see Fig. 3(b). If A is the General in the tree then its simulated automaton a~ will be the General in the ring. The firing state of an automaton in the tree is reached when all its active simulated automata are in the firing state. Therefore firing of the logical ring causes the simultaneous firing of the tree. It is possible to show (see Appendix I) that if the tree has n automata then the ring generated has 2n-2 automata, but a ring with an even number of vertices can be synchronized in exactly an even number of steps, and because the process of ring reduction wastes no time it is possible to synchronize a tree in 2 n - 2 steps. It is important to note that, for a tree, 2 n - 2 is not the minimal synchronization time. As a matter of fact the next method is better. THE FLOWER GRAPH METHOD
If T is any tree we can distinguish in it: i. the General, ii. k subtrees departing from the General: Si . . . . . S k, where k is the number of the General's neighbors. It is possible to apply the ring-reduction process to $1 . . . . . Sk, thus obtaining k open rings departing from the General. N o w we can consider the graph obtained as a flower graph; its synchronization time depends only on the size (i.e., the number of nodes) of the two largest petals (i.e., on the size of the two largest subtrees that depart from the General). We give to the General of the tree the following structure; an automaton ao that acts as General for the flower and k automata a ~ , . . . , a , as soldiers for the petals (see Fig. 4).
.
--..0----"
Fig. 4. How a tree is reduced to flower graph.
304
FRANCESCO ROMANI
Thus if n~ is the number of automata of each subtree (i = I ..... k) every petal has 2hi automata. If np and r/q are the sizes of the largest and the second largest subtree we obtain a synchronization time for trees of 212.nj21 + [2 "nq/ 2] = 2np + nq steps. Obviously this method is much better than the former as the more numerous and more evenly distributed the subtrees are. 5. G E N E R A L N E T W O R K S Y N C H R O N I Z A T I O N Now we can solve the problem of synchronizing arbitrarily connected networks; our method follows these principles: i. The graph to be synchronized is reduced to a tree by using a method based on finite automata. ii. The tree so obtained is synchronized by using one of the methods previously introduced. The time required for synchronization and the complexity of the solution depend strictly on the method followed to perform operations (i) and (ii). In fact, there are several ways to synchronize a tree but those more efficient are also more complex; moreover, it is possible to reduce a graph to several different trees by selecting differently the connections to be eliminated. Finally, these various trees may have synchronization times widely differing from one to another. Here we present a method to reduce any graph to a tree: one automaton, which will be the root, sends signals to the other vertices of the graph. The signal transit establishes connections and there is a mechanism that prevents the cycle formation. As a result we obtain a rooted tree of minimal paths; this problem was solved by Moore [1 l] and Rosenstiehl [10]. We give here only a short description suitable for our purpose. THE TREE REDUCTION METHOD
The General (i.e. the automaton that will be the root of the tree) marks all the automata in the network by numbering modulo 3. a. The General marks itself by 0. b. The General marks all its neighbors by i. c. Every automaton marked i (recursively): cl. marks all its neighbors not yet marked by i + l (modulo 3); c2. selects among its neighbors marked i - l (modulo 3) one automaton accordingly to a predetermined priority set and establishes a connection with the automaton thus selected.
CELLULAR AUTOMATA SYNCHRONIZATION
305
The process ends when all the automata in the network are marked, i.e., in a time equal to the graph radius (here the radius is defined as the maximal length of any minimal path between the General and another automaton in the graph). It is possible to show that the configuration so obtained is a rooted tree of minimal paths (see Fig. 5).
1 1
--2
O
1
1
t-O
2--1
2
0
2--1
t-1
1
2
I
1-
0--1
2
1
I I
t--2
--2--0 i
1
-0-
1
2
-1
t=3
1--0--1 I
2--1
t=4
Fig. 5. Snapshots of the tree-reduction process for a graph. GRAPH SYNCI-IRONIZA TION B Y THE CIRCULAR PATH METHOD
This is the simplest method to synchronize any graph; the synchronization process consists of a reduction from the graph to a tree, a reduction from the tree to a ring, and of the synchronization of the ring so obtained. The two reduction processes act concurrently and cause a time delay of two steps only. The automaton capable of carrying over such a process is structured as follows: i. an automaton B capable of performing the reduction process. ii. v automata ci (i = l . . . . . v) capable of synchronizing a ring, where v is the maximum number of neighbors admissible in that graph. The B automaton acts as follows: if at time t it is marked j , at time t + 1 it marks every unmarked neighbor by j + l modulo 3, and establishes a connection with one of its neighbors marked j - 1, selecting it according to priority. At time t + 2 automaton B can connect its associated automaton (the one selected) to form a ring logically. The ring synchronization can be started by the General only two steps after the reduction starts; in fact the reduction process goes forward at unitary
306
FRANCESCO ROMANI
speed (the maximum possible when using cellular automata), therefore it does not interfere with the synchronization process. The whole process requires 2n steps; i.e., the tree has the same number of automata as the graph. Thus the ring has 2n - 2 automata and requires 2 n - 2 steps for synchronization. The delay due to reduction is two time units and T = 2 n - 2 + 2 = 2 n . For an example see Fig. 6.
Fig. 6. How a graph is reduced to ring. GRAPH SYNCHRONIZATION B Y THE FLOWER GRAPH METHOD
By the same reduction technique as in the previous method and by only slight changes in the General's structure it is possible to obtain a better synchronization time. The change consists in the flower graph synchronization of the tree obtained by the reduction process. The solution automaton in this method is formed by an automaton B for the reduction and v automata f~ capable of synchronizing a flower graph. Furthermore the General must contain also an automaton f0 which will act as General for the flower. The synchronization time is 2a + b + 2 where a and b are the sizes of the largest and the second largest subtree obtained in the reduction process, and 2 is the delay for the reduction process. It is important to note that a and b depend strictly on the graph dimension, on the type of neighborhood, and on the priority set used for the reduction. With this synchronization method indeed we are interested in obtaining petals as numerous and evenly distributed as possible. The type of neighborhood is quite important because the number of petals equals the number of the General's neighbors. Finally, the priority used is important because the petal distribution as well as the petal dimension depend on it.
CELLULAR AUTOMATA SYNCHRONIZATION
307
To clarify these concepts let us study how the petals are structured when using different neighborhoods and priorities for a particular class of configurations: the square arrays (Fig. 7.) Notice that there exists an optimal method to synchronize square and rectangular arrays [12], but this method does not apply to configurations differing even slightly from rectangular arrays (e.g., arrays with one automaton removed) whereas ours does apply to arbitrarily connected graphs.
#
•
~
•
p
r~ LJ
Fig. 7. A square array, yon Neumann neighborhood, r= 3. Let us first consider square arrays with the yon N e u m a n n neighborhood where the General is supposed to be at the center. We try to calculate the synchronization time as a function of the radius ~ of such a configuration. It is interesting to note that synchronization times of graphs with a v o n N e u m a n n neighborhood are often comparable with the synchronization times of square arrays having the same radius. l In a square array with this neighborhood, by using priority 4 2 the 3 petals turn out to be structured as in Figs. 8 and 9. The petal dimension is r ( 2 r + 1), r(r+ l); r(r+ 1), r and the synchronization time T is 2 r ( 2 r + 1)+ r(r+ 1 ) + 2 = S r 2 + 3 r + 2 (e.g., T = 9 4 if r = 4 ) .
ITo make possible a comparison of the synchronization times of square arrays having the same number of automata but different neighborhoods, in the following text r represent the radius in the Moore case even though the neighborhood is of the yon Neumann type.
308
FRANCESCO ROMANI x XlO
x
It, ll
i
I|
•
./10o
I~|
• 4
o
~< x ~ ;
;ii~
I
•
i
i
~x
:S i2 ooo •
o
•
,I-'0
•
&+ i °
o o
o
0
0
X~it~XO •
o
-
0
0
0
0
O
I
•
*
* ~ 0 0 0
~,Q-FO00 ~e
•
* . ~ 0 0 0
•
•
I
,1~ 0
• Q1
•
4" 0
°
•
X X
o ~ o
*
~X
00
~" ~<" X
O
0
0
,Q
•
•
~0
00
•
•
*
-P 0
°
.
.,,. o
o o
4'000
L..
4 - 0 0
IQ
Q
0
* 4 - ° 0 0
1
Fig. 8. How petals grow in a square array, von N e u m a n n neighborhood, priority 4
2. 3
a
b
Fig. 9. The tree and the flower graph in the same case.
For a von Neumann neighborhood any other priority set will not yield 1
better results. For example, by using priority 4
3 (Fig. 10) the petal 2 dimension is, respectively, r ( 2 r + 1), r ( 2 r + 1), r, r and synchronization time is 2 r ( 2 r + l ) + r ( 2 r + 1 ) + 2 = 6 r 2 + 3 r + 2 (e.g., T = 110 if r = 4 ) . Let us now consider what happens for a Moore neighborhood. The results obtained with square arrays are still comparable with the synchronization times for configurations with the same neighborhood and radius. For the 1
8 7
2
3
6
4 priority see Fig. 11 ; in this case the petal dimension is: 5
CELLULAR
AUTOMATA
SYNCHRONIZATION
309
r 2 + r ( r - 1)/2, r 2, r z, r ( r + 1)/2, r, r, r, r, respectively, and T = 2 r Z + r ( r - 1)+ r2+2=4r2-r+2 (e.g., T = 6 2 if r = 4 ) .
4-
4-
I
I
I.
÷
4.
4,
4,
4,
÷
I
I
t
4
~m
g
I
I
I
"~
"1-
÷
z ÷
t
I
4.
,4-
I
i
I
÷
4-
÷
I I
I [
I I
Fig. 10. The tree structure in a square array, von Neumann neighborhood, priority l 4 3. 2
:2 3
Fig. 11. The tree structure in a square array, Moore neighborhood, priority 8 7
4.
6
5
310
FRANCESCO ROMANI
It is possible to reduce 5 1 see Fig. 12. With 4 8 3 1
5
the synchronization time by varying the priority; 6 2 we obtain 3 r 2 + 2 ( T = 5 0 if r = 4 ) , and with 7
2
8 6 weobtain5/2r2+r/2(T=44ifr=4).Thislastcaseiswhenwe 4 7 3 can obtain the best result using the Moore neighborhood. In order to make a comparison between this method and that of the circular paths, consider that the same graph can be synchronized by circular paths in 2(2r+ 1) steps "T= 162 if r--4).
,\
\
\\ a
b
Fig. 12.~etreestructureinasquarea~ay, Moorenei~borhood, 516 152 (a) pfionty4 2, (b) priofity 8 6. 837 473 Also in the worst cases the synchronization time by this method remains better than or equal to that obtainable by circular paths. In the example of Fig. 13 there is only one petal and the time required is 2n, i.e., the same required in the circular paths method. 6. I N T R O D U C T I O N TO T H E O P T I M A L SYNCHRONIZATION THEORY Let us now consider from a theoretic point of view the optimal synchronization times for several classes of graphs. We obtain some significant values for minimal synchronization times that can be useful to develop new synchronization methods. Let us put forward some definitions: distance between two automata in
CELLULAR AUTOMATA SYNCHRONIZATION
311
v
Fig. 13. In this case there is only one petal because the general is in a bad position. a network is the length of a minimal path which connects them. Radius r is the maximum distance between the General and any other automaton in the graph. Radial path is any minimal path of length r leaving the general. Diameter d is the maximum distance between two automata in the network. Finally diametralpath is any minimal path of length d. 7. S O M E M I N I M A L S Y N C H R O N I Z A T I O N T I M E S a. Linear Arrays with the General at One End. It is easy to show that in this case the minimal time for synchronization is 2 n - 2 (here and in the following n is the number of automata in the graph to be synchronized). As a matter of fact we need a signal from the General to reach the other end and to return to the General, otherwise the firing of the General would not depend on the array length and the distance between the two ends is n - 1. In a linear array we have d = n - 1 and r = n - 1 so that the minimal time is2n-2=d+r. This lower limit was reached (among the others) by the Balzer and Waksman solutions. b. Linear Arrays with the General Anywhere. Moore and Langdon have extended the original "firing squad" problem to the case in which any cell in the array is supposed capable of initiating the synchronization process.
312
FRANCESCO ROMANI
Synchronization can be reached in 2 n - 2 steps where k is the distance between the General and the nearer end of the array. It is easy to show that in this case d = n - 1 and r = n - k - 1. Since the Moore and Langdon method is also optimal here we have 2 n - k - 2 = d + r as the m i n i m u m synchronization time for linear arrays. Rosenstiehl [10] also gave an interesting optimal solution to this problem. c. Rings. A ring may be obtained by connecting the two ends of a linear array [see Fig. l(b)]. The ring synchronization is obtained as follows. The General sends a signal in either direction. These signals meet at the opposite end of the ring and generate a well; thus we have two identical linear arrays that can be synchronized concurrently. Their length is (n + 1)/2 if n is odd and n / 2 + 1 if n is even. Therefore the synchronization times are
2 ( n + 1) - - - 2 =
n- 1
for n odd
and 2( 2---~1) - 2 = n
for n even.
It seems reasonable to conjecture that these are optimal synchronization times, since we divide the ring into two configurations with no delay and they are synchronized by an optimal method. In a ring we have: d=r =n
2
d = r ~- n - I 2
ifnisevenandthend+r=n
if n is o d d a n d then d + r = n - l.
In each case d + r is supposedly the minimal time for rings. d. S t a r Graphs. We may obtain a star graph by joining at one e n d p linear arrays; see Fig. l(a). Rosenstiehl obtained a synchronization time of 2a + b where a and b are the longest rays. If we consider the linear array formed by these rays we find that it is impossible to synchronize it in less than 2n - k - 2 = 2(n - k - 1) = 2a + b; therefore Rosenstiehl's solution is an optimal one. On the other hand we note that r = a , d = a + b , and d + r = 2 a + b . Thus also star graphs have a minimal synchronization time of d + r.
CELLULAR AUTOMATA SYNCHRONIZATION
313
e. Flower Graphs. Flower graphs can be synchronized in 2[a/21 + [ b / 2 ] steps (see Section 3) where a and b are the largest and second largest petal lengths. Also in this case it seem reasonable to conjecture that this time is minimal, by the same argument as in the ring case. Because r = [ a / 2 ] and d = [a/21 + [b/2] we obtain d + r as the supposedly minimal synchronization time.
8. SOME T H E O R E T I C A L J U S T I F I C A T I O N FOR THE VALUE d+r We have seen that d + r is the lower bound for several kinds of configurations like arrays, rings, star graphs, and flower graphs. Obvious questions are whether this value is valid for other kinds of networks, and what might justify it theoretically. Furthermore, this value d + r is important because it is a lower bound but also a minimal time for synchronization. We state explicitly a lower bound valid for all graphs, i.e. the Theorem: It is impossible to synchronize any graph in less than r steps. The proof is trivial: If the radius is r, there is at least one automaton that is at distance r from the General; therefore it is impossible that a signal from the General can reach it in less than r steps. In general, i.e., for configurations without particular symmetry properties, the presence of every automaton affects the synchronization time. Thus it may be required that a signal from the General to any automaton reach every other automaton in the graph. That would suggest the value d + r as the minimal synchronization time for graphs without particular symmetry properties where the end of a radial path is also the end of a diametral path. This is true for rings, linear arrays, star graphs, etc. There are configurations with particular symmetry properties like rectangular and cubic arrays which have synchronization times intermediate between r and d + r (see Section 9). There are also configurations for which the lower bound is d + r, but this limit is not reached by methods based on finite automata (see Section 10). 9. C O N F I G U R A T I O N S W I T H S Y N C H R O N I Z A T I O N TIMES BETWEEN r AND d+ r Let us now consider some examples of configurations that can be synchronized in less than d + r by using some knowledge of their properties. a. Linear Arrays with the General at the Center. Such an array can be
314
FRANCESCO ROMANI
synchronized as follows: the General starts the synchronization process for the two firing squads departing from it; their length is (n + 1)/2 and they fire at T = 2 . ( n + l ) / 2 - 2 = n - l = d / 2 + r . b. Square Arrays. Shinahr [12] has proposed a synchronization method for n × n square arrays with the General at one corner and a v o n N e u m a n n neighborhood that reaches the firing state in 2 n - 2 steps. This method is optimal; in fact it is not possible to obtain synchronization of a linear array of length n(i.e., each row and column) in a shorter time. In a square array with this neighborhood one has r = d-- 2n - 2 for the distance between automaton (1, 1) and automaton (n,n), and synchronization time is shorter than d + r. c. Rectangular Arrays m × m. In this case Shinahr gives a minimal time of n + m + m a x ( m , n ) - 3. Here d = r = m + n - 2 but m a x ( m , n ) - 1 is less than r e + n - 1 ; therefore the firing state is reached in fewer steps than d + r . d. Cubic Arrays n × n × n with the General at One Corner and a yon Neumann Type Neighborhood. The time obtained by Shinahr is 3 n - 3 and it is also an optimal one. In fact it is not possible to synchronize in less than 2 n - 2 the square array that is n - 1 steps away from the General. Furthermore we have d = r = 3 n - 3 and in this case too d + r is not a lower bound. Notice that in all the previous examples r remains as a lower bound for synchronization.
10. TREES An investigation on lower bounds for the trees deserves a separate treatment both for the particular properties of this case, and for its importance in the methodology of graph synchronization. Here we prove an interesting theorem about tree synchronization. We put forward the following LEMMA. For any tree where G is the General and A B a diametral path, at least one of the GA and GB paths is a radial path. The proof is given in Appendix II. We can now prove the following
THEOREM. The least number of steps required to synchronize a tree of diameter d and radius r is d + r. Proof. to synchronize a tree it is necessary to synchronize all its paths including its diametral path.
CELLULAR AUTOMATA SYNCHRONIZATION
315
Given a diametral path AB let H be the automaton where originates the branch with the General (unless H itself is the General, in which case H ----G and the following also holds). The starting signal from G reaches H: the minimal time to synchronize AB is d + r' where r' is the distance between H and the farther end of AB, but the signal from the General requires IGH I steps to arriye at H; therefore the minimal synchronization time is d+ r'+IGH[. Let r'=IHA [, then IHAI >1IHBI, IGA[ >1[GB[ and, by the previous lemma, GA is a radial path so that [GAI=IGHI+IHAI=IGHI+r'=r. Then the minimal time i s d + r ' + l G H l = d + r . Q.E.D. It is possible to obtain the time d + r only for trees with somewhat limited number of bifurcations (e.g., star graphs are trees with only one bifurcation). If we consider the class of all the trees, it stands to reason that by using only finite automata theory there would not be the storage capability necessary for obtaining optimal synchronization. In such a case we should use pushdown automata at bifurcation. 11. C O N C L U S I O N We have shown how, by using flower graphs, it is possible to reduce the synchronization time required for general networks and we have proposed a technique applying faster tree synchronization methods to general graphs. In the second part we have discussed lower bounds for several classes of configurations finding the radius r as a lower bound for all graphs and diameter plus radius d + r as a limit valid for many general classes of configurations: trees, rings, and flower graphs. In some cases this limit is also the minimal time required for synchronization (star graphs, rings, flower graphs). Finally we have shown that some particularly symmetrical classes of configurations like the (1-, 2-, 3-dimensional) arrays have minimal times for synchronization between r and d + r. APPENDIX I We prove the following THEOREM. The ring obtained from a tree with n automata has 2 n - 2 au-
tomata. Proof. The proof is by induction: if the tree has two automata, then the ring has two automata too, and 2 = 2 . 2 - 2. Now, suppose that if the tree has n - 1 automata the ring has 2 ( n - 1 ) - 2 automata; then if we add one automaton to the tree we add two automata to the ring (see Fig. 14) and the tree has n automata the ring has 2 ( n - 1 ) - 2 + 2 = 2 ( n - l ) = 2 n - 2
automata.
Q.E.D.
316
FRANCESCO ROMANI
a
b
Fig. 14. (a) A two automaton tree, (b) adding an automaton to a tree. A P P E N D I X II We prove the following LEMMA. In a tree let G be the General and A B a diametral path then at least one of the GA and GB paths is a radial path.
Proof. Let GC be a radial path (one certainly exists) where Cv~A and C4= B; we distinguish two cases. 1. GC and A B do not have a common path. Let us consider the subtree formed by A,B, C, G and the automata which connects them [Fig. 15(a)]; we have ]GK[ ~ 0, [HK] ~ 0 and we may suppose without loss of generality that
O<[AHI
H
A
B
A
T H
K
a Fig. 15. The subtrees used in the proof. Since AB is a diametral path we have d=
lABI= IAHI + IHBI>~IAHI+ IHKI+ IKCI
whence
[HB]~]HK[+[KC]
and then
]HB[~[KC[;
B
CELLULAR AUTOMATA SYNCHRONIZATION
317
now
IGCI=IGKI+IKCI IGB I= IGKI + IKHI + IHBI. Therefore [GB[>~ IGC[; on the other h a n d [ G B [ < [GC[ because GC is a radial path, whence r - - [ G B [ - - [ G C I, a n d GB is a n o t h e r radial path. 2. GC a n A B have a c o m m o n path H K . Let us consider the subtree formed by A, B, C, G, H, K a n d the a u t o m a t a which c o n n e c t them [Fig. 15(b)]. W e have
[GHI~>0, ICKI~>0, IHKI~>0. Since A B is a diametral path we have
d= IABI = [AKI + IKBI >IIAKI + IKC]
thenlKBl>/IKCI
and
IGB I=IGHI ÷ IHKI ÷ IKBI >1IGHI ÷ IHKI ÷ IKCI = IGCI; but GC is a radial path: [GCI >1 [GB I, then it follows that r = IGB I = IGC I a n d GB is a radial path too. Q.E.D. REFERENCES 1. A. Waksman, An optimum solution to the firing squad synchronization problem, Inf. and Control 9, 66-78 (1966). 2. R. M. Balzer, An 8-state minimal time solution to the firing squad synchronization problem, lnf. and Control 10, 22--42 (1967). 3. F. R. Moore and G. G. Langdon, A generalized firing squad problem, Inf. and Control 12, 212-220 (1968). 4. V. I. Varshavsky, Synchronization of a collection of automata with random pairwise interaction, Autom. and Remote Control 29, 224-228 (1969). 5. V. I. Varshavsky et al., Synchronization of interacting automata, Math. System Th. 4, 212-230 (1970). 6. G. Herman, Models for cellular interactions in development without polarity of individual cells, Part II: Problems of synchronization and regulation, Int. J. Syst. Sci. 3, 149-175 (1972). 7. G. Herman et al., Synchronization of growing cellular arrays, Technical Report, Dept. of Computer Science, State University of New York at Buffalo, 1972. 8. A. Grasselli, Synchronization of cellular arrays: The firing squad problem in two dimensions, Inf. and Control 28, 113-124 (1975). 9. P, Rosenstiehl, Existence d'automates finis capables de s'accorder bien qu'arbitrairment connect~s et nombreux, Internat. Comp. Centre 5, 245-261 (1966).
318
FRANCESCO
ROMANI
10. P. Rosenstiehl et al., Intelligent graphs: Networks of finite automata capable of solving graph problems, in Graph Theory and Computing, R. C. Read, Ed., Academic, New York, 1973, pp. 219-265. l 1. E. F. Moore, The shortest path through a maze, in Proceedings oflmernational Symposium in the Theory of Switching, part II, Harvard University Press, Cambridge, Mass., 1959, pp. 285-292. 12. I. Shinahr, Two and three-dimensional firing squad synchronization problems, Inf. and Control 24, 163-180 (1974).
Received July, 1975