Code: Select all
@RULE biology_0_1
0 empty
1 b
2 u
3 d
4 out
5 in
6 interaction
7 signal out
8 signal in
9 bonded b
10 bonded u
11 bonded d
12 special interaction
13 shadow
14 corner protector
3,4,5,7,8,11 unused
ins try to match
particles only interact in unambiguous situations
@TABLE
n_states:15
neighborhood:Moore
symmetries:rotate4reflect
#all
var a1={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a2={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a3={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a4={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a5={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a6={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a7={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var a8={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}
#b-states
var b1={1,9}
var b2={1,9}
var b3={1,9}
#u-states
var c1={2,10}
var c2={2,10}
var c3={2,10}
#live
var e1={1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var e2={1,2,3,4,5,6,7,8,9,10,11,12,13,14}
var e3={1,2,3,4,5,6,7,8,9,10,11,12,13,14}
#particle (all except interactions)
var f1={1,2,3,4,5,7,8,9,10,11,13}
var f2={1,2,3,4,5,7,8,9,10,11,13}
var f3={1,2,3,4,5,7,8,9,10,11,13}
#dead (for creating interactions)
var g1={0,13}
#become unbonded
9,0,a1,0,a2,0,a3,0,a4,1
10,0,a1,0,a2,0,a3,0,a4,2
11,0,a1,0,a2,0,a3,0,a4,3
9,13,a1,0,a2,0,a3,0,a4,1
10,13,a1,0,a2,0,a3,0,a4,2
11,13,a1,0,a2,0,a3,0,a4,3
#bu interaction gen 3
#(conserving particles, prefers linear strings)
#overriding “become bonded”
1,f1,f2,0,a1,a2,a3,0,f3,0
2,f1,f2,0,a1,a2,a3,0,f3,0
#become bonded
1,f1,a1,a2,a3,a4,a5,a6,a7,9
2,f1,a1,a2,a3,a4,a5,a6,a7,10
3,f1,a1,a2,a3,a4,a5,a6,a7,11
#b-u interaction (101 2)
#gen 1
0,c1,a1,b1,a2,c2,a2,a3,a4,1
1,a1,c1,0,c2,a2,a3,a4,a5,0
0,b1,a1,c1,a2,b2,a2,a3,a4,2
2,a1,b1,0,b2,a2,a3,a4,a5,0
#special interaction
0,f1,a1,a2,0,f2,f3,a3,a4,12
#bu double reaction
0,f1,a1,a2,f2,a3,f3,a4,a5,12
#b-u interaction (101)
#gen 1
12,b1,a1,a2,c1,0,c2,a3,a4,1
12,c1,a1,a2,b1,0,b2,a3,a4,2
#gen 2
6,a1,b1,12,0,c1,a2,a3,a4,0
6,a1,c1,12,0,b1,a2,a3,a4,0
#b-u interaction (2,1)
#gen 1
g1,b1,a1,a2,c1,a3,a4,a5,a6,6
g1,c1,a1,a2,b1,a3,a4,a5,a6,6
#gen 2
6,c1,a1,6,b1,a1,a2,a3,a4,2
6,b1,a1,6,c1,a1,a2,a3,a4,1
b1,6,6,a1,a2,a3,a4,a5,a6,13
c1,6,6,a1,a2,a3,a4,a5,a6,13
#b-u interaction (1,1)
#gen 1
g1,9,a1,2,a2,a3,a4,a5,a6,6
g1,1,a1,10,a2,a3,a4,a5,a6,6
#gen 2
6,1,6,10,a1,a2,a3,a4,a5,1
6,2,6,9,a1,a2,a3,a4,a5,2
1,6,a1,6,a2,a3,a4,a5,a6,0
2,6,a1,6,a2,a3,a4,a5,a6,0
#bug
6,9,a1,10,a2,a3,a4,a5,a6,0
#b-u interaction (0,2)
#gen 1
0,10,a1,0,a3,1,a4,0,a6,6
0,9,a1,0,a3,2,a4,0,a6,6
#gen 2
1,6,0,a1,a2,a3,a4,a5,0,0
2,6,0,a1,a2,a3,a4,a5,0,0
6,1,0,a1,a2,a3,a4,a5,0,1
6,2,0,a1,a2,a3,a4,a5,0,2
#b-u interaction (x,2o)
#gen 2
6,0,b1,12,9,10,a1,a2,a3,0
1,12,6,a1,a2,a3,a4,a5,a6,0
12,1,a1,a2,a3,9,10,a4,a5,9
6,0,c1,12,10,9,a1,a2,a3,0
2,12,6,a1,a2,a3,a4,a5,a6,0
12,2,a1,a2,a3,10,9,a4,a5,10
#b-u interaction (x,2d)
#gen 2
0,0,2,12,9,10,a1,a2,a3,6
0,0,1,12,10,9,a1,a2,a3,6
#gen 3
12,2,a1,a2,a3,9,10,0,a5,12
12,1,a1,a2,a3,10,9,0,a5,12
12,2,a1,a2,a3,9,10,a4,a5,10
12,1,a1,a2,a3,10,9,a4,a5,9
6,0,c1,12,9,10,f1,a2,a3,14
6,0,b1,12,10,9,f1,a2,a3,14
6,0,c1,12,9,10,a1,a2,a3,0
6,0,b1,12,10,9,a1,a2,a3,0
#line protector dies
14,f1,f2,f3,a1,a2,a3,a4,a5,14
14,f1,a1,a2,f1,f2,a3,a4,a5,14
14,a1,a2,a3,a4,a5,a6,a7,a8,0
#shadows die
13,a1,a2,a3,a4,a5,a6,a7,a8,0
#protect corners
6,f1,f2,f3,a1,a2,a3,a4,a5,14
#protect gaps
12,f1,a1,0,f1,f2,a2,a3,a4,14
#kill unwanted interactions
6,a1,a2,a3,a4,a5,a6,a7,a8,0
12,a1,a2,a3,a4,a5,a6,a7,a8,0
@COLORS
0 0 0 0
1 255 0 0
2 0 255 0
3 0 0 255
4 255 255 0
5 0 255 255
6 255 128 0
7 255 255 128
8 128 255 255
9 255 63 63
10 63 255 63
11 63 63 255
12 255 0 255
13 0 0 128
14 128 0 0Code: Select all
x = 10, y = 6, rule = biology_0_1
3.B3.A$2.A2.J3.B$A6.A$5.J$.B$7.A!We are trying to better approximate biological life not by trying to mimic life as it is--I think that's starting from the wrong place, trying to build a system that in a practical sense is impossibly complex for us. The rules we make are too simple and mimic the superficial characteristics of life and not what's going on under the surface.
Instead, we set out to mimic life's precursors and hope and expect that a good analog will develop significant complexity in the system on its own over time with a little guidance just as biological life did. With experiments in pi_guy314's Shapeloop variations that you can see in some threads here or over at http://patterns.boundstechconsulting.com, I have demonstrated with minimal guidance over time and many generations significant complexity can arise spontaneously with rulesets that imperfectly approach the characteristics of biological life.
The "precursors" I refer to are self replicating macromolecules which in biological life were probably first something like chains of amino acids/proteins/RNA shaped in such a way--shaped here being the configuration of their molecules as determined by the chemical properties of the composing atoms (imagine those snap together organic chemistry models used in school)--that they are able to organize random configurations of the molecules that compose molecules into a shape identical to itself. Take the following imaging that 'q' and 'b', 'p' and 'd', 'n' and 'u', '[' and ']', and '{' and '}' are the same shapes in a different orientations:
Code: Select all
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . [ . } . . . . . . .
. . . . . b u d . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . - shape 'b' and shape 'u' always have a tendency to arrange with 'b' on the left hand side of 'u' as it is oriented, when in within the proximity of two spaces in any direction, so that if in generation 1:
Code: Select all
. . . . . . . . . . . . . . . . . . . . . u . . . . . . . . . . . . . . . . b . . . . . . . . . . . . . . . . . . . . .
then in generation 2:
And similarly:Code: Select all
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - 'u' and 'd' always have a tendency to arrange with 'd' on the right hand side of 'u' as it is oriented when in proximity
- 'd' and '}' always have a tendency to arrange with 'o' above '}' as it is oriented when in proximity
- 'b' and '[' always have a tendency to arrange with 'c' above '[' as it is oriented when in proximity
- Once any of these pairs get into their preferred orientations, they move together as a unit.
Also: - '[' and '}' always have a tendency to arrange such that '{' brackets '[' as it is oriented when in proximity but this arrangement is not strongly preferred so it does not lock into place and does not persist if the arrangement is being pulled into a different orientation or location by another affinity
It would tend to form up like this:
Code: Select all
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . p n q p n q . . . . . .
. . . { [ ] } [ ] . . . . . .
. . . . b u d b u d . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . The lifelike part of this rule as imagined happens at a level higher than what we normally call "life" in CA, meaning it's not the particles directly or even the shapes that form from them that will be lifelike, but that formed by interactions of the shapes that form. And we don't hope to watch a lizard dart across the screen with this or anything. We won't know if it's too much to ask for until we deeper into playing with rules, but if we get spontaneous generation of membranes and nucleation in the end, that would be huge.
There is a problem in my imagining that of states not being able to sense two states out; a shape can only know that of the states around it. And while it might work fine with just sensing the states that are touching. We are trying to think of ways to sense two or more spaces out too... one idea is a pulse/wave or even a persistent "field" of states emanating from the particles that bring related particles in closer. fluffykitty is working on a version each with waves and without.
It goes without saying that this is a very ambitious effort requiring a complicated rule. So we ask for any interested parties to join us in the effort. We will likely need your help in both the coding and in the abstract development of the rule to do something like this in a reasonable amount of time. Thanks and we welcome your thoughts, questions and everything else on this subject below!