IEICE TRANS. INF. & SYST., VOL.E88–D, NO.1 JANUARY 2005
65
PAPER
Special Section on Foundations of Computer Science
Real-Time Recognition of Cyclic Strings by One-Way and Two-Way Cellular Automata∗ Katsuhiko NAKAMURA†a) , Member
SUMMARY This paper discusses real-time language recognition by 1dimensional one-way cellular automata (OCAs) and two-way cellular automata (CAs), focusing on limitations of the parallel computation power. To clarify the limitations, we investigate real-time recognition of cyclic strings of the form uk with u ∈ {0, 1}+ and k ≥ 2. We show a version of pumping lemma for recognizing cyclic strings by OCAs, which can be used for proving that several languages are not recognizable by OCAs in real time. The paper also discusses the real-time language recognition of CAs by prefix and postfix computation, in which every prefix or postfix of an input string is also accepted, if the prefix or postfix is in the language. It is shown that there are languages L ⊆ Σ+ such that L is not recognizable by OCA in real-time and the reversal of L and the concatenation LΣ∗ are recognizable by CA in real-time. key words: cellular automata, OCA, parallel language recognition, pumping lemma, prefix recognition
Fig. 1
Fig. 2
Real-time recognition by a CA.
Real-time recognition by an OCA.
1. Introduction As serial language recognition has been a fundamental subject in traditional automata and computation theories, parallel language recognition is an essential theme in the theory of parallel computation. Among the models for parallel language recognition, cellular automata (CAs), also called cellular array [8], [9], have the advantages of simplicity and uniformity. Although the parallel language recognition by CAs has been investigated for more than three decades, many important problems still remain unsolved. This paper explores parallel language recognition by 1-dimensional one-way (2-neighbor) and two-way (3neighbor) deterministic bounded CAs. The one-way cellular automaton (OCA) is the special CA such that the next state of each cell does not depend on the state of the right neighbor cell. To clarify the limitations of parallel computation power of CAs and OCAs, we discuss real-time recognition of cyclic strings of the form uk with u ∈ {0, 1}+ and k ≥ 2. We say that a CA recognizes a language L ⊆ Σ+ in time t, if and only if there is a deterministic transition of configurations for each string w ∈ Σ+ such that: 1. The initial configuration is a sequence of cell states of the form #w#, where # is the boundary state; and 2. The rightmost cell has an accepting state in the configuration at time t, if and only if w ∈ L. Manuscript received March 21, 2004. Manuscript revised July 31, 2004. † The author is with the Department of Computers and Systems Engineering, College of Science and Engineering, Tokyo Denki University, Saitama-ken, 350–0394 Japan. ∗ A part of this paper was presented at MFCS 1999 [13]. a) E-mail:
[email protected]
The CA recognizes the language in real time, or in linear time, if and only if the recognition time t is equal to |w| − 1 or c · (|w| − 1), respectively, for a constant c ≥ 1. The realtime language recognition models are illustrated in Figs. 1 and 2. Formal definitions of CAs and recognition are given in Sect. 2. We also discuss the reflective models of the CA and the OCA — the “left CA” and the “left OCA,” respectively, in which the acceptance is decided by the leftmost cells. The language recognized by a CA is called the cellular automaton language (CAL), and that by an OCA the one-way cellular automaton language (OCAL). Note that in some literatures [8], [9] the reversal of the CAL, i.e. the left CAL, is the standard and is simply called the CAL. Several language recognition models of cellular automata were first investigated by Kasami et. al. [11] and Cole [4] in the late 1960’s. Smith III [15] first discussed real-time language recognition by CAs in 1972. He distinguished the real-time recognition from linear-time recognition for the following reason. If a CA S recognizes a string w in linear time c · (|w| − 1) for any constant c > 1, there is a CA S which recognizes L in time (1 + (c − 1)/k) · (|w| − 1) for a constant k ≥ 2 from the speed-up theorem [14]. Hence, when k is large, the CA S recognizes L in “almost” real time. The cost of this speed-up, however, increases exponentially with k in terms of the size of the state set. The realtime language recognition is especially important from the viewpoint of cognitive science, since languages are likely to be recognized in real time in human mind. In 1980, Dyer [5] first discussed real-time language recognition power of one-way cellular automata (OCAs). The results of previous researches closely related to this pa-
c 2005 The Institute of Electronics, Information and Communication Engineers Copyright
IEICE TRANS. INF. & SYST., VOL.E88–D, NO.1 JANUARY 2005
66
Fig. 3 Conversion from CA to left OCA. Each symbol stj denotes the state of the j-th cell in the CA at time t.
per are summarized as follows, where C(L) denotes the class of languages of the type L.
are closely related to the fundamental problems in the parallel computation power of CA and OCA.
1. C(CAL) = C(deterministic context sensitive language) [11], [15]. C(context free language) ⊆ C(OCAL) [11]. 2. C(real-time OCAL), as well as C(real-time CAL), includes non-context-free languages such as {an bn cn | n ≥ 1} [5], [15]. C(real-time CAL) includes complex languages such as {1n | n is a prime number} [6], [15]. 3. Both C(real-time OCAL) and C(real-time CAL) are closed under set operations [15]. 4. C(real-time OCAL) is closed under reversal, i.e. C(real-time OCAL) = C(real-time left OCAL) [3]. C(linear-time CAL) is also closed under reversal [15]. 5. C(real-time CAL) = C(linear-time left OCAL) and C(real-time left CAL) = C(linear-time OCAL). The proofs in [3], [16] are based on that for any CA, we can construct an OCA with the transition of configurations in Fig. 3.
• C(real-time CAL) is closed under reversal, if and only if C(linear-time CAL) = C(real-time CAL). The class of unary real-time CALs is closed under concatenation as well as reversal. • If C(real-time CAL) is closed under reversal, then the class is also closed under concatenation. • If CA is more powerful than OCA, nonlinear-time CA is more powerful than linear-time CA.
The important problems on parallel language recognition power of CAs are concerned with the languages not recognizable by CAs or OCAs in real time. In 1984, Choffrut and Culik [3] proved that C(real-time OCAL) is a proper subclass of C(real-time CAL) by showing that the language n {12 | n ≥ 0} can be recognized by a CA but not by any OCA in real time. In 1995 and 1996, Terrier [17], [18] showed two languages which are recognizable by CAs but not by any OCA. One of the languages is Luvu = {uvu | u, v ∈ {0, 1}∗ , |u| ≥ 1}. The other is the language L1 L1 , where L1 is the set {w | w = 1 j 0 j or w = 1 j 0y10 j , y ∈ {0, 1}∗ , j > 0}. The existence of this language implies that C(real-time OCAL) is not closed under concatenation, since L1 is a realtime OCAL. The following fundamental problems on the real-time recognition power of CA has been unsolved, since Smith III [15] first posed them in 1972. • Is there a nonlinear-time CAL? • Is there a linear-time but non-real-time CAL? • Is the class of real-time CAL closed under reversal or under concatenation? Ibarra and Jiang [9] shows the following propositions, which
This paper is organized as follows. The cellular automata, transition of configurations in CAs, and language recognition by CAs are formally defined in Sect. 2. In Sect. 3, we show a version of pumping lemma for real-time recognition of cyclic languages by OCAs, from which we can prove that several languages are not real-time OCALs. In Sect. 4, we introduce the languages recognized by prefix and postfix computation in CAs and OCAs and discuss their relations to the other classes of languages. In Sect. 5, we show that there are real-time CALs L ⊆ Σ+ such that L is not a real-time OCAL, and its reversal and the concatenation LΣ∗ are also real-time CALs. 2. Cellular Automata and Language Recognition A cellular automaton (CA) is a system S = (K, #, f, A), where: • K is a finite set of cell states; • # ∈ K is the boundary state; • f , a transition function, is a mapping from K 3 into K − {#}; and • A ⊆ K is a set of accepting states. A one-way cellular automaton (OCA) is a CA S = (K, #, f, A) such that there exists a function f : K × K → K with f (x, y, z) = f (x, y) for all x, y, z ∈ K. A configuration is a string #u# with u ∈ (K −{#})+ . The transition function f is extended to that of configurations by f (#a1 a2 · · · an #) = #b1 b2 b2 · · · bn #, where bi = f (ai−1 , ai , ai+1 ) for all i, 1 ≤ i ≤ n, and a0 = an+1 = #. The function f n of configurations is recursively defined by f 0 (c) = c and f n (c) = f ( f n−1 (c)), for
NAKAMURA: REAL-TIME RECOGNITION OF CYCLIC STRINGS BY CELLULAR AUTOMATA
67
any configuration c and n ≥ 0. A CA S = (K, #, f, A) recognizes a language L ⊆ Σ+ in time t (by the rightmost cell), if and only if Σ ⊆ K and for all w ∈ Σ+ with |w| ≥ 2, +
w ∈ L ⇔ f (#w#) ∈ {#}K A {#}. t
The CA S recognizes L in real time, if and only if t = |w|−1. The CA S recognizes L in linear time, if and only if there is a constant c ≥ 1 with t ≤ c · (|w| − 1). The CA S recognizes a language L ⊆ Σ+ in minimum time, if and only if the center cell (s) of S determines whether w ∈ L in time |w|/2 for all w ∈ Σ+ . It is shown in [1] that for any language L, there is a CA which recognizes L in the minimum time, if and only if there is an OCA which recognizes L in real-time. In the real-time recognition, we can write f i (a1 a2 · · · an #) = bi+1 · · · bn # for all 1 ≤ i ≤ n − 1. For real-time recognition by an OCA, we also write f i (a1 a2 · · · an ) = bi+1 · · · bn . Note that the boundary state # is in fact not necessary for this case. The language recognized by the leftmost cell, called the left CAL or the left OCAL, is defined similarly, and it is equivalent to the reversal of the language recognized by the rightmost cell. Since this paper mainly deals with the acceptance by the rightmost cell, we simply call the CAL and the OCAL instead of the “right CAL” and the “right OCAL.” The following lemmas are direct consequences of the definitions or well-known in the field of cellular automata. 1. The real-time recognition in time |w| − 1 for any string w is equivalent to that in time |w|. Note that the recognition in time |w| − 1 does not require the left boundary symbol. 2. For any real-time CAL L over Σ, Σ∗ L is a real-time CAL, although it is not known that LΣ∗ is a real-time CAL. 3. For any real-time OCAL L over Σ, both LΣ∗ and Σ+ L are also real-time OCALs. 3. Pumping Lemma for Recognition of Cyclic Strings by OCAs A cyclic string of any alphabet Σ is a string of the form uk with u ∈ Σ+ and k ≥ 2. An example of simple cyclic strings is 1k with k ≥ 2. Proposition 1 (Pumping lemma for OCA): For any realtime OCAL L, there exists an integer n such that for any string u and any integer k, if uk ∈ L and |uk | > n|u| then there is an integer 1 ≤ m ≤ k such that uk+ jm ∈ L for all j ≥ 1. Proof. Let S = (K, #, f, A) be an OCA which recognizes L. Let n be |K|. Then, for any string u and any integer k with uk ∈ L, there are strings u = u0 , u1 , u2 , · · · , u j , · · · with |u j | = |u| such that f j (uk ) is equal to either:
1. the postfix† of ukj with the length |u|k − j for all j, 1 ≤ j ≤ |uk | − 1; or k 2. f |u |−1 (uk ) ∈ A. Since the number of possible strings u j is bounded by n|u| , if |uk | > n|u| , the sequence u0 , u1 , u2 , · · · falls into a loop: There exist l and m with l, m ≤ k such that ul = ul+ jm for all j ≥ 1. This implies that uk+ jm ∈ L for all j ≥ 1. This pumping lemma can be used to show that several languages are not real-time OCALs. The following proposition is a direct consequence of Proposition 1. Proposition 2: For any integer function g and any alphabet Σ, if g(n) = ω(n), i.e. g(n) grows faster than any linear function of n, then the language {wg(n) | w ∈ Σ+ , n ≥ 1} is not a real-time OCAL. 2
This proposition implies that the language {1n | n ≥ 0} is not a real-time OCAL, which is proved in [3]. By the pumping lemma, we show that the following language and its reversal are not real-time OCALs but realtime CALs, where B(n) denote the binary representation of an integer n. LB = {uv ∈ {0, 1}+ | v = B(|uv|)}. Proposition 3: The language LB and its reversal LRB are not real-time OCALs. Proof. Consider the intersection of LB and a simple cyclic language. A string {10}n , n ≥ 1, is a member of LB , if and only if n = 22k−1 + 22k−3 + · · · + 23 + 2 for any k ≥ 1. By Proposition 1, LB ∩ (10)∗ is not a real-time OCAL. Hence, LB is not a real-time OCAL. Since C(realtime OCAL) is closed under reversal, LRB is not a real-time OCAL either. Proposition 4: The language LB and its reversal LRB are real-time CALs. Proof. We show that we can construct two CAs which recognize LB and LRB . Both CAs simulate binary counters: each cell has two modulo-2 counters to enumerate the length of strings. The CA for LB has two layers that work as follows (Fig. 4). 1. In the first layer, the signals representing 0’s and 1’s in the input string move to the right until the signals meet control signal C0 moving from the rightmost cell to the left. Then, these signals remain in the cell. 2. The second layer contains the counter which generates binary numbers in numeric order in the diagonal direction which starts from the rightmost cell in the space-time diagram as represented by dotted lines in † The postfix of a string a1 a2 · · · an with a length l is the substring an−l+1 · · · an .
IEICE TRANS. INF. & SYST., VOL.E88–D, NO.1 JANUARY 2005
68
prefix computation is investigated in [10]. A CA S = (K, #, f, A) recognizes a language L ⊆ Σ+ by prefix computationin linear time, if and only if there is a constant c ≥ 1 such that Σ ⊆ K and for all uv ∈ Σ+ , |uv| ≥ 2, u ∈ L ⇔ f c·(|u|−1) (#uv#) ∈ {#}K |u|−1 AK |v| {#}. The CA S recognizes a language L ⊆ Σ+ by postfix computation in linear time, if and only if there is a constant c ≥ 1 such that Σ ⊆ K and for all uv ∈ Σ+ , |v| ≥ 2, v ∈ L ⇔ f c·(|v|−1) (#uv#) ∈ {#}K |v|−1 A {#}.
Fig. 4
Space-time diagram of the CA recognizing L B .
The prefix and postfix recognitions are in real time, if c = 1. We denote the language recognized in CA or OCA by prefix computation by CAL-PRE or OCAL-PRE, respectively, and that by postfix computation by CAL-POST or OCAL-POST. The prefix and postfix recognition by the leftmost cell is defined analogously. The following propositions are direct consequences of the definition. 1. C(real-time OCAL-PRE) = C(real-time OCAL) = C(real-time OCAL-POST) 2. C(real-time CAL-PRE) ⊆ C(real-time CAL). 3. C(linear-time CAL-PRE) ⊆ C(linear-time CAL). C(linear-time CAL-POST) ⊆ C(linear-time CAL). Proposition 5: C(real-time OCAL) C(real-time CAL-PRE).
Fig. 5
Space-time diagram of the CA recognizing LRB .
Fig. 4. The cells containing the binary number also check whether the binary digits in the generated number are equal to the remaining signals in the first layer. The result of the test is propagated by signal T in Fig. 4. If all the digits of the generated number coincide with the signals representing B(|uv|), signal E is generated. This signal moves to the left first. When the signal meets control signal C1 at velocity 1/3, it moves to the right. When this signal arrives at the rightmost cell, it has an accepting state. The CA for LRB similarly generates binary numbers and tests the equalities between the signals of the input string and the generated numbers as illustrated in Fig. 5. This CA is different from the one for LB in that the binary numbers are generated from left to right, the binary digits move to the left, and the equalities with the length |uv| is immediately determined when the numbers are generated. 4. Prefix and Postfix Recognition In this section, we introduce two types of parallel language recognition, that by prefix and postfix computation, and discuss the relations between their languages and languages in other classes. Language recognition on iterative arrays by
Proof. It is a direct consequence of the definition that any real-time OCAL is a real-time CAL-PRE. We show that there is a real-time CAL-PRE that is not a real-time OCAL. Let L ⊆ {0, 1}+ be any real-time CAL that is not real-time OCAL. Consider the language L{$}, where $ is a symbol used as a marker. We can construct a CA S that recognizes L{$} by prefix computation: By regarding symbol $ as the right boundary state #, the transition of S can be equivalent to the CA that recognizes L. It is obvious that the language L{$} is not a real-time OCAL. The language L{$} would be meaningful for investigating recognition power of CAs, since the language {u$v| u ∈ L, v ∈ {0, 1}+ , |u| = |v|}, which is similar to L{$} = {u$| u ∈ L}, is a real-time OCAL, even if L is a real-time CAL. Proposition 6: C(left linear-time OCAL-PRE) = C(realtime CAL-PRE). Proof. This proposition is a special case of that C(left lineartime OCAL) = C(real-time CAL) shown in [3], [16], i.e., every CA can be converted to a left OCA with the transition of configurations in Fig. 3. Proposition 7: C(real-time CAL-PRE) C(real-time CAL).
NAKAMURA: REAL-TIME RECOGNITION OF CYCLIC STRINGS BY CELLULAR AUTOMATA
69
Proof. Proposition 1 (the pumping lemma for real-time OCAL) can be also applied to any linear-time OCAL-POST or OCAL-PRE L. Hence, there are real-time CALs that are not linear-time OCAL-POST, and C(linear-time CALPOST) is a proper subclass of C(real-time CAL). This fact and Proposition 6 imply the proposition. 5.
Real-Time CAL Closed under Reversal and Concatenation
It is an open problem whether C(real-time CAL) is closed under reversal and/or concatenation, whereas C(real-time OCAL) has been shown to be closed under reversal but not closed under concatenation [17], as mentioned in Sect. 1. In this section, we show two types of real-time CALs of which the reversals are also real-time CALs. A CA S = (K, #, f, A) generates a string a1 a2 a3 · · · an ∈ K + in real time, if and only if for an initial configuration bn # with n ≥ 2, i-th configuration equals to ui ai # for any ui and for all 1 ≤ i ≤ n. Fisher [6] showed a CA which generates the string a1 a2 a3 · · · an , · · · such that ai is a special state v, if and only if i is a prime number. Any integer function f (n) is called a Fisher’s constructible in [12], if there are a CA S and a state v of S that S generates a1 a2 · · · ai · · · such that ai = v, if f (n) = i for some n; ai v, otherwise. In addition to the n-th prime number, there are several Fisher’s constructible functions such as n2 , n3 , and n! [12]. Proposition 8: Let R be a relation with R ⊆ Σ × K. If there is a CA which generates a string a1 a2 · · · an ∈ K + in real time, the language {b1 b2 · · · bn ∈ Σ+ | bi Rai , 1 ≤ i ≤ n} and its reversal are real-time CALs. Proof. From the CA S , we can construct two CAs S 1 and S 2 which recognize the language and its reversal, respectively. The transitions of configurations in S 1 and S 2 are represented in the space-time diagrams in Fig. 6. In the right diagram for recognizing the reversal, each input symbol bi moves to right and the rightmost cell tests the relation bi Rai at Point x. When all the symbols match with the generated symbols, the rightmost cell has an accepting state. In the left diagram, the matching of bi with ai is tested at Point x. The
Fig. 6 tion.
Transition in CAs S 1 and S 2 recognizing languages by genera-
signal moving to the right from every cell accumulates all the matching results and transfers an accepting signal to the rightmost cell, if all the tests of the matching succeed. Note that the real-time CALs in this proposition include the unary languages. We denote the type of real-time CALs whose reversals are also real-time CALs by real-time CAL-R. Proposition 9: The class of real-time CAL-Rs includes languages that are not real-time OCALs. Proof. Let S be a CA corresponding to a nonlinear Fisher’s constructible function f (n) such as n2 . Let S 1 and S 2 be CAs constructed frm S by the method in the proof of Proposition 8. The languages recognized by S 1 and S 2 in real time are real-time CALs but not real-time OCALs by Proposition 2. We introduce another class of real-time CAL L ⊆ Σ+ , denoted by real-time CAL-C, such that the concatenation LΣ∗ is also a real-time CAL. Proposition 10: The language L1 L1 {0, 1}∗ is a real-time CAL, where L1 is the set {w| w = 1 j 0 j or w = 1 j 0y10 j , y ∈ {0, 1}∗ , j > 0}. Proof. Recall that Terrier [17] proved that L1 L1 is not realtime OCAL. We can construct a CA in which the configurations transit as in Fig. 7 for any input string u1 u2 v with u1 , u2 ∈ L1 , andv ∈ {0, 1}∗ . Both A and B are areas of transitions for recognizing that u1 and u2 are in L1 . The coincidence of the two results are checked by a cell at Point x. The following proposition is a direct consequence of Proposition 10. Proposition 11: There are real-time CALs L ⊆ Σ+ such that L is not a real-time OCAL, and LR and LΣ∗ are realtime CALs. The class C(real-time CAL-C) seems to be very similar to C(real-time CAL-PRE). The only difference is the position of cells that accept the prefixes: In the recognition by prefix computation, each prefix is accepted by the cell at the right end of the prefix in the input string. Proposition 12: C(real-time CAL-PRE) ⊆ C(real-time CAL-C).
Fig. 7
Transition of the CA recognizing L1 L1 {0, 1}∗ .
IEICE TRANS. INF. & SYST., VOL.E88–D, NO.1 JANUARY 2005
70
Proof. From the definition of CAL-PRE. It is an open problem whether the inclusion relation is proper or not. 6. Concluding Remarks In this paper, we investigated real-time recognition of cyclic strings by CAs and OCAs to clarify the parallel computational power of CAs. Based on the pumping lemma for cyclic strings, we showed that the several languages are not recognizable in real time by OCAs. We introduced the class of languages including those recognized in CAs by prefix and postfix computation (CALPRE and CAL-POST, respectively), and languages such that their classes are closed under reversal or concatenation (CAL-R or CAL-C, respectively). The following relation summarizes our results. C(real-time OCAL) C(real-time CAL-PRE) C(real-time CAL). On the other hand, we have C(real-time CAL-PRE) ⊆ C(real-time CAL-C) ⊆ C(real-time CAL). These relations imply that we can replace at least one of the subclass relations (⊆) above by the proper subclass relation (). Fig. 8 shows the other relations among the classes, which is an updated version of the diagram in [9]. The arrows represent inclusion relations. The double boxes represent that the classes are proved to be closed under concatenation. Ibarra and Jiang [9] conjectured that the language {w$wn | w ∈ {0, 1}+ , n ≥ 1} is not a real-time CAL, whereas its reversal is a real-time CAL. Nakamura [13] shows that this language is a real-time CAL, and their conjecture does not hold. The proof is based on their result that {1m 0n | m, n ≥ 1 and m divides n}, as well as its reversal, is a real-time CAL (Theorem 4.1 in [9]). The author conjectures that the following two lan-
Fig. 8
Relations between the language classes.
guages are not real-time CALs and is currently working for proving this proposition. 1. {uvw ∈ {0, 1}+ | v = B(|uvw|)}. 2. {wwv | w ∈ {0, 1}+ , v ∈ {0, 1}∗ }. Note that the former language is closely related to LB in Sect. 3. The conjecture is based on that in real-time recognition of a CA, the rightmost cell plays an important role in emitting several control signals, which is considerably weakened in the recognition of the language of the form LΣ∗ with L Σ∗ . The second language is closely related to another conjecture by Ibarra and Jiang [9] that {w|w| | w ∈ {0, 1}+ }{0, 1}∗ is not a real-time CAL, since we can prove that if the language {ww | w ∈ {0, 1}+ }{0, 1}∗ is a real-time CAL, then {w|w| | w ∈ {0, 1}+ }{0, 1}∗ is also a real-time CAL. Many problems on parallel recognition by CA remain unsolved. In addition to the fundamental open problem on real-time CAL mentioned in Sect. 1 and shown Fig. 8, we have open problems as follows. • Is the double word language {ww | w ∈ {0, 1}+ } a realtime OCAL? • What is the difference among C(real-time CAL-PRE), C(real-time CAL-C) and C(real-time CAL-R)? • What is the difference between C(linear-time CALPRE) and C(linear-time CAL)? This problem is closely related to the unsolved question whether C(linear-time CAL) is closed under concatenation. References [1] W. Bucher and K. Culik II, “On real time and linear time cellular automata,” R.A.I.R.O. Inform. Th´eor., vol.18, pp.307–325, 1984. [2] J.H. Chang and O.H. Ibarra, “On the power of one-way communication,” Proc. 27-th IEEE Ann. Symp. on Foundations of Computer Science, pp.455–464, 1986. [3] C. Choffrut and K. Culik II, “On real-time cellular automata and trellis automata,” Acta Informatica, vol.21, pp.393–407, 1984. [4] S.N. Cole, “Real-time computation by n-dimensional iterative arrays of finite state machines,” IEEE Trans. Comput., vol.C-18, no.4, pp.349–365, 1969. [5] C. Dyer, “One-way bounded cellular automata,” Inf. Control, vol.44, pp.54–69, 1980. [6] P.C. Fisher, “Generation of primes by a one-dimensional real-time iterative array,” J. ACM, vol.12, pp.388–394, 1965. [7] J.E. Hopcroft and J.E. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979. [8] O.H. Ibarra, M.P. Palis, and S.M. Kim, “Fast parallel language recognition by cellular automata,” Theor. Comput. Sci., vol.41, pp.231–246, 1985. [9] O.H. Ibarra and T. Jiang, “Relating the power of cellular arrays to their closure properties,” Theor. Comput. Sci., vol.57, pp.225–238, 1988. [10] C. Iwamaoto, T. Yokouchi, K. Morita, and K. Imai, “Prefix computations on iterative arrays with sequential input/output mode,” IEICE Trans. Inf. & Syst. vol.E87-D, no.3, pp.708–712, March 2004. [11] T. Kasami and M. Fujii, “Some results on capabilities of onedimensional iterative logical networks,” Electrical and Communication, vol.51-C, pp.167–176, 1968. [12] J. Mazoyer and V. Terrier, “Signals in one-dimensional cellular automata,” Theor. Comput. Sci., vol.217, pp.53–80, 1999.
NAKAMURA: REAL-TIME RECOGNITION OF CYCLIC STRINGS BY CELLULAR AUTOMATA
71
[13] K. Nakamura, “Real-time language recognition by one-way and two-way cellular automata,” LNCS 1672, Mathematical Foundation of Computer Science, pp.220–230, 1999. [14] A.R. Smith III, “Cellular automata complexity trade-offs,” Inf. Control, vol.18, pp.466–482, 1971. [15] A.R. Smith III, “Real-time language recognition by one-dimensional cellular automata,” J. Comput. Syst. Sci., vol.6, pp.233–253, 1972. [16] H. Umeo, K. Morita, and K. Sugata, “Deterministic one-way simulation of two-way real-time cellular automata and its related problems,” Inf. Process. Lett., vol.14, pp.159–161, 1982. [17] V. Terrier, “On real time one-way cellular array,” Theor. Comput. Sci., vol.141, pp.331–335, 1995. [18] V. Terrier, “Languages not recognizable in real time by one-way cellular automata,” Theor. Comput. Sci., vol.156, pp.281–287, 1996.
Katsuhiko Nakamura graduated from the Dept. of Electronic Eng. of Tokyo Denki University in 1966, and received Dr. Eng. degree from the same university in 1980. He was an assistant in College of Engineering in 1969 and is presently a professor of the Dept. of Computers and Systems Eng., College of Science and Eng, Tokyo Denki University. From Apr. 1981 to Mar. 1982, he was a visiting fellow in Machine Intelligence Research Unit of Edinburgh University, Scotland. His research interest includes grammatical inference, cellular automata, logic programming and computer Go. Dr. Nakamura is a member of Information Processing Society of Japan, IEEE and ACM.