LeapLife (B2n3/S23-q)

For discussion of other cellular automata.
User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: LeapLife (B2n3/S23-q)

Post by bubblegum » August 25th, 2020, 12:43 am

yujh wrote:
August 25th, 2020, 12:12 am
bubblegum wrote:
August 24th, 2020, 11:16 pm
Hunting wrote:
August 24th, 2020, 11:14 pm
Where can I find ikpx2?
Here: https://gitlab.com/apgoucher/ikpx2
Most (if not all) of apgoucher's scripts are on GitLab.
Why can’t I run almost everything?(no Cygwin)[whick version of c should I use?]
When I type recompile.sh the file just jumped out with nothing else.
For the C version question, I'd suggest none of them because the C scripts are actually in C++. Just get the latest version of C++ if you don't have it already.
What do you mean "the file just jumped out"? Have you tried running ikpx2 after compiling?
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

User avatar
yujh
Posts: 3153
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: LeapLife (B2n3/S23-q)

Post by yujh » August 25th, 2020, 1:01 am

bubblegum wrote:
August 25th, 2020, 12:43 am
yujh wrote:
August 25th, 2020, 12:12 am
bubblegum wrote:
August 24th, 2020, 11:16 pm


Here: https://gitlab.com/apgoucher/ikpx2
Most (if not all) of apgoucher's scripts are on GitLab.
Why can’t I run almost everything?(no Cygwin)[whick version of c should I use?]
When I type recompile.sh the file just jumped out with nothing else.
For the C version question, I'd suggest none of them because the C scripts are actually in C++. Just get the latest version of C++ if you don't have it already.
What do you mean "the file just jumped out"? Have you tried running ikpx2 after compiling?
Typed that and recompile.sh is opened with notepad
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: LeapLife (B2n3/S23-q)

Post by bubblegum » August 25th, 2020, 1:03 am

yujh wrote:
August 25th, 2020, 1:01 am
bubblegum wrote:
August 25th, 2020, 12:43 am
yujh wrote:
August 25th, 2020, 12:12 am


Why can’t I run almost everything?(no Cygwin)[whick version of c should I use?]
When I type recompile.sh the file just jumped out with nothing else.
For the C version question, I'd suggest none of them because the C scripts are actually in C++. Just get the latest version of C++ if you don't have it already.
What do you mean "the file just jumped out"? Have you tried running ikpx2 after compiling?
Typed that and recompile.sh is opened with notepad
Odd, how are you running this exactly? What program? How are you running it? Run like this:

Code: Select all

cd ikpx2
./recompile.sh --rule (RULE)
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

User avatar
yujh
Posts: 3153
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: LeapLife (B2n3/S23-q)

Post by yujh » August 25th, 2020, 1:07 am

bubblegum wrote:
August 25th, 2020, 1:03 am
yujh wrote:
August 25th, 2020, 1:01 am
bubblegum wrote:
August 25th, 2020, 12:43 am


For the C version question, I'd suggest none of them because the C scripts are actually in C++. Just get the latest version of C++ if you don't have it already.
What do you mean "the file just jumped out"? Have you tried running ikpx2 after compiling?
Typed that and recompile.sh is opened with notepad
Odd, how are you running this exactly? What program? How are you running it? Run like this:

Code: Select all

cd ikpx2
./recompile.sh --rule (RULE)
Windows.10
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: LeapLife (B2n3/S23-q)

Post by bubblegum » August 25th, 2020, 1:12 am

yujh wrote:
August 25th, 2020, 1:07 am
bubblegum wrote:
August 25th, 2020, 1:03 am
yujh wrote:
August 25th, 2020, 1:01 am


Typed that and recompile.sh is opened with notepad
Odd, how are you running this exactly? What program? How are you running it? Run like this:

Code: Select all

cd ikpx2
./recompile.sh --rule (RULE)
Windows.10
WSL or what? Windows 10 is a program in the sense that a greenhouse is a window.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

User avatar
yujh
Posts: 3153
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: LeapLife (B2n3/S23-q)

Post by yujh » August 25th, 2020, 1:16 am

bubblegum wrote:
August 25th, 2020, 1:12 am
yujh wrote:
August 25th, 2020, 1:07 am
bubblegum wrote:
August 25th, 2020, 1:03 am


Odd, how are you running this exactly? What program? How are you running it? Run like this:

Code: Select all

cd ikpx2
./recompile.sh --rule (RULE)
Windows.10
WSL or what? Windows 10 is a program in the sense that a greenhouse is a window.
? Only windows 10.
I wrote

Code: Select all

recompile.sh
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: LeapLife (B2n3/S23-q)

Post by bubblegum » August 25th, 2020, 1:17 am

yujh wrote:
August 25th, 2020, 1:16 am
bubblegum wrote:
August 25th, 2020, 1:12 am
yujh wrote:
August 25th, 2020, 1:07 am


Windows.10
WSL or what? Windows 10 is a program in the sense that a greenhouse is a window.
? Only windows 10.
I wrote

Code: Select all

recompile.sh
You need the ./ at the beginning. EDIT: Listen can we take this to Discord please
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

User avatar
yujh
Posts: 3153
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: LeapLife (B2n3/S23-q)

Post by yujh » August 25th, 2020, 1:29 am

