Commits

Anonymous committed 989ac01

Convert documentation to Markdown.

  • Participants
  • Parent commits 25aeecf

Comments (0)

Files changed (2)

File README.markdown

+The Jaccia and Jacciata Cellular Automata
+=========================================
+
+Overview
+--------
+
+Jaccia and Jacciata are cellular automata inspired by the [Announcement
+of Scientific Proof that Slime Molds are Intelligent Maze Solvers]().
+
+Basically, the slime mold solves the maze by:
+
+-   initially being everywhere in the maze
+-   there being food at the entrance and exit of the maze
+-   minimizing its surface area by retreating from anywhere it can't get
+    food.
+
+Jaccia operates the same way. In the Jaccia automaton, slime cells
+survive if they have immediate neighbours in at least two cardinal
+directions that provide sustenance, i.e. are either food or other slime
+cells. The result is the same: paths of slime cells that lead down dead
+ends have one end which provides no sustenance and dies off. Eventually,
+only paths of slime cells that reach from food to food (or uninterrupted
+circular paths of slime cells) remain. Jacciata is a more involved
+automaton which finds only the shortest path.
+
+[Announcement of Scientific Proof that Slime Molds are Intelligent Maze Solvers]:   http://web.archive.org/web/20020220163303/http://www.riken.go.jp/lab-www/frontier-div/NEWSLETTER/feb2001/ameboid_e.htm
+
+Properties
+----------
+
+Jaccia has the property that, when started from this condition (entire
+maze filled with slime cells), the automaton will eventually reach a
+fixed point (steady state) which contains all possible paths from food
+to food.
+
+Jacciata is similar, but has the property that when it reaches a fixed
+point, it will contain the *shortest* path from food to food, if such a
+path exists and is unique. If no such path exists, or is not unique, the
+result is undefined. It is otherwise similar to Jaccia.
+
+The behaviour of both automata is also undefined if the slime
+configurations are not orthogonal (that is, if there are any diagonal
+slime paths.)
+
+Definition
+----------
+
+Both Jaccia and Jacciata are defined in ALPACA v0.94. Jaccia is defined
+in the file `jaccia.alp` and Jacciata in `jacciata.alp`. The ALPACA
+definition is authoritative; what is given here is merely advisory.
+
+Both automata use basically the same set of symbols. An initial Jaccia
+playfield generally serves as an initial Jacciata playfield with the
+same kind of solution.
+
+-   ` ` - empty space
+-   `#` - wall (purely decorative)
+-   `%` - slime mold
+-   `F` - food
+-   `S` - "start" food (needed in Jacciata, optional in Jaccia)
+-   `-` - exploratory head (Jacciata only)
+-   `?` - exploratory body (Jacciata only)
+-   `@` - solved (Jacciata only)
+
+Discussion
+----------
+
+Jacciata's definition is not very elegant, especially when compared to
+Jaccia. In order for it to work, the two sources of food need to be
+labelled differently (`S` and `F`), there needs to be a "head" of an
+exploratory shoot that looks for solutions, and so on. It could probably
+be made more elegant with some work.
+
+The definition of these automata in ALPACA suggests some possible
+improvements to that meta-language, particularly the definition of
+neighbourhoods different from the assumed von Neumann neighbourhood, and
+their use in the count operator.
+
+Happy intelligence! Such as it is.  
+Chris Pressey  
+April 11, 2009  
+Bellevue, WA

File doc/jaccia.html

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<!-- encoding: UTF-8 -->
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
-<head>
-<title>The Jaccia and Jacciata Cellular Automata</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-  <!-- begin html doc dynamic markup -->
-  <script type="text/javascript" src="/contrib/jquery-1.6.4.min.js"></script>
-  <script type="text/javascript" src="/scripts/documentation.js"></script>
-  <!-- end html doc dynamic markup -->
-</head>
-<body>
-
-<h1>The Jaccia and Jacciata Cellular Automata</h1>
-
-<h2>Overview</h2>
-
-<p><dfn>Jaccia</dfn> and <dfn>Jacciata</dfn> are cellular automata inspired by the
-<a class="external" href="http://www.riken.go.jp/lab-www/frontier-div/NEWSLETTER/feb2001/ameboid_e.htm">Announcement
-of Scientific Proof that Slime Molds are Intelligent Maze Solvers</a>.</p>
-
-<p>Basically, the slime mold solves the maze by:</p>
-<ul>
-<li>initially being everywhere in the maze</li>
-<li>there being food at the entrance and exit of the maze</li>
-<li>minimizing its surface area by retreating from anywhere it can't get food.</li>
-</ul>
-
-<p>Jaccia operates the same way.  In the Jaccia automaton, slime cells survive if they have
-immediate neighbours in at least two cardinal directions that provide sustenance, i.e. are
-either food or other slime cells.  The result is the same: paths of slime cells that lead down
-dead ends have one end which provides no sustenance and dies off.  Eventually, only paths
-of slime cells that reach from food to food (or uninterrupted circular paths of slime cells)
-remain.  Jacciata is a more involved automaton which finds only the shortest path.</p>
-
-<h2>Properties</h2>
-
-<p>Jaccia has the property that, when started from this condition (entire maze filled
-with slime cells), the automaton will eventually reach a fixed point (steady state) which
-contains all possible paths from food to food.</p>
-
-<p>Jacciata is similar, but has the property that when it reaches a fixed point, it will contain
-the <em>shortest</em> path from food to food, if such a path exists and is unique.  If no
-such path exists, or is not unique, the result is undefined.  It is otherwise similar to Jaccia.</p>
-
-<p>The behaviour of both automata is also undefined if the slime configurations are not orthogonal
-(that is, if there are any diagonal slime paths.)</p>
-
-<h2>Definition</h2>
-
-<p>Both Jaccia and Jacciata are defined in ALPACA v0.94.  Jaccia is defined in
-the file <code>jaccia.alp</code> and Jacciata in <code>jacciata.alp</code>.
-The ALPACA definition is authoritative; what is given here is merely advisory.</p>
-
-<p>Both automata use basically the same set of symbols.  An initial Jaccia playfield
-generally serves as an initial Jacciata playfield with the same kind of solution.</p>
-
-<ul>
-<li><code>&#160;</code> - empty space</li>
-<li><code>#</code> - wall (purely decorative)</li>
-<li><code>%</code> - slime mold</li>
-<li><code>F</code> - food</li>
-<li><code>S</code> - "start" food (needed in Jacciata, optional in Jaccia)</li>
-<li><code>-</code> - exploratory head (Jacciata only)</li>
-<li><code>?</code> - exploratory body (Jacciata only)</li>
-<li><code>@</code> - solved (Jacciata only)</li>
-</ul>
-
-<h2>Discussion</h2>
-
-<p>Jacciata's definition is not very elegant, especially when compared to Jaccia.  In order for it to work, the
-two sources of food need to be labelled differently (S and F), there needs to be a "head" of
-an exploratory shoot that looks for solutions, and so on.  It could probably be made more elegant with
-some work.</p>
-
-<p>The definition of these automata in ALPACA suggests some
-possible improvements to that meta-language, particularly the definition of neighbourhoods
-different from the assumed von Neumann neighbourhood, and their use in the count
-operator.</p>
-
-<p>Happy intelligence!  Such as it is.
-<br/>Chris Pressey
-<br/>April 11, 2009
-<br/>Bellevue, WA</p>
-
-</body>
-</html>