### Re: Thread for basic non-CGOL questions

Posted:

**December 22nd, 2017, 8:27 am**I don't know, but it

*is*simulating a Margolus neighbourhood as 2x2 and similar rules would do.Forums for Conway's Game of Life

https://conwaylife.com/forums/

Page **6** of **10**

Posted: **December 22nd, 2017, 8:27 am**

I don't know, but it *is* simulating a Margolus neighbourhood as 2x2 and similar rules would do.

Posted: **December 22nd, 2017, 8:55 am**

No. It has no stator, so the rotor isn't inside anything.lifeisawesome wrote:Is this a billiard table?Code: Select all

`x = 9, y = 9, rule = B2ei3e/S bobobobo$o7bo2$o7bo2$o7bo2$o7bo$bobobobo!`

Posted: **December 25th, 2017, 6:44 am**

Is this a known fuse?

Code: Select all

```
x = 47, y = 3, rule = B36/S23
b2o$o2bob2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o$b2o2b2o2b2o2b2o2b
2o2b2o2b2o2b2o2b2o2b2o2b2o2b2o!
```

Posted: **January 2nd, 2018, 9:44 am**

Is it possible to create a counterexample to the no-spaceships-with-S0123 rule by utilizing 4a, similar to this?

Code: Select all

```
x = 6, y = 4, rule = B2ce3-an4a5a/S01e234rt6ac7c8
bo2bo$6o$b4o$2b2o!
```

Posted: **January 2nd, 2018, 11:17 am**

Are there any rules where the maximum speed is irrational?

Posted: **January 2nd, 2018, 11:21 am**

I don't have a formal proof but in essence certainly not for finite patterns, because that would imply some kind of non-specific infinite-distance interaction that should somehow converge to no rational number. I've got no clue as to how to prove this though.muzik wrote:Are there any rules where the maximum speed is irrational?

Posted: **January 2nd, 2018, 12:05 pm**

Yes:BlinkerSpawn wrote:Is it possible to create a counterexample to the no-spaceships-with-S0123 rule by utilizing 4a, similar to this?Code: Select all

`x = 6, y = 4, rule = B2ce3-an4a5a/S01e234rt6ac7c8 bo2bo$6o$b4o$2b2o!`

Code: Select all

```
x = 6, y = 4, rule = B2e3ij4n5n6k/S01235i6a7c
b4o$ob2obo$2b2o$2b2o!
```

Posted: **January 2nd, 2018, 12:29 pm**

Could there perhaps be a family of finite ships whose speeds got closer and closer to an irrational speed limit, with none of them able to achieve it?Rhombic wrote:I don't have a formal proof but in essence certainly not for finite patterns, because that would imply some kind of non-specific infinite-distance interaction that should somehow converge to no rational number. I've got no clue as to how to prove this though.muzik wrote:Are there any rules where the maximum speed is irrational?

Posted: **January 2nd, 2018, 1:09 pm**

On the same kind of thinking, what is the lowest max speed for orthogonal ships, that is not 0c? The max for JustFriends is C/3, I believe.

Posted: **January 2nd, 2018, 1:26 pm**

No. In fact, there are no bounded interactions in finite-state cellular automata with an irrational speed.muzik wrote:Are there any rules where the maximum speed is irrational?