bubblegum wrote:
August 25th, 2020, 1:17 am
yujh wrote:
August 25th, 2020, 1:16 am
bubblegum wrote:
August 25th, 2020, 1:12 am


WSL or what? Windows 10 is a program in the sense that a greenhouse is a window.
? Only windows 10.
I wrote

Code: Select all

recompile.sh
You need the ./ at the beginning. EDIT: Listen can we take this to Discord please
CMD doesn’t recognize it.
Rule modifier

B34kz5e7c8/S23-a4ityz5k
b2n3-q5y6cn7s23-k4c8
B3-kq6cn8/S2-i3-a4ciyz8
B3-kq4z5e7c8/S2-ci3-a4ciq5ek6eik7

Bored of Conway's Game of Life? Try Pedestrian Life -- not pedestrian at all!

User avatar
bubblegum
Posts: 961
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: LeapLife (B2n3/S23-q)

Post by bubblegum » August 25th, 2020, 2:26 am

yujh wrote:
August 25th, 2020, 1:29 am
bubblegum wrote:
August 25th, 2020, 1:17 am
yujh wrote:
August 25th, 2020, 1:16 am


? Only windows 10.
I wrote

Code: Select all

recompile.sh
You need the ./ at the beginning. EDIT: Listen can we take this to Discord please
CMD doesn’t recognize it.
It's for a UNIX-based system. Not Windows command prompt.
Each day is a hidden opportunity, a frozen waterfall that's waiting to be realised, and one that I'll probably be ignoring
sonata wrote:
July 2nd, 2020, 8:33 pm
conwaylife signatures are amazing[citation needed]
anything

lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: LeapLife (B2n3/S23-q)

Post by lemon41625 » August 25th, 2020, 2:32 am

(2,1)c/6 Partial

Code: Select all

x = 15, y = 17, rule = B2n3/S23-q
3b2o$2b2obo$b2ob2o$3o2b2o$2bobobo$4bo$bob2ob2o$bo2bo2b2o$2b2ob2obo
$3b3o2bo$5bob4o$11bo$6b2o2bo$5bo6bo$5b2o6bo$5bo2b3o2bo$9b3ob2o!
yujh wrote:
August 25th, 2020, 1:29 am
bubblegum wrote:
August 25th, 2020, 1:17 am
yujh wrote:
August 25th, 2020, 1:16 am


? Only windows 10.
I wrote

Code: Select all

recompile.sh
You need the ./ at the beginning. EDIT: Listen can we take this to Discord please
CMD doesn’t recognize it.
You need to run it on Windows Subsystems for Linux not on the Windows CMD.

To install WSL, follow this tutorial https://ubuntu.com/wsl.

Install git with this command

Code: Select all

sudo apt install git
To install ikpx2, run

Code: Select all

git clone https://gitlab.com/apgoucher/ikpx2
.
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: LeapLife (B2n3/S23-q)

Post by Hunting » August 25th, 2020, 7:47 am

lemon41625 wrote:
August 25th, 2020, 2:32 am
whateverasdfasdf
https://conwaylife.com/forums/viewtopic ... 00#p102811

lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: LeapLife (B2n3/S23-q)

Post by lemon41625 » August 28th, 2020, 3:13 am

Tubstrecher found with MAGIC
Just kidding, I found it with ikpx2 and apgsearch

Code: Select all

x = 0, y = 0, rule = B2n3/S23-q
2o$obo$o$3bo$4bo$3bobo$4b3o$5b3o$9bo$7bo$9bobo2b2o$11bo2bobo$12bob
o$13bo$13bo$15bo$14b3o$15bobo$16bo2bo$19bo!
Also here are some glider tagalongs:
https://catagolue.appspot.com/census/b2 ... _stdin/xq4
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: LeapLife (B2n3/S23-q)

Post by Hunting » August 28th, 2020, 4:22 am

lemon41625 wrote:
August 28th, 2020, 3:13 am
Tubstrecher found with MAGIC
Just kidding, I found it with ikpx2 and apgsearch

Code: Select all

x = 0, y = 0, rule = B2n3/S23-q
2o$obo$o$3bo$4bo$3bobo$4b3o$5b3o$9bo$7bo$9bobo2b2o$11bo2bobo$12bob
o$13bo$13bo$15bo$14b3o$15bobo$16bo2bo$19bo!
Also here are some glider tagalongs:
https://catagolue.appspot.com/census/b2 ... _stdin/xq4
Wow. Just wow. (Also see my post under "Ikpx and grills".)

goldenratio
Posts: 295
Joined: July 26th, 2020, 10:39 pm
Location: Connecticut, USA

Re: LeapLife (B2n3/S23-q)

Post by goldenratio » September 4th, 2020, 6:26 pm

As much as I feel this rule is overrated, I still think I need to give an actual, non-troll contribution. So I ran a 6G search.

Results (search ongoing, will update if necessary, syntheses are 4G unless otherwise noted, apologies if these are known or are not improvements):
Quadpole (should be known):

Code: Select all

x = 29, y = 29, rule = B2n3/S23-q
obo$b2o$bo9$11bo$12bo$10b3o4$12bo$12b2o$11bobo7$27bo$26b2o$26bobo!
Boat-tub-long integral p3:

Code: Select all

