Small growing seeds
-
- Posts: 1175
- Joined: June 14th, 2014, 5:03 pm
- Contact:
Small growing seeds
Previous discussion is here
This thread is for finding rules which produce large patterns from small seeds. Github repo here.
I think 4-state VN or 3-state Moore will reach 1 million cells. Anyways, post any record-breaking patterns here!
This thread is for finding rules which produce large patterns from small seeds. Github repo here.
I think 4-state VN or 3-state Moore will reach 1 million cells. Anyways, post any record-breaking patterns here!
Re: Small growing seeds
Here's a rule optimized for 3-cell seed growth. The largest-growing 3-cell and 4-cell seeds I've looked at in this rule both have had a final population of 74249.
I'm also attaching the (very crude!) scripts I made to search for 3 and 4-cell seeds:
The 3-cell seed script runs through a pregenerated list of 1024 seeds (every valid seed that only has state cells). It runs each seed for a time, periodically checking to see if it has exceeded a maximum population limit. If by the end it hasn't, is above a minimum population limit, and isn't still growing, the seed is saved with the final population as its name.
The 4-cell seed script is similar to the 3-cell seed one, except it just runs through every possible combination of cell positions. This means that most of the runs are redundant, and that combined with the higher possible number of seeds means that the 4-cell script is much, much slower than the 3-cell one.
To run the 4-cell script, create a folder called "seeds" in the rules directory. To run the 3-cell script, create the seeds folder and extract all the seeds in the attachment below to a folder called "3_cell_seeds" in the rules directory.
Code: Select all
@RULE Growth3
@TABLE
n_states:3
neighborhood:vonNeumann
symmetries:rotate4reflect
var a={1,2}
var b=a
var c=a
var d=a
var e={0,1}
0,0,0,e,1,2
0,0,0,a,2,a
0,0,1,0,1,2
0,0,a,0,2,1
0,0,a,1,a,2
0,1,1,1,1,2
0,1,a,1,2,a
0,a,2,2,2,a
1,0,0,0,a,0
1,0,0,1,1,0
1,0,1,0,1,2
1,0,2,1,2,0
1,1,1,1,2,0
1,1,2,2,2,2
2,0,0,0,1,1
2,0,1,1,1,0
2,e,2,1,2,1
Code: Select all
x = 9, y = 9, rule = Growth3
A4$4.A4$8.A!
Code: Select all
x = 9, y = 9, rule = Growth3
A2$6.B2$4.A4$8.A!
Code: Select all
import golly as g
minpop = 200
maxpop = 1000000
genlength = 10240
rule = g.getrule()
for i in range(1,1025):
g.open(g.getdir('rules') + '\\3_cell_seeds\\' + str(i) + '.rle')
g.setrule(rule)
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
popone = int(g.getpop())
g.run(genlength/5)
poptwo = int(g.getpop())
popstring = g.getpop()
g.reset()
if int(popstring) > minpop and poptwo - popone < genlength/5 and int(popstring) < maxpop:
g.save(g.getdir('rules') + '\\seeds\\' + popstring + '.rle', 'rle', False)
Code: Select all
import golly as g
popone = 0
poptwo = 0
minpop = 200
maxpop = 1000000
genlength = 10240
for i in range(0,255):
for j in range(i+1,255):
for k in range(j+1,255):
for l in range(k+1,255):
g.setcell(i%16,i/16,1)
g.setcell(j%16,j/16,1)
g.setcell(k%16,k/16,1)
g.setcell(l%16,l/16,1)
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
popone = int(g.getpop())
g.run(genlength/5)
poptwo = int(g.getpop())
popstring = g.getpop()
g.reset()
if int(popstring) < maxpop and int(popstring) > minpop and poptwo - popone < genlength/5:
g.save(g.getdir('rules') + '\\seeds\\' + popstring + '.rle', 'rle', False)
g.setcell(i%16,i/16,0)
g.setcell(j%16,j/16,0)
g.setcell(k%16,k/16,0)
g.setcell(l%16,l/16,0)
The 4-cell seed script is similar to the 3-cell seed one, except it just runs through every possible combination of cell positions. This means that most of the runs are redundant, and that combined with the higher possible number of seeds means that the 4-cell script is much, much slower than the 3-cell one.
To run the 4-cell script, create a folder called "seeds" in the rules directory. To run the 3-cell script, create the seeds folder and extract all the seeds in the attachment below to a folder called "3_cell_seeds" in the rules directory.
- Attachments
-
- 3_cell_seeds.zip
- (164.1 KiB) Downloaded 183 times
-
- Posts: 1175
- Joined: June 14th, 2014, 5:03 pm
- Contact:
Re: Small growing seeds
Added. Also, Growth2 no longer holds any records.
EDIT: Uhh...are you using Windows? On my (Mac) laptop, it's spewing a large number of seeds into my rules folder.
EDIT: Uhh...are you using Windows? On my (Mac) laptop, it's spewing a large number of seeds into my rules folder.
Re: Small growing seeds
Yes, I'm using WIndows, so there might be some odd behavior on Macs although I don't know how that would be. It's saving seeds in the rules folder instead of the seeds folder in the rules folder?fluffykitty wrote:Uhh...are you using Windows? On my (Mac) laptop, it's spewing a large number of seeds into my rules folder.
- BlinkerSpawn
- Posts: 1992
- Joined: November 8th, 2014, 8:48 pm
- Location: Getting a snacker from R-Bee's
Re: Small growing seeds
Did you create the seeds folder and the script can't find it or did you not create the seeds folder?
-
- Posts: 1175
- Joined: June 14th, 2014, 5:03 pm
- Contact:
Re: Small growing seeds
I made a seeds folder in my rules folder and I have a bunch of files like "\seeds\201.rle".
- BlinkerSpawn
- Posts: 1992
- Joined: November 8th, 2014, 8:48 pm
- Location: Getting a snacker from R-Bee's
Re: Small growing seeds
So these are in your seeds folder?fluffykitty wrote:I made a seeds folder in my rules folder and I have a bunch of files like "\seeds\201.rle".
Can you post (or maybe PM to Rocknlol since I haven't dealt with this script) a screenshot of your seed situation?
Re: Small growing seeds
If all of those seeds are in the seeds folder then the script is working as intended.
If the number of seeds that the script creates is starting to becoming overwhelming, then you can raise the "minpop" variable and the smaller seeds won't be saved.
If the number of seeds that the script creates is starting to becoming overwhelming, then you can raise the "minpop" variable and the smaller seeds won't be saved.
-
- Posts: 1175
- Joined: June 14th, 2014, 5:03 pm
- Contact:
Re: Small growing seeds
...In my rules folder.fluffykitty wrote:I made a seeds folder in my rules folder and I have a bunch of files like "\seeds\201.rle".
Re: Small growing seeds
Okay, in that case I think I know what the problem is.
Try these scripts:
Try these scripts:
Code: Select all
import golly as g
minpop = 200
maxpop = 1000000
genlength = 10240
rule = g.getrule()
for i in range(1,1025):
g.open(g.getdir('rules') + '/3_cell_seeds/' + str(i) + '.rle')
g.setrule(rule)
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
popone = int(g.getpop())
g.run(genlength/5)
poptwo = int(g.getpop())
popstring = g.getpop()
g.reset()
if int(popstring) > minpop and poptwo - popone < genlength/5 and int(popstring) < maxpop:
g.save(g.getdir('rules') + '/seeds/' + popstring + '.rle', 'rle', False)
Code: Select all
import golly as g
popone = 0
poptwo = 0
minpop = 200
maxpop = 1000000
genlength = 10240
for i in range(0,255):
for j in range(i+1,255):
for k in range(j+1,255):
for l in range(k+1,255):
g.setcell(i%16,i/16,1)
g.setcell(j%16,j/16,1)
g.setcell(k%16,k/16,1)
g.setcell(l%16,l/16,1)
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
g.run(genlength/5)
if int(g.getpop()) < maxpop:
popone = int(g.getpop())
g.run(genlength/5)
poptwo = int(g.getpop())
popstring = g.getpop()
g.reset()
if int(popstring) < maxpop and int(popstring) > minpop and poptwo - popone < genlength/5:
g.save(g.getdir('rules') + '/seeds/' + popstring + '.rle', 'rle', False)
g.setcell(i%16,i/16,0)
g.setcell(j%16,j/16,0)
g.setcell(k%16,k/16,0)
g.setcell(l%16,l/16,0)