(I'm assuming generations are indivisible.)

Here's a(n incomplete) proof:

By the definition of a cellular automaton, the automaton has an indivisible cell, the unit cell.

This fact, combined with the requirements that the interaction be bounded and have a finite number of states, means that there are finitely many patterns that can occur in the interaction.

The maximum amount of generations possible for the interaction to occur and still move is the number of patterns that can occur in the interaction, since any more generations would either lead to an oscillator (if it returned to the initial position without moving) or have a larger bounding box.

By the definition of speed in a cellular automaton, speed is the ratio of the distance (in unit cells) an interaction has moved to the number of generations taken to move that distance.

Since the interaction is finite, the distance moved is also finite.

Because the unit cells and generations are indivisible, partial unit cells and generations cannot exist. Thus, they must be counted with integers.

Since the distance and number of generations are both finite integers (as shown previously), the speed is always rational, by the definition of rational. Thus, a speed cannot be "not rational," or irrational.

Posted: **January 2nd, 2018, 1:41 pm**

Ah, I hadn't thought of that approach; I'll edit the wiki accordingly.AbhpzTa wrote:Yes:BlinkerSpawn wrote:Is it possible to create a counterexample to the no-spaceships-with-S0123 rule by utilizing 4a, similar to this?Code: Select all

`x = 6, y = 4, rule = B2ce3-an4a5a/S01e234rt6ac7c8 bo2bo$6o$b4o$2b2o!`

Code: Select all

`x = 6, y = 4, rule = B2e3ij4n5n6k/S01235i6a7c b4o$ob2obo$2b2o$2b2o!`

Posted: **January 2nd, 2018, 1:53 pm**

But if you replace "maximum speed" with "speed limit" -- I'm assuming that's what muzik meant -- your proof doesn't work. Since the rational numbers are dense in the reals, it's mathematically possible that rational speeds could exist arbitrarily close to some irrational limit but not above it.Gamedziner wrote:No. In fact, there are no bounded interactions in finite-state cellular automata with an irrational speed.muzik wrote:Are there any rules where the maximum speed is irrational?

Posted: **January 28th, 2018, 3:23 pm**

Can somebody tell me the growth rate of this pattern?

Code: Select all

```
x = 17, y = 6, rule = B3ain/S2a4-ceitw56-n7
15bo$bobob2ob2ob2ob3o$6ob9o$5ob2o3b2ob3o$bo3b2obo6bo$4bo!
```

Posted: **January 28th, 2018, 3:31 pm**

Pretty sure it's still technically linear

Posted: **January 28th, 2018, 5:24 pm**

Yeah, it's irregular, but overall linear:

Code: Select all

```
x = 552, y = 536, rule = B3/S23
261b3o2bo6b3o2b4o2b4o3b3o3b3o2b4o2b4o$260bo3bobo7bo3bo3bobo3bobo3bobo
3bobo3bobo3bo$260bo5bo7bo3bo3bobo3bobo3bobo3bobo3bobo3bo$260bo5bo7bo3b
4o2b4o2bo3bob5ob4o2bo3bo$260bo5bo7bo3bo5bo3bobo3bobo3bobo2bo2bo3bo$
260bo3bobo7bo3bo5bo3bobo3bobo3bobo3bobo3bo$261b3o2b5o2b3o2bo5b4o3b3o2b
o3bobo3bob4o8$bo4b3o4bo4b3o2b5o$2o3bo3bo2b2o3bo3bobo$bo7bo3bo3bo3bobo$
bo6bo4bo4b3o3b3o10bo$bo5bo5bo3bo3bo5bo9bo401bo$bo4bo6bo3bo3bobo3bo9bo
400b5o$3o2b5o2b3o3b3o3b3o10bo400b6o$37bo399b2ob4o$37bo399b2o4bo$37bo
398b2o5b2o$37bo394b2ob3o6bo$37bo394b2ob2o7b2o$37bo394b4o9bo$37bo394b3o
10bo$37bo394bo12bo$37bo393b2o12bo$37bo393bo13bo$37bo393bo13b2o$37bo
393bo14bo$37bo393bo14bo$37bo392b2o14bo$37bo392bo15bo$37bo392bo15bo$37b
o391b2o15bo$37bo391bo16bo$37bo391bo16bo$37bo390b2o16bo$37bo390b2o16bo$
37bo390bo17b2o$37bo390bo18bo$37bo390bo18bo$37bo389bo19bo$37bo388b2o19b
o$37bo388b2o19bo$37bo388bo20bo$37bo388bo20b2o$37bo387b2o21bo$37bo387bo
22bo$37bo387bo22bo$37bo386b2o22bo$37bo386bo23bo$37bo386bo23bo$37bo385b
2o23b2o$37bo382bo2b2o24bo85b3o$37bo381b2ob2o25bo85b2o$37bo381b5o25bo
84b2o$37bo381b4o26bo84bo$37bo381bobo27b2o83bo$37bo380b2o30bo82b2o$37bo
380bo31bo82b2o$37bo380bo31bo82bo$37bo380bo31bo82bo$37bo379b2o31bo81b2o
$37bo379bo32b2o80bo$37bo379bo33bo80bo$37bo378b2o33bo79b2o$37bo378bo34b
o79bo$37bo378bo34b2o78bo$37bo378bo35bo77b2o$37bo377b2o35bo77bo$37bo
377bo36bo77bo$37bo377bo36bo76b2o$37bo377bo36b2o74b2o$37bo376b2o36b2o
74bo$37bo376bo38bo74bo$37bo375b2o38bo73b2o$37bo375bo39b2o72b2o$37bo
375bo39b2o72bo$37bo374b2o40bo67bo4bo$37bo374bo41b2o66bo3b2o$37bo374bo
42bo65b3o2bo$37bo374bo42bo65bob4o$37bo373b2o42b2o64bob3o$37bo373bo44bo
64bo2bo$37bo373bo44bo63b2o$37bo372b2o44b2o62bo$37bo372bo46b2o61bo$37bo
372bo46b2o60b2o$37bo371b2o47bo60bo$37bo371bo48bo60bo$37bo371bo48bo59b
2o$37bo369b3o48b2o58bo$37bo368b4o49bo58bo$37bo368b2o51bo57b2o$37bo368b
o52bo57bo$37bo368bo52bo56b2o$37bo367b2o52bo56b2o$37bo367bo53b2o54b2o$
37bo367bo54b2o53b2o$37bo366b2o55b2o52bo$37bo366b2o55b2o51b2o$37bo366bo
57b3o49bo$37bo366bo58b3o48bo$37bo365b2o59b2o47b2o$37bo356bo8bo61bo47b
2o$37bo355b2o8bo61b3o45bo$37bo355b2o7b2o62b3o43b2o$37bo355b3o6bo64b4o
24b2o15bo$37bo354b2obo5b2o65b4o23b3o13b2o$37bo354bo2bo4b3o66bobo22b4o
11b3o$37bo354bo2b2o3b2o69bo21b2o2bo11b3o$37bo354bo2b3ob2o70bo21b2o2bo
10b3o$37bo353b2o3b4o71bo20b2o3bo10bo$37bo353b2o4b3o71b2o17b3o4bo10bo$
37bo353bo80bo16b4o4bo10bo$37bo352b2o80bo10b2o4bobo5b2o8b2o$37bo352bo
81bo10b2o3b2o8bo8bo$37bo352bo81bo9b3ob3o9bo7b2o$37bo352bo81b2o7b7o10bo
7bo$37bo351b2o81b2o3bo2b3o2b2o11b2o5b2o$37bo351bo83bo3b5o16b2o5bo$37bo
351bo83b2ob4o19bo5bo$37bo351bo84b3ob2o19b2o2b3o$37bo350b2o85bo24bob3o$
37bo349b2o111b5o$37bo349b2o111b3o$37bo349bo$37bo349bo$37bo348b2o$37bo
348b2o$37bo348bo$37bo348bo$37bo347b2o$37bo347bo$37bo347bo$37bo346b2o$
37bo346bo$37bo346bo$37bo345b2o$37bo343bobo$37bo343b3o$37bo343b3o$37bo
343bo$37bo342b2o$37bo342bo$37bo342bo$37bo342bo$37bo341bo$37bo341bo$37b
o341bo$37bo340b2o$37bo340bo$37bo340bo$37bo339b2o$37bo339bo$37bo339bo$
37bo338b2o$37bo338bo$37bo337b2o$37bo337b2o$37bo336b2o$37bo336bo$37bo
336bo$37bo335b2o$37bo335bo$37bo330b2o3bo$37bo330b2o2b2o$37bo330b2ob2o$
37bo329b6o$37bo329bo2b2o$37bo329bo$37bo329bo$37bo328b2o$37bo328bo$37bo
328bo$37bo327bo$37bo327bo$37bo304bo22bo$37bo303b3o20b2o$37bo303b3o20bo
$37bo303bobo20bo$37bo302b2obo19b2o$37bo302bo2bo18b2o$37bo301b2o2bo18b
2o$37bo301bo3b2o17bo$37bo301bo4bo16b2o$37bo301bo4bo16bo$37bo300b2o4bo
16bo$37bo300bo5bo16bo$37bo300bo5b2o14bo$37bo299b2o6bo14bo$37bo299bo7bo
13b2o$37bo298b2o7b2o12bo$37bo298bo9bo8b2ob2o$37bo298bo9bo8b2obo$37bo
298bo9b2o7b2obo$37bo297b2o10b3o3b6o$37bo297bo11b3o2b3o2bo$37bo297bo12b
6o$37bo297bo14b2o$37bo296bo15b2o$37bo296bo$37bo296bo$37bo295bo$37bo
295bo$37bo295bo$37bo294b2o$37bo292bobo$37bo292b3o$37bo292b3o$37bo291b
2o$37bo291bo$37bo291bo$37bo291bo$37bo290b2o$37bo290bo$37bo290bo$37bo
289b2o$37bo289bo$37bo289bo$37bo288b2o$37bo288bo$37bo288bo$37bo287b2o$
37bo287bo$37bo287bo$37bo286b2o$37bo286bo$37bo285b2o$37bo285bo$37bo285b
o$37bo284b2o$37bo284bo$37bo279b2o3bo$20b7o10bo279b2o2b2o$23bo13bo278b
3ob2o$22bo14bo278bob4o$21bo15bo278bob3o$20b7o10bo278bo$37bo278bo$21b5o
11bo277bo$20bo5bo10bo277bo$20bo5bo10bo276b2o$20bo5bo10bo276bo$21b5o11b
o276bo$37bo275b2o$37bo275bo$20bo5bo10bo275bo$20b7o10bo275bo$20bo5bo10b
o274b2o$37bo273b2o$37bo273b2o$20bo16bo272b2o$20bo16bo272b2o$20b7o10bo
272bo$20bo16bo272bo$20bo16bo271b2o$37bo271bo$21b6o10bo270b2o$20bo2bo
13bo270b2o$20bo2bo13bo270bo$20bo2bo13bo269b2o$21b6o10bo269bo$37bo267bo
bo$26bo10bo266b4o$26bo10bo200bo65b3o$26bo10bo199b3o64bo$26bo10bo198b5o
62bo$20b7o10bo196b3o3bo62bo$37bo196b3o3bo50bo11bo$20b6o11bo196b2o4b2o
49b2o9b2o$26bo10bo196bo6bo48b3o9bo$26bo10bo195b2o6bo48b3o8b2o$26bo10bo
195bo7bo48bobo8bo$20b6o11bo195bo7bo47b2ob2o6b2o$37bo195bo7bo47bo3bo6b
2o$21b2o14bo194bo8bo47bo3bo6bo$20bo2bo13bo194bo8bo46b2o3b2o3b3o$20bo2b
o13bo194bo8b2o45b2o3b2o2b4o$20bo2bo13bo193b2o9bo45bo5b6o$20b7o10bo193b
o10bo45bo6b3o$37bo193bo10bo44b2o$21b5o11bo192b2o10bo44bo$20bo5bo10bo
192bo11bo44bo$20bo5bo10bo192bo11bo43b2o$20bo5bo10bo190b3o11bo42b2o$21b
5o11bo189b3o12b2o41b2o$37bo189b3o13bo41bo$21b2o14bo189bo15bo40b2o$20bo
2bo13bo189bo15bo40bo$20bo2bo13bo188b2o15bo40bo$20bo2bo13bo188bo17bo38b
2o$20b7o10bo188bo17bo38bo$37bo188bo17bo38bo$37bo187b2o17bo37b2o$37bo
187bo18b2o36bo$37bo186b2o19bo35b2o$37bo186bo20bo33bobo$37bo186bo20b2o
32b3o$37bo186bo20b2o31b4o$37bo185bo22bo31bo$37bo185bo22b2o30bo$37bo
185bo23bo29b2o$37bo183b3o23bo29bo$37bo183b2o24bo29bo$37bo183bo25b2o27b
2o$37bo183bo26bo27bo$37bo182b2o26b2o25b2o$37bo182bo27b3o24bo$37bo182bo
28b2o24bo$37bo177bo4bo29b2o22b2o$37bo176b2o3bo30b4o11b2o7bo$37bo176b3o
b2o32b2o11b2o6b2o$37bo176b6o33bo11b2o5b3o$37bo176bob3o34b2o8b5o4bo$37b
o175b2obo37bo7b3o2bo4bo$37bo175bo40bo4b5o3bo3b2o$37bo175bo40bo3b5o4bo
3bo$37bo174b2o40b5o2bo5bo2b2o$37bo174b2o41b3o9b5o$37bo174bo55b3o$37bo
174bo$37bo173b2o$37bo173bo$37bo172b2o$37bo172b2o$37bo172bo$37bo172bo$
37bo171b2o$37bo170b2o$37bo170bo$37bo170bo$37bo169b2o$37bo169bo$37bo
169bo$37bo168b2o$37bo168bo$37bo168bo$37bo167bo$37bo167bo$37bo166b2o$
37bo164b3o$37bo163b4o$37bo163bo$37bo163bo$37bo163bo$37bo162b2o$37bo
150b2o10bo$37bo150b3o9bo$37bo150b3o8b2o$37bo150bobo8bo$37bo149b2obo7b
2o$37bo149bo2bo7bo$37bo148b2o2bo7bo$37bo148b2o3bo4b3o$37bo148bo4b2o2b
3o$37bo148bo4b2ob4o$37bo147bo6b4o$37bo147bo7b2o$37bo147bo$37bo146b2o$
37bo146bo$37bo145b2o$37bo145b2o$37bo144b2o$37bo144bo$37bo144bo$37bo
143b2o$37bo143bo$37bo143bo$37bo142b2o$37bo142b2o$37bo141b2o$37bo141b2o
$37bo139bobo$37bo138b4o$37bo138b3o$37bo138b3o$37bo137b2o$37bo137bo$37b
o137bo$37bo137bo$37bo136b2o$37bo135b2o$37bo135b2o$37bo135bo$37bo134b2o
$37bo134bo$37bo134bo$37bo132b3o$37bo99b2o31b2o$37bo98b3o31bo$37bo97b4o
30b2o$37bo97b2obo24b2o4bo$37bo96b2o2bo24b2o4bo$37bo96bo3bo24b2o3bo$37b
o96bo4bo22b4ob2o$37bo96bo4bo22bo2b4o$37bo95b2o4bo22bo2b3o$37bo95bo5bo
21b2o$37bo94b2o5bo21bo$37bo94b2o5bo20b2o$37bo93b2o6b2o19bo$37bo93bo8bo
19bo$37bo93bo8bo18b2o$37bo92b2o8bo18bo$37bo92bo9b2o16b2o$37bo92bo10bo
15b3o$37bo91b2o10bo15b2o$37bo91bo11b2o13b2o$37bo90b2o11b2o13bo$37bo90b
2o12bo13bo$37bo90bo13b3o10b2o$37bo87bob2o14b3o9bo$37bo87b3o15b3o4b2o2b
2o$37bo87b3o17bo2b4o2bo$37bo86b2o19b10o$37bo86bo20b4o3b2o$37bo86bo27b
2o$37bo86bo$37bo85bo$37bo85bo$37bo84b2o$37bo84bo$37bo83b2o$37bo83bo$
37bo83bo$37bo82b2o$37bo81b2o$37bo81b2o$37bo80b2o$37bo75bo4bo$37bo74b2o
3b2o$37bo74b2o3b2o$37bo73b3o3bo$37bo73bob5o$37bo73bo2b3o$37bo72b2o2b2o
$37bo72bo$37bo72bo$37bo71bo$37bo71bo$37bo70b2o$37bo70bo$37bo70bo$37bo
68b3o$37bo68b2o$37bo67b2o$37bo67bo$37bo67bo$37bo67bo$37bo66bo$37bo65b
2o$37bo48b2o15bo$37bo48b2o12bob2o$37bo47b3o11b2obo$37bo47bobo11b4o$37b
o46b2obo11bobo$37bo46bo3bo9b2o$37bo46bo3bo9bo$37bo45b2o3bo8b2o$37bo45b
o4bo7b2o$37bo44b2o4b2o6b2o$37bo44b2o5b2o5bo$37bo44bo6b2o2bob2o$37bo42b
3o7b6o$37bo42b2o8b6o$37bo42bo13bo$37bo41b2o$37bo41bo$37bo41bo$37bo40b
2o$37bo39b2o$37bo36bo2bo$37bo36bob2o$37bo35b4o$37bo35bob2o$37bo35bo$
37bo34b2o$37bo34bo$37bo33b2o$37bo33bo$37bo32b2o$37bo32bo$37bo23bo7b2o$
37bo22b3o5b2o$37bo22b3o4b3o$37bo22bobo4bo$37bo22bobo3b2o$37bo21bo2b3ob
o$37bo20b2o3b4o$37bo20bo5b2o$37bo19b2o$37bo19bo$37bo18b2o$37bo17b2o$
37bo16b3o$37bo16bo$37bo15b2o$37bo15bo$37bo10b2o2b2o$37bo10b2ob2o$37bo
9b5o$37bo9bo2bo$37bo8b2o$37bo7b2o$37bo6b2o$37bo4bob2o$37bo3b4o$17b3o3b
3o11bo3bobo$16bo3bobo3bo10bo2b2o$20bobo3bo10bob2o$18b2o3b4o10b3o$20bo
5bo10b501o$16bo3bo5bo$17b3o3b3o8$35b3o185b3o2b5obo3bob5ob4o3b3o2b5o2b
3o3b3o2bo3bo10bo34bo4b3o4bo4b3o3bo175bo4b3o3b3o3b3o3b3o$34bo3bo183bo3b
obo5b2o2bobo5bo3bobo3bo3bo5bo3bo3bob2o2bo9bo11bo22b2o3bo3bo2bobo2bo3bo
3bo173b2o3bo3bobo3bobo3bobo3bo$34bo2b2o183bo5bo5bobobobo5bo3bobo3bo3bo
5bo3bo3bobobobo9bo4b4ob5o2b3o2b4o2b5o3bo3bo2b2obo3bobo2b2o3bo174bo3bo
2b2obo2b2obo2b2obo2b2o$34bobobo183bo2b2ob3o3bo2b2ob3o3b4o2b5o3bo5bo3bo
3bobo2b2o9bo3bo7bo3bo3bobo3bo9bo3bobobo7bobobo3bo174bo3bobobobobobobob
obobobobo$34b2o2bo183bo3bobo5bo3bobo5bo2bo2bo3bo3bo5bo3bo3bobo3bo9bo4b
3o4bo3b5obo3bob5o3bo3b2o2bo7b2o2bo3bo174bo3b2o2bob2o2bob2o2bob2o2bo$
34bo3bo183bo3bobo5bo3bobo5bo3bobo3bo3bo5bo3bo3bobo3bo9bo7bo3bo3bo5bo3b
o9bo3bo3bo7bo3bo3bo174bo3bo3bobo3bobo3bobo3bo$35b3o185b3o2b5obo3bob5ob
o3bobo3bo3bo4b3o3b3o2bo3bo10bo2b4o5b2o2b4ob4o9b3o3b3o9b3o3bo174b3o3b3o
3b3o3b3o3b3o$312bo$312bo!
```

Posted: **January 28th, 2018, 11:46 pm**

Actually, starting at generation 180536 it periodically produces growing spaceships that extend to the side (down) at period 163840, so the asymptotic growth rate is quadratic.

Posted: **March 16th, 2018, 4:41 am**

Does there exist, in B45678/S2345, a "full" oscillator in which the casing is a diamond?

This is an example of a "full" oscillator of period 97
As you can see, full oscillators tend to have higher periods and use all space given for the rotor.

But when I change the casing to a diamond shape, randomness inside just degrades into

a) a vacuum