x = 34, y = 25, rule = B2n3/S23-q
11bo$12bo$10b3o19bo$31bo$31b3o10$29b2o$28b2o$30bo6$2o$b2o$o!
This p4:

Code: Select all

x = 24, y = 24, rule = B2n3/S23-q
o$b2o$2o4bobo$7b2o$7bo13$15b3o$15bo$16bo2$22b2o$21b2o$23bo!
Another p4:

Code: Select all

x = 26, y = 17, rule = B2n3/S23-q
25bo$23b2o$24b2o2$2bo$3b2o$2b2o3$14bo$13b2o$13bobo3$8b3o$8bo$9bo!
5G mold:

Code: Select all

x = 31, y = 40, rule = B2n3/S23-q
2$21bobo$21b2o$22bo8$21bobo$21b2o$22bo5$24b2o$24bobo$24bo14$11b2o$2b2o
6bobo$bobo8bo$3bo!
5G nontrivial p42 (this can probably be done in 5G artificially anyway but this one is natural):

Code: Select all

x = 27, y = 35, rule = B2n3/S23-q
bobo$2b2o$2bo11$2bo$3bo$b3o5$11b2o$11bobo$11bo7$14bo$13b2o$13bobo$24b
3o$24bo$25bo!
Hope a HWSS synthesis is known, but if not:

Code: Select all

x = 26, y = 19, rule = B2n3/S23-q
10bo12bobo$11bo11b2o$9b3o12bo14$3o19bo$2bo18b2o$bo19bobo!
I might return someday. Don't count on it though.

User avatar
Ian07
Moderator
Posts: 899
Joined: September 22nd, 2018, 8:48 am
Location: Pennsylvania, US

Re: LeapLife (B2n3/S23-q)

Post by Ian07 » September 4th, 2020, 7:36 pm

goldenratio wrote:
September 4th, 2020, 6:26 pm
Results
Just curious, what's the method you're using to collect these? If you're not already doing something semi-automated, I'm using Lifelib inside a Jupyter notebook with this code:

Code: Select all

import lifelib
sess = lifelib.load_rules('b2n3s23-q')
lt = sess.lifetree()

Code: Select all

samples = lt.download_samples('b2n3s23-q','APGCODE HERE')

collisions = lt.pattern("")

def add_soups(symmetry, y, x=0):
    global collisions
    
    shift = x
    if symmetry in samples.keys():
        for sample in samples[symmetry]:
            collisions += sample.shift(shift, y)
            shift += 200 

add_soups('6G_stdin', 0)

collisions.viewer()
Just run the first code cell to compile, then in the second cell paste in the apgcode of an object, and it'll output a list of all the sample soups. If you do other censuses, just make sure to update the rule/symmetry names accordingly. You can also display multiple symmetries like this:

Code: Select all

add_soups('4G_stdin', 0)
add_soups('5G_stdin', 2000)
add_soups('6G_stdin', 4000)
I'd suggest waiting until you're done searching before doing this, however.
Wiki: http://www.conwaylife.com/wiki/User:Ian07
Discord: lan07 (yes, that's a lowercase L)

xs24_69bobjob96

mniemiec
Posts: 1590
Joined: June 1st, 2013, 12:00 am

Re: LeapLife (B2n3/S23-q)

Post by mniemiec » October 1st, 2020, 10:08 am

8-glider soup-based synthesis of a P3 jam-like oscillator that turned up in catagolue:

Code: Select all

x = 128, y = 82, rule = B2n3/S23-q
12bo$10bobo3bo$11booboo$15boo65bo$82bo$82bo40boo$89bo32bobbo$89bobo30b
obobo$89boo32bobbo$obo90boo$boo70boo7boo9bobo28bobbo$bo71boo7bobo8bo
32boo$82bo$boo$obo$bbo64$17b3o$19bo$18bo!
EDIT: Two P8s from 5 and 8, respectively:

Code: Select all

x = 129, y = 21, rule = B2n3/S23-q
86bo$87boo$86boo$31bo63b3o$29boo64bo6bo$30boo64bo3boo$bbo23boo32boo25b
o13boo20boo$obo22bobo32boo23bobo34bobo$boo24bo34bo23boo33boo$12bo20boo
28bo56bo6bo$10boo21bobo28boo54bo3bo3bo$7bo3boo21boo28boo55bo6bo$7boo
27boo28boo33boo23boo$6bobo27bobo27bobo32bobo20bobo$37boo28boo17boo13bo
22boo$87boo3bo$86bo6bo$91b3o$101boo$100boo$102bo!

ENORMOUS_NAME
Posts: 316
Joined: August 8th, 2020, 6:39 pm
Location: idk

Re: LeapLife (B2n3/S23-q)

Post by ENORMOUS_NAME » October 1st, 2020, 1:20 pm

no idea how this could be useful but it's cool

Code: Select all

x = 16, y = 12, rule = B2n3/S23-q
7b2o$6bo2bo$7b2o4$7b2o$7b2o$3o10b3o$2bo10bo$bo12bo!
https://www.conwaylife.com/forums/viewt ... 34#p111934

Code: Select all

x = 12, y = 5, rule = Symbiosis
10.B$10.A$3A6.A.A$A.A7.A$A.A7.B! 

Code: Select all

x = 10, y = 13, rule = Symbiosis
BA$.A$2.B2$3.B$3.A$3.A$2.B2A2.2A$4.A2.A.A$.B2A3.A$2.A$2.A$2.B! 

Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: LeapLife (B2n3/S23-q)

Post by Hunting » October 20th, 2020, 8:48 am

ENORMOUS_NAME wrote:
October 1st, 2020, 1:20 pm
no idea how this could be useful but it's cool

Code: Select all

x = 16, y = 12, rule = B2n3/S23-q
7b2o$6bo2bo$7b2o4$7b2o$7b2o$3o10b3o$2bo10bo$bo12bo!
It might be possible to get some crawler reaction out of it. Nice reaction!

Schiaparelliorbust
Posts: 3686
Joined: July 22nd, 2020, 9:50 am
Location: Acidalia Planitia

Re: LeapLife (B2n3/S23-q)

Post by Schiaparelliorbust » October 20th, 2020, 9:09 am

Hunting wrote:
October 20th, 2020, 8:48 am
ENORMOUS_NAME wrote:
October 1st, 2020, 1:20 pm
no idea how this could be useful but it's cool

Code: Select all

x = 16, y = 12, rule = B2n3/S23-q
7b2o$6bo2bo$7b2o4$7b2o$7b2o$3o10b3o$2bo10bo$bo12bo!
It might be possible to get some crawler reaction out of it. Nice reaction!
What's the slowest speed (spaceship) in this rule? Maybe we can get a rake out of it and have this as a tagalong.
Hunting's language (though he doesn't want me to call it that)
Board And Card Games
Colorised CA
Alien Biosphere

Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: LeapLife (B2n3/S23-q)

