Transcript
Page 1: On real-time cellular automata and trellis automata

Acta Informatica 21, 393-407 (1984)

�9 Springer-Verlag 1984

On Real-Time Cellular Automata and Trellis Automata*

C. Choffrut 1 and K. Culik II 2

1 Universit~ Paris 7, U.E.R. de Math~matiques, Tours 55-56, 2 P1. Jussieu, F-75221 Paris Cedex 05, France 2 Department Computer Science, University of Waterloo, Waterloo, Ontario N2L 3G1, Canada

Summary . It is shown that f(n)- t ime one-way cellular au tomata are equiva- lent to f (n)- t ime trellis automata , the real-time one-way cellular au tomata languages are closed under reversal, the 2n-time one-way cellular au tomata are equivalent to real-time cellular au tomata and the latter are strictly more powerful than the real-time one-way cellular automata.

1. Introduction

Motivated by the advent of VLSI technology there has been increasing interest in devices for parallel computation, in particular systolic arrays, cf. [10]. The simplest and presently probably practically the most important one is a 1- dimensional array (vector) of uniformly interconnected identical processors working in synchronous manner. Various abstract models of this type which differ in the way the inputs are read and the processors are interconnected have been studied already for long time. We will compare the computat ional power of the real t ime (bounded) cellular au tomata ([8, 1, 12, 13, 9]), the real t ime and 2n-time one-way (bounded) cellular au tomata ([8, 6, 14]), and the real-time iterative arrays ([4, 7, 11]). We will also show that, for an arbitrary time function f(n), the f (n)- t ime one-way (bounded) cellular au tomata (OCA) are equivalent to the f(n)- t ime homogenous trellis au tomata studied in I2] and [3]. In Sect. 2 we introduce a uniform and simple formalsism for all the models considered. In the next section we prove some technical results, namely that for the different devices (except for the iterative arrays) the notion for a language to be f (n)- t ime recognizable is defined modulo a constant. This enables us to show that the real-time OCA are equivalent to the real-time homogenous trellis automata , and that the real-time OCA languages are closed under reversal, an open problem stated in [6].

* This work has been done during the second author's visit at the University of Paris and during both authors' visit at the Institute f'tir Informationsverarbeitung Graz, Austria

Page 2: On real-time cellular automata and trellis automata

394 C. Choffrut and K. Culik II

In the last section we show that 2n-OCA's are equivalent to the real-time CA's, which completes the result of [14] where it was proved only in one direction. Our proofs are very transparent because of the trellis-like representa- tion of both types of devices. We also compare the real-time computational power of IA's, CA's and OCA's. Because we are considering (as customary) CA's with output at the right-most cell we have to consider iterative arrays which read the input word backwards (IA). We show that real-time CA's are strictly more powerful than IA's and OCA's and that the last two devices are incomparable in recognition power.

2. Preliminaries

Throughout this paper, A is a fixed finite nonempty alphabet not containing the symbol # and A o ~_ A a distinguished subset.

The free monoid (resp. semigroup) generated by A is denoted by A* (resp. A +) and the empty word of A* is denoted by I : A § = A * \ {1}.

Given any word w e A * we denote by Iwl its length and by ~ its mirror image i.e. the word 1 if w = l , and otherwise the word a~a,_ 1. . .a2a I if w = a l a 2 . . . a n _ l a ~ (aeA, l <i<n).

We consider in this paper different types of recognition devices which have already been studied by several authors: e.g. in a chronological order [-8, 1, 12, 13, 9, 6] for cellular automata, I8, 6, 14] for one-way cellular automata, 1"7, 4, 11] for iterative arrays, 1-2, 3] for trellises (actually "homogenous trellises") where it has been introduced as a VLSI implementation of a recognition procedure.

However, since there is no settled formalism for such objects, we have deemed it necessary to give formal definitions of our own, rather than just refer to the literature. Furthermore, our setting is more homogeneous since all devices are defined by particular "local" functions which we call transition functions.

Finally it must be observed that our definitions are given in such a way that the families of languages recognized by the different devices are closed under restriction to any subalphabet.

2.1. Cellular Automata

