~ubuntu-branches/ubuntu/utopic/golly/utopic

« back to all changes in this revision

Viewing changes to gui-common/Help/Algorithms/RuleLoader.html

  • Committer: Package Import Robot
  • Author(s): NIIBE Yutaka
  • Date: 2014-05-27 12:18:32 UTC
  • mfrom: (1.1.7)
  • Revision ID: package-import@ubuntu.com-20140527121832-5g1dlgscmtciw4zi
Tags: 2.6-1
* New upstream release.
* debian/control (Standards-Version): conforms to 3.9.5.
  (Build-Depends): Remove libstdc++6-4.7-dev (Closes: 748001).
* Incorporate NMU by Olly Betts (Closes: 729677).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<title>Golly Help: RuleLoader</title>
 
3
<body bgcolor="#FFFFCE">
 
4
 
 
5
<p>
 
6
The RuleLoader algorithm allows rules to be specified in external files.
 
7
Given the rule string "Foo", RuleLoader will search for a file called Foo.rule.
 
8
The format of a .rule file is described <a href="../formats.html#rule">here</a>.
 
9
A number of examples can be found in the Rules folder:
 
10
 
 
11
<p><b><a href="rule:B3/S23">B3/S23</a></b> or <b><a href="rule:Life">Life</a></b><br>
 
12
Conway's Life.  This is the default rule for the RuleLoader algorithm and is built in
 
13
(there is no corresponding .rule file).
 
14
 
 
15
<p><b><a href="rule:Banks-I">Banks-I</a>,
 
16
      <a href="rule:Banks-II">Banks-II</a>,
 
17
      <a href="rule:Banks-III">Banks-III</a>,
 
18
      <a href="rule:Banks-IV">Banks-IV</a></b><br>
 
19
In 1971, Edwin Roger Banks (a student of Ed Fredkin) made simpler versions of Codd's 1968 CA,
 
20
using only two states in some cases.  These four rules are found in his PhD thesis.
 
21
To see the rules in action, open
 
22
<a href="open:Patterns/Banks/Banks-I-demo.rle">Banks-I-demo.rle</a>
 
23
and the other examples in Patterns/Banks/.
 
24
 
 
25
<p><b><a href="rule:BBM-Margolus-emulated">BBM-Margolus-emulated</a></b><br>
 
26
Ed Fredkin's Billiard Ball Model, using the Margolus neighborhood to implement a simple reversible
 
27
physics of bouncing balls.
 
28
In this implementation we are emulating the system using a Moore-neighborhood CA with extra states.
 
29
Open <a href="open:Patterns/Margolus/BBM.rle">BBM.rle</a> to see the rule in action.
 
30
 
 
31
<p><b><a href="rule:BriansBrain">BriansBrain</a></b><br>
 
32
An alternative implementation of the Generations rule /2/3.
 
33
 
 
34
<p><b><a href="rule:Byl-Loop">Byl-Loop</a></b><br>
 
35
A six state 5-neighborhood CA that supports small self-replicating loops.
 
36
To see the rule in action, open
 
37
<a href="open:Patterns/Loops/Byl-Loop.rle">Byl-Loop.rle</a>.
 
38
 
 
39
<p><b><a href="rule:Caterpillars">Caterpillars</a></b><br>
 
40
An alternative implementation of the Generations rule 124567/378/4.
 
41
 
 
42
<p><b><a href="rule:Chou-Reggia-1">Chou-Reggia-1</a></b> and
 
43
   <b><a href="rule:Chou-Reggia-2">Chou-Reggia-2</a></b><br>
 
44
Two 5-neighborhood CA that supports tiny self-replicating loops.
 
45
To see the rules in action, open
 
46
<a href="open:Patterns/Loops/Chou-Reggia-Loop-1.rle">Chou-Reggia-Loop-1.rle</a> and
 
47
<a href="open:Patterns/Loops/Chou-Reggia-Loop-2.rle">Chou-Reggia-Loop-2.rle</a>.
 
48
 
 
49
<p><b><a href="rule:Codd">Codd</a></b><br>
 
50
In 1968, Edgar F. Codd (who would later invent the relational database) made a simpler version
 
51
of von Neumann's 29-state CA, using just 8 states. To see the rule in action, open
 
52
<a href="open:Patterns/Codd/repeater-emitter-demo.rle">repeater-emitter-demo.rle</a>
 
53
and the other examples in Patterns/Codd/.
 
54
 
 
55
<p><b><a href="rule:Codd2">Codd2</a></b><br>
 
56
A very minor extension of Codd's transition table, to allow for some sheathing cases that
 
57
were found with large patterns.
 
58
See <a href="open:Patterns/Codd/sheathing-problems.rle">sheathing-problems.rle</a>
 