Post by Hunting » October 20th, 2020, 11:55 pm

Schiaparelliorbust wrote:
October 20th, 2020, 9:09 am
Hunting wrote:
October 20th, 2020, 8:48 am
ENORMOUS_NAME wrote:
October 1st, 2020, 1:20 pm
no idea how this could be useful but it's cool

Code: Select all

x = 16, y = 12, rule = B2n3/S23-q
7b2o$6bo2bo$7b2o4$7b2o$7b2o$3o10b3o$2bo10bo$bo12bo!
It might be possible to get some crawler reaction out of it. Nice reaction!
What's the slowest speed (spaceship) in this rule? Maybe we can get a rake out of it and have this as a tagalong.
c/12, found in a brute-force search.

lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: LeapLife (B2n3/S23-q)

Post by lemon41625 » October 23rd, 2020, 2:50 am

Code: Select all

x = 91, y = 27, rule = B2n3/S23-q
24bobo$20b2obo2bo$10bobo6bo3bo$6b2obob2o5bo6bo20bo$5bo3b2o7bo2bo3bobo16b3o$4b
o6b2o5bo5bo2bo15b2o$4bo2b4obo11bobo17bo$4b2o2bo7bo5bo22b2o$6b2ob2obo3b3o3b2ob
o2bo15bo10b2obo17bo$2b4obob2o3bo7bob3o15bo3bo2bo4bo3bobo13b2o4bo$bo13b2o7b2o
3bo5bo5b2obob2obob2ob2o6bo4bo5bo4b2o2bo7bo$o3b10o11b3obob2obobo3b3obobo7bo3bo
3bo2b2obo3bo3bo2bob2o5bobo$o3bo10b2o17bo4b3o2bob2obo4b3obo3bo2bo12bob3o5b3o$o
3b10o11b3obo7bo9bo5bo6bo15bo10b2o$bo13b2o7b2o3bo7bo11bo3b2o4bo12bo3bo$2b4obob
2o3bo7bob3o4bo5bo11bo3b2o4bo12bo3bo$6b2ob2obo3b3o3b2obo2bo2bo5bo9bo5bo6bo15bo
10b2o$4b2o2bo7bo5bo8b2obo4b3o2bob2obo4b3obo3bo2bo12bob3o5b3o$4bo2b4obo11bobo
7bobo3b3obobo7bo3bo3bo2b2obo3bo3bo2bob2o5bobo$4bo6b2o5bo5bo2bo7bo5b2obob2obob
2ob2o6bo4bo5bo4b2o2bo7bo$5bo3b2o7bo2bo3bobo14bo3bo2bo4bo3bobo13b2o4bo$6b2obob
2o5bo6bo18bo10b2obo17bo$10bobo6bo3bo21b2o$20b2obo2bo17bo$24bobo16b2o$44b3o$
46bo!

Code: Select all