A cellular automaton (CA for short) is a triple C=(A, Ao, M ) where M: (A u { # })3~A u { # } is a transition function satisfying M(a, b, c)= # iff b = # .

For any word a 1 ... aneA + define:

I~ (a l )=M(# ,a l , # ) if n = l

#(a 1 ... a n ) = M ( ~ , al, a2)M(al,a2,a3) ... M(a,_ 1,a,, # ) otherwise.

Then # is a length-preserving mapping of A § into itself. Given a function f : ~ I ~ N and a subset •___A we say that the language

L~2~ § is recognized by C in time f (n) if the words w e L are exactly those

Page 3: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 395

t=0

t=l

t=2

.2

E Fig. 1

words of 2~ § for which # f ( l ~ l ) ( w ) ends with a letter in Ao:

L = {w~27 § [g:~lwb(w)~A* Ao}.

We also say that L is a f(n)-t ime CA language. Particularly important is the case when f ( n ) = n - 1 . Then L is a real-time CA (in short r.t. CA) lan- guage.

It is often convenient to represent the functioning of a cellular au tomaton on a time-space diagram (cf. e.g. 1"7] and [13]) each row corresponding to the configuration at a certain time t > 0 of a n-cell array. At t ime t = 0 , the i-th cell contains the i-th letter of the input word w. As time goes by, the different values are computed according to the transition function M. We denote by c~ the value of the i-th cell at time t > 0.

2.2. One-Way Cellular Automata

In a cellular au tomaton the transition of every cell depends upon both left and right neighbours. In a one way cellular au tomaton it only depends upon its right neighbour (and itself). Thus a one way cellular automaton (OCA for short) is a triple O=(A, Ao, R ) where R: (Au{~})2- -*Au{~#} is a transition function satisfying R(a,b)= 4~ iff a = b = #r

For any word a I ... annA + we define:

p(a l )=R(a l , # ) if n = 1

p(al ... a , ) = R ( a x, a2) R(a 2, a3) ... R(a,_ 1, a~)R(a,, # ) otherwise.

Then p is a length-preserving mapping of A § into itself. Given a function f : N ~ N and a subset Z,~_A, the language L ~ Z + is

recognized by 0 in time f (n) if the words w ~ L are exactly those words of 27* for which pfdwl)(w) s t a r t s with a letter in A 0

L = {w~Z,+lp:(l'~l)(w)~Ao A*}.

We also say that L is a f(n)-time O CA language. In the special case when f (n ) = n - 1, L is a real-time OCA (in short r.t. OCA) language.

Observe that OCA's recognize "on the left" (first letter) while CA's recog- nize on the right (last letter).

Page 4: On real-time cellular automata and trellis automata

396 C. Choffrut and K. Culik II

As for CA's, we may represent the functioning of an OCA on a time-space diagram:

�9 ~ .

t=l

t=2

t=0

F i g . 2

2.3. Trellises

A trellis is a triple z=(A , Ao, F ) where F: (Au{~})2----~Au{~} is a mapping satisfying F(a,b)= # iff a = b = ~.

Given any word w = a I ... a,~(A u { :~ })n n=>2, we define:

(p(al ... an)= F(al, az) ... F(an_ 1,a,).

With the convention (pk(w)=w whenever k = 0 and w6(A u{~: })+, it is easy to check by induction on the length, that T~0k(w)[=[wl--k holds for all O<-k<-twl

- - 1 .

Given a function f : N--*N satisfying f (n)>=n-1 and a subset Z~_A, we say that the language L~_Z + is recognized by z in time f(n) or that it is a f(n)-time trellis language iff the following holds:

L = {w~S + [ ~o:(l~D(w ~ f(Iwl)-I,< + 1)~Ao}.

In particular when f ( n ) = n - 1, we say that L is real-time (in short r.t.). The recognition of a word w of L can be viewed as a computat ion on an

actual trellis as illustrated below. The word w ~ I(l~D-Iwl+l is fed at the top level of the trellis. Each node

computes a value depending on the inputs it receives from the two upper nodes directly connected to it and sends it to the two neighbours just below. The computat ion can be imagined as flowing down level by level from the top to the bot tom, whose value eventually decides whether the word is accepted or not.

As mentioned earlier, the trellises considered here are called in the termino- logy of [3] homogenous trellises. Indeed more general trellises may be defined - semihomogenous ones - which were proved not to be more powerful (see [3]).

Page 5: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 397

E

Fig. 3

2.4. Iterative Arrays

By an iterative array we mean a one way infinite sequence of cells each one being in a given state and communicat ing with itself and its right and left neighbours, except for the leftmost cell which has no left neighbour and communicates with the external world (see I-4]).

The computat ion on such a device works as follows. At the beginning, all cells are in a special "quiescent" state which we denote by ~ . Then, at each time step, every cell changes state according to its own current state and the states of its right and left neighbours, except the left most cell "which reads a new letter of the word being processed, changes states according to this letter, its own current state and the state of its right neighbour and outputs an accept or reject message. In a quiescent state, a cell may enter a new distinct state only if one of its neighbours is in a non quiescent state. The computat ion is real time since the recognition is fulfilled just after the last letter of the word has been read.

leftmost cell

Fig. 4

As in the preceding devices, a computat ion can be represented by a time- space diagram. The figure below shows the "useful" part of a computat ion at time t=4 .

Formally, we consider an alphabet B disjoint from A, a subset B o _ B and assume ~ r w B. An iterative array is a quadrupole I =(A,B,B o, N) where N: ( A w B w { ~ } ) x ( B u { # ~ } ) 2 ~ B u { ~ } is a mapping satisfying N(~:, 4~, ~ ) = ~:.

Page 6: On real-time cellular automata and trellis automata

398 C. Choffrut and K. Culik II

t=O 01

t= l a 2

t=2 0 3

t=3 az,

t=z. a c c , or re j .

Fig. 5

Given any word w = a 1 .. .a,,b 1 . . . b m s A + B * (n>0, re>O, a i eA , l < i < n and bjeB, j < m ) define:

v(al . . . a , ) = a l . . . a , _ l N ( a , , # , # ) if m=0 ,

v ( a l . . . a , b l ) = a l . . . a , _ l N ( a , , b l , # ) N ( b l , # , # ) if m = l , and

v(a 1 ... a,,b 1 ... bm)=a 1 ... a,,_ 1M(a,, ,bl, b2).. . N (bm_s,b,, . ~ ) N (b,,,, 4~, 4#)

if m>2 . Given a subset X~_A, a language Lc_S_, + is recognized by I if L is exactly

the set of those words w e s + such that vlwl(w) starts with a letter in B 0 (observe that we consider here only the real time version of IA's).

3. Some Technical Results

In this section we prove for the different devices (except for the IA's), that the notion for a language to be f(n)- t ime recognizable is defined modulo a con- stant. This enables us to show that trellises and OCA's are two different formalisms of the same object, and in particular that r.t. OCA's are equivalent to r.t. trellises. As a consequence, OCA languages are closed under reversal, which was left as an open problem in [6].

Lemma 1. Let f : N- -*N be a function satisfying f (n )>=n-1 . Then f(n)- t ime CA's are equivalent to f ( n ) + 1 time CA's.

Observe that the restriction f (n )>=n-1 is necessary, since the output at time n - 2 is independent of the first letter.

Proof. If L is a f(n)- t ime CA language, in order to convert it into a f ( n ) + l - time CA language it suffices to introduce a delay of one unit of time. This can be done by considering the set B = A wA, where A is a disjoint copy of A ( ~ A

Page 7: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 399

B

corresponding bijectively to a~A). By convention we set # = # and we define a new transition function M': (B w { # })3 ~ B w { # } by setting:

i) M'(x, # , z ) = # , for x, z ~ B u { # } ;

i i ) ' - M (a , b , c ) = b a n d ' - - M (a,b,c-)=M(a,b,c) for a, c s A w { ~ } , b~A; iii) M' (x, y, z) = b o, for some arbitrary bo s B, otherwise.

Assume now that the language L is recognizable by a f (n )+ 1 time CA. The simulation by a f(n)-time CA is best understood in terms of time space representation. We denote by c'~ and c'~' respectively the values of the i-th cell at time t > 0 during the computation on the f ( n ) + l CA and the f(n)-CA. By

l convention we set c i - # whenever i< 1 or i>n, and we define:

c'i~ =c ~ l <_i<n,

r + l 0 c'i'+1=((c~ i ,ci+,+l),F ), l < i < n , t>O,

where F is a partial function of (A w 4~)2 into A which to every (x,y) assigns o the value _~d "-1 under the guessing that c~ and ci+,+2=y. Of course, if i

- t - 1 < 0 (resp. i+ t + 1 > n) then c] knows that cO_,_ 2 (resp. cO,+ 2) may only have the value ~ .

In Fig. 6 we represent the amount of "guessing" of x and y made by the respective cells. In region I, x and y are unknown. In region II (resp. region III) x (resp. y) is known to be ~ . In region IV, x and y are known to be 4~.

Formally, we consider the set B consisting of A and of all pairs ((a, b, c), F) where a, b, c ~ A u { # } and F is a partial function of ( A ~ { # } ) : into A. The distinguished subset B o ~ B satisfies:

Bo = {(( ~ ,b,c),F)[where F( # , #)~Ao}.

Now, we define the transition function M': (B u { # })3 ~ B w { # }"

i) M'(a, # , c ) = # for a, c ~ B u { # }

c~ c~ c~ c~t.

Fig. 6

Page 8: On real-time cellular automata and trellis automata

400 C. Choffrut and K. Culik 1I

ii) M'(a,b,c)=((a,b,c),F) where F: (A~){~})2---~A is a par t ia l function defined as follows:

- if a = # , F(#,x)=M(#,M(a,b ,c) ,M(b,c ,x)) for all x ~ A u { # } - if c = # , F(x, ~;)=M(M(x,a,b),M(a,b,c), # ) for all x ~ A w { # } - otherwise F(x, y) = M(M(x, a, b), M(a, b, c), M(b, c, y))

iii) M ' (((u 1, u 2, ua), F), ((vl, v 2, va), G), ((w 1, w 2, w3), n) ) = ((u 1, M(u 2 , v 2, w2), K) where

K (x, y) = M (F (x, v3), M (u2, v2, w2), n (v I, y))

whenever F(x, v3) and H(vl, y) are defined.

iv) M'(x,y,z)=b 0 for an arbi t rary boB, otherwise. [ ]

L e m m a 2. Let f : N--*N be a function satisfying f ( n ) > n - 1 . Then f(n)-time trellises are equivalent to f (n)+ 1-time trellises.

Proof Assume F is a t ransi t ion funct ion defining L as a f (n ) - t ime trellis language. T o convert it into a f ( n ) + l t ime trellis language, it suffices to in t roduce a delay of one unit of time. This can be done as in L e m m a 1 by consider ing the set B = A w , 4 where A is a disjoint copy of A. By convent ion we set # = # . Then we define the new transi t ion function G: ( B w { ~ } 2 ~ B w { ~ } by setting:

i) G ( ~ , ~ ) =

ii) G(a,b)=~ and G(~,b)=F(a,b) for aeA, b e A w { # } iii) G(x,y)= b o for some arb i t ra ry boeB otherwise.

It m a y be verified easily by induction that

Gk+ 1 (w # fdwl)-Iwl + 2) = Fk(w ~: f(Iwl)- Iwl + t)

holds for all k > 0 . It then suffices to set B 0 = , 4 0. Conversely, denote by F the function defining L as a (f(n)+ 1)-time trellis

language. The idea for the trellis recognizing in t ime f(n) is to assume at every t ime tha t the c o m p u t a t i o n hits the right bo rde r of the trellis. Thus we will define for example at the first step: G(a,b)=(F(a,b), F(F(a,b), F(b, #))) where the second c o m p o n e n t has the following mean ing (see Fig. 7): if b is the r igh tmost letter of the word then, in the compu ta t i on of L as a f(n)+ 1 t ime language, there exists an extra occurrence of # and the value of the lowest cell of the figure is F(F(a,b), F(b, ~)).

current computed value ~ . ~ . ~ ~

Fig. 7

Page 9: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 401

In other words, we are guessing one step ahead. Formally, we consider B =AL~A ~ and B o = B n ( A x A o ) . Then the new transition function G: (B w { # })2 ~ B L~ { # } is defined by setting:

i) G(~:, ~:)= ~ : ii) G(a,b)=(F(a,b), F(F(a,b), F(b, ~))) for aEA b~Aw{ # } and G((a,b), :~)

=(F(a, 4~ ),F(F(a, ~), ~)), for a, bsA; iii) G((a,b),(c,d))=(F(a,c),F(F(a,c),d)), for a, b, c, dsA; iv) G(x,y)=b o for some arbitrary boEB, otherwise. []

Lemma 3. Let f : N ~ l q satisfy f(n)>_n-1 for all n>0. Then f(n)-time OCA's are equivalent to f (n)-time trellises.

Proof. The idea is to observe that those objects yield two equivalent represen- tations of the same computation

\ 'V I

completion of the diagram

computation on a f{n)-OCA equivatent computation on a f(n)-tre{lis

Fig. 8 Fig. 9

Intuitively, the equivalence is shown by first "completing" the useful part of the time-space diagram of the OCA in order to form a triangle and then by

i shifting the i-th row to the right by ~ times the distance of two consecutive

cells. Formally, assume that the transition functions R and F of the OCA and

the trellis respectively, are the same. Consider a word w ~ A of length Iwl=n. Then for all integers O < k < f ( n ) - n + 1 we have:

q~(w ~ I ( . ) - . + i ) = pk(w) # ,~(.)-. § ~ -~

Page 10: On real-time cellular automata and trellis automata

C. Choffrut and K. Culik II 402

In particular we obtain:

~f(n)--n.+ X(w:~ f(n)--n+ 1)~.pf(n)--n+ 1 (W)~A+"

Because of F = R we get:

~ps~")(w4~St")-"+l)=pSC")(w) as claimed. []

From Lemma 3 follows.

Corollary 1. Real-time OCA's are equivalent to real time trellises.

Corollary 2. Real-time OCA languages are closed under reversal.

Proof. This follows from the fact that real t ime trellis languages are closed under reversal.

4. Comparison of the Different Recognition Devices

Lemma 3 of last section established the equivalence between OCA's and trellises. We are thus essentially left with three different devices: CA's, OCA's and IA's.

Here we prove that 2n-OCA's are equivalent to n-CA's, which completes the result of [14"] where it was proved only in one direction. This result could actually be drawn, with some modifications of the original proof, from the Theorem 2 of I-5].

We also compare IA's and real time CA's and OCA's. We show that r.t. CA's are strictly more powerful than IA's and r.t. OCA's, and that these last two devices are incomparable in recognition power. Since we are considering (as common) the CA's with the output at the right most cell we have to consider IA's which read the input word backwards.

Theorem 1. 2 n-O CA's are equivalent to real time CA's.

Proof. In order to prove that 2n-OCA's are at least as powerful as real time CA's, we use the time space representation on a (n -1 ) - t ime CA and transform it as shown below.

n-1 computat ion on a CA

Fig. l0

--1

3

-q

intermediate equivalent computation

Fig. 11

Page 11: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 403

/

~r equivalent 2n-2 time computation on a 0CA

Fig. 12

In a first step, between two-consecutive configurations, we create an interme- diate one which is meant to store the content of the older one. Then we "bend" the time space diagram to the left so that the outer oblique line hang vertically from the first cell. Formally, we consider a disjoint copy .zT of A, two distinct elements ~, ~ not belonging to A w,4w{~:} and we set B = A w {$} w (.zi ~ {$})2. We define the transition function R: (B w { ~ })2 ~ B u { ~: } by setting:

i) R(4~, 4~)= :~;

ii) R(a,b)=(~,b) and R(a, ~)=(~ ,$) , for a, b~Aw {$};

iii) R((&b),(b,c-'))=M(a,b,c) and R((~,b),(b,~))=M(a,b, ~), for a, b, c~A; iv) R(x, y) = $, otherwise.

The resulting OCA recognizes L in time 2 n - 2 which according to Lemmas 2 and 3 proves the assertion of the theorem in one direction.

Conversely, assume a language L is recognized by a 2n-OCA. By Lemmas 2 and 3, it is also recognized by a ( 2 n - 2 ) trellis. The idea is to fold this trellis along the vertical line going through the middle and then to double the speed, i.e., to consider every second row. The resulting diagram can be considered as a time-space representation of a n - 1 computation on a CA. Now we need an extra time unit for initialization, converting the word a l . . . a, to be processed on the CA, into the word (a 1, @)(a2, ~) . . . (a,,_ x, @)(a,,$) corresponding to the content of the trellis after the folding. Formally, let F: A x A ~ A be the transition function defining the trellis. Let $ be an element not in A w { ~ } and set B = A w ( A x ( A u { $ , ~})), Bo=Aox$ . The transition function M: (Bu { ~: } ) 3 ~ B u { ~ } defining the CA is defined by setting:

i) M ( x , # , z ) = ~ for x, z e B u { : # } ;

Page 12: On real-time cellular automata and trellis automata

404 C. Choffrut and K. Culik II

v

of

2n-2 trellis computation

Fig. 13

n-CA computation

Fig. 15

the folding of the treliis

Fig. 14

3 J

,) ,)

ii) M (a, b, c) = (b, #), and M(a,b, qc-)=(b,$), for a e A u { # } and b, ceA;

iii) M((ax, bl), (a2, b2) , (a3, b3) ) =(F(F(al, a2), F(a2, a3)), F(F(ba, b2), F(b2, bl)))

M((al, bl), (a2, b2), (a 3, $)) =(F(F(al, a2), F(az, aa)), F(F(a3, b2), F(b2, bl)))

M(al , b~), (a 2, $), #~ )=(F(F(al , a2), F(a2, b2)), $), for al ,a2 ,a3eA, bl,b2, b 3 e A w { # } ;

iv) M(x, y, z) = b o, for some arbitrary b o �9 B otherwise. []

Let IA be the iterative arrays which read the input word backwards, i.e., L

is an I'~-language iff L is accepted by an IA (in real time). According to I-6, p. 273] Seiferas claimed in a personal communication that

an IA can be simulated in twice real time on an OCA. By the preceding

Page 13: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 405

Theorem this amounts to saying that IA can be simulated by a r.t., CA which is what the following lemma shown already in [13] states.

Lemma 4. Every IA can be simulated by a r.t. CA.

Proof. Intuitively, we must complete the mirror image of the time-space

diagram of a computation on a IA in such a way that it defines a r.t. computation on a CA by introducing "dot ted" connections which are just meant to send each letter to the rightmost column where it can start simula-

ting the computation on the IA (cf. Fig. below).

~ ' , . " . .

03

a2

o,

Cl 0

IA computation n-CA computation

Fig. 16 Fig. 17

Formally, if I = (A, B, B o, N) is the I'~, we set D = (A u B) w (A u B ~ { 4~ })z and Do={~: } x B 0. The equivalent CA is defined by the transition function M: (Dw{ ~ }3--*Dw{ ;# } satisfying:

i) M(x, ~ , z ) = 4 ~ , for x, z eDw{4~} ;

ii) M(a,b,c)=(a,e#) and M(a,b, @)=(a,N(b, 4~, 4~);

for a e A u { ~ } , b, c e A ;

iii) M((a, x), (b, y), c, z)) = (a, N(z, y, x),

M((a, x), (b, y), ~ ) =(a, N(b, y, x)),

for aeAw{4~} , b, c e A and x ,y , z e B u { @ } ;

iv) M(x, y, z) = d o for some arbitrary value d o e D, otherwise. []

Theorem2. Real time OCA's and IA's are incomparable. Thus r.t. CA's are

strictly more powerful than r.t. OCA's and IA's.

Proof. Clearly, Lemmas 2 and 4 prove that r.t. CA's are at least as powerful as

r.t. OCA's and I'A's. Cole proved in [4] that L=27*. {we2~a2~*lw=ff} (with

Page 14: On real-time cellular automata and trellis automata

406 C. Choffrut and K. Culik II

Card 27 > 2) is not an IA-language, thus L is not an i'A-language. However, as a linear context-free language it is a r.t. OCA language (cf. [12] or [21). Consider the language L = {a2"jn>0}. It has been shown not to be a trellis language in [2] and therefore it is not r.t. OCA-language by Lemma 3. We will show here

that it may be recognized by an IA and therefore also an IA.

The idea is to use two signals moving at different speeds. The slow one runs at unit speed from left to right, while the fast one runs at 3 unit speed forth and back as follows: it leaves the initial cell and moves to the right until it reaches the slow signal, then it changes direction and goes back to the initial cell and so forth (see time space diagram). The interval between two hittings of the initial cell by the fast signal is doubled every time.

0 1 1 2

\ \ -- space

\ ~ \ X % ~ S l O W slgnal

~ fast signal'

time Fig. 13.

Formally, we set A={a}, B= {(i,j)li= -1, 0, 1 j = 0 , 1,2,3} where the first component stands for the fast signal (1 when it moves from left to right, - 1 when it moves from right to left) and the second for the slow signal, and B 0 = {(l, j)IJ = 0, 1, 2, 3}. The transition function is defined as follows:

initialization

the fast signal leaves the initial cell and proceeds to the right

N(a, =14=, ~ ) = ( 0 , 0), N(a, (0, 0), ~ ) = ( 1 , 1), N(a, (1, 1), ~ )=(1 ,2 ) , N(a,(O, 3),(i,j))=O, i=0 , 1 j = 0 , 1,2,3; N(y,(1,3),x)=(0,3), y~Av.aB, x~B; N((i, 3), (0,j), x )= (sup {0, i}, inf{3,j + i}), x ~ B w { ~ }

Page 15: On real-time cellular automata and trellis automata

On Real-Time Cellular Automata and Trellis Automata 407

the fast s igna l reaches the s low o n e a n d changes d i r e c t i o n

the fast s igna l reaches the in i t ia l cell a n d is r e ady to be sen t to the r ight

N(y,(1,j), 4 # ) = ( - 1 , j + l ) ( j < 3 a n d y+-a) or j 4 : l ,

N ( ( - 1 , 3), 4r 4~)=(0, 1) N(x,(O, 3),(-1,j))=(-1,3) x ~ B u { ~ } w A N(x,(-1,3),y)=(0,3) x~B,

N(a,(--1,3),x)=(1,3) x~B

References

1. Beyer, W.T.: Recognition of Topological Invariants by Iterative Arrays, MACTR-66, Massa- chusetts, Institute of Technology, 1969

2. Culik, K. II, Gruska, J., Salomaa, A.: Systolic trellis automata (for VLSI). Res. Rep. CS-81-34, Dept. of. Comput. Sci., University of Waterloo, 1981

3. Culik, K. II, Gruska, J., Salomaa, A.: Systolic trellis automata: Stability, Decidability and Complexity. Res. Rep. CS-82-04, Dept. of Comput. Sci., University of Waterloo, 1982

4. Cole, S.N.: Real-time computation by n-dimensional iterative arrays of fine-state machines. IEEE Trans. Comput. 18, 349-365 (1969)

5. Culik, K. II, Pachl, J.: Folding and Unrolling Systolic Arrays. ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Ottawa, August 1982

6. Dyer, C.R.: One Way Bounded Cellular Automata. Information and Control 44, 261-281 (1980)

7. Fischer, P.C.: Generation of primes by a one-dimensional real-time iterative array. J. Assoc. Comput. Mach. 12, 388-394 (1965)

8. Hennie, F.C.: Iterative Arrays of Logical Circuits. Cambridge MA: MIT Press 1961 9. Kosaraju, S.P.: On some open problems in the theory of cellular automata, IEEE Trans.

Comput. C-23, 561-565 (1974) 10. Kung, H.T.: Why Systolic Architecture? Computer Magazin, January 1982 11. Leiserson, C.E., Saxe, J.B.: Optimizing Synchronous Systems. In: Proceedings of the 22nd

Annual Symposium on Foundations of Computer Science. IEEE Computer Science, pp. 23-36, 1981

12. Smith, A.R., III: Cellular automata and formal languages. In: th'oc. 11th IEEE Ann. Syrup. Switching Automata Theory, pp. 216-224, 1970

13. Smith, A.R., III: Real-time language recognition by one-dimensional cellular automata. J. Comput. System Sci. 6, 233-253 (1972)

14. Umeo, H., Morita, K., Sugata, K.: Deterministic one-way simulation of two-way real-time cellular automata and its related problems. Information Processing Lett. 14, 158-16I (1982)

Received March 23, 1983/May 11, 1984


Top Related