b) a still life

c) non-full oscillators

example of degradation into an oscillator, still life, and vacuum
Actually I have found one, but it has a small period of 10 and this is the only one I have found. Are there more of larger periods?

This is an example of a "full" oscillator of period 97

Code: Select all

```
x = 8, y = 8, rule = B45678/S2345
8o$o2b2o2bo$ob4obo$obo2bobo$2o4b2o$obo2bobo$ob4obo$b6o!
```

But when I change the casing to a diamond shape, randomness inside just degrades into

a) a vacuum

b) a still life

c) non-full oscillators

example of degradation into an oscillator, still life, and vacuum

Code: Select all

```
x = 29, y = 19, rule = B45678/S2345
7bo16bo$6bobo14bobo$5bo3bo12bo3bo$4bo5bo10bob2o2bo$3b3ob5o8bo3b2o2bo$
2bo2bob4obo8bo2b2obo$bo2bob2obo3bo8bo3bo$o3b2o2bobo3bo8bobo$bo3b2obo4b
o10bo$2bo2bob4obo$3bob2o2b3o12bo$4bo5bo12bobo$5bo3bo12bo3bo$6bobo12bob
2o2bo$7bo12bo2bo4bo$21bob3obo$22bo3bo$23bobo$24bo!
```

Code: Select all