x = 68, y = 27, rule = B2n3/S23-q
47bo$44b2obo$26bo17bo$21bob4o17bo$11bobo6b2obobo19b2o$7bob2o2bo5b3obobobo19bo
8bobobo5bo$6b2ob2o7b3o4b2o15b2o3b3obo2b2ob2obo2b4o$5b3o5bo11bo2bo7bo4bo5b3obo
3b2o3bo2bobo$4b2o2b4obo4bo5bobo7b2o4bo4bo5bo5b2o6bo$5bo11bo5bob2obo3b3obo3bo
2b2o2b3o4b3obobo4b3o$8bo2b2o3b3o3b2o2b2o3b2o6bobo5b2o5bo5bo4b2o$3b4obob3o10bo
3bo3bo5b3o9bo3bo6b3o2b2o$2b2o9b4o7bo3b2obo5b3o9bo3bo6b3o2b2o$b2o2b9obo9b3obo
9bobo5b2o5bo5bo4b2o$3obo10bo15bo2bobo3bo2b2o2b3o4b3obobo4b2o$b2o2b9obo9b3obob
o2b2o4bo4bo5bo5b2o6bo$2b2o9b4o7bo3b2obo4bo4bo5b3obo3b2o3bo2bobo$3b4obob3o10bo
3bo14b2o3b3obo2b2ob2obo2b4o$8bo2b2o3b3o3b2o2b2o19bo8bobobo5bo$5bo11bo5bob2obo
16b2o$4b2o2b4obo4bo5bobo17bo$5b3o5bo11bo2bo15bo$6b2ob2o7b3o4b2o17b2obo$7bob2o
2bo5b3obobobo19bo$11bobo6b2obobo$21bob4o$26bo!

Code: Select all

x = 0, y = 0, rule = B2n3/S23-q
11b3o$10bo3bo$9bo5bo$9bo5bo$5b3obob3obob3o$4bo2bobobobobobo2bo$3bo
4bo2bobo2bo4bo$3bo2bob2obobob2obo2bo$6b2o3bobo3b2o$3b2obob2obobob
2obob2o$2bobobob2obobob2obobobo$3bobo5bobo5bobo$2b2ob2obo2bobo2bob
2ob2o$11bobo$9bo5bo$10bobobo$7b2obobobob2o$8bo7bo$3b3o2bo7bo2b3o$
2bo19bo$bo21bo$bo2bo15bo2bo$7b3o5b3o$b2o5bo7bo5b2o$o4b2o2b2o3b2o2b
2o4bo$3b2o3b4ob4o3b2o$2o4bo2bobobobo2bo4b2o$4b2o5bobo5b2o$8bo7bo$
10b2ob2o2$7b3o3bo$7bo5bo2$6b2o4b2o$5bo8bo$6bo6bo$8bo2bo$9b2o$9b2o$
7bobo$6b3o$9bo$13bo$4b3ob2o2b3o$3b2ob6o2bo!

Code: Select all

x = 17, y = 68, rule = B2n3/S23-q
8bo$7bobo$6bo3bo$7bobo$2bo5bo5bo$2bobo7bobo$3bo9bo$3bo9bo2$2b2o9b2o2$2bobob2o
b2obobo$3bo3bobo3bo$4bo7bo$5bobobobo2$7b3o$6bobobo$6b2ob2o$6b2ob2o$7b3o2$5bob
3obo$4bobo3bobo$4bo2bobo2bo$b2ob4ob4ob2o$2b2o2bo3bo2b2o$bo5bobo5bo$8bo$2b2o9b
2o$3bo9bo$3b2o7b2o$3b2o7b2o$bo2bo7bo2bo$2o13b2o2$2bo3bo3bo3bo$2o2bo2bobo2bo2b
2o$2bo2bobobobo2bo$7bobo$4b2obobob2o$6b2ob2o$4bo7bo2$4b2o5b2o2$4bobo3bobo$5b
2o3b2o$bo2b2o5b2o2bo$o6bobo6bo$2bo3b5o3bo$o3bo7bo3bo$o6b3o6bo$bo13bo$5b7o$2b
3o2bobo2b3o$4b3obob3o$3bo2bo3bo2bo$o2bobobobobobo2bo$b2o2b2o3b2o2b2o$5bo5bo$b
o13bo$bo2bo7bo2bo$2bobo7bobo$3b3o5b3o$6bo3bo$7bobo$7b3o!

Code: Select all

x = 122, y = 15, rule = B2n3/S23-q
10b2o7b2o3bo4b2o5bobo9bo$2b4o7b2o3bo3b4ob5o4bobo9b2o2b3obo$8bobo3bo2b
o9bo4b2o2bo7b2o3bo5bo2bo8bo19b2o$b2obob3o3b2ob3ob5obo2bo8bobo3b2o5bo3b
2o9b6o2bobo15bo4bobo$9b3obobo2b2o6bob2o4bo2bo2bo3bobo5b3o3bo5bo6b3o2b
4o5bobob3o4bo$o2b2obobo2b2ob2o10bob2o2b2o6bo5bo4bobo6b5obo4bo6bo3b2ob
obo3bo4b3o2b2o3b2o3b2o3b5o$5obo3b2o4bo10bo11b6o10b6o3bobobob6o2bo3bo4b
4obo3bobo2b2o3bo3b3o3bo4bo$25b2o23b3o11bobo11bob6ob2obob2o3bo8bo4b2o3b
5o$5obo3b2o4bo10bo11b6o10b6o3bobobob6o2bo3bo4b4obo3bobo2b2o2bo$o2b2ob
obo2b2ob2o10bob2o2b2o6bo5bo4bobo6b5obo4bo6bo3b2obobo3bo4b3o2b2o2bo$9b
3obobo2b2o6bob2o4bo2bo2bo3bobo5b3o3bo5bo6b3o2b4o5bobob3o4bo$b2obob3o3b
2ob3ob5obo2bo8bobo3b2o5bo3b2o9b6o2bobo15bo4bobo$8bobo3bo2bo9bo4b2o2bo
7b2o3bo5bo2bo8bo19b2o$2b4o7b2o3bo3b4ob5o4bobo9b2o2b3obo$10b2o7b2o3bo4b
2o5bobo9bo!
See ikpx2_stdin for more: https://catagolue.hatsya.com/census/b2n ... kpx2_stdin
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

