<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Algorithms</journal-id>
<journal-title>Algorithms</journal-title>
<issn pub-type="epub">1999-4893</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/a4010001</article-id>
<article-id pub-id-type="publisher-id">algorithms-04-00001</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Recognizing the Repeatable Configurations of Time-Reversible Generalized Langton's Ant is PSPACE-Hard</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Tsukiji</surname><given-names>Tatsuie</given-names></name><xref ref-type="corresp" rid="c1-algorithms-04-00001"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Hagiwara</surname><given-names>Takeo</given-names></name></contrib>
<aff id="af1-algorithms-04-00001">Department of Information Science, Tokyo Denki University, Saitama 350-0394, Hatoyama, Japan; E-Mail: <email>10udj01@ms.dendai.ac.jp</email></aff></contrib-group>
<author-notes>
<corresp id="c1-algorithms-04-00001">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>tsukiji@mail.dendai.ac.jp</email>; Tel.: +81-049-296-0241.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>28</day>
<month>01</month>
<year>2011</year></pub-date>
<volume>4</volume>
<issue>1</issue>
<fpage>1</fpage>
<lpage>15</lpage>
<history>
<date date-type="received">
<day>21</day>
<month>12</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>29</day>
<month>12</month>
<year>2010</year></date>
<date date-type="accepted">
<day>19</day>
<month>01</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Chris Langton proposed a model of an artificial life that he named “ant”: an agent- called ant- that is over a square of a grid moves by turning to the left (or right) accordingly to black (or white) color of the square where it is heading, and the square then reverses its color. Bunimovich and Troubetzkoy proved that an ant's trajectory is always unbounded, or equivalently, there exists no repeatable configuration of the ant's system. On the other hand, by introducing a new type of color where the ant goes straight ahead and the color never changes, repeatable configurations are known to exist. In this paper, we prove that determining whether a given finite configuration of generalized Langton's ant is repeatable or not is PSPACE-hard. We also prove the PSPACE-hardness of the ant's problem on a hexagonal grid.</p></abstract>
<kwd-group>
<kwd>cellular automata</kwd>
<kwd>computational complexity</kwd>
<kwd>Langton's ant</kwd>
<kwd>Lorentz lattice gas</kwd>
<kwd>PSPACE-hard</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<sec>
<label>1.1.</label>
<title>Generalized Langton's Ant</title>
<p>The virtual ant defined by Chris Langton [<xref ref-type="bibr" rid="b1-algorithms-04-00001">1</xref>-<xref ref-type="bibr" rid="b3-algorithms-04-00001">3</xref>] is the following cellular automaton. The “ant”, represented by a pair (<italic>z, D</italic>) of a lattice point <italic>z</italic> ∈ ℤ<sup>2</sup> ≔ ℤ + <italic>i</italic>ℤ and a direction 
<inline-formula>
<mml:math id="mm1" display="inline">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mn>0</mml:mn></mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, moves around on a two-dimensional square lattice ℤ<sup>2</sup>, where each lattice point, referred to as a “cell”, is colored by white or black (later we will also introduce gray cells). Initially, the ant is sitting on a given cell with a given direction, say <italic>z</italic> = 0 and <italic>D</italic> = 1. It proceeds to travel from cell to cell according to the following rule (see <xref ref-type="fig" rid="f1-algorithms-04-00001">Figure 1</xref>): the ant (<italic>z, D</italic>) moves to 
<inline-formula>
<mml:math id="mm2" display="inline">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> when <italic>z</italic> + <italic>D</italic> is a white cell, and to 
<inline-formula>
<mml:math id="mm3" display="inline">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> when <italic>z</italic> + <italic>D</italic> is a black cell; the cell <italic>z</italic> + <italic>D</italic> then reverses its color. In other words, the ant moves in the direction it is heading; when it lands on a white (or black) cell it rotates its direction 90° to the right (left); after that, the color of the cell changes to black (or white).</p>
<p>Langton's ant has been investigated independently as one model of Lorentz Lattice Gas Cellular Automata (LLGCA). Langton's ant corresponds to the Flipping Rotator (FR) model on ℤ<sup>2</sup> [<xref ref-type="bibr" rid="b4-algorithms-04-00001">4</xref>]. In more general terms, the FR model was investigated on a triangular lattice 
<inline-formula>
<mml:math id="mm4" display="inline">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msup>
<mml:mtext mathvariant="bold">T</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:mi>ℤ</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>3</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>ℤ</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula> [<xref ref-type="bibr" rid="b5-algorithms-04-00001">5</xref>] and on a hexagonal lattice 
<inline-formula>
<mml:math id="mm5" display="inline">
<mml:semantics id="sm5">
<mml:mrow>
<mml:msup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mtext mathvariant="bold">T</mml:mtext>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msqrt>
<mml:mn>3</mml:mn></mml:msqrt>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>6</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:msup>
<mml:mtext mathvariant="bold">T</mml:mtext>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> [<xref ref-type="bibr" rid="b6-algorithms-04-00001">6</xref>], too. On <bold>H</bold><sup>2</sup> the ant (<italic>z, D</italic>), where <italic>z</italic> ∈ <bold>H</bold><sup>2</sup> and 
<inline-formula>
<mml:math id="mm6" display="inline">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>k</mml:mi>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mo>:</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, moves to 
<inline-formula>
<mml:math id="mm7" display="inline">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm8" display="inline">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi></mml:mrow>
<mml:mn>3</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> when <italic>z</italic> + <italic>D</italic> is white and black, respectively (see <xref ref-type="fig" rid="f1-algorithms-04-00001">Figure 1</xref>), and the cell <italic>z</italic> + <italic>D</italic> then reverses its color. Another generalization of Langton's ant on ℤ<sup>2</sup> is to introduce a third type of cell, called “gray” cell [<xref ref-type="bibr" rid="b7-algorithms-04-00001">7</xref>]. The ant (<italic>z, D</italic>) moves to (<italic>z</italic> + <italic>D, D</italic>) if <italic>z</italic> + <italic>D</italic> is a grey cell, and the cell <italic>z</italic> + <italic>D</italic> never changes its color but remains gray forever (see <xref ref-type="fig" rid="f1-algorithms-04-00001">Figure 1</xref>). In LLGCA models, gray cells were introduced naturally as empty lattice points. We remark that the <bold>H</bold><sup>2</sup> topology does not allow having such a gray cell.</p>
<p>We denote by R, L and S the ant's valid moves corresponding to the Right-turn, Left-turn and Straight-ahead respectively under these transaction rules; e.g., by R, L and S, the ant (<italic>z, D</italic>) on ℤ<sup>2</sup> moves to 
<inline-formula>
<mml:math id="mm9" display="inline">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm10" display="inline">
<mml:semantics id="sm10">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>π</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>i</mml:mi></mml:mrow></mml:msup>
<mml:mi>D</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> and (<italic>z</italic> + <italic>D, D</italic>), respectively.</p></sec>
<sec>
<label>1.2.</label>
<title>Recognizing the Repeatable Configurations of GLA</title>
<p>These transaction rules assure that Generalized Langton's Ant (GLA) is a time-reversible cellular automaton: the current configuration of GLA, consisting of a coloring of the cells and an ant's starting cell and direction, determines the past configurations as well as the future ones. As a consequence, the configurations of GLA are divided into the following two kinds: an ant's trajectory starting from a configuration of one kind is unbounded, never repeating the same configuration again; an ant's trajectory starting from a configuration of the other kind is bounded, repeating a finite series of configurations an infinitive number of times.</p>
<p>A “finite” configuration of GLA is defined by a finite coloring of the cells and an ant's starting cell and direction. Here, a coloring is finite if it has only a finite number of non-background-color cells. In this paper, we use the all white, all black, and half-and-half coloring as the background, where the half-and-half coloring gives white (black) color to the cells on the upper-half (lower-half) plane (see <xref ref-type="fig" rid="f2-algorithms-04-00001">Figure 2Figure 2</xref>). We define size of a configuration by the minimum size of a closed square which contains the ant's starting cell and the all non-background-color cells. In this paper, we study the computational complexity of determining whether a given finite configuration of GLA is repeatable or not.</p></sec>
<sec sec-type="results">
<label>1.3.</label>
<title>Previous Results</title>
<p>Bunimovch and Troubetskoy [<xref ref-type="bibr" rid="b4-algorithms-04-00001">4</xref>] proved the following: when there is no gray cell, an ant's trajectory on ℤ<sup>2</sup> is always unbounded, or equivalently, there exists no repeatable configuration of the ant's system. As a matter of fact, the set of repeatable configurations of GLA on ℤ<sup>2</sup> with no gray cell is empty, hence its recognition problem is trivial. On the other hand, repeatable configurations exist of GLA on ℤ<sup>2</sup> with some gray cells (see <xref ref-type="fig" rid="f3-algorithms-04-00001">Figure 3</xref>, see also [<xref ref-type="bibr" rid="b8-algorithms-04-00001">8</xref>]). The <bold>H</bold><sup>2</sup> model is also known to have repeatable configurations (see <xref ref-type="fig" rid="f3-algorithms-04-00001">Figure 3</xref>, see also [<xref ref-type="bibr" rid="b6-algorithms-04-00001">6</xref>]).</p>
<p>The long-run behavior of Langton's ant on ℤ<sup>2</sup> has been studied using both theories and experiments for more than two decades, yet it is still highly unpredictable. As a result, indicating hardness of the prediction, Gajardo, Moreira and Goles [<xref ref-type="bibr" rid="b9-algorithms-04-00001">9</xref>] proved that the following problem on ℤ<sup>2</sup> with no gray cell is PTIME-hard: “Does the ant ever visit this given cell?”.</p></sec>
<sec sec-type="results">
<label>1.4.</label>
<title>New Results</title>
<p>In this paper, we prove the following theorems:</p>
<sec>
<title>Theorem 1</title>
<p>Recognizing the repeatable configurations of GLA on ℤ<sup>2</sup> with gray cells is PSPACE-hard.</p></sec>
<sec>
<title>Theorem 2</title>
<p>Recognizing the repeatable configurations of GLA on <bold>H</bold><sup>2</sup> is PSPACE-hard.</p>
<p>To prove these theorems, we should have unbounded trajectories of the ant on each of the topologies. For the half-and-half background, <xref ref-type="fig" rid="f2-algorithms-04-00001">Figure 2</xref> shows such unbounded trajectories where the ant, starting from the arrow, walks from left to right by repeating the LLRR (LLLRRR) moves forever on ℤ<sup>2</sup> (<bold>H</bold><sup>2</sup>). On the other hand, for the monochromatic background, we do have the famous diagonal highway on ℤ<sup>2</sup> (see <xref ref-type="fig" rid="f4-algorithms-04-00001">Figure 4</xref>), but no provable unbounded trajectory is known on <bold>H</bold><sup>2</sup> [<xref ref-type="bibr" rid="b6-algorithms-04-00001">6</xref>]. For this reason, we can prove Theorem 1 for both of the monochromatic and half-and-half backgrounds, but Theorem 2 for only the half-and-half background.</p>
<p>We will prove Theorem 1 for “everywhere sparse” gray cells. For a given function <italic>f</italic>: ℕ → ℕ, we say that a configuration is colored by <italic>f</italic>-sparse gray cells if the configuration size is <italic>n</italic> and its coloring has no more than one gray cell within any closed square of size no more than 
<inline-formula>
<mml:math id="mm11" display="inline">
<mml:semantics id="sm11">
<mml:mrow>
<mml:mfrac>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>. For example, a configuration colored by <italic>k</italic>-sparse gray cells, for any constant <italic>k</italic> ∈ ℕ, contains no more than <italic>k</italic> gray cells, and a configuration colored by <italic>n</italic><sup>2</sup>-sparse gray cells could have an arbitrary number of gray cells. We prove the following theorem:</p></sec>
<sec>
<title>Theorem 3</title>
<p>For any ε &gt; 0 recognizing the repeatable configurations of GLA on ℤ<sup>2</sup> colored by n<sup>ε</sup>-sparse gray cells is PSPACE-complete.</p></sec></sec>
<sec>
<label>1.5.</label>
<title>Reduction</title>
<p>To prove Theorems 1–3, it is enough to reduce a known PSPACE-hard problem to the ant's problems on square and hexagonal grids. In this paper, we will reduce QBF (Quantified Boolean Formula) evaluation problem to the ant's problems. An instance of QBF is given by a closed CNF (Conjunctive Normal Form) formula, which is written as Q<sub>1</sub><italic>x</italic><sub>1</sub>Q<sub>2</sub><italic>x</italic><sub>2</sub><sup>…</sup>Q<italic><sub>n</sub>x<sub>n</sub>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>) by an open CNF formula <italic>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>) and arbitrary Boolean quantifiers Q<italic><sub>i</sub></italic> ∈ {∃, ∀}. Then, QBF evaluation problem asks the truth value of a given closed CNF formula. QBF evaluation problem is a well known PSPACE-complete problem [<xref ref-type="bibr" rid="b10-algorithms-04-00001">10</xref>].</p></sec>
<sec>
<label>1.6.</label>
<title>Preparation</title>
<p>A (ant's walking) course is a sequence of ant's consecutive valid moves; it also represents a sequence of the induced coloring. When a coloring <italic>S</italic> of the ant's system turns to a coloring <italic>T</italic> by an ant's walking course <italic>w</italic>, we write as 
<inline-formula>
<mml:math id="mm12" display="inline">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mi>w</mml:mi></mml:mover>
<mml:mi>T</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>. When the ant, at a place <italic>I</italic>, moves to another place <italic>O</italic> by <italic>w</italic>, we write it as 
<inline-formula>
<mml:math id="mm13" display="inline">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mi>w</mml:mi></mml:mover>
<mml:mi>O</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>. The reverse of the ant (<italic>z, D</italic>) is (<italic>z</italic> + <italic>D</italic>, − <italic>D</italic>). By time reversibility, we can define the reverse <italic>w</italic><sup>−1</sup> of <italic>w</italic> by the following walking course: reverse the order of the coloring in <italic>w</italic>, and reverse the ants therein. We write 
<inline-formula>
<mml:math id="mm14" display="inline">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:munderover>
<mml:mo stretchy="true">⇄</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow>
<mml:mi>w</mml:mi></mml:munderover>
<mml:mi>T</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>, meaning that <italic>S</italic> turns to <italic>T</italic> by <italic>w</italic>, and <italic>T</italic> turns to <italic>S</italic> by <italic>w</italic><sup>−1</sup>.</p></sec></sec>
<sec>
<label>2.</label>
<title>Gadgets</title>
<p>A gadget is a collection of GLA's coloring written on the all white background with an associated transition diagram and several input and output marked arrows. A polynomial number of gadgets are seamlessly connected to form an entire coloring of GLA, where some gadgets may be used after rotation or reflection. Note that the colors of reflected gadgets should be switched.</p>
<sec>
<label>2.1.</label>
<title>Path</title>
<p>We connect the rotations and reflections of PATH gadgets (see <xref ref-type="fig" rid="f5-algorithms-04-00001">Figure 5</xref>) to form a long path along which the ant is guided. Its coloring is initially <italic>INIT</italic>, which turns to <italic>USED</italic> by a course 
<inline-formula>
<mml:math id="mm15" display="inline">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mi>w</mml:mi></mml:mover>
<mml:mtext mathvariant="italic">OUT</mml:mtext></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></sec>
<sec>
<label>2.2.</label>
<title>Switch &amp; Pass</title>
<p>A Switch &amp; Pass (S&amp;P) gadget (see <xref ref-type="fig" rid="f6-algorithms-04-00001">Figure 6</xref>) can memorize 1 bit information by its coloring state. The coloring is initially <italic>OFF</italic>, which turns to <italic>ON</italic> by a walking course 
<inline-formula>
<mml:math id="mm16" display="inline">
<mml:semantics id="sm16">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mtext>S</mml:mtext>
<mml:mo>&amp;</mml:mo>
<mml:mtext>P</mml:mtext></mml:mrow></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mrow>
<mml:mtext>S</mml:mtext>
<mml:mo>&amp;</mml:mo>
<mml:mtext>P</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>; in other words, the ant is “Switching” the coloring state and “Passing” through it. When the coloring is <italic>OFF</italic>, the ant entering at <italic>IN</italic> walks along <italic>w</italic><sub>2</sub> and exits at <italic>O<sub>OFF</sub></italic>, changing the coloring to <italic>UOFF</italic>. When the coloring is <italic>ON</italic>, the ant entering at <italic>IN</italic> walks along <italic>w</italic><sub>3</sub> and exits at <italic>O<sub>ON</sub></italic>, changing the coloring to <italic>UON</italic>.</p></sec>
<sec>
<label>2.3.</label>
<title>Switch &amp; Turn</title>
<p>A Switch &amp; Turn (S&amp;T) gadget (see <xref ref-type="fig" rid="f7-algorithms-04-00001">Figure 7</xref>) can memorize 1 bit information by its coloring state, too. The coloring is initially <italic>OFF</italic>, which turns to <italic>ON</italic> by an ant's walking course 
<inline-formula>
<mml:math id="mm17" display="inline">
<mml:semantics id="sm17">
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mtext>S</mml:mtext>
<mml:mo>&amp;</mml:mo>
<mml:mtext>T</mml:mtext></mml:mrow></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mtext>S</mml:mtext>
<mml:mo>&amp;</mml:mo>
<mml:mtext>T</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>; in other words, since <italic>O</italic><sub>S&amp;T</sub> is the reverse of <italic>I</italic><sub>S&amp;T</sub>, the ant is “Switching” the coloring state and “Turning” around. When the coloring is <italic>OFF</italic>, the ant entering at <italic>IN</italic> walks along <italic>w</italic><sub>2</sub> and exits at <italic>OUT<sub>OFF</sub></italic>. When the coloring is <italic>ON</italic>, the ant entering at <italic>IN</italic> walks along <italic>w</italic><sub>3</sub> and exits at <italic>OUT<sub>ON</sub></italic>.</p></sec>
<sec>
<label>2.4.</label>
<title>Conjunction</title>
<p>The CONJunction (CONJ) gadget (see <xref ref-type="fig" rid="f8-algorithms-04-00001">Figure 8</xref>, see also [<xref ref-type="bibr" rid="b9-algorithms-04-00001">9</xref>]) has two entrances and one exit. The coloring is initially <italic>INIT</italic>. The ant entering at <italic>IN<sub>j</sub></italic> walks along <italic>w<sub>j</sub></italic> and exits at <italic>OUT</italic>, for each <italic>j</italic> =1, 2.</p></sec>
<sec>
<label>2.5.</label>
<title>Pseudo-Crossing</title>
<p>A Pseudo-Crossing (PC) gadget (see <xref ref-type="fig" rid="f9-algorithms-04-00001">Figure 9</xref>, see also [<xref ref-type="bibr" rid="b9-algorithms-04-00001">9</xref>]) has two entrances <italic>IN</italic><sub>1</sub> and <italic>IN</italic><sub>2</sub> and two exits <italic>OUT</italic><sub>1</sub> and <italic>OUT</italic><sub>2</sub> such that the ant entering at <italic>IN<sub>j</sub></italic> walks along <italic>w<sub>j</sub></italic> and exits at <italic>OUT<sub>j</sub></italic> for each <italic>j</italic> = 1, 2. Since <italic>IN</italic><sub>1</sub>, <italic>IN</italic><sub>2</sub>, <italic>OUT</italic><sub>1</sub>, <italic>OUT</italic><sub>2</sub> are placed clockwise in this order in 2D plane, these two walking courses <italic>w</italic><sub>1</sub> and <italic>w</italic><sub>2</sub> should be mutually crossing. Beginning from the initial coloring <italic>INIT</italic>, the ant can take mutually intersecting courses, first 
<inline-formula>
<mml:math id="mm18" display="inline">
<mml:semantics id="sm18">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> and secondly 
<inline-formula>
<mml:math id="mm19" display="inline">
<mml:semantics id="sm19">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> order, changing the coloring to 
<inline-formula>
<mml:math id="mm20" display="inline">
<mml:semantics id="sm20">
<mml:mrow>
<mml:mtext mathvariant="italic">INIT</mml:mtext>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">USED</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">USED</mml:mtext>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></sec>
<sec>
<label>2.6.</label>
<title>Crossing</title>
<p>A CROSSing (CROSS) gadget (see <xref ref-type="fig" rid="f10-algorithms-04-00001">Figure 10</xref>) is placed at each crossing point of two intersecting paths on 2D plane. It is built by one S&amp;P gadget and three PC gadgets, named PC<sub>1</sub>, PC<sub>2</sub> and PC<sub>3</sub>. The coloring of a CROSS gadget can be represented by the coloring of all gadgets composing it, that are S&amp;P, PC<sub>1</sub>, PC<sub>2</sub>, PC<sub>3</sub>, two CONJ gadgets and many PATH gadgets connecting them. We indicate the coloring of a CROSS gadget only by those of (S&amp;P, PC<sub>1</sub>, PC<sub>2</sub>, PC<sub>3</sub>). The coloring of CONJ (PATH) gadgets and PATH gadgets are initially <italic>INIT</italic>, that turn to USED<sub>j</sub> (<italic>USED</italic>) when the ant has passed through them. The ant can take mutually intersecting courses by first 
<inline-formula>
<mml:math id="mm21" display="inline">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> and secondly 
<inline-formula>
<mml:math id="mm22" display="inline">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>2</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>, as well as by first 
<inline-formula>
<mml:math id="mm23" display="inline">
<mml:semantics id="sm23">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>2</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> and secondly 
<inline-formula>
<mml:math id="mm24" display="inline">
<mml:semantics id="sm24">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">IN</mml:mtext>
<mml:mn>1</mml:mn></mml:msub>
<mml:mover accent="true">
<mml:mo stretchy="false">→</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:mover>
<mml:msub>
<mml:mtext mathvariant="italic">OUT</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>. In <xref ref-type="fig" rid="f10-algorithms-04-00001">Figure 10</xref>, each of these paths are depicted by thick lines, where those gadgets that passed through are shown by the thick lines that have turned to used coloring, while the other gadgets remain in their initial coloring.</p></sec></sec>
<sec>
<label>3.</label>
<title>CNF Formulae Evaluation</title>
<p>In this section, we construct an EVAL<italic><sub>ϕ</sub></italic> gadget for evaluating the truth value of a CNF formula <italic>ϕ</italic> by inputting a given truth-value assignment <italic>a</italic>. It has one entrance <italic>IN</italic> and two exits <italic>OUT</italic><sub>FALSE</sub> and <italic>OUT</italic><sub>TRUE</sub>. The ant entering at <italic>IN</italic> is routed to exit at <italic>OUT</italic><sub>FALSF</sub> (<italic>OUT</italic><sub>TRUE</sub>) if <italic>ϕ</italic>(<italic>a</italic>) is FALSE (TRUE).</p>
<p>Let POS = {<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>} and NEG = {−<italic>x</italic><sub>1</sub>,…, −<italic>x<sub>n</sub></italic>}. Let <italic>y<sub>i,j</sub></italic> ∈ POS ∪ NEG be the <italic>j</italic>th literal in the <italic>i</italic>th term of <italic>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>), where 1 ≤ <italic>i</italic> ≤ <italic>m</italic> and 1 ≤ <italic>j</italic> ≤ <italic>k<sub>i</sub></italic>. These literals <italic>y<sub>i,j</sub></italic> are implemented in EVAL<italic><sub>ϕ</sub></italic>, by S&amp;P gadgets, named S&amp;P<italic><sub>i,j</sub></italic>. Then, draw PATHs between S&amp;P<italic><sub>i,j</sub></italic> in the following manner to define an evaluator EVAL<italic><sub>ϕ</sub></italic> of <italic>ϕ</italic>: <italic>IN</italic> → <italic>IN</italic> of S&amp;P<sub>1,1</sub> (see <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-1</xref>). When <italic>y<sub>i,j</sub></italic> ∈ POS (NEG), <italic>OUT</italic><sub>OFF</sub> (<italic>OUT</italic><sub>ON</sub>) of S&amp;P<italic><sub>i,j</sub></italic> → <italic>IN</italic> of S&amp;P<sub><italic>i,j</italic>+1</sub> (see <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-2</xref>). When <italic>y<sub>i,k<sub>i</sub></sub></italic> ∈ POS(NEG), <italic>OUT</italic><sub>OFF</sub> (<italic>OUT</italic><sub>ON</sub>) of S&amp;P<italic><sub>i,k<sub>i</sub></sub></italic> → <italic>OUT</italic><sub>FALSE</sub> (see <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-3</xref>). When <italic>y<sub>m,j</sub></italic> ∈ POS (NEG), <italic>OUT</italic><sub>ON</sub> (<italic>OUT</italic><sub>OFF</sub>) of S&amp;P<italic><sub>m,j</sub></italic> → <italic>OUT</italic><sub>TRUE</sub> (see <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-4</xref>).</p>
<p>For each <italic>x<sub>k</sub></italic> ∈ POS, EVAL<italic><sub>ϕ</sub></italic> has an entrance <italic>I<sub>x<sub>k</sub></sub></italic> and an exit <italic>O<sub>x<sub>k</sub></sub></italic> such that the ant entering at <italic>I<sub>x<sub>i</sub></sub></italic> switches the coloring states of all S&amp;P gadgets corresponding to the literals <italic>y<sub>i,j</sub></italic> ∈ {<italic>x<sub>k</sub>, -x<sub>k</sub></italic>} from <italic>OFF</italic> to <italic>ON</italic>, and exits at <italic>O<sub>x<sub>i</sub></sub></italic>. <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-5</xref> is drawing such PATHs, where the ports <italic>I</italic><sub><italic>x</italic><sub>1</sub></sub>, <italic>O</italic><sub><italic>x</italic><sub>1</sub></sub>, <italic>I</italic><sub><italic>x</italic><sub>2</sub></sub>, <italic>O</italic><sub><italic>x</italic><sub>2</sub></sub>,…,<italic>I<sub>x<sub>n</sub></sub>, O<sub>x<sub>n</sub></sub></italic> should be placed in this order for further development in the next section.</p>
<p>Suppose that the coloring of the composing gadgets of EVAL<italic><sub>ϕ</sub></italic> are all initialized. For every <italic>a</italic> ∈ {FALSE, TRUE}<italic><sup>n</sup></italic>, we denote by <italic>INIT<sub>a</sub></italic> the coloring of EVAL<italic><sub>ϕ</sub></italic> after taking the walking courses <italic>I<sub>x<sub>k</sub></sub></italic> → <italic>O<sub>x<sub>k</sub></sub></italic> for all <italic>x<sub>k</sub></italic> such that <italic>a<sub>x<sub>k</sub></sub></italic> = TRUE in the descending order of <italic>k</italic>. Consequently, <italic>INIT<sub>a</sub></italic> sets the coloring of every S&amp;P<italic><sub>i,j</sub></italic>, with <italic>y<sub>i,j</sub></italic> ∈ {<italic>x<sub>k</sub></italic>, −<italic>x<sub>k</sub></italic>} <italic>OFF</italic>(<italic>ON</italic>) if <italic>a<sub>k</sub></italic> = FALSE (TRUE).</p>
<sec>
<title>Lemma 1</title>
<p>If the coloring of EVAL<italic><sub>ϕ</sub></italic> is INIT<sub>a</sub> and <italic>ϕ</italic>(a) = FALSE (TRUE), then the ant entering at <italic>IN</italic> exits at <italic>OUT</italic><sub>FALSE</sub> (<italic>OUT</italic><sub>TRUE</sub>).</p></sec>
<sec>
<title>Proof</title>
<p>First, suppose that <italic>ϕ</italic> (<italic>a</italic>) = FALSE. We can assume that the <italic>ℓ</italic>th term of <italic>ϕ</italic> is FALSE and the <italic>i</italic>th term of <italic>ϕ</italic> is TRUE for every 1 ≤ <italic>i</italic> &lt; <italic>l</italic>. So, we can assume that for every 1 ≤ <italic>j</italic> ≤ <italic>k<sub>ℓ</sub></italic>, if <italic>y<sub>ℓ,j</sub></italic> ∈ POS (NEG) then S&amp;P<italic><sub>ℓ,j</sub></italic> is <italic>OFF</italic> (<italic>ON</italic>), and for every 1 ≤ <italic>i</italic> &lt; <italic>l</italic> there exits 1 ≤ <italic>j<sub>i</sub></italic> ≤ <italic>k<sub>i</sub></italic> such that if <italic>y<sub>i,j<sub>i</sub></sub></italic> ∈ POS (NEG) then S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic>, is <italic>ON</italic>(<italic>OFF</italic>); in addition, for every 1 ≤ <italic>j</italic> &lt; <italic>j<sub>i</sub></italic>, if <italic>y<sub>i,j</sub></italic> ∈ POS (NEG) then S&amp;P<italic><sub>i,j</sub></italic> is <italic>OFF</italic> (<italic>ON</italic>). Given these colorings of the S&amp;Ps, the ant walks from <italic>IN</italic> to <italic>OUT</italic><sub>FALSE</sub> in the following way: <italic>IN</italic> → <italic>IN</italic> of S&amp;P<sub>1,1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>i,j</sub></italic> → <italic>OUT<sub>OFF</sub></italic> (<italic>OUT<sub>ON</sub></italic>) of S&amp;P<italic><sub>i,j</sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>i,j</sub></italic><sub>+1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic> → <italic>OUT<sub>ON</sub></italic> (<italic>OUT<sub>OFF</sub></italic>) of S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>i</sub></italic><sub>+1,1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>ℓ,j</sub></italic> → <italic>OUT<sub>OFF</sub></italic> (<italic>OUT<sub>ON</sub></italic>) of S&amp;P<italic><sub>ℓ,j</sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>ℓ,j</sub></italic><sub>+1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>ℓ,k<sub>ℓ</sub></sub></italic> → <italic>OUT<sub>OFF</sub></italic> (<italic>OUT<sub>ON</sub></italic>) of S&amp;P<italic><sub>ℓ,k<sub>ℓ</sub></sub></italic> → <italic>OUT<sub>OFF</sub></italic>. <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-6</xref> illustrates this walking course by a thick line when <italic>ϕ</italic> = (<italic>x</italic><sub>1</sub> V −<italic>x</italic><sub>2</sub>) Λ (−<italic>x</italic><sub>1</sub> V <italic>x</italic><sub>2</sub>) and (<italic>a</italic><sub>1</sub>, <italic>a</italic><sub>2</sub>) = (TRUE, FALSE), where the gadgets have passed through, shown by the thick line, have turned to used coloring states, while the other gadgets still remain in their initial coloring.</p>
<p>Secondly, suppose that <italic>ϕ</italic>(<italic>a</italic>) = TRUE. Then, all terms of <italic>ϕ</italic> are TRUE. So, we can assume that for every 1 ≤ <italic>i</italic> ≤ <italic>m</italic> there exits 1 ≤ <italic>j<sub>i</sub></italic> ≤ <italic>k<sub>i</sub></italic> such that if <italic>y<sub>i,j<sub>i</sub></sub></italic> ∈ POS (NEG) then S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic> is <italic>ON</italic>(<italic>OFF</italic>); in addition, for every 1 ≤ <italic>j</italic> &lt; <italic>j<sub>i</sub></italic>, if <italic>y<sub>i,j</sub></italic> ∈ POS (NEG) then S&amp;P<italic><sub>i,j</sub></italic> is <italic>OFF</italic> (<italic>ON</italic>). Given these colorings of the S&amp;P s, the ant walks from <italic>IN</italic> to <italic>OUT<sub>TRUE</sub></italic> in the following way: <italic>IN</italic> → <italic>IN</italic> of S&amp;P<sub>1,1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>i,j</sub></italic> → <italic>OUT<sub>OFF</sub></italic> (<italic>OUT<sub>ON</sub></italic>) of S&amp;P<italic><sub>i,j</sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>i,j</sub></italic><sub>+1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic> → <italic>OUT<sub>ON</sub></italic> (<italic>OUT<sub>OFF</sub></italic>) of S&amp;P<italic><sub>i,j<sub>i</sub></sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>i</sub></italic><sub>+1,1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>m,j</sub></italic> → <italic>OUT<sub>OFF</sub></italic> (<italic>OUT<sub>ON</sub></italic>) of S&amp;P<italic><sub>m,j</sub></italic> → <italic>IN</italic> of S&amp;P<italic><sub>m,j</sub></italic><sub>+1</sub>; <italic>IN</italic> of S&amp;P<italic><sub>m,j<sub>m</sub></sub></italic> → <italic>OUT<sub>ON</sub></italic> (<italic>OUT<sub>OFF</sub></italic>) of S&amp;P<italic><sub>m,j<sub>m</sub></sub></italic> → <italic>OUT<sub>ON</sub></italic>. <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11-7</xref> illustrate this walking course when <italic>ϕ</italic> = (<italic>x</italic><sub>1</sub> V −<italic>x</italic><sub>2</sub>) Λ (−<italic>x</italic><sub>1</sub> V <italic>x</italic><sub>2</sub>) and (<italic>a</italic><sub>1</sub>, <italic>a</italic><sub>2</sub>) = (TRUE, TRUE).</p>
<p>Let <italic>USED<sub>a</sub></italic> be the coloring of an EVAL<italic><sub>ϕ</sub></italic> gadget derived from <italic>INIT<sub>a</sub></italic> by the ant's walking course from the entrance to an exit of EVAL<italic><sub>ϕ</sub></italic>.</p></sec></sec>
<sec>
<label>4.</label>
<title>Boolean Quantifiers Evaluation</title>
<p>Let <italic>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>) be an arbitrary CNF formula of the variables <italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>. For arbitrary taken quantifiers Q<italic><sub>i</sub></italic> ∈ {∃, ∀}, let <italic>ϕ<sub>i</sub></italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>i</sub></italic>) ≔ Q<italic><sub>i</sub></italic><sub>+1</sub><italic>x<sub>i</sub></italic><sub>+1</sub>Q<italic><sub>i</sub></italic><sub>+2</sub><italic>x<sub>i</sub></italic><sub>+2</sub> … Q<italic><sub>n</sub>x<sub>n</sub>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>). In particular, <italic>ϕ<sub>n</sub></italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>) = <italic>ϕ</italic>(<italic>x</italic><sub>1</sub>,…,<italic>x<sub>n</sub></italic>). Let EVAL<italic><sub>n</sub></italic> ≔ EVAL<italic><sub>ϕ</sub></italic> built in the previous section. We have already defined <italic>INIT<sub>n,a</sub></italic> ≔ <italic>INIT<sub>a</sub></italic> as a coloring of EVAL<italic><sub>n</sub></italic> for every <italic>a</italic> ∈ {FALSE, TRUE}<italic><sup>n</sup></italic>. In the following, for each <italic>i</italic> = <italic>n, n</italic> − 1,…,0, we define inductively an EVAL<italic><sub>i</sub></italic>, gadget and its coloring <italic>INIT<sub>i, a</sub></italic> for every <italic>a</italic> ∈ {FALSE, TRUE}<italic><sup>i</sup></italic>. <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12</xref> depicts our construction of an EVAL<italic><sub>i</sub></italic> gadget when Q<italic><sub>i</sub></italic><sub>+1</sub> = ∀, containing an already constructed EVAL<italic><sub>i</sub></italic><sub>+1</sub> gadget. We describe the coloring of EVAL<italic><sub>i</sub></italic> by those of the (S&amp;T, S&amp;P, CONJ, EVAL<italic><sub>i</sub></italic><sub>+1</sub>) gadgets therein. For <italic>a</italic> ∈ {FALSE, TRUE}<italic><sup>i</sup></italic> and <italic>b</italic> ∈ {FALSE, TRUE}, let (<italic>a,b</italic>) = (<italic>a<sub>1</sub></italic>,…,<italic>a<sub>i</sub>,b</italic>) ∈ {FALSE, TRUE}<italic><sup>i</sup></italic><sup>+1</sup>. Let <italic>INIT<sub>i,a</sub></italic> be the coloring of EVAL<italic><sub>i</sub></italic>, that sets the coloring of the (S&amp;T, S&amp;P, CONJ, EVAL<italic><sub>i</sub></italic><sub>+1</sub>) gadgets as (<italic>UOFF, OFF, INIT, INIT</italic><sub><italic>i</italic>+1 (<italic>a</italic>, FALSE)</sub>); the coloring of the other gadgets are set to be initialized. Then, we denote by <italic>USED<sub>i, a</sub></italic> the coloring derived from <italic>INIT<sub>i, a</sub></italic> by the ant's walking course from the entrance to an exit of EVAL<italic><sub>i</sub></italic>. We have already defined <italic>USED<sub>n, a</sub></italic> ≔ <italic>USED<sub>a</sub></italic>. In the following lemma, <italic>USED<sub>i, a</sub></italic> are inductively defined, too.</p>
<sec>
<title>Lemma 2</title>
<p>For every a ∈ {FALSE, TRUE}<italic><sup>i</sup></italic>, if the coloring of EVAL<italic><sub>i</sub></italic> is <italic>INIT<sub>i, a</sub></italic> and <italic>ϕ<sub>i</sub></italic>(a<sub>1</sub>,…,a<sub>i</sub>) = FALSE (TRUE) then the ant entering to the EVAL<italic><sub>i</sub></italic> gadget at <italic>IN<sub>i</sub></italic> exits at <italic>OUT</italic><sub><italic>i</italic>, FALSE</sub> (<italic>OUT</italic><sub><italic>i</italic>, TRUE</sub>).</p></sec>
<sec>
<title>Proof</title>
<p>Lemma 1 proves the <italic>i</italic> = <italic>n</italic> case of Lemma 2. Let <italic>a</italic> ∈ {FALSE, TRUE}<italic><sup>i</sup></italic>. By the backward induction hypothesis, Lemma 2 is assumed to hold for both <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE) and <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, TRUE). In the following proof, we prove Lemma 2 for <italic>ϕ<sub>i</sub></italic>(<italic>a</italic>) when Q<italic><sub>i</sub></italic> = Q<sub>∀</sub>.</p>
<sec>
<title>Case 1</title>
<p>Suppose that <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE) = FALSE. The ant walks as follows (<xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-1</xref>): <italic>IN<sub>i</sub></italic> → S&amp;T → CONJ → <italic>IN<sub>i</sub></italic><sub>+l</sub>, changing the coloring of (S&amp;T, CONJ) from (<italic>UOFF, INIT</italic>) to (<italic>OFF, USED</italic><sub>1</sub>); next, since the coloring of EVAL<italic><sub>i</sub></italic><sub>+1</sub> is <italic>INIT</italic><sub><italic>i</italic>+1,(<italic>a</italic>, FALSE)</sub>, by Lemma 2 for <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE), the ant starting from <italic>IN<sub>i</sub></italic><sub>+1</sub> reaches to <italic>OUT</italic><sub><italic>i</italic>+1, FALSE</sub>, which changes the coloring of EVAL<italic><sub>i</sub></italic><sub>+1</sub> from <italic>INIT</italic><sub><italic>i</italic>+1, (<italic>a</italic>, FALSE)</sub> to <italic>USED</italic><sub><italic>i</italic>+1, (<italic>a</italic>, FALSE)</sub>; finally, the ant walks from <italic>OUT<sub>i</sub></italic><sub>+1, FALSE</sub> to <italic>OUT</italic><sub><italic>i</italic>, FALSE</sub>.</p></sec>
<sec>
<title>Case 2</title>
<p>Suppose <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE) = TRUE and <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, TRUE) = FALSE. First, the ant walks as follows (see <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-2</xref>): <italic>IN<sub>i</sub></italic> → S&amp;T → CONJ → <italic>IN<sub>i</sub></italic><sub>+1</sub>; next, since <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE) = TRUE, the ant entering EVAL<italic><sub>i</sub></italic><sub>+1</sub> at <italic>IN<sub>i</sub></italic><sub>+1</sub> reaches to <italic>OUT<sub>i</sub></italic><sub>+1, TRUE</sub>, changing the coloring of EVAL<italic><sub>i</sub></italic><sub>+1</sub> from <italic>INIT<sub>i</sub></italic><sub>+1, (</sub><italic><sub>a</sub></italic><sub>, FALSE)</sub> to <italic>USED</italic><sub><italic>i</italic>+1 (<italic>a</italic>, FALSE)</sub>; after that, the ant walks as <italic>OUT<sub>i</sub></italic><sub>+1, TRUE</sub> → <italic>IN</italic> of S&amp;P → <italic>OUT<sub>OFF</sub></italic> of S&amp;P → <italic>I</italic><sub>S&amp;T</sub>, which change the coloring of the S&amp;P gadget from <italic>OFF</italic> to <italic>ON</italic>, and the coloring of the PATHs taken from <italic>INIT</italic> to <italic>USED</italic>; then, getting into the S&amp;T gadget, the ant turns around and exits at <italic>O</italic><sub>S&amp;T</sub>, switching the coloring of the S&amp;T gadget from <italic>OFF</italic> to <italic>ON</italic>.</p>
<p>Secondly, the ant takes the following reversed walking course (see <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-3</xref>): <italic>O</italic><sub>S&amp;T</sub> → S&amp;P → EVAL<italic><sub>i</sub></italic><sub>+1</sub> → CONJ → <italic>IN</italic> of S&amp;T, changing the colorings of (S&amp;P, EVAL<italic><sub>i</sub></italic><sub>+1</sub>, CONJ) from (<italic>UOFF, USED</italic><sub><italic>i</italic>+1, (<italic>a</italic>, FALSE)</sub>, <italic>USED</italic><sub>1</sub>) to (<italic>ON, INIT</italic><sub>(<italic>a, FALSE</italic>)</sub>, <italic>INIT</italic>); the coloring of the taken PATH taken and CROSS gadgets are initialized, too.</p>
<p>We remark that the gadgets that passed through, shown by the dotted line in <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-3</xref>, are those gadgets that changed to the used color by the ant's forward walking, but then initialized by the ant's backward walking. These gadgets can be used again without violating the rules of the transition diagram given in Section 2; in other words, the already completely used gadgets, e.g., <italic>USED</italic> PATH gadgets or <italic>USED</italic><sub>1,2</sub> CROSS gadgets, will never be used without being initialized in this manner.</p>
<p>Finally, the ant walks as follows (see <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-4</xref>): <italic>IN</italic> of S&amp;T → <italic>OUT<sub>ON</sub></italic> of S&amp;T → <italic>I</italic><sub>S&amp;P</sub> → <italic>O</italic><sub>S&amp;P</sub> → <italic>I<sub>x<sub>i</sub></sub></italic> of EVAL<italic><sub>ϕ</sub></italic> → <italic>O<sub>x<sub>i</sub></sub></italic> of EVAL<italic><sub>ϕ</sub></italic> → CONJ → <italic>IN<sub>i</sub></italic><sub>+1</sub>, changing the coloring of (S&amp;T, S&amp;P, EVAL<italic><sub>i</sub></italic><sub>+1</sub>, CONJ) from (<italic>ON, OFF, INIT</italic><sub>(<italic>a</italic>, FALSE)</sub>, <italic>INIT</italic>) to (<italic>UON, ON, INIT</italic><sub>(<italic>a</italic>, TRUE)</sub>, <italic>USED</italic><sub>2</sub>); we remark that, as shown in <xref ref-type="fig" rid="f11-algorithms-04-00001">Figure 11</xref>, the walking course <italic>I<sub>x<sub>i</sub></sub></italic> → <italic>O<sub>x<sub>i</sub></sub></italic> going through the EVAL<italic><sub>ϕ</sub></italic> gadget have polynomially many crossing points with other such courses <italic>I<sub>x<sub>j</sub></sub></italic> → <italic>O<sub>x<sub>j</sub></sub></italic> inside the EVAL<italic><sub>ϕ</sub></italic> gadget; next, since <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, TRUE) = FALSE, the ant entering to EVAL<italic><sub>i</sub></italic><sub>+1</sub> at <italic>IN<sub>i</sub></italic><sub>+1</sub> reaches <italic>OUT<sub>i</sub></italic><sub>+1,FALSE</sub>; finally, the ant walks as <italic>OUT<sub>i</sub></italic><sub>+1, FALSE</sub> → <italic>OUT</italic><sub><italic>i</italic>, FALSE</sub>.</p></sec>
<sec>
<title>Case 3</title>
<p>Suppose <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, FALSE) = TRUE and <italic>ϕ<sub>i</sub></italic><sub>+1</sub>(<italic>a</italic>, TRUE) = TRUE. First, the ant walks as in Case 2: <italic>IN<sub>i</sub></italic> → S&amp;T → CONJ → <italic>IN<sub>i</sub></italic><sub>+1</sub> → <italic>OUT<sub>i</sub></italic><sub>+1,TRUE</sub> → <italic>IN</italic> of S&amp;P → <italic>OUT<sub>OFF</sub></italic> of S&amp;P → <italic>I</italic><sub>S&amp;T</sub> → <italic>O</italic><sub>S&amp;T</sub> → S&amp;P → EVAL<italic><sub>i</sub></italic><sub>+1</sub> → CONJ → <italic>IN</italic> of S&amp;T → <italic>OUT<sub>ON</sub></italic> of S&amp;T → <italic>I</italic><sub>S&amp;P</sub> → <italic>O</italic><sub>S&amp;P</sub> → <italic>I<sub>x<sub>i</sub></sub></italic> of EVAL<italic><sub>ϕ</sub></italic> → <italic>O<sub>x<sub>i</sub></sub></italic> of EVAL<italic><sub>ϕ</sub></italic> → CONJ → <italic>IN<sub>i</sub></italic><sub>+1</sub>.</p>
<p>Secondly, the ant walks as follows (see <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12-5</xref>): since the coloring of EVAL<italic><sub>i</sub></italic><sub>+1</sub> has become <italic>INIT</italic><sub>(<italic>a</italic>, TRUE)</sub> and <italic>ϕ<sub>i</sub></italic><sub>+1</sub> (<italic>a</italic>, TRUE) = TRUE, the ant reaches <italic>OUT<sub>i</sub></italic><sub>+1,TRUE</sub>; after that, since the coloring of the S&amp;P gadget has become <italic>ON</italic>, the ant walks as <italic>OUT<sub>i</sub></italic><sub>+1,TRUE</sub> → <italic>IN</italic> of S&amp;P → <italic>OUT<sub>ON</sub></italic> of S&amp;P → <italic>OUT</italic><sub><italic>i</italic>,TRUE</sub>.</p>
<p>By these three Cases, Lemma 2 has shown to hold for <italic>ϕ<sub>i</sub></italic>(<italic>a</italic>) when Q<italic><sub>i</sub></italic> = ∀. Since ∃ is a logical dual of ∀, a gadget of the Q<italic><sub>i</sub></italic> = ∃ case is obtained from <xref ref-type="fig" rid="f12-algorithms-04-00001">Figure 12</xref> by switching the labels <italic>OUT</italic><sub><italic>i′</italic>,TRUE</sub> and <italic>OUT</italic><sub><italic>i′</italic>, FALSE</sub> for <italic>i′</italic> = <italic>i</italic> and <italic>i</italic>+1. Accordingly, rewriting the above proof attains that of the Q<italic><sub>i</sub></italic> = ∃ case.</p></sec></sec></sec>
<sec>
<label>5.</label>
<title>Polynomial-Time Reduction</title>
<p>For a given closed QBF formula <italic>ϕ</italic><sub>0</sub>, Lemma 2 and its proof gives a polynomial-time construction of an EVAL<sub>0</sub> gadget such that if <italic>ϕ</italic><sub>0</sub> = FALSE (TRUE) then the ant placed at <italic>IN</italic><sub>0</sub> of <italic>INIT</italic><sub>0, FALSE<sup><italic>n</italic></sup></sub> coloring of EVAL<sub>0</sub> finally reaches <italic>OUT</italic><sub>0, FALSE</sub> (<italic>OUT</italic><sub>0,TRUE</sub>). So, as illustrated in <xref ref-type="fig" rid="f13-algorithms-04-00001">Figure 13</xref>, plugging reflectors (see <xref ref-type="fig" rid="f3-algorithms-04-00001">Figure 3</xref>) in both <italic>IN</italic><sub>0</sub> and <italic>INIT</italic><sub>0, FALSE<sup><italic>n</italic></sup></sub> and a diagonal highway (see <xref ref-type="fig" rid="f4-algorithms-04-00001">Figure 4</xref>) in <italic>OUT</italic><sub>0,TRUE</sub> gives an initial configuration of GLA such that <italic>ϕ</italic><sub>0</sub> = FALSE (TRUE) if, and only if, the ant stays in a bounded area (goes out of any bounded area). This establishes an efficient reduction from the QBF evaluation problem to the recognition problem of the repeatable coloring of GLA on ℤ<sup>2</sup> with gray cells, proving Theorem 1. For the <bold>H</bold><sup>2</sup> model, plugging a highway along the horizon of the half-and-half background (see <xref ref-type="fig" rid="f1-algorithms-04-00001">Figure 1</xref>) to <italic>OUT</italic><sub>0,TRUE</sub> gives an efficient reduction, too, proving Theorem 2.</p>
<p>Among our gadgets on ℤ<sup>2</sup> given in Section 2, only Switch &amp; Turn gadget uses gray cell. In addition, the Switch &amp; Turn gadget contains only one gray cell. So, putting these Switch &amp; Turn gadgets mutually away from each other makes a size-<italic>n</italic> configuration of GLA colored by <italic>n<sup>ε</sup></italic>-sparse gray cells for the reduction, proving Theorem 3.</p></sec>
<sec>
<label>6.</label>
<title>Open Questions</title>
<p>We can construct all gadgets shown in Section 2 on the <bold>T</bold><sup>2</sup> (triangular lattice) model with gray cells, excepting the Switch &amp; Turn gadget. Although we are lacking the Switch &amp; Turn gadget, we believe that the recognition problem of the repeatable configurations of GLA on <bold>T</bold><sup>2</sup> with gray cells is PSPACE-hard. The experimental results by Wang and Cohen [<xref ref-type="bibr" rid="b6-algorithms-04-00001">6</xref>] showed that randomly generated configurations of GLA on <bold>H</bold><sup>2</sup> for the monochromatic background, fall into the repeatable configurations with high probability. As far as we know, it is challenging to find even one provably unrepeatable configuration of GLA on <bold>H</bold><sup>2</sup> for the monochromatic background. Perhaps it is more challenging to prove the following: “an ant's trajectory starting from a repeatable size- <italic>n</italic> configuration of GLA is always at most a polynomial of <italic>n</italic>”. If this were true, then the recognition problem of the repeatable configurations of GLA would belong to PSPACE.</p></sec></body>
<back>
<sec sec-type="display-objects">
<title>Figures</title>
<fig id="f1-algorithms-04-00001" position="float">
<label>Figure 1.</label>
<caption>
<p>Transaction rules on each topology and each color of the cell that the ant is heading to.</p></caption>
<graphic xlink:href="algorithms-04-00001f1.gif"/></fig>
<fig id="f2-algorithms-04-00001" position="float">
<label>Figure 2.</label>
<caption>
<p>The half-and-half coloring.</p></caption>
<graphic xlink:href="algorithms-04-00001f2.gif"/></fig>
<fig id="f3-algorithms-04-00001" position="float">
<label>Figure 3.</label>
<caption>
<p>Repeatable configurations of GLA.</p></caption>
<graphic xlink:href="algorithms-04-00001f3.gif"/></fig>
<fig id="f4-algorithms-04-00001" position="float">
<label>Figure 4.</label>
<caption>
<p>The ant starting from the arrow proceeds as RLRLRLRLRL, and then starts repeating 104 steps forever, forming the famous diagonal highway going in a southeast direction.</p></caption>
<graphic xlink:href="algorithms-04-00001f4.gif"/></fig>
<fig id="f5-algorithms-04-00001" position="float">
<label>Figure 5.</label>
<caption>
<p>PATH.</p></caption>
<graphic xlink:href="algorithms-04-00001f5.gif"/></fig>
<fig id="f6-algorithms-04-00001" position="float">
<label>Figure 6.</label>
<caption>
<p>Switch &amp; Pass.</p></caption>
<graphic xlink:href="algorithms-04-00001f6.gif"/></fig>
<fig id="f7-algorithms-04-00001" position="float">
<label>Figure 7.</label>
<caption>
<p>Switch &amp; Turn.</p></caption>
<graphic xlink:href="algorithms-04-00001f7.gif"/></fig>
<fig id="f8-algorithms-04-00001" position="float">
<label>Figure 8.</label>
<caption>
<p>CONJunction (CONJ).</p></caption>
<graphic xlink:href="algorithms-04-00001f8.gif"/></fig>
<fig id="f9-algorithms-04-00001" position="float">
<label>Figure 9.</label>
<caption>
<p>PC.</p></caption>
<graphic xlink:href="algorithms-04-00001f9.gif"/></fig>
<fig id="f10-algorithms-04-00001" position="float">
<label>Figure 10.</label>
<caption>
<p>CROSS.</p></caption>
<graphic xlink:href="algorithms-04-00001f10.gif"/></fig>
<fig id="f11-algorithms-04-00001" position="float">
<label>Figure 11.</label>
<caption>
<p>EVAL<italic><sub>ϕ</sub></italic>.</p></caption>
<graphic xlink:href="algorithms-04-00001f11.gif"/></fig>
<fig id="f12-algorithms-04-00001" position="float">
<label>Figure 12.</label>
<caption>
<p>EVAL<italic><sub>i</sub></italic>, when Q<italic><sub>i</sub></italic> = ∀.</p></caption>
<graphic xlink:href="algorithms-04-00001f12.gif"/></fig>
<fig id="f13-algorithms-04-00001" position="float">
<label>Figure 13.</label>
<caption>
<p>Reduction from QBF evaluation problem to the recognition problem of the repeatable coloring of GLA.</p></caption>
<graphic xlink:href="algorithms-04-00001f13.gif"/></fig></sec>
<ref-list>
<title>References</title>
<ref id="b1-algorithms-04-00001"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Langton</surname><given-names>C.G.</given-names></name></person-group><article-title>Studying artificial life with cellular automata</article-title><source>Physica D</source><year>1986</year><volume>22</volume><fpage>120</fpage><lpage>149</lpage><pub-id pub-id-type="doi">10.1016/0167-2789(86)90237-X</pub-id></citation></ref>
<ref id="b2-algorithms-04-00001"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gale</surname><given-names>D.</given-names></name></person-group><source>Tracking the Automatic Ant and Other Mathematical Explorations</source><publisher-name>Springer-Verlag</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1998</year></citation></ref>
<ref id="b3-algorithms-04-00001"><label>3.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Langton</surname><given-names>C.G.</given-names></name></person-group><source>Artificial Life</source><publisher-name>Addison-Wesley</publisher-name><publisher-loc>Redwood, CA, USA</publisher-loc><year>1989</year></citation></ref>
<ref id="b4-algorithms-04-00001"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bunimovich</surname><given-names>L.A.</given-names></name><name><surname>Troubetzkoy</surname><given-names>S.E.</given-names></name></person-group><article-title>Recurrence properties of Lorentz lattice gas cellular automata</article-title><source>J. Stat. Phys.</source><year>1992</year><volume>67</volume><fpage>289</fpage><lpage>302</lpage><pub-id pub-id-type="doi">10.1007/BF01049035</pub-id></citation></ref>
<ref id="b5-algorithms-04-00001"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kong</surname><given-names>X.P.</given-names></name><name><surname>Cohen</surname><given-names>E.G.D.</given-names></name></person-group><article-title>Diffusion and propagation in triangular Lorentz lattice gas cellular automata</article-title><source>J. Stat. Phys.</source><year>1991</year><volume>62</volume><fpage>737</fpage><lpage>757</lpage><pub-id pub-id-type="doi">10.1007/BF01017981</pub-id></citation></ref>
<ref id="b6-algorithms-04-00001"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>F.</given-names></name><name><surname>Cohen</surname><given-names>E.</given-names></name></person-group><article-title>Diffusion in Lorentz lattice gas cellular automata: The honeycomb and quasi-lattices compared with the square and triangular lattices</article-title><source>J. Stat. Phys.</source><year>1995</year><volume>81</volume><fpage>467</fpage><lpage>495</lpage><pub-id pub-id-type="doi">10.1007/BF02179989</pub-id></citation></ref>
<ref id="b7-algorithms-04-00001"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gale</surname><given-names>D.</given-names></name></person-group><article-title>The Industrious Ant</article-title><source>Math. Intell.</source><year>1993</year><volume>15</volume><fpage>54</fpage><lpage>58</lpage></citation></ref>
<ref id="b8-algorithms-04-00001"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bunimovich</surname><given-names>L.A.</given-names></name><name><surname>Troubetzkoy</surname><given-names>S.E.</given-names></name></person-group><article-title>Rotators, periodicity, and absence of diffusion in cyclic cellular automata</article-title><source>J. Stat. Phys.</source><year>1994</year><volume>74</volume><fpage>1</fpage><lpage>10</lpage><pub-id pub-id-type="doi">10.1007/BF02186804</pub-id></citation></ref>
<ref id="b9-algorithms-04-00001"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gajardo</surname><given-names>A.</given-names></name><name><surname>Moreira</surname><given-names>A.</given-names></name><name><surname>Goles</surname><given-names>E.</given-names></name></person-group><article-title>Complexity of Langton's ant</article-title><source>Discrete Appl. Math.</source><year>2002</year><volume>117</volume><fpage>41</fpage><lpage>50</lpage><pub-id pub-id-type="doi">10.1016/S0166-218X(00)00334-6</pub-id></citation></ref>
<ref id="b10-algorithms-04-00001"><label>10.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Garey</surname><given-names>M.R.</given-names></name><name><surname>Johnson</surname><given-names>D.S.</given-names></name></person-group><source>Computers and Intractability: A Guide to the Theory of NP-Completeness</source><publisher-name>W.H. Freeman &amp; Co.</publisher-name><publisher-loc>San Francisco, CA, USA</publisher-loc><year>1979</year></citation></ref></ref-list></back></article>
