simsim314 wrote:
1. Self contained. It doesn't need any "external" mechanism to replicate.
2. Extendable. You can "code" inside the replicator some extra information. Like Tempesti loops, that can code also some text inside the replication loop.
3*. Quadratic. Each unit can make more than one copy of itself. This one is controversial due to the fact that the earlier designs of replicators by Von-Neumann and Conway were only linear replicators, but obviously replication in the nature require more the ability for single self replication.
1. Agree. The ant replicates after a hit - but it is normal situation, e.g. skin cells replicating after a cut.
Of course I could insert some "timer" into the ant to start replication without hits, but if it is essential difference?
2. Agree. Yet not all loops are extendable, but, curiously, the simplest "ant" replicator formally does, because it
may replicate information encoded in sequence of "ants". It is more clear if to use two different kinds of "ants"
viewtopic.php?f=11&t=1293#p10690
I better introduce small modification of the rule above with 7 states to save encoding
for first 4 states as for the initial rule with 4 states
Code: Select all
@RULE BAnt
@TREE
num_states=7
num_neighbors=8
num_nodes=28
1 0 2 1 3 5 4 6
1 1 3 0 2 6 4 5
1 4 3 1 2 6 0 5
2 0 1 0 1 2 0 2
2 1 1 1 1 0 1 0
2 2 0 2 0 2 2 2
2 1 0 1 0 0 1 0
2 0 0 0 0 0 0 0
2 2 0 2 0 0 2 0
3 3 4 3 4 5 3 5
3 4 6 4 6 7 4 7
3 5 7 5 7 8 5 8
3 6 7 6 7 7 6 7
3 7 7 7 7 7 7 7
3 8 7 8 7 7 8 7
4 9 10 9 10 11 9 11
4 10 12 10 12 13 10 13
4 11 13 11 13 14 11 14
4 13 13 13 13 13 13 13
5 15 16 15 16 17 15 17
5 18 18 18 18 18 18 18
6 19 20 19 20 20 19 20
6 20 20 20 20 20 20 20
7 21 22 21 22 22 21 22
7 22 22 22 22 22 22 22
8 23 24 23 24 24 23 24
8 24 24 24 24 24 24 24
9 25 26 25 26 26 25 26
@COLORS
0 255 255 255
1 255 115 123
2 123 255 115
3 119 135 255
4 253 153 211
5 162 243 156
6 164 180 209
@ICONS
XPM
/* width height num_colors chars_per_pixel */
"15 105 163 2"
/* colors */
"AA c #FF0095"
"BA c #0025FF"
"CA c #FF009E"
"DA c #FF61E9"
"EA c #FF00AC"
"FA c #27EE00"
"GA c #FF1474"
"HA c #FF00B5"
"IA c #F90078"
"JA c #FFFFFF"
"KA c #4199FF"
"LA c #FF00BA"
"MA c #00DE00"
"NA c #0019FF"
"OA c #B0C9E3"
"PA c #3E74B0"
"AB c #FF00C9"
"BB c #A2D3FF"
"CB c #003CFF"
"DB c #FF055E"
"EB c #FF0254"
"FB c #00D800"
"GB c #8CFF31"
"HB c #05FF00"
"IB c #0010FF"
"JB c #0036FF"
"KB c #3CFF00"
"LB c #5A8CBF"
"MB c #FF23DE"
"NB c #FF318C"
"OB c #ACC9E9"
"PB c #4DFF00"
"AC c #000AFF"
"BC c #47EE0A"
"CC c #053688"
"DC c #C9FF91"
"EC c #27FF00"
"FC c #0007FF"
"GC c #04E300"
"HC c #01FF00"
"IC c #5EFF05"
"JC c #DEEEFF"
"KC c #95F461"
"LC c #DEFFBF"
"MC c #0027FF"
"NC c #FFDEEE"
"OC c #0357FF"
"PC c #0E6CFF"
"AD c #004AFF"
"BD c #B5DEFF"
"CD c #001D70"
"DD c #11E900"
"ED c #0965FF"
"FD c #00E300"
"GD c #5E91C4"
"HD c #1B78FF"
"ID c #1170FF"
"JD c #34FF00"
"KD c #ACFF61"
"LD c #21FF00"
"MD c #0041FF"
"ND c #093E91"
"OD c #E9F4FF"
"PD c #FF31E3"
"AE c #2380FF"
"BE c #1FFF00"
"CE c #FF0150"
"DE c #1778FF"
"EE c #69FF0C"
"FE c #FF3691"
"GE c #91FF36"
"HE c #0AFF00"
"IE c #54FF02"
"JE c #FF91C9"
"KE c #022E84"
"LE c #A7C4E3"
"ME c #95F957"
"NE c #0009FF"
"OE c #99CEFF"
"PE c #08FF00"
"AF c #0006FF"
"BF c #FF0000"
"CF c #FF0001"
"DF c #3691FF"
"EF c #FF88C4"
"FF c #FF0002"
"GF c #2CFF00"
"HF c #083C8C"
"IF c #FF0005"
"JF c #99BFDE"
"KF c #FF0008"
"LF c #19FF00"
"MF c #A2FF4D"
"NF c #FF000A"
"OF c #E3006C"
"PF c #50FF01"
"AG c #002578"
"BG c #FF0011"
"CG c #FF0017"
"DG c #104795"
"EG c #2AFF00"
"FG c #FF0019"
"GG c #4DA2FF"
"HG c #0023FF"
"IG c #001F70"
"JG c #17FF00"
"KG c #FF001F"
"LG c #FF0021"
"MG c #FF4DA2"
"NG c #B5FF70"
"OG c #FF0027"
"PG c #FF002A"
"AH c #FF36DE"
"BH c #FF002C"
"CH c #74FF14"
"DH c #001DFF"
"EH c #FF0031"
"FH c #70B5FF"
"GH c #FF0034"
"HH c #02FF00"
"IH c #2A65A7"
"JH c #FF003C"
"KH c #A2F96C"
"LH c #0150FF"
"MH c #045AFF"
"NH c #FF0C69"
"OH c #FF70B5"
"PH c #FF0044"
"AI c #14E900"
"BI c #BFD3E9"
"CI c #0761FF"
"DI c #FF004A"
"EI c #FF004D"
"FI c #00FF00"
"GI c #4AFF00"
"HI c #B5F984"
"II c #235EA2"
"JI c #0011FF"
"KI c #11FF00"
"LI c #01E300"
"MI c #9EF965"
"NI c #000EFF"
"OI c #C4FF88"
"PI c #FF0065"
"AJ c #0254FF"
"BJ c #FFBFDE"
"CJ c #FF61AC"
"DJ c #0031FF"
"EJ c #0008FF"
"FJ c #002EFF"
"GJ c #FF007C"
"HJ c #FF47E9"
"IJ c #0005FF"
"JJ c #FF0084"
"KJ c #EEFFDE"
"LJ c #FF0088"
"MJ c #2C88FF"
"NJ c #88C4FF"
"OJ c #FF41E3"
"PJ c #44FF00"
"AK c #FF0091"
"BK c #31FF00"
"CK c #8CF44D"
/* icon for state 1 */
"JAJAJAJAJAGHIFBFCFBGNBJAJAJAJA"
"JAJAJAMGBFBFBFBFBFBFBFKFJAJAJA"
"JAJAJABFBFBFBFBFBFBFBFBFBHJAJA"
"JAJAEHBFBFBFFEJAJABFBFBFBFJAJA"
"JAJABFBFBFBFJAJAJAGABFBFBFFEJA"
"JAJABFBFBFNFJAJAJABJBFBFBFPHJA"
"JAJABFBFBFFGJAJAJAJABFBFBFOGJA"
"JAJABFBFBFKGJAJAJAJABFBFBFKGJA"
"JAJABFBFBFCGJAJAJAJABFBFBFBHJA"
"JAJABFBFBFIFJAJAJAJEBFBFBFCEJA"
"JAJAFFBFBFBFJAJAJAEIBFBFBFOHJA"
"JAJAEBBFBFBFKGJAEFBFBFBFBFJAJA"
"JAJAJABFBFBFBFBFBFBFBFBFNHJAJA"
"JAJAJANCBFBFBFBFBFBFBFDIJAJAJA"
"JAJAJAJAJACJJHLGPGDBJAJAJAJAJA"
/* icon for state 2 */
"JAJAJAJAJAJDHBFIHCKIGBJAJAJAJA"
"JAJAJAMFFIFIFIFIFIFIFIPEJAJAJA"
"JAJAJAFIFIFIFIFIFIFIFIFIGFJAJA"
"JAJABKFIFIFIGEJAJAFIFIFIFIJAJA"
"JAJAFIFIFIFIJAJAJACHFIFIFIGEJA"
"JAJAFIFIFIHEJAJAJALCFIFIFIPJJA"
"JAJAFIFIFILFJAJAJAJAFIFIFIECJA"
"JAJAFIFIFIBEJAJAJAJAFIFIFIBEJA"
"JAJAFIFIFIJGJAJAJAJAFIFIFIGFJA"
"JAJAFIFIFIHBJAJAJADCFIFIFIPFJA"
"JAJAHHFIFIFIJAJAJAPBFIFIFINGJA"
"JAJAIEFIFIFIBEJAOIFIFIFIFIJAJA"
"JAJAJAFIFIFIFIFIFIFIFIFIEEJAJA"
"JAJAJAKJFIFIFIFIFIFIFIGIJAJAJA"
"JAJAJAJAJAKDKBLDEGICJAJAJAJAJA"
/* icon for state 3 */
"JAJAJAJAJAIDJBMCFJADFHJAJAJAJA"
"JAJAJANJNEEJNENENENEIJCBJAJAJA"
"JAJAJAACNENEFCDHNINENEEJEDJAJA"
"JAJAPCEJNEAFFHJAJAHGNENENEJAJA"
"JAJABANENEDHJAJAJAGGFCNEAFFHJA"
"JAJANINENEMDJAJAJAJCIJNEEJHDJA"
"JAJAAFNENEAJJAJAJAJAIJNENECIJA"
"JAJAIJNENEMHJAJAJAJAIJNENEMHJA"
"JAJAFCNENELHJAJAJAJAIJNENEEDJA"
"JAJAJINENEJBJAJAJABDIJNEEJMJJA"
"JAJADJNENEIBJAJAJAAEEJNEIJBBJA"
"JAJAMJFCNEEJOCJABDIBNENEJIJAJA"
"JAJAJANANENEEJIJAFNENEAFKAJAJA"
"JAJAJAODHGIJEJNENEFCEJAEJAJAJA"
"JAJAJAJAJAOEDEMHEDDFJAJAJAJAJA"
/* icon for state 4 */
"JAJAJAJAJAJAOJHALAABJAJAJAJAJA"
"JAJAJAJAJAJACAPIGJAAJAJAJAJAJA"
"JAJAJALAEALJIAGJGJAAJAJAJAJAJA"
"JAJAJAAAGJGJGJGJGJAAJAJAJAJAJA"
"JAJAJAEAAAJJJJGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAJJGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAAAGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAAAGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAAAGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAAAGJGJAAJAJAJAJAJA"
"JAJAJAJAJAJAAAGJGJAAJAJAJAJAJA"
"JAJAJAHJMBAHAKGJGJAKAHMBHJJAJA"
"JAJAJAAKOFOFGJGJGJGJOFOFAKJAJA"
"JAJAJAAKOFOFOFOFOFOFOFOFAKJAJA"
"JAJAJADAPDMBMBMBMBMBMBMBHJJAJA"
/* icon for state 5 */
"JAJAJAJAJAJAMIFAFABCJAJAJAJAJA"
"JAJAJAJAJAJAGCFBFBLIJAJAJAJAJA"
"JAJAJABCAIMAFBFBFBLIJAJAJAJAJA"
"JAJAJALIFBFBFBFBFBLIJAJAJAJAJA"
"JAJAJADDLILIMAFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAJAJAJALIFBFBLIJAJAJAJAJA"
"JAJAJAKHCKKCFDFBFBFDKCCKKHJAJA"
"JAJAJAFDMAMAFBFBFBFBMAMAFDJAJA"
"JAJAJAFDMAMAMAMAMAMAMAMAFDJAJA"
"JAJAJAHIMECKCKCKCKCKCKCKKHJAJA"
/* icon for state 6 */
"JAJAJAJAJAJAOBPAPAGDJAJAJAJAJA"
"JAJAJAJAJAJADGIGIGNDJAJAJAJAJA"
"JAJAJALBIHKEIGIGIGNDJAJAJAJAJA"
"JAJAJANDIGIGIGIGIGNDJAJAJAJAJA"
"JAJAJAIINDNDAGIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAJAJAJANDIGIGNDJAJAJAJAJA"
"JAJAJAOAJFLECCIGIGCCLEJFOAJAJA"
"JAJAJAHFCDCDIGIGIGIGCDCDHFJAJA"
"JAJAJAHFCDCDCDCDCDCDCDCDHFJAJA"
"JAJAJABILEJFJFJFJFJFJFJFOAJAJA"
/* icon for state 7 */
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
"JAJAJAJAJAJAJAJAJAJAJAJAJAJAJA"
XPM
/* width height num_colors chars_per_pixel */
"7 49 119 2"
/* colors */
"AA c #FF0095"
"BA c #0025FF"
"CA c #0CE900"
"DA c #002178"
"EA c #D3FFA2"
"FA c #FF00A7"
"GA c #001B70"
"HA c #0CE300"
"IA c #FF00B0"
"JA c #09FF00"
"KA c #27EE00"
"LA c #FF1474"
"MA c #FF00B5"
"NA c #FFFFFF"
"OA c #3C95FF"
"PA c #00DE00"
"AB c #FF00BF"
"BB c #FF0E6C"
"CB c #3E74B0"
"DB c #C9E3FF"
"EB c #3469A7"
"FB c #07FF00"
"GB c #0016FF"
"HB c #A2D3FF"
"IB c #69B0FF"
"JB c #00D800"
"KB c #19E900"
"LB c #8CFF31"
"MB c #0039FF"
"NB c #073988"
"OB c #36EE02"
"PB c #05FF00"
"AC c #0036FF"
"BC c #479EFF"
"CC c #FF318C"
"DC c #0007FF"
"EC c #14FF00"
"FC c #01FF00"
"GC c #FF17D3"
"HC c #1F5AA2"
"IC c #FFDEEE"
"JC c #004DFF"
"KC c #99FF41"
"LC c #1D579E"
"MC c #F9C4EE"
"NC c #0047FF"
"OC c #69EE25"
"PC c #1B78FF"
"AD c #88F950"
"BD c #D80065"
"CD c #093E91"
"DD c #0EFF00"
"ED c #E9F4FF"
"FD c #2380FF"
"GD c #003EFF"
"HD c #E9EEF4"
"ID c #FF0761"
"JD c #0DE900"
"KD c #1778FF"
"LD c #FFC9F9"
"MD c #000CFF"
"ND c #41FF00"
"OD c #0009FF"
"PD c #39EE03"
"AE c #002CFF"
"BE c #FF0000"
"CE c #FF0001"
"DE c #FF0005"
"EE c #FF0007"
"FE c #99BFDE"
"GE c #FF0009"
"HE c #FF000E"
"IE c #FF0014"
"JE c #7CF93E"
"KE c #CE005E"
"LE c #4DA2FF"
"ME c #0023FF"
"NE c #001F74"
"OE c #61FF07"
"PE c #B5FF70"
"AF c #4A80BA"
"BF c #CEFFB5"
"CF c #2C65AC"
"DF c #E3FFD3"
"EF c #74FF14"
"FF c #001DFF"
"GF c #70B5FF"
"HF c #FF0039"
"IF c #FF04C9"
"JF c #E3F9CE"
"KF c #FFA2D3"
"LF c #39FF00"
"MF c #4D84BF"
"NF c #FF0041"
"OF c #FF4199"
"PF c #FF70B5"
"AG c #EEF4F9"
"BG c #FF004A"
"CG c #00FF00"
"DG c #4AFF00"
"EG c #D3E3F4"
"FG c #78BAFF"
"GG c #235EA2"
"HG c #FF27DE"
"IG c #01E300"
"JG c #EE0070"
"KG c #000EFF"
"LG c #78A2C9"
"MG c #8CB5D8"
"NG c #23E900"
"OG c #10E900"
"PG c #0008FF"
"AH c #002EFF"
"BH c #FF99F4"
"CH c #FF007C"
"DH c #6CFF0E"
"EH c #0005FF"
"FH c #FF0080"
"GH c #EEFFDE"
/* icon for state 1 */
"NAKFCEBEBECCNA"
"NABEBEBBBEBENA"
"NABEGENABGBECC"
"NABEIENAIDBELA"
"NABEEENANFBEOF"
"NACEBEHFBEBENA"
"NAICHEBEDEPFNA"
/* icon for state 2 */
"NAEAFCCGCGLBNA"
"NACGCGDHCGCGNA"
"NACGJANADGCGLB"
"NACGECNAOECGEF"
"NACGFBNANDCGKC"
"NAFCCGLFCGCGNA"
"NAGHDDCGPBPENA"
/* icon for state 3 */
"NADBAEKGFFIBNA"
"NAMEMDBCFFODNA"
"NADCGDNAFDEHGF"
"NAEHJCNAOAEHLE"
"NAPGMBNAPCEHFG"
"NAAHODKDGBMDNA"
"NAEDNCBAACHBNA"
/* icon for state 4 */
"NANANAFHIANANA"
"NAABJGCHIANANA"
"NABHHGBDIANANA"
"NANAMCKEIANANA"
"NANALDKEIANANA"
"NAGCIAJGAAMANA"
"NAIFAAFAFAFANA"
/* icon for state 5 */
"NANANAIGOBNANA"
"NAPDPAPAKBNANA"
"NABFADJBKBNANA"
"NANAJFJBKBNANA"
"NANADFJBKBNANA"
"NAJENGPAIGKANA"
"NAOCCAJDHAOGNA"
/* icon for state 6 */
"NANANANBAFNANA"
"NAMFNEDACFNANA"
"NAEGFEGACFNANA"
"NANAHDGACFNANA"
"NANAAGGACFNANA"
"NAMGEBNECDCBNA"
"NALGLCHCLCGGNA"
/* icon for state 7 */
"NANANANANANANA"
"NANANANANANANA"
"NANANANANANANA"
"NANANANANANANA"
"NANANANANANANA"
"NANANANANANANA"
"NANANANANANANA"
Now instead of the pattern with one signal it may be used
Code: Select all
x = 49, y = 42, rule = BAnt:T50,42
24.F$10.2C12.E12.2C$9.3C25.3C$9.2C27.2C$12.C3.BCA3.EFDFE3.ACB3.C$12.B
23.B$4.2C13.2C2.3C2.2C13.2C$3.3C13.3C.3C.3C13.3C$3.2C15.2C5.2C15.2C$
6.FD3.EFE3.DF11.FD3.EFE3.DF2$.2C7.2C.2C7.2C.2C7.2C.2C7.2C$3C7.5C7.5C
7.5C7.3C$2C4.A4.3C4.A4.3C4.A4.3C4.A4.2C$3.A2.C2.A5.A2.C2.A5.A2.C2.A5.
A2.C2.A$3.C5.C5.C5.C5.C5.C5.C5.C$3.B.3C.B5.B.3C.B5.B.3C.B5.B.3C.B$5.
3C9.3C9.3C9.3C3$3.D5.D5.D5.D5.D5.D5.D5.D$3.F.3C.F5.F.3C.F5.F.3C.F5.F.
3C.F$3.E.3C.E5.E.3C.E5.E.3C.E5.E.3C.E2$4.DFEFD7.DFEFD7.DFEFD7.DFEFD$
2C9.3C9.3C9.3C9.2C$3C7.5C7.5C7.5C7.3C$.2C3.A3.2C.2C3.A3.2C.2C3.A3.2C.
2C3.A3.2C$6.C11.C11.C11.C$6.B2.ACB.BCA2.B11.B2.ACB.BCA2.B$3.2C15.2C5.
2C15.2C$3.3C6.D6.3C.3C.3C6.D6.3C$4.2C6.F6.2C2.3C2.2C6.F6.2C$12.E23.E$
14.DFE3.ACB3.BCA3.EFD$9.2C13.A13.2C$9.3C12.C12.3C$10.2C12.B12.2C4$24.
D!
- BAnt-multisplit-t24.gif (40.39 KiB) Viewed 11806 times
Where sequence 1001100110011001 is replicated in a loop
In fact, manipulation with such binary ants is more difficult, than idea with encoding 1 as "ant"
and 0 as a gap between "ants".
3. You may see that replication is even "exponential" because the pattern is mobile
unlike the loops.
Of course, it would be maximally nice to attach constructor that would build all
necessary blue blocks. But the constructor is some static part of replicator.
The minimal model above demonstrates replication of information.
Alexander
PS. Rule BAnt is also reversible, below a script to reverse
Code: Select all
# Reverse a 3x3 reduced rule with 7 states exchanged to fit 2x2
from glife import rect
from time import time
import golly as g
r = rect( g.getrect() )
if r.empty: g.exit("The pattern is empty.")
oldsecs = time()
maxstate = g.numstates() - 1
swp = [0, 2, 1, 3, 5, 4, 6]
for row in xrange(r.top, r.top + r.height):
for col in xrange(r.left, r.left + r.width):
cell=g.getcell(col, row)
cell = swp[cell]
g.setcell(col, row, cell )