User avatar
LaundryPizza03
Posts: 2596
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: LeapLife (B2n3/S23-q)

Post by LaundryPizza03 » October 23rd, 2020, 10:30 pm

Smaller c/5d, found by jedlimlx (xq5_ycg8448c45111zyar3wozy6gx8b01zxgxc298hrz691vhh45zy01):

Code: Select all

x = 27, y = 26, rule = B2n3/S23-q
23b4o2$18b2ob3o$17bo2b2o$16bo$14b2o$14b2o2$14bo3bo$14bo3bo$15bobo$15bo2$14b2o
$10bo$9bob2o$8bo3bo$7bo$7bob2obo$3bo7b2o$b5obo$o2bo$o2bo2b2o$bobo$3b3o$4bo!
Unlike the original, this one is fully asymmetric.

Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!
LaundryPizza03 at Wikipedia

lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: LeapLife (B2n3/S23-q)

Post by lemon41625 » November 12th, 2020, 8:46 am

Some catalysts for the c/5d

Code: Select all

x = 28, y = 35, rule = B2n3/S23-q
24b4o2$19b2ob3o$18bo2b2o$17bo$15b2o$15b2o2$15bo3bo$15bo3bo$16bobo$16b
o2$15b2o$11bo$10bob2o$9bo3bo$8bo$8bob2obo$4bo7b2o$2b5obo$bo2bo$bo2bo2b
2o$2bobo$4b3o$5bo6$bo$obo$o2bo$b2o!
Potential Eater

Code: Select all

x = 33, y = 26, rule = B2n3/S23-q
29b4o2$24b2ob3o$23bo2b2o$22bo$20b2o$20b2o2$20bo3bo$20bo3bo$21bobo$21b
o2$20b2o$16bo$15bob2o$14bo3bo$13bo$13bob2obo$9bo7b2o$7b5obo$6bo2bo$6b
o2bo2b2o$bo5bobo$obo6b3o$b2o7bo!

Code: Select all

x = 33, y = 33, rule = B2n3/S23-q
29b4o2$24b2ob3o$23bo2b2o$22bo$20b2o$20b2o2$20bo3bo$20bo3bo$21bobo$21b
o2$20b2o$16bo$15bob2o$14bo3bo$13bo$13bob2obo$9bo7b2o$7b5obo$6bo2bo$6b
o2bo2b2o$7bobo$9b3o$10bo2$2o$2o3$3b2o$3b2o!
Potential c/5d -> G

Code: Select all

x = 27, y = 32, rule = B2n3/S23-q
23b4o2$18b2ob3o$17bo2b2o$16bo$14b2o$14b2o2$14bo3bo$14bo3bo$15bobo$15b
o2$14b2o$10bo$9bob2o$8bo3bo$7bo$7bob2obo$3bo7b2o$b5obo$o2bo$o2bo2b2o$
bobo$3b3o$4bo5$2b2o$2b2o!
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Hunting
Posts: 4401
Joined: September 11th, 2017, 2:54 am

Re: LeapLife (B2n3/S23-q)

Post by Hunting » November 12th, 2020, 8:48 am

lemon41625 wrote:
November 12th, 2020, 8:46 am
Some catalysts for the c/5d

Code: Select all

x = 28, y = 35, rule = B2n3/S23-q
24b4o2$19b2ob3o$18bo2b2o$17bo$15b2o$15b2o2$15bo3bo$15bo3bo$16bobo$16b
o2$15b2o$11bo$10bob2o$9bo3bo$8bo$8bob2obo$4bo7b2o$2b5obo$bo2bo$bo2bo2b
2o$2bobo$4b3o$5bo6$bo$obo$o2bo$b2o!
Potential Eater

Code: Select all

x = 33, y = 26, rule = B2n3/S23-q
29b4o2$24b2ob3o$23bo2b2o$22bo$20b2o$20b2o2$20bo3bo$20bo3bo$21bobo$21b
o2$20b2o$16bo$15bob2o$14bo3bo$13bo$13bob2obo$9bo7b2o$7b5obo$6bo2bo$6b
o2bo2b2o$bo5bobo$obo6b3o$b2o7bo!

Code: Select all

x = 33, y = 33, rule = B2n3/S23-q
29b4o2$24b2ob3o$23bo2b2o$22bo$20b2o$20b2o2$20bo3bo$20bo3bo$21bobo$21b
o2$20b2o$16bo$15bob2o$14bo3bo$13bo$13bob2obo$9bo7b2o$7b5obo$6bo2bo$6b
o2bo2b2o$7bobo$9b3o$10bo2$2o$2o3$3b2o$3b2o!
Potential c/5d -> G

Code: Select all

x = 27, y = 32, rule = B2n3/S23-q
23b4o2$18b2ob3o$17bo2b2o$16bo$14b2o$14b2o2$14bo3bo$14bo3bo$15bobo$15b
o2$14b2o$10bo$9bob2o$8bo3bo$7bo$7bob2obo$3bo7b2o$b5obo$o2bo$o2bo2b2o$
bobo$3b3o$4bo5$2b2o$2b2o!
How does the catalyst search program in your simulator work?

