Depends on what you're looking for. Just for example, have you looked at everything in the Downloadable Pattern Catalogs section of the Life Links forum topic, and the patterns in the Very Large Patterns archive in Golly (Help > Online Archives > Very Large Patterns)?gameoflifemaniac wrote:Is there a place where I can find awesome Life patterns?
Thread for basic questions
Re: Thread for basic questions
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
Is this the only place?dvgrn wrote:Depends on what you're looking for. Just for example, have you looked at everything in the Downloadable Pattern Catalogs section of the Life Links forum topic, and the patterns in the Very Large Patterns archive in Golly (Help > Online Archives > Very Large Patterns)?gameoflifemaniac wrote:Is there a place where I can find awesome Life patterns?
EDIT:
Dave, the script isn't complete. When I run it long enough, it shows errors like: 'Can't create pattern file!.' I stopped the script after running it for a long time, and I couldn't run any pattern, the same error showed up in the status bar lol
This script doesn't show the errors, because it doesn't save the previous tested rotors (because that might cause a lack of memory). It forgets about them this way; it duplicates the layer, randfills the selection in THAT layer, checks if it's an oscillator, and if not it deletes the layer. Now Ctrl-N works instantly after running the script for a long time. That means that it forgot.
This script is really slow because it has to duplicate the layer every time. Can it be improved?
Code: Select all
local g = golly()
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if (tbl2[k] ~= v) then
return false
end
end
return true
end
selection = g.getselrect()
r=g.getrect()
count=0
while( true )
do
g.reset()
pop = g.getpop()
g.select({})
g.clone()
g.select(selection)
g.randfill(20)
count=count+1
if count == 100 then
count=0
end
g.run(100)
if Equal(r,g.getrect()) and g.getpop() >= pop then
local cells = g.getcells(g.getrect())
g.run(1)
if not (Equal(g.getcells(g.getrect()),cells)) then
break
else
g.dellayer()
end
else
g.dellayer()
end
end
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
Of course not. Just for example (again), follow the links to the Life pages for Paul Callahan, Dean Hickerson, Nick Gotts, and David Bell for more pattern collections that are different kinds of awesome.gameoflifemaniac wrote:Is this the only place?dvgrn wrote:Just for example, have you looked at everything in the Downloadable Pattern Catalogs section of the Life Links forum topic, and the patterns in the Very Large Patterns archive in Golly (Help > Online Archives > Very Large Patterns)?
Sure, there are other ways of doing that trick.gameoflifemaniac wrote:Dave, the script isn't complete. When I run it long enough, it shows errors like: 'Can't create pattern file!.'
...
This script is really slow because it has to duplicate the layer every time. Can it be improved?
One is to run a "local statorcells = g.getcells(g.getrect())" line just once when the script starts, and also save the selection rectangle in a variable. Maybe create one new layer, so that no matter where the script stops the original layer won't be damaged.
Then instead of g.reset(), you can do a g.new() followed by g.putcells(statorcells), re-using the same layer every time. g.new() short-circuits the Undo history for the rest of the script, whereas g.reset() relies on it.
I'm not sure exactly what's going on with the "Can't create pattern file!" message yet. I was thinking that none of the versions of the script should have been wasting a lot of memory on cumulative Undo history, anyway, since you were doing g.reset() after every test cycle.
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
But what was the purpose of the count variable?dvgrn wrote:Of course not. Just for example (again), follow the links to the Life pages for Paul Callahan, Dean Hickerson, Nick Gotts, and David Bell for more pattern collections that are different kinds of awesome.gameoflifemaniac wrote:Is this the only place?dvgrn wrote:Just for example, have you looked at everything in the Downloadable Pattern Catalogs section of the Life Links forum topic, and the patterns in the Very Large Patterns archive in Golly (Help > Online Archives > Very Large Patterns)?
Sure, there are other ways of doing that trick.gameoflifemaniac wrote:Dave, the script isn't complete. When I run it long enough, it shows errors like: 'Can't create pattern file!.'
...
This script is really slow because it has to duplicate the layer every time. Can it be improved?
One is to run a "local statorcells = g.getcells(g.getrect())" line just once when the script starts, and also save the selection rectangle in a variable. Maybe create one new layer, so that no matter where the script stops the original layer won't be damaged.
Then instead of g.reset(), you can do a g.new() followed by g.putcells(statorcells), re-using the same layer every time. g.new() short-circuits the Undo history for the rest of the script, whereas g.reset() relies on it.
I'm not sure exactly what's going on with the "Can't create pattern file!" message yet. I was thinking that none of the versions of the script should have been wasting a lot of memory on cumulative Undo history, anyway, since you were doing g.reset() after every test cycle.
Anyway, here's the script:
Code: Select all
local g = golly()
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if (tbl2[k] ~= v) then
return false
end
end
return true
end
r=g.getrect()
local statorcells = g.getcells(g.getrect())
selection = g.getselrect()
count=0
while( true )
do
g.new("")
g.putcells(statorcells)
g.select(selection)
pop = g.getpop()
g.randfill(20)
count=count+1
if count == 100 then
count=0
end
g.run(100)
if Equal(r,g.getrect()) and g.getpop() >= pop then
local cells = g.getcells(g.getrect())
g.run(1)
if not (Equal(g.getcells(g.getrect()),cells)) then
break
end
end
end
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
See penultimate paragraph.gameoflifemaniac wrote:But what was the purpose of the count variable?
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
Code: Select all
local g = golly()
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if (tbl2[k] ~= v) then
return false
end
end
return true
end
r=g.getrect()
local statorcells = g.getcells(g.getrect())
selection = g.getselrect()
g.clear(0)
count=0
while( true )
do
g.new("")
g.putcells(statorcells)
g.select(selection)
pop = g.getpop()
g.randfill(20)
count=count+1
if count == 100 then
count=0
end
g.run(100)
if Equal(r,g.getrect()) and g.getpop() >= pop then
local cells = g.getcells(g.getrect())
g.run(1)
if not (Equal(g.getcells(g.getrect()),cells)) then
break
end
end
end
- Attachments
-
- Zrzut ekranu (42).png (106.53 KiB) Viewed 11653 times
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
Code: Select all
x = 12, y = 12, rule = B3/S23
4b2o$4b2o2$4b4o$3bo2bobob2o$3bo4bob2o$2ob2o3bo$2obo4bo$4b4o2$6b2o$6b2o
!
Code: Select all
local g = golly()
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if (tbl2[k] ~= v) then
return false
end
end
return true
end
r=g.getrect()
count=0
while( true )
do
g.reset()
pop = g.getpop()
g.randfill(20)
count=count+1
if count == 100 then
count=0
end
g.run(100)
if Equal(r,g.getrect()) and g.getpop() >= pop then
local cells = g.getcells(g.getrect())
g.run(1)
if not (Equal(g.getcells(g.getrect()),cells)) then
break
end
end
end
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
Here you've added a count variable back in, but it doesn't do anything useful. The point was to run a g.update() command only one time in a hundred, or one time in a thousand, so that you could see that something was happening but Golly wouldn't have to update the screen on every test cycle. That's the most time-consuming work Golly has to do, and if it's done every cycle then the updates happen too fast to see anyway.gameoflifemaniac wrote:The script...
Can you see why it ignores these? It's not exactly because there's a stator inside the selection -- it would do the same thing for this 3x3 case, half the time:gameoflifemaniac wrote:The script ignores patterns like these (patterns that have a stator inside the selection)...
Code: Select all
x = 11, y = 11, rule = B3/S23
4bo$2b3o$bo$bo2b3o$2obo3bo$3bo3bo$3bo3bob2o$4b3o2bo$9bo$6b3o$6bo!
No idea. That oversized screenshot was plenty awkward enough to look at the first time around, and the question hasn't improved either.gameoflifemaniac wrote:What is this weird thing?
A sentence or two explaining what you were doing when you took the screenshot would be very helpful. In particular: is this something that happens every time you run a certain script, or do a certain set of steps? If so, what is the script, or what is the complete list of steps, so that someone else can duplicate the same problem?
If you only give half the steps, or no steps at all, then you've basically invented a new guessing game where you're the only one who knows the rules. If you don't get an answer to a question, it might be worth reviewing it to see if you yourself would try to answer it if someone else had asked it.
If not, then maybe try changing the question.
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
What should I do?dvgrn wrote:Here you've added a count variable back in, but it doesn't do anything useful. The point was to run a g.update() command only one time in a hundred, or one time in a thousand, so that you could see that something was happening but Golly wouldn't have to update the screen on every test cycle. That's the most time-consuming work Golly has to do, and if it's done every cycle then the updates happen too fast to see anyway.gameoflifemaniac wrote:The script...
Can you see why it ignores these? It's not exactly because there's a stator inside the selection -- it would do the same thing for this 3x3 case, half the time:gameoflifemaniac wrote:The script ignores patterns like these (patterns that have a stator inside the selection)...
The reason is that you're mis-using Equal(), which was originally written to compare non-empty g.getrect() rectangles. It needs to be modified if you're comparing a shorter cell list to a longer cell list. Unequal-length cell lists are never really equal, but your current Equal() function will return true if the shorter list comes first and all of its cells match the corresponding cells in the longer list.Code: Select all
x = 11, y = 11, rule = B3/S23 4bo$2b3o$bo$bo2b3o$2obo3bo$3bo3bo$3bo3bob2o$4b3o2bo$9bo$6b3o$6bo!
No idea. That oversized screenshot was plenty awkward enough to look at the first time around, and the question hasn't improved either.gameoflifemaniac wrote:What is this weird thing?
A sentence or two explaining what you were doing when you took the screenshot would be very helpful. In particular: is this something that happens every time you run a certain script, or do a certain set of steps? If so, what is the script, or what is the complete list of steps, so that someone else can duplicate the same problem?
If you only give half the steps, or no steps at all, then you've basically invented a new guessing game where you're the only one who knows the rules. If you don't get an answer to a question, it might be worth reviewing it to see if you yourself would try to answer it if someone else had asked it.
If not, then maybe try changing the question.
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
First off, please don't keep quoting huge blocks of text with multiple unrelated subtopics in it, and then ask a question like this at the end. It's hard to know which subtopic you're asking about.gameoflifemaniac wrote:What should I do?
If you want to fix the script, you could follow the "needs to be modified" link and figure out how to add code for this suggestion:
The length of a Lua table can be found with the # operator -- at least, if it's a well-behaved Lua table like the rectangle lists and cell lists generated by Golly. So try something like if #tbl1 ~= #tbl2 then return false end, at the beginning of the Equal() function.dvgrn wrote:You'll have to change Equal() slightly for a more accurate comparison. First check if the lengths are the same, and return false if they're not. Then only do the item-by-item comparison if the lengths are identical.
If you want help figuring out what the "weird thing" is, then post steps that someone can use to reproduce the screenshot you posted and re-posted.
Re: Thread for basic questions
It might have been hard to find those sequences with the numbers you were looking at:gmc_nxtman wrote:It's pretty interesting that the sequence occurs in an almost-similar form, but not quite. I didn't know that there was already discussion about this particular sequence, I should've probably searched harder.
So far I haven't found any cases where the sequence generated by one method is really any different from the sequence generated by any of the other methods. At least, my theory is that the Wolfram Cloud list has an error in it in one place (see below) and the other mismatches are just because the nice simple "multiplicative suborder" formula, A160657, fails for a few cases that have subperiods. See below for more detail on that.6, 4, 14, 14, 12, 62, 4, 126, 28, 30, 30, 28, 1022, 24, 126, 124, 4094
Here's the collection of mechanisms that produce these mysterious period numbers:
-- single ON cell in B1/S on a bounded grid
-- 2xN rectangles in the 2x2 rule (B36/S125)
-- Rule 90 repetition periods (see table and question at end of this post)
-- diagonal lines in B2-a3-i/S01c and B2e/S (and no doubt other rule variants).
-- orthogonal dotted lines in B2cek3i/S12cei or variants
(looks like B2c/S is all that's needed to get the oscillators -- maybe AbhpzTa used B2cek3i/S12cei because it also supports the gliders and spaceships in the "horiship guns" in Golly's Patterns/Non-Totalistic folder)
Code: Select all
x = 55, y = 1, rule = B2c/S
obobobobobobobobobobobobobobobobobobobobobobobobobobobo!
B3i4it5ry6k7e/S1e2k3ey4ti5i looks like it duplicates all the periods from the Wolfram Rule 90 list, which is not true for any of the other 2D rules I've collected so far.
-- orthogonal solid lines, making a pattern of 1x2 blocks instead of 2x2 -- hint provided by drc. Here's the mysterious p174762 oscillator again in this rule:
Code: Select all
x = 72, y = 1, rule = B2ci3ai4ci8/S02ae3eijkq4iz5a6i7e
72o!
Code: Select all
x = 36, y = 1, rule = B3i4it5ry6k7e/S1e2k3ey4it5i
36o!
#C [[ AUTOSTART STEP 50 STOP 87381 ]]
Code: Select all
B2-a3-i/S01c diagonal lines:
X = pattern dies out completely
Length Odd Even
------ ---- ----
1 (stable)
2 X
3 6
4 4
5 14
6 X
7 14
8 12
9 62
10 8
11 126
12 28
13 30
14 X
15 30
16 28
17 1022
18 24
19 126
20 124
21 4094
22 16
23 2046
24 252
25 1022
26 56
27 32766
28 60
29 62
30 X
31 62
32 60
33 8190
34 56
35 174762*
36 2044
37 8190
38 48
39 2046
40 252
41 254
42 248
The "Even" column period for a diagonal line of length 2N+2, for N>1, seems to be always twice the period of a line of length N... unless the length is two less than a power of two, in which case all cells die. Which is just what El'endia Starman from the Quest for Tetris project says in https://oeis.org/A268754: "For odd-indexed terms, a(2n+1) = 2*a(n), except when n is of the form (2^k - 1), in which case a(n) = 1."
There are occasional exceptions in the Odd column, where an oscillator returns to its original state too soon. The A160657 calculation does still give a number where the line returns to its original configuration -- but in just a few cases, that number is some multiple of the period, rather than the actual period.
In the weird cases so far, the multiple is always three. But a 2^N-2 period can perfectly well be divisible by three without displaying this subperiod behavior.
Example: the multiplicative suborder calculation gives the value 126 for a length-11 diagonal line. 126 is the actual period, not 126/3 = 42.
However, the multiplicative suborder calculation gives the value 524286 for a length-35 diagonal line. But the actual oscillator period is only a third of that -- 174762.
Re: Thread for basic questions
It seems perfectly possible that somewhere up there in the ridiculously long diagonal lines, the actual period may again end up being smaller than the period that you'd calculate using the multiplicative suborder -- but this time the reduction might be by some factor other than three. EDIT: There's a factor of seven reduction implied by the Wolfram Cloud table -- see quoted text at the bottom of this post -- but that table seems to be wrong in at least one place, and I don't see how to experimentally verify this number with the hardware I have available.dvgrn wrote:Here are a few more of the diagonal-line periods tabulated. There seems to be a perfect match with the other mechanisms so far...
Unfortunately the periods get painfully large fairly quickly, so it gets difficult to generate new terms in the sequence. Anybody know where a longer list might be found than the one I reproduced in the table at the bottom of this post?
... The list from the Wolfram Cloud document is in fact a good bit longer, so maybe it's worth making an updated comparison list here. Watch out! Warning! The Index values match the OEIS A268754 sequence, not the number of cells in a diagonal line.
Diagonal line length = Index-1 = WolframIndex/2-2
Also, it looks like any period in the Wolfram Cloud list can be duplicated by a solid 1xN line in B3i4it5ry6k7e/S1e2k3ey4it5i, where N = WolframIndex-1. At least, it's worked for every example I've tried with oscar.lua so far -- except for WolframIndex 74, which not too surprisingly comes out at a third of the period listed.
Code: Select all
Index A268754 even A268754 odd A160657 Wolfram
"Rule 90" list
[WolframIndex -> value]
1 -> 1
2 -> 1
3 -> 1
1 1 4 -> 1
5 -> 3
2 2 2 6 -> 2
7 -> 7
3 1 8 -> 1
9 -> 7
4 6 6 10 -> 6
11 -> 31
5 4 12 -> 4
13 -> 63
6 14 14 14 -> 14
15 -> 15
7 1 16 -> 1
17 -> 15
8 14 14 18 -> 14
19 -> 511
9 12 20 -> 12
21 -> 63
10 62 62 22 -> 62
23 -> 2047
11 8 24 -> 8
25 -> 1023
12 126 126 26 -> 126
27 -> 511
13 28 28 -> 28
29 -> 16383
14 30 30 30 -> 30
31 -> 31
15 1 32 -> 1
33 -> 31
16 30 30 34 -> 30
35 -> 4095
17 28 36 -> 28
37 -> 87381
18 1022 1022 38 -> 1022
39 -> 4095
19 24 40 -> 24
41 -> 1023
20 126 126 42 -> 126
43 -> 127
21 124 44 -> 124
45 -> 4095
22 4094 4094 46 -> 4094
47 -> 8388607
23 16 48 -> 16
49 -> 2097151
24 2046 2046 50 -> 2046
51 -> 255
25 252 52 -> 252
53 -> 67108863
26 1022 1022 54 -> 1022
55 -> 1048575
27 56 56 -> 56
57 -> 511
28 32766 32766 58 -> 32766
59 -> 536870911
29 60 60 -> 60
61 -> 1073741823
30 62 62 62 -> 62
63 -> 63
31 1 64 -> 1
65 -> 63
32 62 62 66 -> 62
67 -> 8589934591
33 60 68 -> 60
69 -> 4194303
34 8190 8190 70 -> 8190
71 -> 34359738367
35 56 72 -> 56
73 -> 511
36 174762 524286 74 -> 524286 **********
75 -> 1048575
37 2044 76 -> 2044
77 -> 1073741823
38 8190 8190 78 -> 8190
79 -> 549755813887
39 48 80 -> 48
81 -> 134217727
40 2046 2046 82 -> 2046
83 -> 2199023255551
41 252 84 -> 252
85 -> 255
42 254 254 86 -> 254
87 -> 268435455
43 248 88 -> 248
89 -> 2047
44 8190 8190 90 -> 8190
91 -> 4095
45 8188 92 -> 8188
93 -> 1023
46 16777214 16777214 94 -> 16777214
95 -> 22906492245
47 32 96 -> 32
97 -> 16777215
48 4194302 4194302 98 -> 4194302
99 -> 32767
49 4092 100 -> 4092
101 -> 375299968947541
50 510 510 102 -> 510
103 -> 2251799813685247
51 504 104 -> 504
105 -> 4095
52 134217726 134217726 106 -> 134217726
107 -> 9007199254740991
53 2044 108 -> 2044
109 -> 262143
54 2097150 2097150 110 -> 2097150
111 -> 68719476735
55 112 -> 112
113 -> 16383
56 1022 1022 114 -> 1022
115 -> 17592186044415
57 116 -> 65532
117 -> 4095
58 1073741822 118 -> 1073741822
119 -> 16777215
59 120 -> 120
121 -> 36028797018963967
60 2147483646 122 -> 2147483646
123 -> 1048575
61 124 -> 124
125 -> 1125899906842623
62 126 126 -> 126
127 -> 127
63 128 -> 1
129 -> 127
64 126 130 -> 126
131 -> 36893488147419103231
65 132 -> 124
133 -> 262143
66 17179869182 134 -> 17179869182
135 -> 68719476735
67 136 -> 120
137 -> 17179869183
68 8388606 138 -> 8388606
139 -> 590295810358705651711
69 140 -> 16380
141 -> 23456248059221
70 68719476734 142 -> 68719476734
143 -> 1152921504606846975
71 144 -> 112
145 -> 16383
72 1022 146 -> 1022
147 -> 4398046511103
73 148 -> 1048572
149 -> 18889465931478580854783
74 2097150 150 -> 2097150
151 -> 32767
75 152 -> 4088
153 -> 16777215
76 214748364 154 -> 2147483646
155 -> 1048575
77 156 -> 16380
157 -> 67108863
78 158 -> 1099511627774
159 -> 4503599627370495
79 160 -> 96
161 -> 8589934591
80 162 -> 268435454
163 -> 2417851639229258349412351
81 164 -> 4092
165 -> 1048575
82 166 -> 4398046511102
167 -> 9671406556917033397649407
83 168 -> 504
169 -> 302231454903657293676543
84 170 -> 510
171 -> 511
85 172 -> 508
173 -> 77371252455336267181195263
86 174 -> 536870910
175 -> 1152921504606846975
87 176 -> 496
177 -> 536870911
88 178 -> 4094
179 -> 618970019642690137449562111
89 180 -> 16380
181 -> 1237940039285380274899124223
90 182 -> 8190
183 -> 1152921504606846975
91 184 -> 16376
185 -> 262143
92 186 -> 2046
187 -> 1099511627775
93 188 -> 33554428
189 -> 262143
94 45812984490 137438953470 190 -> 45812984490 *************
191 -> 3961408125713216879677197516
95 192 -> 64
193 -> 281474976710655
96 194 -> 33554430
195 -> 4095
97 196 -> 8388604
197 -> 1056375500190191167913919337
98 198 -> 65534
199 -> 9054647144487352867833594324
99 200 -> 8184
So... the next question is:
How exactly are we supposed to use Rule 90 to reproduce all those other "RepetitionPeriods" from that mysterious Wolfram Cloud document? The "in-between" numbers not included in the A268754 sequence are even bigger and more outlandish, on average, than the A268754 values.
EDIT: See this later post for various pointers toward an answer.
Also, is the WolframIndex=74 value wrong in that document? Shouldn't it match the actual A268754 figure for index=36, not the calculated figure from A160657? Notice that the period-doubling pattern described in A268754 also holds here -- WolframIndex(2N) = 2(WolframIndex(N)) except when N is a power of two. WolframIndex(2^k)=1.
But then have a look at WolframIndex(37) -- it's half of the A268754 term, 174762, and is _not_ half of WolframIndex(2*37). Pretty sure WolframIndex(74) = 524286 is just an error.
Maybe there's something about "repetition periods" for different rules on Wolfram Alpha somewhere -- enough to pick up a good clue about how to generate these numbers using Rule 90...?
Code: Select all
A003558
n a(n) WolframIndex -> value
18 18 37 -> 87381 (2^18-1)/3
47 36 95 -> 22906492245 (2^36-1)/3
50 50 101 -> 375299968947541 (2^50-1)/3
70 46 141 -> 23456248059221 (2^46-1)/3
98 98 197 -> 105637550019019116791391933781 (2^98-1)/3
99 99 199 -> 90546471444873528678335943241 (2^99-1)/7
Strangely, later oscillators with the same coach number (18) apparently actually oscillate at the full period.
WolframIndex 109, 133, 185, 189 all have a recorded period of 2^18-1.
- Extrementhusiast
- Posts: 1966
- Joined: June 16th, 2009, 11:24 pm
- Location: USA
Re: Thread for basic questions
-
- Posts: 1334
- Joined: July 1st, 2016, 3:58 pm
Re: Thread for basic questions
Code: Select all
x = 13, y = 91, rule = B368/S245
3o$bo$3o$b2obobo$5bo$3b4o$5b3o2$6bo$5b3o$7bobo$2o6b3o$b2o5bobo$
b2o4b2o$2bo4bo$8b2o$3bo4b2obo$2b4o3bo$2b2ob2o2bo$5bo5bo$5bo2bob2o
$4b2o3b3o$7bob2o$6b2ob2o$7bobo$5b2obobo$5b2o2$7b3obo$5b2o4b2o$7b
o2bo$2bo5b5o$3bo4b2obo$9bo$3b2obo$2bo2b3obo$5bobob2o$2bob3obo$bo
b2obob2o$b3obo3b3o$b3o2bobob2o$3b3ob2o$3b3o4bo$3b6obo$8b2o$9bo$6b
2o$6bo$7b3o$9bo$6bo2bo$6bo2bo$7b3o$5bo3bo$bo2bob2o3bo$obo3bo2bo$
b2o2b2o2b2o$o5bo2b3o$4b2ob2o2bo$2bob2o3bo$5b2o2bob2o$bo2bobob4o$
b4obob2obo$2b2ob2ob2o$bobo3bo$b2o2b3o$bob2ob2o$bo2b3o$6bo$o2bob2o
bo$2obo$obob4o$4bob2o$3b3o2bo$5bo2bo$2b2ob2o2bo$2b4obo$5bobo$4bo
bo3bo$4bob2o2bo$5bo4bo$10bo$7b4o$7bob2o$9bob2o$8bo2bo$7bo2b2o$7b
obobo$9b2obo$7b2obo$8bo!
Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.
- BlinkerSpawn
- Posts: 1992
- Joined: November 8th, 2014, 8:48 pm
- Location: Getting a snacker from R-Bee's
Re: Thread for basic questions
You searched from the back?AforAmpere wrote:I was searching for a w14 knightship in Morely/Move (B368/S245) with gfind-pt, and it output this:This partial fails, but why did it output it as finished?Code: Select all
rle
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
Ok, how should it look like?dvgrn wrote:gameoflifemaniac wrote:What should I do?The length of a Lua table can be found with the # operator -- at least, if it's a well-behaved Lua table like the rectangle lists and cell lists generated by Golly. So try something like if #tbl1 ~= #tbl2 then return false end, at the beginning of the Equal() function.dvgrn wrote:You'll have to change Equal() slightly for a more accurate comparison. First check if the lengths are the same, and return false if they're not. Then only do the item-by-item comparison if the lengths are identical.
Like so...
Code: Select all
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if #tbl1 ~= #tbl2 then
return false
if (item-by-item comparison) then
return false
if (tbl2[k] ~= v) then
return false
end
end
return true
end
Code: Select all
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if #tbl1 ~= #tbl2 then
if (item-by-item comparison) then
return false
if (tbl2[k] ~= v) then
return false
end
end
return true
end
To do this "weird thing", run the script with the count variable. It will automatically show up.
EDIT: Hell yeah, this works!
Code: Select all
local g = golly()
function Equal(tbl1,tbl2)
for k,v in pairs(tbl1) do
if (tbl2[k] ~= v) then
return false
end
end
return true
end
r=g.getrect()
statorcells = g.getcells(g.getrect())
selection = g.getselrect()
while( true )
do
g.new("")
g.putcells(statorcells)
g.select(selection)
pop = g.getpop()
g.randfill(20)
g.run(100)
if Equal(r,g.getrect()) and g.getpop() >= pop then
local cells = g.getcells(g.getrect())
g.run(1)
if not (Equal(g.getcells(g.getrect()),cells)) then
break
end
end
end
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
You mean the script in this post?gameoflifemaniac wrote:To do this "weird thing", run the script with the count variable. It will automatically show up.
If not, can you provide an actual link? Otherwise we seem to be still playing the same guessing game where you're the only one who knows the rules. There are at least three of these recent scripts that include a count variable.
Maybe not too surprisingly, when I run that script I don't see anything like your screenshot.
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: Thread for basic questions
A strange game. The only winning move is not to play.dvgrn wrote:Otherwise we seem to be still playing the same guessing game where you're the only one who knows the rules.
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
Re: Thread for basic questions
Searching from the back will give the same results as searching from the front, except for most rules it will take much longer. Something has gone drastically wrong with this search, or the results output, because the leftmost 10 columns reappear after five generations, but the rightmost four columns do not.BlinkerSpawn wrote:You searched from the back?AforAmpere wrote:I was searching for a w14 knightship in Morely/Move (B368/S245) with gfind-pt, and it output this:This partial fails, but why did it output it as finished?Code: Select all
rle
Can you provide a link to the exact version of source for gfind which you used (or post a copy if you modified it). Sorry, I haven't been able to attempt to reproduce this result as I don't have access to gfind at the moment. Further discussion should probably move over to the gfind thread in the scripts forum.
Semi-active here - recovering from a severe case of LWTDS.
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
My script found an oscillator! I noticed it has the same rotor as the burloaferimeter.
Code: Select all
x = 14, y = 14, rule = B3/S23
6b2o$6b2o2$4b6o$3bo6bo$3bo3b2obo$2obobobo2bob2o$2obobo3b2ob2o$3bob2o3b
o$3bo4bobo$4b6o2$6b2o$6b2o!
Just run the script (the presence or absence of the count variable doesn't matter (probably)) and sometimes happens, sometimes not. But if you wait long enough, it will happen.dvgrn wrote:Maybe not too surprisingly, when I run that script I don't see anything like your screenshot.
Or you can run a pattern at a random base with a speed of 2. The weird patterns will appear too.
EDIT: Next one! (Actually I found it before the script did)
Code: Select all
x = 14, y = 14, rule = B3/S23
6b2o$6b2o2$4b6o$3bo6bo$3bob3o2bo$2obobo2bobob2o$2obo4bobob2o$3b2o2b2ob
o$3bobo4bo$4b6o2$6b2o$6b2o!
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
Re: Thread for basic questions
Code: Select all
x = 22, y = 19, rule = lifehistory
5.2A$6.A$5.A$2A3.2A5.2A$A.A5.2A2.A$2.A2.3A2.A.A$.2A.A2.A.A.A$4.2A2B2A
$4.A2.B2.A$5.5AB$9.B$5.2AB2A$3.A2.A.2AB$3.2A3.2B$9.BA8.A$8.2BAB7.A$8.
2BABA6.A.A$9.BA8.A$10.A8.A!
- BlinkerSpawn
- Posts: 1992
- Joined: November 8th, 2014, 8:48 pm
- Location: Getting a snacker from R-Bee's
Re: Thread for basic questions
That catalyst looks like half of the arbitrary period multiplier (or whatever it's actually called).Bullet51 wrote:Is this catalysis known?Code: Select all
x = 22, y = 19, rule = lifehistory 5.2A$6.A$5.A$2A3.2A5.2A$A.A5.2A2.A$2.A2.3A2.A.A$.2A.A2.A.A.A$4.2A2B2A $4.A2.B2.A$5.5AB$9.B$5.2AB2A$3.A2.A.2AB$3.2A3.2B$9.BA8.A$8.2BAB7.A$8. 2BABA6.A.A$9.BA8.A$10.A8.A!
- gameoflifemaniac
- Posts: 1242
- Joined: January 22nd, 2017, 11:17 am
- Location: There too
Re: Thread for basic questions
What arbitrary period multiplier? I'm very curious!BlinkerSpawn wrote:That catalyst looks like half of the arbitrary period multiplier (or whatever it's actually called).Bullet51 wrote:Is this catalysis known?Code: Select all
x = 22, y = 19, rule = lifehistory 5.2A$6.A$5.A$2A3.2A5.2A$A.A5.2A2.A$2.A2.3A2.A.A$.2A.A2.A.A.A$4.2A2B2A $4.A2.B2.A$5.5AB$9.B$5.2AB2A$3.A2.A.2AB$3.2A3.2B$9.BA8.A$8.2BAB7.A$8. 2BABA6.A.A$9.BA8.A$10.A8.A!
Code: Select all
b4o25bo$o29bo$b3o3b3o2bob2o2bob2o2bo3bobo$4bobo3bob2o2bob2o2bobo3bobo$
4bobo3bobo5bo5bo3bobo$o3bobo3bobo5bo6b4o$b3o3b3o2bo5bo9bobo$24b4o!
-
- Posts: 1334
- Joined: July 1st, 2016, 3:58 pm
Re: Thread for basic questions
Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.
- BlinkerSpawn
- Posts: 1992
- Joined: November 8th, 2014, 8:48 pm
- Location: Getting a snacker from R-Bee's
Re: Thread for basic questions
An interaction found by Noam Elkiesgameoflifemaniac wrote:What arbitrary period multiplier? I'm very curious!BlinkerSpawn wrote:That catalyst looks like half of the arbitrary period multiplier (or whatever it's actually called).Bullet51 wrote:Is this catalysis known?Code: Select all
x = 22, y = 19, rule = lifehistory 5.2A$6.A$5.A$2A3.2A5.2A$A.A5.2A2.A$2.A2.3A2.A.A$.2A.A2.A.A.A$4.2A2B2A $4.A2.B2.A$5.5AB$9.B$5.2AB2A$3.A2.A.2AB$3.2A3.2B$9.BA8.A$8.2BAB7.A$8. 2BABA6.A.A$9.BA8.A$10.A8.A!
Comparison:
Code: Select all
x = 40, y = 23, rule = LifeHistory
11.2A15.2A$11.A17.A$5.2A.A3.3A13.A$5.2A.4A2.A8.2A3.2A5.2A$12.A10.A.A
5.2A2.A$5.5A2.2A11.A2.3A2.A.A$4.A5.A.A2.A8.2A.A2.A.A.A$2A3.2A2.2A3.2A
11.2A2B2A$A2.A.A2.B2.A15.A2.B2.A$2.2A2.5AB16.5AB$3.A6.B6.A14.B6.A$.A
2.4AB2A4.3A10.2AB2A4.3A$.3A3.A.2AB2.A11.A2.A.2AB2.A$4.A4.2B3.BA10.2A
3.2B3.BA$3.2A5.BA3BA16.BA3BA$10.BA2B18.BA2B$9.BA3BA16.BA3BA$5.2A3.ABA
BA12.2A3.ABABA$5.A2.A.A.AB13.A2.A.A.AB$7.2A.A.A.A14.2A.A.A.A$8.A.A2.
2A15.A.A2.2A$8.A.A19.A.A$9.A21.A!