Re: Thread for basic questions
Posted: August 25th, 2017, 2:56 pm
How to edit a Golly script to not resave it as a text file?
Forums for Conway's Game of Life
https://conwaylife.com/forums/
Have you tried saving it with the correct script file extension?gameoflifemaniac wrote:How to edit a Golly script to not resave it as a text file?
Yes, but... LOL I don't know how the script updated! I edited the script metafier.lua to set the base and step to 35328 and 1, recpectively. I don't know how it was resaved!muzik wrote:Have you tried saving it with the correct script file extension?gameoflifemaniac wrote:How to edit a Golly script to not resave it as a text file?
Did you switch to a new Golly version after you did this?gameoflifemaniac wrote:Yes, but... LOL I don't know how the script updated! I edited the script metafier.lua to set the base and step to 35328 and 1, recpectively. I don't know how it was resaved!muzik wrote:Have you tried saving it with the correct script file extension?gameoflifemaniac wrote:How to edit a Golly script to not resave it as a text file?
Code: Select all
x = 5, y = 3, rule = B2a/S1e
2o$4bo$4bo!
And for any "certain shape" that doesn't immediately die or provably expand explosively in every rule in the range being investigated, you're pretty much stuck simulating the shape in each rule until it settles into some predictable state, and either produces or doesn't produce an offset copy of itself.toroidalet wrote:It's possible to prove that every pattern containing 2 isolated blocks, dominoes, dots, anything that can't expand without B2a, B1e, or B1c (but expand in multiple directions when those are present) etc cannot be spaceships because those birth conditions give unstoppable lightspeed extensions when one or more of those conditions are present. (They may be spaceships in B0 rules, though.)
Yes, the huge pattern which is a GoE in every irreversible rule would work.drc wrote:I want to bring up toroidalet's question again, is it possible to prove that certain shapes (besides quad-symmetric ones) aren't spaceships in any rules? For example:Code: Select all
x = 5, y = 3, rule = B2a/S1e 2o$4bo$4bo!
Code: Select all
x = 10, y = 5, rule = B0/S012345678
4bo$9bo$bo7bo$2o3b2o$5b2o!
Code: Select all
x = 14, y = 14, rule = B/S012345678
2b4o$2bo3b4o$2bo7b4o$2bo10bo$bo11bo$bo11bo$bo10bo$bo10bo$o11bo$o11bo$o
10bo$4o7bo$4b4o3bo$8b4o!
Code: Select all
x = 5, y = 2, rule = B2ac/S
o$o2b2o!
Code: Select all
x = 15, y = 21, rule = B3/S23
2o$b2o$o2$12b3o$11bo2bo$14bo$10bo3bo$10bo3bo$14bo$11bobo4$6bo$5b3o$5bo
b2o$6b3o$6b3o$6b3o$6b2o!Code: Select all
x = 29, y = 19, rule = B3/S23
bo$b2o23b3o$obo23bo$21b2o4bo$21bobo$21bo11$22b3o$22bo$23bo!
Sufficiently exotic spaceship speeds.drc wrote:This is kind of an opinion question, but what really makes a certain (non-Life) rule special (to you)?
You'd be right, I think. Gencols can handle a long list of patterns as input, and you just filter the output to tell you only about the interesting cases. You can do it in different ways -- e.g., start with the list of all possible glider + *WSS collisions in that orientation, which is a pretty reasonable-sized list (that can itself be trivially generated with gencols).M. I. Wright wrote:How are reactions like the following, used in 31c/240 tech, found?
... I'd say gencols...
Well, that's how I do it, or at least how I used to do it -- haven't run Hersrch for a while, because it's gotten so far out of date. Will really have to update data.ini at some point. There's a version of gmc_nxtman's H-to-H collection that should make that fairly easy.M. I. Wright wrote:How can I best utilize Hersrch in trying to make a 1G->"fast salvo" conduit, say for use in a gun? Would I have to create the inserter conduits individually...?
The best method so far seems to be chris_c's popseq script. Your first step is gencols again, this time starting with two-glider collisions and adding a third glider with a reasonable range of offsets, wherever you want it coming from. Then you run popseq on the resulting gencols output file -- putting in the population sequence for the tail end of the desired reaction -- and, well, cross your fingers and hope.M. I. Wright wrote:How could I search for syntheses of a reaction without necessarily finding every synthesis of the end result?
Code: Select all
x = 5, y = 5, rule = B3/S23
3bo$3b2o$obobo$o2bo$bobo!No, there's a separate thread for that, with a classifer script and the beginnings of a labeled collection with at least one representative of each type. Sorry, the link was in the previous post, but not in the actual walkthrough message. I've made some edits to bring the walkthrough closer to up-to-date.M. I. Wright wrote:Is there a collection in existence of H>2G splitters sorted according to this walkthrough by dvgrn, or is it just a matter of poring through the H>G/H>2G collection and knowing which conduits fit which classification?[/list]
Code: Select all
x = 21, y = 12, rule = Life
11b2o6b2o$10bobo5b2o$12bo7bo7$2o$b2o$o!
Code: Select all
.........**!........**!.**.......*!*.*!..*
**!.**!*!........**!.......**!.........*
**.......**!.**.....**!*.........*
***!..*!.*!........***!........*!.........*
......***!......*!.......*!!**!.**!*
**!.**.....***!*.......*!.........*
.........*!**......**!.**.....*.*!*
**!.**!*........*!........**!........*.*
.**!*.*!..*!!........***!........*!.........*
.........**!........**!**........*!.**!*
.........**!**......**!.**.......*!*
**!.**!*!........***!........*!.........*
.........**!........**!..........*!.**!*.*!..*
.........**!.**.....**!*.*.......*!..*
.........**!.*......**!.**.......*!*.*
.........**!........**!***.......*!..*!.*
.........*!........**!........*.*!!.**!*.*!..*Code: Select all
**......**!.**....**!*........*
.**!*.*!..*!!........**!........*.*!........*
........***!........*!.........*!.**!*.*!..*
.**!*.*!..*!.........**!........**!..........*
***!..*!.*!!......**!......*.*!......*
.......**!.......*.*!.......*!!.*!.**!*.*
.*!.**!*.*!.........**!........**!..........*
.*.......**!.**.....**!*.*.......*
.*!.**!*.*......**!........**!..........*
***!..*......**!.*......**!..........*
***!..*!.*!!.......**!.......*.*!.......*Code: Select all
**!.**.....**!*......**!.........*
**!.**!*.......**!.......**!.........*
........***!........*!**.......*!.**!*
.**!*.*!..*......**!........**!..........*
.**!*.*......**!..*.....**!..........*Code: Select all
.**......**!*.*.....**!..*.......*Code: Select all
.......***!.......*!........*!!***!..*!.*
***!..*!.*!........*!.......**!.......*.*
**......***!.**.....*!*........*!Code: Select all
.........*!........**!........*.*!!***!..*!.*Code: Select all
#C <21 gens
x = 11, y = 344, rule = B3/S23
9b2o$8b2o$b2o7bo$obo$2bo17$2o$b2o$o$8b2o$7b2o$9bo17$2o7b2o$b2o5b2o$o9b
o17$3o$2bo$bo$8b3o$8bo$9bo17$6b3o$6bo$7bo2$2o$b2o$o17$2o$b2o5b3o$o7bo$
9bo17$9bo$2o6b2o$b2o5bobo$o17$2o$b2o$o8bo$8b2o$8bobo17$b2o$obo$2bo2$8b
3o$8bo$9bo17$9b2o$8b2o$2o8bo$b2o$o17$9b2o$2o6b2o$b2o7bo$o17$2o$b2o$o$
8b3o$8bo$9bo17$9b2o$8b2o$10bo$b2o$obo$2bo17$9b2o$b2o5b2o$obo7bo$2bo17$
9b2o$bo6b2o$b2o7bo$obo17$9b2o$8b2o$3o7bo$2bo$bo17$9bo$8b2o$8bobo2$b2o$
obo$2bo!
Code: Select all
#C 23–35 gens inclusive
x = 11, y = 221, rule = B3/S23
2o6b2o$b2o4b2o$o8bo17$b2o$obo$2bo2$8b2o$8bobo$8bo17$8b3o$8bo$9bo$b2o$o
bo$2bo17$b2o$obo$2bo$9b2o$8b2o$10bo17$3o$2bo$bo2$6b2o$6bobo$6bo17$7b2o
$7bobo$7bo2$bo$b2o$obo17$bo$b2o$obo$9b2o$8b2o$10bo17$bo7b2o$b2o5b2o$ob
o7bo17$bo$b2o$obo6b2o$8b2o$10bo17$3o$2bo6b2o$bo6b2o$10bo17$3o$2bo$bo2$
7b2o$7bobo$7bo!
Code: Select all
#C 37–76 gens
x = 11, y = 87, rule = B3/S23
2o$b2o5b2o$o6b2o$9bo17$2o$b2o$o7b2o$7b2o$9bo17$8b3o$8bo$2o7bo$b2o$o17$
b2o$obo$2bo6b2o$8b2o$10bo17$b2o$obo6b2o$2bo5b2o$10bo!
Code: Select all
#C 102 gens
x = 11, y = 3, rule = B3/S23
b2o6b2o$obo5b2o$2bo7bo!
Code: Select all
#C 159–193 gens
x = 11, y = 48, rule = B3/S23
7b3o$7bo$8bo2$3o$2bo$bo17$3o$2bo$bo$8bo$7b2o$7bobo17$2o6b3o$b2o5bo$o8b
o!
Code: Select all
#C 541 gens
x = 11, y = 7, rule = B3/S23
9bo$8b2o$8bobo2$3o$2bo$bo!
Code: Select all
import re
try:
input = raw_input
except NameError:
pass
print('Enter RLE:')
rle = ''.join(iter(raw_input, ""))
# remove header and newlines
rle = re.sub('.*(B3/S23|Life)', '', rle)[:-1]
# string replacements: #
# newlines
rle = re.sub(r'([0-9]+[0-9]|[4-9])\$', '\n', rle)
# runs of dots/stars
rle = re.sub('([0-9]+)([ob])', lambda m: '*.'[m[0] == 'b'] * int(m[1]), rle)
# single dots/stars
rle = re.sub('(?<![0-9])[ob]', lambda m: '*.'[m[0] == 'b'], rle)
# exclamation points
rle = re.sub(r'([0-3]*)\$', lambda m: '!' * int(m[1] or 1), rle)
print(rle)Yeah, biggiemac also reported duplicates. It would be good to go back to the gencols:techniques thread and track down why the 2g.col example is producing those extra collisions. It might be easiest to publish a 2g90degree.col and 2g180degree.col that has just one instance of each collision.M. I. Wright wrote:Is it a significant issue that gencols often produces time-offset or mirrored duplicates in its output? Part of what I did to prepare the inputs for a 3g-collision search was prune all of these duplicates (which were, funnily enough, produced by the 2g.col enumeration command in the Examples file) and then sync up the remaining contenders so that their first collision occurred at exactly the same gen, but I'm wondering if I should save the effort in the future.
2x2 might be, but only with 2x2 blocks:muzik wrote:Are there any outer-totalistic rules which are both self-inverse and simulate a Margolus block cellular automaton using 2x2 blocks?
Code: Select all
#C [[ GPS 1 ]]
x = 32, y = 14, rule = B36/S125
18b14o$18b14o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b2o
2b4o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b2o2b4o$2o2b
2o12b4o2b2o2b4o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b2o2b4o$2o2b2o12b4o2b
2o2b4o$18b14o$18b14o!
You previously asked about what Life-like CAs simulate Margolus neighborhood CAs, and I suggested you tackle this problem yourself -- did you make any progress on that?muzik wrote:Are there any outer-totalistic rules which are both self-inverse and simulate a Margolus block cellular automaton using 2x2 blocks?
Every rule from B3i/S5i to B1e2-a34-w5-a678/S0123-a4-q56-a7e has the margolus behaviour, but that's only the familiar rule found in 2x2, and doesn't account for the rest of them. So a microscopic amount of progress.Apple Bottom wrote:You previously asked about what Life-like CAs simulate Margolus neighborhood CAs, and I suggested you tackle this problem yourself -- did you make any progress on that?
If so, you could simply compare the lists of Life-like CAs simulating Margolus neighborhood CAs and self-complementary Life-like CAs respectively, and see if any rulestrings appear on both lists.
It is straightforward to show that this is impossible. In order to for a pattern to remain composed of 2x2 blocks, the B3i/S5i and B4w/S4q transition pairs must each be either both present or both absent. Since each is also a pair of inverse transitions, this contradicts the fact that, in a self-inverse rule, exactly one of every inverse-transition pair must be present.muzik wrote:Are there any outer-totalistic rules which are both self-inverse and simulate a Margolus block cellular automaton using 2x2 blocks?
Code: Select all
x = 37, y = 20, rule = B/S012345678
2b2o2b10o5b2o2b2o$2b2o2b10o5b2o2b2o$2b2o4b2o4b2o5b2o2b4o2b4o$2b2o4b2o
4b2o5b2o2b4o2b4o$2o2b2o2b2o13b2o2b2o2b6o$2o2b2o2b2o13b2o2b2o2b6o$2o4b
2o2b4o9b4o2b2o4b2o$2o4b2o2b4o9b4o2b2o4b2o$2b6o2b2o2b2o5b2o6b2o2b2o$2b
6o2b2o2b2o5b2o6b2o2b2o$4b2o2b2o2b4o5b4o2b2o2b2o$4b2o2b2o2b4o5b4o2b2o2b
2o$4o2b4o2b4o9b2o4b2o$4o2b4o2b4o9b2o4b2o$2o2b2o6b4o7b2o2b6o$2o2b2o6b4o
7b2o2b6o$2o4b8o9b4o8b2o$2o4b8o9b4o8b2o$2b4o4b2o2b2o5b2o4b4o2b2o$2b4o4b
2o2b2o5b2o4b4o2b2o!