59
for a demonstration of the problem cases.
 
60
 
 
61
<p><b><a href="rule:CrittersMargolus_emulated">CrittersMargolus_emulated</a></b><br>
 
62
The Critters rule is reversible and has Life-like gliders.
 
63
See <a href="open:Patterns/Margolus/CrittersCircle.rle">CrittersCircle.rle</a>.
 
64
 
 
65
<p><b><a href="rule:Devore">Devore</a></b><br>
 
66
In 1973, John Devore altered Codd's transition table to allow for simple diodes and triodes,
 
67
enabling him to make a much smaller replicator than Codd's.
 
68
See <a href="open:Patterns/Devore/Devore-rep.rle">Devore-rep.rle</a>
 
69
and the other examples in Patterns/Devore/.
 
70
 
 
71
<p><b><a href="rule:DLA-Margolus-emulated">DLA-Margolus-emulated</a></b><br>
 
72
<a href="http://en.wikipedia.org/wiki/Diffusion-limited_aggregation">Diffusion-limited aggregation</a>
 
73
(DLA) is where moving particles can become stuck, forming a distinctive fractal pattern seen in several
 
74
different natural physical systems. See <a href="open:Patterns/Margolus/DLA.rle">DLA.rle</a>.
 
75
 
 
76
<p><b><a href="rule:Ed-rep">Ed-rep</a></b><br>
 
77
A version of Fredkin's parity rule, for 7 states.
 
78
See <a href="open:Patterns/Other-Rules/Ed-rep.rle">Ed-rep.rle</a> for an image of Ed Fredkin
 
79
that photocopies itself.
 
80
 
 
81
<p><b><a href="rule:Evoloop">Evoloop</a></b> and
 
82
   <b><a href="rule:Evoloop-finite">Evoloop-finite</a></b><br>
 
83
An extension of the SDSR Loop, designed to allow evolution through collisions.
 
84
To see the rule in action, open
 
85
<a href="open:Patterns/Loops/Evoloop-finite.rle">Evoloop-finite.rle</a>.
 
86
 
 
87
<p><b><a href="rule:HPP">HPP</a></b><br>
 
88
The HPP lattice gas. A simple model of gas particles moving at right angles at a fixed speed turns out to give an
 
89
accurate model of fluid dynamics on a larger scale. Though the later FHP gas improved on the HPP gas by using a
 
90
hexagonal lattice for more realistic results, the HPP gas is where things began.
 
91
Open <a href="open:Patterns/Other-Rules/HPP-demo.rle">HPP-demo.rle</a>.
 
92
 
 
93
<p><b><a href="rule:Langtons-Ant">Langtons-Ant</a></b><br>
 
94
Chris Langton's other famous CA. An ant walks around on a binary landscape, collecting and depositing pheremones.
 
95
See <a href="open:Patterns/Other-Rules/Langtons-Ant.rle">Langtons-Ant.rle</a>.
 
96
 
 
97
<p><b><a href="rule:Langtons-Loops">Langtons-Loops</a></b><br>
 
98
The original loop. Chris Langton adapted Codd's 1968 CA to support a simple form of
 
99
self-replication based on a circulating loop of instructions.
 
100
To see the rule in action, open
 
101
<a href="open:Patterns/Loops/Langtons-Loops.rle">Langtons-Loops.rle</a>.
 
102
 
 
103
<p><b><a href="rule:LifeHistory">LifeHistory</a></b><br>
 
104
A 7-state extension of the HistoricalLife rule from MCell, allowing for on and off marked cells (states 3 and 4) as
 
105
well as the history envelope (state 2).  State 3 is useful for labels and other identifying marks, since an active
 
106
pattern can touch or even cross it without being affected.  State 5 is an alternate marked ON state most often
 
107
used to mark a 'starting' location; once a cell changes to state 2, it can not return to this start state.
 
108
State 6 cells kill any adjacent live cells; they are intended to be used as boundaries between subpatterns, e.g.
 
109
in an active stamp collection where flying debris from one subpattern might adversely affect another subpattern.
 
110
See <a href="open:Patterns/Life/Signal-Circuitry/Herschel-conduit-stamp-collection.rle">Herschel-conduit-stamp-collection.rle</a>
 
111
for an example using all of LifeHistory's extra states.
 
112
 
 
113
<p><b><a href="rule:LifeOnTheEdge">LifeOnTheEdge</a></b><br>
 
114
A CA proposed by Franklin T. Adams-Watters in which all the action occurs on
 
115
the edges of a square grid.  Each edge can be on or off and has six neighbors,
 
116
three at each end.  An edge is on in the next generation iff exactly two of the
 
