##
**On one-way cellular arrays.**
*(English)*
Zbl 0646.68070

Summary: There are two simple models of parallel language recognizer: one-way cellular array (OCA) and one-way iterative array (OIA). For inputs of length n, both arrays consist of n identical finite-state machines (cells). The communication between cells is one way, from left to right. The difference in the two models is in the manner in which the input is applied. For the OCA, the input is applied to the cells in parallel. For the OIA, the input is applied serially to the leftmost processor. An input string is accepted if the rightmost cell eventually enters an accepting state.

We show that OCA’s accept exactly the same class of languages as OIA’s. It is relatively easy to show that OIA’s can simulate OCA’s. The difficult part is the converse, i.e., that OCA’s can simulate OIA’s. This is rather surprising, since in an OIA, every cell of the array has access to each symbol of the input string, whereas in an OCA, the ith cell can only access the first i symbols of the input.

This result, when combined with known results concerning OIA’s, answers some open questions concern the computational complexity of OCA’s. We also prove some new results concerning linear-time OCA’s and OIA’s. For example, we show: (1) linear-time OCA’s are equivalent to 2n-time OIA’s (note that 2n-time is optimal for OIA’s); (2) the concatenation of a linear-time OCA language with a real-time (i.e., n-time) OCA language is a linear-time OCA language; (3) every bounded language accepted by a one- way multihead nondeterministic pushdown automaton is a linear-time OCA language.

We show that OCA’s accept exactly the same class of languages as OIA’s. It is relatively easy to show that OIA’s can simulate OCA’s. The difficult part is the converse, i.e., that OCA’s can simulate OIA’s. This is rather surprising, since in an OIA, every cell of the array has access to each symbol of the input string, whereas in an OCA, the ith cell can only access the first i symbols of the input.

This result, when combined with known results concerning OIA’s, answers some open questions concern the computational complexity of OCA’s. We also prove some new results concerning linear-time OCA’s and OIA’s. For example, we show: (1) linear-time OCA’s are equivalent to 2n-time OIA’s (note that 2n-time is optimal for OIA’s); (2) the concatenation of a linear-time OCA language with a real-time (i.e., n-time) OCA language is a linear-time OCA language; (3) every bounded language accepted by a one- way multihead nondeterministic pushdown automaton is a linear-time OCA language.

### MSC:

68Q80 | Cellular automata (computational aspects) |

68Q25 | Analysis of algorithms and problem complexity |

68Q45 | Formal languages and automata |