```
x = 9, y = 9, rule = B45678/S2345
4bo$3bobo$2bo3bo$bo5bo$2o6bo$b3o3bo$2b2o2bo$3b3o$4bo!
```

Posted: **June 29th, 2018, 3:13 pm**

Do there exist any programs that can simulate any desired one-dimensional rules with a range higher than 1?

Posted: **June 29th, 2018, 3:30 pm**

You can use Wolfram Alpha to simulate a lot of those rules if you want to simulate what happens with one starting cell. Or do you need something else?muzik wrote:Do there exist any programs that can simulate any desired one-dimensional rules with a range higher than 1?

Posted: **June 29th, 2018, 3:37 pm**

The ability to specify more starting conditions.

Posted: **June 29th, 2018, 8:58 pm**

You can try MCell, it's pretty good, although it's limited to a boinded grid.muzik wrote:Do there exist any programs that can simulate any desired one-dimensional rules with a range higher than 1?

Posted: **June 30th, 2018, 12:23 am**

There should be made a script that converts one into a 8 state golly rule

Posted: **June 30th, 2018, 7:56 pm**

What rule does the edge of this simulate?:

Code: Select all

```
x = 1, y = 3, rule = B2-ek/S
o2$o!
```

Posted: **July 3rd, 2018, 2:13 pm**