117
edges in its seven edge neighborhood (including the edge itself) are on.
 
118
This implementation has 3 live states with suitable icons that allow any pattern
 
119
of edges to be created.
 
120
Open <a href="open:Patterns/Other-Rules/life-on-the-edge.rle">life-on-the-edge.rle</a>.
 
121
 
 
122
<p><b><a href="rule:LifeOnTheSlope">LifeOnTheSlope</a></b><br>
 
123
The same behavior as LifeOnTheEdge but patterns are rotated by 45 degrees.
 
124
This implementation has only 2 live states (with icons \ and /), so it's a lot easier
 
125
to enter patterns and they run faster.
 
126
Open <a href="open:Patterns/Other-Rules/life-on-the-slope.rle">life-on-the-slope.rle</a>.
 
127
 
 
128
<p><b><a href="rule:Perrier">Perrier</a></b><br>
 
129
Perrier extended Langton's Loops to allow for universal computation.
 
130
See <a href="open:Patterns/Loops/Perrier-Loop.rle">Perrier-Loop.rle</a>.
 
131
 
 
132
<p><b><a href="rule:Sand-Margolus-emulated">Sand-Margolus-emulated</a></b><br>
 
133
MCell's Sand rule is a simple simulation of falling sand particles.
 
134
See <a href="open:Patterns/Margolus/Sand.rle">Sand.rle</a>.
 
135
 
 
136
<p><b><a href="rule:SDSR-Loop">SDSR-Loop</a></b><br>
 
137
An extension of Langton's Loops, designed to cause dead loops to disappear,
 
138
allowing other loops to replicate further.
 
139
To see the rule in action, open
 
140
<a href="open:Patterns/Loops/SDSR-Loop.rle">SDSR-Loop.rle</a>.
 
141
 
 
142
<p><b><a href="rule:StarWars">StarWars</a></b><br>
 
143
An alternative implementation of the Generations rule 345/2/4.
 
144
 
 
145
<p><b><a href="rule:Tempesti">Tempesti</a></b><br>
 
146
A programmable loop that can construct shapes inside itself after replication.
 
147
To see the rule in action, open
 
148
<a href="open:Patterns/Loops/Tempesti-Loop.rle">Tempesti-Loop.rle</a>.
 
149
This loop prints the letters 'LSL' inside each copy &mdash; the initials of Tempesti's university group.
 
150
 
 
151
<p><b><a href="rule:TMGasMargolus_emulated">TMGasMargolus_emulated</a></b><br>
 
152
A different version of the HPP gas, implemented in the Margolus neighborhood, see 
 
153
<a href="open:Patterns/Margolus/TMGas.rle">TMGas.rle</a>.
 
154
 
 
155
<p><b><a href="rule:TripATronMargolus_emulated">TripATronMargolus_emulated</a></b><br>
 
156
The Trip-A-Tron rule in the Margolus neighborhood.
 
157
See <a href="open:Patterns/Margolus/TripATron.rle">TripATron.rle</a>.
 
158
 
 
159
<p><b><a href="rule:WireWorld">WireWorld</a></b><br>
 
160
A 4-state CA created by Brian Silverman.
 
161
WireWorld models the flow of currents in wires and makes it relatively
 
162
easy to build logic gates and other digital circuits.
 
163
Open <a href="open:Patterns/WireWorld/primes.mc">primes.mc</a>
 
164
and the other examples in Patterns/WireWorld/.
 
165
 
 
166
<p><b><a href="rule:Worm-1040512">Worm-1040512</a>,
 
167
      <a href="rule:Worm-1042015">Worm-1042015</a>,
 
168
      <a href="rule:Worm-1042020">Worm-1042020</a>,
 
169
      <a href="rule:Worm-1252121">Worm-1252121</a>,
 
170
      <a href="rule:Worm-1525115">Worm-1525115</a></b><br>
 
171
Examples of Paterson's Worms, a simulation created by Mike Paterson in which a
 
172
worm travels around a triangular grid according to certain rules.
 
173
There's also a rule called <b><a href="rule:Worm-complement">Worm-complement</a></b>
 
174
which can be used to show the uneaten edges within a solid region.
 
175
Open <a href="open:Patterns/Patersons-Worms/worm-1040512.rle">worm-1040512.rle</a>
 
176
and the other examples in Patterns/Patersons-Worms/.
 
177
 
 
178
<p>
 
179
<font size=+1><b>References:</b></font>
 
180
 
 
181
<p><b>Banks-I, Banks-II, Banks-III, Banks-IV</b> (1971)<br>
 
182
<i>E. R. Banks. "Information Processing and Transmission in Cellular Automata" PhD Thesis, MIT, 1971.</i>
 
