git @ Cat's Eye Technologies Jaccia / aaeb482
Convert documentation to Markdown. Cat's Eye Technologies 8 years ago
2 changed file(s) with 82 addition(s) and 87 deletion(s). Raw diff Collapse all Expand all
0 The Jaccia and Jacciata Cellular Automata
1 =========================================
2
3 Overview
4 --------
5
6 Jaccia and Jacciata are cellular automata inspired by the [Announcement
7 of Scientific Proof that Slime Molds are Intelligent Maze Solvers]().
8
9 Basically, the slime mold solves the maze by:
10
11 - initially being everywhere in the maze
12 - there being food at the entrance and exit of the maze
13 - minimizing its surface area by retreating from anywhere it can't get
14 food.
15
16 Jaccia operates the same way. In the Jaccia automaton, slime cells
17 survive if they have immediate neighbours in at least two cardinal
18 directions that provide sustenance, i.e. are either food or other slime
19 cells. The result is the same: paths of slime cells that lead down dead
20 ends have one end which provides no sustenance and dies off. Eventually,
21 only paths of slime cells that reach from food to food (or uninterrupted
22 circular paths of slime cells) remain. Jacciata is a more involved
23 automaton which finds only the shortest path.
24
25 [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
26
27 Properties
28 ----------
29
30 Jaccia has the property that, when started from this condition (entire
31 maze filled with slime cells), the automaton will eventually reach a
32 fixed point (steady state) which contains all possible paths from food
33 to food.
34
35 Jacciata is similar, but has the property that when it reaches a fixed
36 point, it will contain the *shortest* path from food to food, if such a
37 path exists and is unique. If no such path exists, or is not unique, the
38 result is undefined. It is otherwise similar to Jaccia.
39
40 The behaviour of both automata is also undefined if the slime
41 configurations are not orthogonal (that is, if there are any diagonal
42 slime paths.)
43
44 Definition
45 ----------
46
47 Both Jaccia and Jacciata are defined in ALPACA v0.94. Jaccia is defined
48 in the file `jaccia.alp` and Jacciata in `jacciata.alp`. The ALPACA
49 definition is authoritative; what is given here is merely advisory.
50
51 Both automata use basically the same set of symbols. An initial Jaccia
52 playfield generally serves as an initial Jacciata playfield with the
53 same kind of solution.
54
55 - ` ` - empty space
56 - `#` - wall (purely decorative)
57 - `%` - slime mold
58 - `F` - food
59 - `S` - "start" food (needed in Jacciata, optional in Jaccia)
60 - `-` - exploratory head (Jacciata only)
61 - `?` - exploratory body (Jacciata only)
62 - `@` - solved (Jacciata only)
63
64 Discussion
65 ----------
66
67 Jacciata's definition is not very elegant, especially when compared to
68 Jaccia. In order for it to work, the two sources of food need to be
69 labelled differently (`S` and `F`), there needs to be a "head" of an
70 exploratory shoot that looks for solutions, and so on. It could probably
71 be made more elegant with some work.
72
73 The definition of these automata in ALPACA suggests some possible
74 improvements to that meta-language, particularly the definition of
75 neighbourhoods different from the assumed von Neumann neighbourhood, and
76 their use in the count operator.
77
78 Happy intelligence! Such as it is.
79 Chris Pressey
80 April 11, 2009
81 Bellevue, WA
+0
-87
doc/jaccia.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
1 <!-- encoding: UTF-8 -->
2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
3 <head>
4 <title>The Jaccia and Jacciata Cellular Automata</title>
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
6 <!-- begin html doc dynamic markup -->
7 <script type="text/javascript" src="/contrib/jquery-1.6.4.min.js"></script>
8 <script type="text/javascript" src="/scripts/documentation.js"></script>
9 <!-- end html doc dynamic markup -->
10 </head>
11 <body>
12
13 <h1>The Jaccia and Jacciata Cellular Automata</h1>
14
15 <h2>Overview</h2>
16
17 <p><dfn>Jaccia</dfn> and <dfn>Jacciata</dfn> are cellular automata inspired by the
18 <a class="external" href="http://www.riken.go.jp/lab-www/frontier-div/NEWSLETTER/feb2001/ameboid_e.htm">Announcement
19 of Scientific Proof that Slime Molds are Intelligent Maze Solvers</a>.</p>
20
21 <p>Basically, the slime mold solves the maze by:</p>
22 <ul>
23 <li>initially being everywhere in the maze</li>
24 <li>there being food at the entrance and exit of the maze</li>
25 <li>minimizing its surface area by retreating from anywhere it can't get food.</li>
26 </ul>
27
28 <p>Jaccia operates the same way. In the Jaccia automaton, slime cells survive if they have
29 immediate neighbours in at least two cardinal directions that provide sustenance, i.e. are
30 either food or other slime cells. The result is the same: paths of slime cells that lead down
31 dead ends have one end which provides no sustenance and dies off. Eventually, only paths
32 of slime cells that reach from food to food (or uninterrupted circular paths of slime cells)
33 remain. Jacciata is a more involved automaton which finds only the shortest path.</p>
34
35 <h2>Properties</h2>
36
37 <p>Jaccia has the property that, when started from this condition (entire maze filled
38 with slime cells), the automaton will eventually reach a fixed point (steady state) which
39 contains all possible paths from food to food.</p>
40
41 <p>Jacciata is similar, but has the property that when it reaches a fixed point, it will contain
42 the <em>shortest</em> path from food to food, if such a path exists and is unique. If no
43 such path exists, or is not unique, the result is undefined. It is otherwise similar to Jaccia.</p>
44
45 <p>The behaviour of both automata is also undefined if the slime configurations are not orthogonal
46 (that is, if there are any diagonal slime paths.)</p>
47
48 <h2>Definition</h2>
49
50 <p>Both Jaccia and Jacciata are defined in ALPACA v0.94. Jaccia is defined in
51 the file <code>jaccia.alp</code> and Jacciata in <code>jacciata.alp</code>.
52 The ALPACA definition is authoritative; what is given here is merely advisory.</p>
53
54 <p>Both automata use basically the same set of symbols. An initial Jaccia playfield
55 generally serves as an initial Jacciata playfield with the same kind of solution.</p>
56
57 <ul>
58 <li><code>&#160;</code> - empty space</li>
59 <li><code>#</code> - wall (purely decorative)</li>
60 <li><code>%</code> - slime mold</li>
61 <li><code>F</code> - food</li>
62 <li><code>S</code> - "start" food (needed in Jacciata, optional in Jaccia)</li>
63 <li><code>-</code> - exploratory head (Jacciata only)</li>
64 <li><code>?</code> - exploratory body (Jacciata only)</li>
65 <li><code>@</code> - solved (Jacciata only)</li>
66 </ul>
67
68 <h2>Discussion</h2>
69
70 <p>Jacciata's definition is not very elegant, especially when compared to Jaccia. In order for it to work, the
71 two sources of food need to be labelled differently (S and F), there needs to be a "head" of
72 an exploratory shoot that looks for solutions, and so on. It could probably be made more elegant with
73 some work.</p>
74
75 <p>The definition of these automata in ALPACA suggests some
76 possible improvements to that meta-language, particularly the definition of neighbourhoods
77 different from the assumed von Neumann neighbourhood, and their use in the count
78 operator.</p>
79
80 <p>Happy intelligence! Such as it is.
81 <br/>Chris Pressey
82 <br/>April 11, 2009
83 <br/>Bellevue, WA</p>
84
85 </body>
86 </html>