This sort of fits the description of this thread. Would anyone like a new version of the Glider Database, but for Isotropic Non-Totalistic rules? This script, which is a modified version of isotropic-rule-gen.py, which takes a rule as input, and outputs programmed in ships as output if they are viable in that rule. It runs with Golly, and so inputting a rule automatically places known ships on the grid. Currently only the Glider and LWSS are programmed in.
The code is very unoptimized, but it works. You input new spaceships by putting the RLE in a string in the top list, and the string corresponding to the rule in the bottom. The bottom rule string is what you get when you take each transition in the order below, and for each transition, put a 0 if it is not allowed, a 1 if it is required, or a 2 if it does not matter.
I will work on a script to make additions a bit easier if anyone is interested.

Code: Select all

```
# Glider_Database.py, run with Golly.
import golly as g
import os
import sys
g.new("")
class RuleGenerator:
notationdict = {
"0" : [0,0,0,0,0,0,0,0], #
"1e" : [1,0,0,0,0,0,0,0], # N
"1c" : [0,1,0,0,0,0,0,0], # NE
"2a" : [1,1,0,0,0,0,0,0], # N, NE
"2e" : [1,0,1,0,0,0,0,0], # N, E
"2k" : [1,0,0,1,0,0,0,0], # N, SE
"2i" : [1,0,0,0,1,0,0,0], # N, S
"2c" : [0,1,0,1,0,0,0,0], # NE, SE
"2n" : [0,1,0,0,0,1,0,0], # NE, SW
"3a" : [1,1,1,0,0,0,0,0], # N, NE, E
"3n" : [1,1,0,1,0,0,0,0], # N, NE, SE
"3r" : [1,1,0,0,1,0,0,0], # N, NE, S
"3q" : [1,1,0,0,0,1,0,0], # N, NE, SW
"3j" : [1,1,0,0,0,0,1,0], # N, NE, W
"3i" : [1,1,0,0,0,0,0,1], # N, NE, NW
"3e" : [1,0,1,0,1,0,0,0], # N, E, S
"3k" : [1,0,1,0,0,1,0,0], # N, E, SW
"3y" : [1,0,0,1,0,1,0,0], # N, SE, SW
"3c" : [0,1,0,1,0,1,0,0], # NE, SE, SW
"4a" : [1,1,1,1,0,0,0,0], # N, NE, E, SE
"4r" : [1,1,1,0,1,0,0,0], # N, NE, E, S
"4q" : [1,1,1,0,0,1,0,0], # N, NE, E, SW
"4i" : [1,1,0,1,1,0,0,0], # N, NE, SE, S
"4y" : [1,1,0,1,0,1,0,0], # N, NE, SE, SW
"4k" : [1,1,0,1,0,0,1,0], # N, NE, SE, W
"4n" : [1,1,0,1,0,0,0,1], # N, NE, SE, NW
"4z" : [1,1,0,0,1,1,0,0], # N, NE, S, SW
"4j" : [1,1,0,0,1,0,1,0], # N, NE, S, W
"4t" : [1,1,0,0,1,0,0,1], # N, NE, S, NW
"4w" : [1,1,0,0,0,1,1,0], # N, NE, SW, W
"4e" : [1,0,1,0,1,0,1,0], # N, E, S, W
"4c" : [0,1,0,1,0,1,0,1], # NE, SE, SW, NW
"5i" : [1,1,1,1,1,0,0,0], # N, NE, E, SE, S
"5j" : [1,1,1,1,0,1,0,0], # N, NE, E, SE, SW
"5n" : [1,1,1,1,0,0,1,0], # N, NE, E, SE, W
"5a" : [1,1,1,1,0,0,0,1], # N, NE, E, SE, NW
"5q" : [1,1,1,0,1,1,0,0], # N, NE, E, S, SW
"5c" : [1,1,1,0,1,0,1,0], # N, NE, E, S, W
"5r" : [1,1,0,1,1,1,0,0], # N, NE, SE, S, SW
"5y" : [1,1,0,1,1,0,1,0], # N, NE, SE, S, W
"5k" : [1,1,0,1,0,1,1,0], # N, NE, SE, SW, W
"5e" : [1,1,0,1,0,1,0,1], # N, NE, SE, SW, NW
"6a" : [1,1,1,1,1,1,0,0], # N, NE, E, SE, S, SW
"6c" : [1,1,1,1,1,0,1,0], # N, NE, E, SE, S, W
"6k" : [1,1,1,1,0,1,1,0], # N, NE, E, SE, SW, W
"6e" : [1,1,1,1,0,1,0,1], # N, NE, E, SE, SW, NW
"6n" : [1,1,1,0,1,1,1,0], # N, NE, E, S, SW, W
"6i" : [1,1,0,1,1,1,0,1], # N, NE, SE, S, SW, NW
"7c" : [1,1,1,1,1,1,1,0], # N, NE, E, SE, S, SW, W
"7e" : [1,1,1,1,1,1,0,1], # N, NE, E, SE, S, SW, NW
"8" : [1,1,1,1,1,1,1,1], # N, NE, E, SE, S, SW, W, NW
}
allneighbours = [
["0"],
["1e", "1c"],
["2a", "2e", "2k", "2i", "2c", "2n"],
["3a", "3n", "3r", "3q", "3j", "3i", "3e", "3k", "3y", "3c"],
["4a", "4r", "4q", "4i", "4y", "4k", "4n", "4z", "4j", "4t", "4w", "4e", "4c"],
["5i", "5j", "5n", "5a", "5q", "5c", "5r", "5y", "5k", "5e"],
["6a", "6c", "6k", "6e", "6n", "6i"],
["7c", "7e"],
["8"],
]
allneighbours_flat = [n for x in allneighbours for n in x]
numneighbours = len(notationdict)
# Use dict to store rule elements, initialised by setrule():
bee = {}
ess = {}
alphanumeric = ""
rulename = ""
# Save the isotropic rule
def saveAllRules(self):
self.saveIsotropicRule()
# Interpret birth or survival string
def ruleparts(self, part):
inverse = False
nlist = []
totalistic = True
rule = { k: False for k, v in self.notationdict.iteritems() }
# Reverse the rule string to simplify processing
part = part[::-1]
for c in part:
if c.isdigit():
d = int(c)
if totalistic:
# Add all the neighbourhoods for this value
for neighbour in self.allneighbours[d]:
rule[neighbour] = True
elif inverse:
# Add all the neighbourhoods not in nlist for this value
for neighbour in self.allneighbours[d]:
if neighbour[1] not in nlist:
rule[neighbour] = True
else:
# Add all the neighbourhoods in nlist for this value
for n in nlist:
neighbour = c + n
if neighbour in rule:
rule[neighbour] = True
else:
# Error
return {}
inverse = False
nlist = []
totalistic = True
elif (c == '-'):
inverse = True
else:
totalistic = False
nlist.append(c)
return rule
# Set isotropic, non-totalistic rule
# Adapted from Eric Goldstein's HenselNotation->Ruletable(1.3).py
def setrule(self, rulestring):
# neighbours_flat = [n for x in neighbours for n in x]
b = {}
s = {}
sep = ''
birth = ''
survive = ''
rulestring = rulestring.lower()
if '/' in rulestring:
sep = '/'
elif '_' in rulestring:
sep = '_'
elif (rulestring[0] == 'b'):
sep = 's'
else:
sep = 'b'
survive, birth = rulestring.split(sep)
if (survive[0] == 'b'):
survive, birth = birth, survive
survive = survive.replace('s', '')
birth = birth.replace('b', '')
b = self.ruleparts(birth)
s = self.ruleparts(survive)
if b and s:
self.alphanumeric = 'B' + birth + 'S' + survive
self.rulename = 'B' + birth + '_S' + survive
self.bee = b
self.ess = s
else:
# Error
g.note("Unable to process rule definition.\n" +
"b = " + str(b) + "\ns = " + str(s))
g.exit()
# Save a rule file:
def saverule(self, name, comments, table, colours):
ruledir = g.getdir("rules")
filename = ruledir + name + ".rule"
global results
results = ""
results += table
# Only create a rule file if it doesn't already exist; this avoids
# concurrency issues when booting an instance of apgsearch whilst
# one is already running.
# Defines a variable:
def newvar(self, name, vallist):
line = "var "+name+"={"
for i in xrange(len(vallist)):
if (i > 0):
line += ','
line += str(vallist[i])
line += "}\n"
return line
# Defines a block of equivalent variables:
def newvars(self, namelist, vallist):
block = "\n"
for name in namelist:
block += self.newvar(name, vallist)
return block
def scoline(self, chara, charb, left, right, amount):
line = str(left) + ","
for i in xrange(8):
if (i < amount):
line += chara
else:
line += charb
line += chr(97 + i)
line += ","
line += str(right) + "\n"
return line
def isotropicline(self, chara, charb, left, right, n):
line = str(left) + ","
neighbours = self.notationdict[n]
for i in xrange(8):
if neighbours[i]:
line += chara
else:
line += charb
line += chr(97 + i)
line += ","
line += str(right) + "\n"
return line
def saveIsotropicRule(self):
table = """"""
for n in self.allneighbours_flat:
if self.bee[n]:
table += "1"
else:
table += "0"
for n in self.allneighbours_flat:
if self.ess[n]:
table += "1"
else:
table += "0"
colours = ""
comments = ""
self.saverule(self.rulename, comments, table, colours)
rulestring = g.getstring("Enter rule string in Alan Hensel's isotropic rule notation",
"B2-a/S12")
rg = RuleGenerator()
rg.setrule(rulestring)
rg.saveIsotropicRule()
g.setrule(rulestring)
# g.show(results)
p=0
j=0
ships=["b2o$obo$2bo!", "b3o$o2bo$3bo$3bo$obo!"]
y=["000002202112211222220222222222222202222222222222222200112222211212222222222022222222222222222222222222", "000002002122211222222222222222222220222222222222022020211122111211222202222222220222022222022220202222"]
for z in range(len(y)):
p = 0
for x in range(len(results)):
if (results[x] == "1" and y[z][x] == "0") or (results[x] == "0" and y[z][x] == "1"):
# g.show(rg.rulename + "False")
p = 1
if p ==0:
# g.show(rg.rulename + "True")
g.setclipstr(ships[z])
g.paste(j,0,"or")
j+=30
```

Code: Select all

```
["0"],
["1e", "1c"],
["2a", "2e", "2k", "2i", "2c", "2n"],
["3a", "3n", "3r", "3q", "3j", "3i", "3e", "3k", "3y", "3c"],
["4a", "4r", "4q", "4i", "4y", "4k", "4n", "4z", "4j", "4t", "4w", "4e", "4c"],
["5i", "5j", "5n", "5a", "5q", "5c", "5r", "5y", "5k", "5e"],
["6a", "6c", "6k", "6e", "6n", "6i"],
["7c", "7e"],
["8"]
```

Posted: **July 4th, 2018, 1:16 am**

YASSSS