183
 
 
184
<p><b>Byl-Loop</b> (1989)<br>
 
185
<i>J. Byl. "Self-Reproduction in small cellular automata." Physica D, Vol. 34, pages 295-299, 1989.</i>
 
186
 
 
187
<p><b>Chou-Reggia-1</b> and <b>Chou-Reggia-2</b> (1993)<br>
 
188
<i>J. A. Reggia, S. L. Armentrout, H.-H. Chou, and Y. Peng.
 
189
"Simple systems that exhibit self-directed replication."
 
190
Science, Vol. 259, pages 1282-1287, February 1993.</i>
 
191
 
 
192
<p><b>Codd</b> (1968)<br>
 
193
<i>E. F. Codd, "Cellular Automata" Academic Press, New York, 1968.</i>
 
194
 
 
195
<p><b>Devore</b> (1973)<br>
 
196
<i>Devore, J. and Hightower, R. (1992) "The Devore variation of the Codd self-replicating computer"
 
197
Third Workshop on Artificial Life, Santa Fe, New Mexico,
 
198
Original work carried out in the 1970s though apparently never published.
 
199
Reported by John R. Koza, "Artificial life: spontaneous emergence of
 
200
self-replicating and evolutionary self-improving computer programs,"
 
201
in Christopher G. Langton, Artificial Life III, Proc. Volume XVII
 
202
Santa Fe Institute Studies in the Sciences of Complexity,
 
203
Addison-Wesley Publishing Company, New York, 1994, p. 260.</i>
 
204
 
 
205
<p><b>Evoloop</b> (1999)<br>
 
206
<i>Hiroki Sayama "Toward the Realization of an Evolving Ecosystem on Cellular Automata",
 
207
Proceedings of the Fourth International Symposium on Artificial Life and Robotics (AROB 4th '99),
 
208
M. Sugisaka and H. Tanaka, eds., pp.254-257, Beppu, Oita, Japan, 1999.</i>
 
209
 
 
210
<p><b>HPP</b> (1973)<br>
 
211
<i>J. Hardy, O. de Pazzis, and Y. Pomeau. J. Math. Phys. 14, 470, 1973.</i>
 
212
 
 
213
<p><b>Langtons-Ant</b> (1986)<br>
 
214
<i>C. G. Langton. "Studying artificial life with cellular automata" Physica D 2(1-3):120-149, 1986.</i>
 
215
 
 
216
<p><b>Langtons-Loops</b> (1984)<br>
 
217
<i>C. G. Langton. "Self-reproduction in cellular automata." Physica D, Vol. 10, pages 135-144, 1984.</i>
 
218
 
 
219
<p><b>Paterson's Worms</b> (1973)<br>
 
220
See these sites for a good description and the latest results:</a><br>
 
221
<a href="http://www.maa.org/editorial/mathgames/mathgames_10_24_03.html">http://www.maa.org/editorial/mathgames/mathgames_10_24_03.html</a><br>
 
222
<a href="http://wso.williams.edu/%7Ebchaffin/patersons_worms/">http://wso.williams.edu/~Ebchaffin/patersons_worms/</a><br>
 
223
<a href="http://tomas.rokicki.com/worms.html">http://tomas.rokicki.com/worms.html</a>
 
224
 
 
225
<p><b>Perrier</b> (1996)<br>
 
226
<i>J.-Y. Perrier, M. Sipper, and J. Zahnd.
 
227
<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.3200">"Toward a viable, self-reproducing universal computer"</a>
 
228
Physica D 97: 335-352. 1996</i>
 
229
 
 
230
<p><b>SDSR-Loop</b> (1998)<br>
 
231
<i>Hiroki Sayama.  "Introduction of Structural Dissolution into Langton's Self-Reproducing Loop."
 
232
Artificial Life VI: Proceedings of the Sixth International Conference on Artificial Life,
 
233
C. Adami, R. K. Belew, H. Kitano, and C. E. Taylor, eds., pp.114-122, Los Angeles, California, 1998, MIT Press.</i>
 
234
 
 
235
<p><b>Tempesti</b> (1995)<br>
 
236
<i>G. Tempesti. "A New Self-Reproducing Cellular Automaton Capable of Construction and Computation".
 
237
Advances in Artificial Life, Proc. 3rd European Conference on Artificial Life, Granada, Spain, June 4-6, 1995,
 
238
Lecture Notes in Artificial Intelligence, 929, Springer Verlag, Berlin, 1995, pp. 555-563.</i>
 
239
 
 
240
<p><b>WireWorld</b> (1987)<br>
 
241
<i>A. K. Dewdney, Computer Recreations. Scientific American 282:136-139, 1990.</i>
 
242
 
 
243
</body>
 
244
</html>