lemon41625
Posts: 370
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: LeapLife (B2n3/S23-q)

Post by lemon41625 » November 12th, 2020, 9:08 am

Hunting wrote:
November 12th, 2020, 8:48 am
How does the catalyst search program in your simulator work?
Essentially, you need to specify a search area so for this search it was something like

Code: Select all

x = 37, y = 37, rule = B2n3/S23-qHistory
33.4A2$28.2A.3A$27.A2.2A$26.A$24.2A$24.2A2$24.A3.A$24.A3.A$25.A.A$25.
A2$24.2A$20.A$19.A.2A$18.A3.A$17.A$17.A.2A.A$13.A7.2A$11.5A.A$10.A2.A
$10.A2.A2.2A$8B3.A.A$9B4.3A$10B4.A$11B$12B$13B$13B$14B$14B$14B$14B$14B
$14B$14B!
A list of catalysts to use are provided so for this search it was

Code: Select all

oo$oo!
bo$obo$obo$bo!
boo$obo$bob!
bo$obo$bo!
b2o$o2bo$o2bo$b2o!
b2o$o2bo$bobo$2bo!
3bo$b3o$o$b3o$3bo!
2o$obo$2bo$bo$b2o!
bo$obo$o2bo$bobo$2bo!
The program randomly selects n catalysts from the list (the user specifies n, I chose 3) and they are placed in the search area. The catalysts are also randomly flipped and rotated. Of course, some may overlap and but most overlapping catalysts don't turn out to be classified as catalysts so its not a big deal. This problem can be solved by simply stepping the simulation forward by 1 generation and checking that the pattern does not change (assuming stable catalysts).

The catalyst and the target pattern are stepped forward g generations (in this case, g = 50). Every generation, each catalyst is checked if it has changed. This is done by checking if a spark or something has entered the "neighbourhood" of the catalyst. This "neighbourhood" can be obtained by running 1 round of BFS on each cell of the catalyst with the cells being connected to their neighbours.

If a catalyst is interacted with, a counter is incremented and an interacted flag associated with the catalyst is set to true.
If an interacted catalyst regenerates, a counter is incremented and the regenerated flag associated with the catalyst is set to true.

If at least one catalyst has been interacted with and all catalysts have regenerated, it is a valid catalyst and it is added to the search results.

Repeat time is computed as the time between the first interaction and the last catalyst regenerating.

The search results are saved in a *.csv file periodically (if you run from CMD) or shown in a table (if you run from the GUI).

So its basically CatForce without the brute force. I may add brute force in the future but not for quite sometime (mostly because I have not worked out how to do it).

Also here's the code because why not

Code: Select all

package sample.model.search.catsrc;

import sample.model.Coordinate;
import sample.model.patterns.Catalyst;
import sample.model.search.SearchProgram;
import sample.model.simulation.Grid;
import sample.model.simulation.Simulator;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.Logger;

class PlacedCatalyst {
    private boolean interacted = false;
    private boolean regenerated = false;
    private final int hash;
    private final Coordinate startCoordinate;
    private final List<Coordinate> coordinateList;

    public PlacedCatalyst(int hash, Coordinate startCoordinate, List<Coordinate> coordinateList) {
        this.hash = hash;
        this.startCoordinate = startCoordinate;
        this.coordinateList = coordinateList;
    }

    public int getHash() {
        return hash;
    }

    public Coordinate getStartCoordinate() {
        return startCoordinate;
    }

    public List<Coordinate> getCoordinateList() {
        return coordinateList;
    }

    public boolean hasInteracted() {
        return interacted;
    }

    public boolean hasRegenerated() {
        return regenerated;
    }

    public void setInteracted(boolean interacted) {
        this.interacted = interacted;
    }

    public void setRegenerated(boolean regenerated) {
        this.regenerated = regenerated;
    }
}

public class CatalystSearch extends SearchProgram {
    private Set<Catalyst> known;
    private final Random random = new Random();

    public CatalystSearch(CatalystSearchParameters parameters) {
        super(parameters);
    }

