Every problem in computing can be cast as decision problems of whether strings are in a language or not. Computations and language recognition are carried out by three classes of automata, the most complex of which is the Turing machine. Living systems compute using biochemistry; in the artificial, computation today is mostly electronic. Thinking of chemical reactions as molecular recognition machines, and without using biochemistry, we realize one automaton in each class by means of one-pot, table top chemical reactors: from the simplest, Finite automata, to the most complex, Turing machines. Language acceptance/rejection criteria by automata can be formulated using energy considerations. Our Turing machine uses the Belousov-Zhabotinsky chemical reaction and checks the same symbol in an Avogadro′s number of processors. Our findings have implications for chemical and general computing, artificial intelligence, bioengineering, the study of the origin and presence of life on other planets, and for artificial biology.

Introduction

Moore and Mertens, 2011 Moore C.

Mertens S. The Nature of Computation. Rich, 2008 Rich E. Automata, Computability, and Complexity. Theory and Applications. Conrad, 1972 Conrad M. Information processing in molecular systems. Katz, 2012 Katz E. Molecular and Supramolecular Information Processing. From Molecular Switches to Logic Systems. Computation is everywhere around us () and is central to life on Earth. Computation takes place not only in the myriad of electronic devices we use daily but also in living systems. In life, biochemistry implements computation via the chemical properties of “organic” matter (), i.e., using chemical support: inputs are chemical substances, the mechanical processing occurs via chemical reaction mechanisms, and the result is chemical before its transduction into specific functionalities, chemical or otherwise.

Rich, 2008 Rich E. Automata, Computability, and Complexity. Theory and Applications. Katz, 2012 Katz E. Molecular and Supramolecular Information Processing. From Molecular Switches to Logic Systems. More specifically, a computation is () the process by which information in sequences belonging to a language and consisting of “symbols” in an alphabet are fed to a computing device (“automaton”) that recognizes the symbols and is endowed with some rules that allow the automaton to process the symbols according to these rules to eventually deliver an output, such as Acceptance or Rejection of the sequence as belonging or not to the language recognized by the automaton. The pattern of symbols in the sequence is characteristic of the language to which the sequence belongs. We can interpret this process as a metaphor for a chemical reaction or combination of chemical reactions, as one can think of chemical reactions as the result of molecular recognition events that occur precisely, predictably, and repeatably.

Rich, 2008 Rich E. Automata, Computability, and Complexity. Theory and Applications. Hopcroft et al., 2007 Hopcroft J.E.

Motwani R.

Ullman J.D. Introduction to Automata Theory, Languages, and Computation. Chomsky, 1956 Chomsky N. Three models for the description of language. Sudkamp, 2006 Sudkamp T.A. Languages and Machines: An Introduction to the Theory of Computer Science. Turing, 1936 Turing A.M. On computable numbers with an application to the entscheidungs-problem. Table 1 The Chomsky Hierarchy Grammars Languages Accepting Automata Type 0 grammars,

phase-structure grammars,

unrestricted grammars Recursively enumerable Turing machine,

Non-deterministic

Turing machine Type 1 grammars,

context-sensitive grammars Context-sensitive Linear-bounded automata (Bounded tape-length Turing machine) Type 2 grammars,

context-free grammars Context-free One-Stack Pushdown Automata Type 3 grammars,

regular grammars,

left-linear grammars,

right-linear grammars Regular Deterministic Finite

Automata,

Non-deterministic Finite

Automata Hopcroft et al., 2007 Hopcroft J.E.

Motwani R.

Ullman J.D. Introduction to Automata Theory, Languages, and Computation. Sudkamp (2006) Sudkamp T.A. Languages and Machines: An Introduction to the Theory of Computer Science. Languages are generated by grammars. By gradually imposing restrictions on them (), grammars are categorized into an inclusive four-level hierarchy, the Chomsky hierarchy. Type-0 are unrestricted grammars and Type-3 the most restricted. Type-1 grammars correspond to Type-1 Languages, which are also called Context Sensitive Languages (CSL). Type-2 and Type-3 correspond to Context Free (CFL) and Regular (RL) languages, respectively. Each class of languages in the Chomsky hierarchy has been characterized as the languages generated by a family of grammars and accepted by a type of machine. The relationships developed between generation and recognition are summarized in this table, which is adapted from p. 338 of. Type 0 and Type 1 grammars are accepted by Turing machines, hence the horizontal line in the Table that separates them from Types 2 and 3. Then, we can ask if the power and complexity of biochemistry are necessary to carry out computations using only chemistry. To do so it is useful to recall that languages are classified into an inclusive hierarchy, the Chomsky hierarchy () (cf. Table 1 ), and that there is a direct correspondence between language complexity and the capabilities of the automata that recognize the language. The most powerful automata are the Turing machines ().

We answer the aforementioned question by providing non-biochemical realizations of the automata using non-biochemical reactions running in a “one-pot reactor,” that is, in a single well-mixed container where multiple rounds of reactions can take place. We do not need any intermediation from either external geometrical aids to channel and direct the chemical fluids or from reactions involving complex biomolecules. To carry out computations we rely fully on the power of molecular recognition associated with the occurrence of chemical reactions and the robustness provided by an Avogadro′s number of “processors” working simultaneously. For this, we will introduce in our experimental examples the means for the chemical rendering (translation) of alphabet symbols, the chemical copy of the sequence (transcription), a means to feed the sequence (i.e., input the individual symbols), a means to sequentially read the output of the processed sequence, and an autonomous physicochemical indicator to identify the patterns corresponding to sequences in the language recognized by the automaton. After the symbols are fed to the reactor, all the processing and energy used are exclusively chemical. Our purpose is to explore and show how chemical reactions, without using bio-chemistry, reaction-diffusion constructs, or any external auxiliary guidance, do chemical sequence identification in a way equivalent to automata in abstract computations. (We will call this “native chemical computation.”) We will not attempt to establish any theory of the correspondence between reaction complexity and automata.

In what follows we demonstrate native “one-pot-reactor” experimental realizations of computations for the recognition of well-known languages at different levels in the Chomsky hierarchy and provide a comparison of the corresponding chemical and abstract automata. We also present a suitable physico-chemical metric to characterize the result of the automaton′s computation.