    @Override
    public void search(int num) {
        Simulator simulator;
        CatalystSearchParameters searchParameters = (CatalystSearchParameters) this.searchParameters;

        if (searchParameters.getBruteForce()) {
            // TODO (Brute force)
        } else {
            known = new HashSet<>();
            searchResults = new ArrayList<>(); // Initialise search results

            long startTime = System.currentTimeMillis();
            int initialGeneration = -1, repeatTime = -1;
            int hash, numRegen = 0, numInteracted = 0;
            List<PlacedCatalyst> placedCatalysts;
            for (int i = 0; i < num; i++) {
                simulator = new Simulator(searchParameters.getRule());

                initialGeneration = -1;
                placedCatalysts = randomAddCatalyst(simulator, searchParameters);
                if (placedCatalysts == null) continue;  // The catalysts overlap and are not still lives

                // Inserting the target
                simulator.insertCells(searchParameters.getTarget(), new Coordinate());

                Grid original = simulator.deepCopy();
                for (int j = 0; j < searchParameters.getMaxRepeatTime(); j++) {
                    simulator.step();

                    numRegen = 0;
                    numInteracted = 0;
                    for (PlacedCatalyst catalyst: placedCatalysts) {
                        hash = simulator.hashCode(catalyst.getCoordinateList(), catalyst.getStartCoordinate());

                        if (hash != catalyst.getHash() && !catalyst.hasInteracted()) {
                            catalyst.setInteracted(true);
                            if (initialGeneration == -1) initialGeneration = simulator.getGeneration();
                        } else if (hash == catalyst.getHash() && catalyst.hasInteracted() &&
                                !catalyst.hasRegenerated()) {
                            catalyst.setRegenerated(true);
                            repeatTime = simulator.getGeneration() - initialGeneration;
                        }

                        // To consider a catalyst valid,
                        // 1. At least one of the sub-catalysts must have been interacted with
                        // 2. All interacted catalysts must have been regenerated
                        if (catalyst.hasInteracted()) numInteracted++;
                        if (catalyst.hasInteracted() && catalyst.hasRegenerated()) numRegen++;
                    }

                    // Every single catalyst regenerated
                    if (numRegen == numInteracted && numInteracted >= 1) {
                        Catalyst catalyst = new Catalyst(simulator.getRule(), original, repeatTime);
                        add(searchResults, catalyst);
                        break;
                    }
                }

                synchronized (this) {  // To avoid race conditions
                    if (numSearched % 5000 == 0 && numSearched != 0) {
                        System.out.println(numSearched + " potential catalysts searched (" +
                                5000000 / (System.currentTimeMillis() - startTime) +
                                " potential catalysts/s), " + searchResults.size() + " catalysts found!");
                        startTime = System.currentTimeMillis();
                    }

                    numSearched++;
                }
            }
        }
    }

    @Override
    public boolean writeToFile(File file) {
        try {
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write("# Running search in " + ((CatalystSearchParameters) searchParameters).getRule() +
                    "\n");
            fileWriter.write("Catalyst,RLE\n");
            for (int i = 0; i < searchResults.size(); i++) {
                fileWriter.write(searchResults.get(i) + "," + searchResults.get(i).toRLE() + "\n");
            }

            fileWriter.close();
            return true;
        } catch (IOException exception) {
            LogManager.getLogManager().getLogger(Logger.GLOBAL_LOGGER_NAME).
                    log(Level.WARNING, exception.getMessage());
            return false;
        }
    }

    private List<PlacedCatalyst> randomAddCatalyst(Simulator grid, CatalystSearchParameters searchParameters) {
        int index;
        Grid catalyst;
        Coordinate coordinate;
        ArrayList<PlacedCatalyst> placedCatalysts = new ArrayList<>();
        for (int i = 0; i < searchParameters.getNumCatalysts(); i++) {
            index = random.nextInt(searchParameters.getCoordinateList().size());
            coordinate = searchParameters.getCoordinateList().get(index);

            index = random.nextInt(searchParameters.getCatalysts().size());
            catalyst = searchParameters.getCatalysts().get(index).deepCopy();

            if (searchParameters.getRotateCatalyst()) {
                catalyst.updateBounds();
                for (int j = 0; j < random.nextInt(4); j++)
                    catalyst.rotateCW(catalyst.getBounds().getValue0(), catalyst.getBounds().getValue1());
            }

            if (searchParameters.getFlipCatalyst()) {
                catalyst.updateBounds();

                int randomInt = random.nextInt(4);
                if (randomInt == 0) {
                    catalyst.reflectCellsX(catalyst.getBounds().getValue0(), catalyst.getBounds().getValue1());
                } else if (randomInt == 1) {
                    catalyst.reflectCellsY(catalyst.getBounds().getValue0(), catalyst.getBounds().getValue1());
                } else if (randomInt == 2) {
                    catalyst.reflectCellsX(catalyst.getBounds().getValue0(), catalyst.getBounds().getValue1());
                    catalyst.reflectCellsY(catalyst.getBounds().getValue0(), catalyst.getBounds().getValue1());
                }
            }

            grid.insertCells(catalyst, coordinate);

            List<Coordinate> bfsResult = catalyst.bfs(1, searchParameters.getRule().getNeighbourhood());

            Coordinate coordinate3 = new Coordinate();
            for (Coordinate coordinate2: bfsResult) {
                if (coordinate3.getX() > coordinate2.getX())
                    coordinate3 = new Coordinate(coordinate2.getX(), coordinate3.getY());
                if (coordinate3.getY() > coordinate2.getY())
                    coordinate3 = new Coordinate(coordinate3.getX(), coordinate2.getY());
            }

            int hash = catalyst.hashCode(bfsResult, coordinate3);

            for (int j = 0; j < bfsResult.size(); j++) bfsResult.set(j, bfsResult.get(j).add(coordinate));
            for (Coordinate coordinate2: bfsResult) {
                if (coordinate.getX() > coordinate2.getX())
                    coordinate = new Coordinate(coordinate2.getX(), coordinate.getY());
                if (coordinate.getY() > coordinate2.getY())
                    coordinate = new Coordinate(coordinate.getX(), coordinate2.getY());
            }

            placedCatalysts.add(new PlacedCatalyst(hash, coordinate, bfsResult));
        }

        // if (!grid.identify(2).toString().equals("Still Life")) {
        //    return null;
        // }

        return placedCatalysts;
    }
}
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Post Reply