Decompositions [GAME]

A forum for topics that don't fit elsewhere. Introduce yourselves to other members of the forums, discuss how your name evolves when written out in the Game of Life, or just tell us how you found it. Forum rules still apply.
Post Reply
OCAfan55
Posts: 131
Joined: October 26th, 2025, 4:07 pm

Decompositions [GAME]

Post by OCAfan55 »

So we all know syntheses, but what about decompositions?
To "decompose" something (in this game) is when you take a stable object like so

Code: Select all

x = 3, y = 4, rule = B3/S23
bo$obo$obo$bo!
and place any amount of the same object to turn it into gliders (more than one glider is accepted and supported)

Code: Select all

x = 11, y = 11, rule = B3/S23
b2o$o2bo$b2o$6bo$2bo2bobo$bobobobo$bobo2bo$2bo6bo$8bobo$8bobo$9bo!
The starting pattern is

Code: Select all

x = 6, y = 6, rule = B3/S23
4bo$3bobo$2bo2bo$bob2o$bo$2o!

Code: Select all

x = 13, y = 13, rule = B34ij5e6kn/S23-kn4nqtyz5j6a
$3bo$3bo$b3o6$10bo$9bobo$10bo!
I love unexpected catalysts
User avatar
PK22
Posts: 629
Joined: January 25th, 2025, 11:38 am
Location: United Kingdom
Contact:

Re: Decompositions [GAME]

Post by PK22 »

This does sort of ruin the fun, but I hacked together a script to do it automatically:

Code: Select all

import lifelib
sess = lifelib.load_rules('b3s23')
lt = sess.lifetree(n_layers = 1, memory = 1000)
transformations = ['identity', 'rot270', 'rot180', 'rot90', 'flip_x', 'flip_y', 'swap_xy', 'swap_xy_flip']
import random
def addpt(pt):
    pt += basept(random.choice(transformations))(random.randint(-placearea, placearea), random.randint(-placearea, placearea))[random.randint(0, period-1)]
    return pt
rle = input('Enter headerless RLE of pattern.\n>')
objs = int(input('How many objects do you want to place?\n>'))
basept = lt.pattern(rle)
bbox = basept.bounding_box
placearea = round(max(bbox[2], bbox[3]) * 2.2)
period = basept.period
componentnums = [len(basept[x].components()) for x in range(period)]
min_components = objs * min(componentnums)
max_components = objs * max(componentnums)
for n in range(1000000):
    if (n+1)%1000 == 0:
        print(str(n+1)+'/1000000 solutions tested.')
    pt = lt.pattern('b!')
    for x in range(objs):
        pt = addpt(pt)
    if len(pt.components()) >= min_components and len(pt.components()) <= max_components:
        if pt[200].population == 5:
            if pt[200].wechsler in ['153', '163']:
                print('#C Solution found:')
                print(pt.rle_string())
                break
An example solution using three copies:

Code: Select all

#CLL state-numbering golly
x = 12, y = 16, rule = B3/S23
2b2o$bo2bo$2bobo$3bo$4b3o3bo$6bo2bobo$8bo2bo$7bob2o$7bo$6b2o$4bo$
3bobo$2bo2bo$bob2o$bo$2o!
It is quite slow, but it gets there in the end for small objects:

Code: Select all

x = 15, y = 15, rule = B3/S23
3b2o$3bobo$5bo$b4o$o$obo3b2o$b2o2bo2bo$5bob2o$2b2obo6b2o$2bo2bo6bobo$
3b2o9bo$10b4o$9bo$9bobo$10b2o!
User:PK22
Learning miscellaneous programming languages.
User avatar
I6_I6
Posts: 1125
Joined: July 26th, 2025, 8:44 pm
Location: Here, there, somewhere, anywhere, everywhere.
Contact:

Re: Decompositions [GAME]

Post by I6_I6 »

3 objects:

Code: Select all

x = 20, y = 8, rule = B3/S23
18bo$17bobo$4bo4b2o5bo2bo$3bobo2bo2bo3bob2o$2bo2bo2bobo4bo$bob2o4bo4b
2o$bo4b3o$2o4bo!
Next:

Code: Select all

x = 7, y = 3, rule = B3/S23
5b2o$ob2o2bo$2ob2o!

Code: Select all

#C [[ THEME Golly ]]
x = 27, y = 15, rule = LifeHistory
8.A$A6.A.A$3A4.BA2B.B2D$3.A4.2B.2B2DB$2.2A2.3B.6B2.3B$2.20B$4.19B$4.2B
C10BD4B$4.2B2C10BD4B$4.B2C11B2D3B$4.13B2D4B$5.12BD3B.B2A$6.13B3.BA.A$
6.3B.B3.B10.A$25.2A!
RuleEdit: A .rule file editing tool
User avatar
I6_I6
Posts: 1125
Joined: July 26th, 2025, 8:44 pm
Location: Here, there, somewhere, anywhere, everywhere.
Contact:

Re: Decompositions [GAME]

Post by I6_I6 »

I just did it myself:

Code: Select all

x = 11, y = 24, rule = B3/S23
4b2o$4bo$5bo$4b2o$4bo$6bo$5b2o11$9b2o$4bob2o2bo$4b2ob2o2$5b2o$ob2o2bo
$2ob2o!
Next:

Code: Select all

x = 5, y = 7, rule = B3/S23
2bo$bobo$bobo$2ob2o$bobo$bobo$2bo!

Code: Select all

#C [[ THEME Golly ]]
x = 27, y = 15, rule = LifeHistory
8.A$A6.A.A$3A4.BA2B.B2D$3.A4.2B.2B2DB$2.2A2.3B.6B2.3B$2.20B$4.19B$4.2B
C10BD4B$4.2B2C10BD4B$4.B2C11B2D3B$4.13B2D4B$5.12BD3B.B2A$6.13B3.BA.A$
6.3B.B3.B10.A$25.2A!
RuleEdit: A .rule file editing tool
User avatar
b-engine
Posts: 3762
Joined: October 26th, 2023, 4:11 am
Location: Somewhere on where Earth At
Contact:

Re: Decompositions [GAME]

Post by b-engine »

8 because I'm doing it manually:

Code: Select all

x = 54, y = 21, rule = B3/S23
17b2o$5b2o10bo$ob2o2bo12bo$2ob2o13b2o$18bo$19bo12b2o$18b2o7bob2o2bo15b
2ob2o$27b2ob2o9b2o4bo2b2obo$7b2o27bob2o2bo4b2o$7bo17b2o9b2ob2o$8bo11b
ob2o2bo$7b2o11b2ob2o$7bo$9bo$8b2o32b2o$42bo$43bo$42b2o$42bo$44bo$43b2o
!
Next:

Code: Select all

x = 9, y = 7, rule = B3/S23
2b2o$2bo$3b3ob2o$5bobo$b3obobo$o2bob2o$2o!
OCAfan55
Posts: 131
Joined: October 26th, 2025, 4:07 pm

Re: Decompositions [GAME]

Post by OCAfan55 »

4 for I6_I6's pick (2 gliders!)

Code: Select all

x = 12, y = 18, rule = B3/S23
3bo$b5o$o5bo$b5o$3bo$8bo$6b5o$5bo5bo$3bo2b5o$2bobo3bo$2bobo$b2ob2o3bo
$2bobo3bobo$2bobo3bobo$3bo3b2ob2o$8bobo$8bobo$9bo!
4 for b-engine's pick (also 2 gliders!)

Code: Select all

x = 25, y = 26, rule = B3/S23
10b2o$10bo$11b3ob2o$13bobo$9b3obobo$8bo2bob2o$8b2o6b2o$16bo2bob2o$17b
3obobo$6b2o13bobo$6bo12b3ob2o$7b3ob2o5bo$9bobo6b2o$5b3obobo$4bo2bob2o
$4b2o2$2bo$2b3o$5bo$2b4o$2bo$obob2o$2o2bo$4bobo$5b2o!
Next:

Code: Select all

x = 9, y = 10, rule = B3/S23
7b2o$8bo$5b3o$4bo$4b2o2$2b2o$3bo$3o$o!

Code: Select all

x = 13, y = 13, rule = B34ij5e6kn/S23-kn4nqtyz5j6a
$3bo$3bo$b3o6$10bo$9bobo$10bo!
I love unexpected catalysts
User avatar
yyh_baboon
Posts: 586
Joined: March 28th, 2025, 5:07 am
Location: on a spaceship

Re: Decompositions [GAME]

Post by yyh_baboon »

4 for 3 gliders!

Code: Select all

 x = 39, y = 25, rule = B3/S23
2o$obo$2bo$2bobo$3b2o$6b2o$6bobo2bo$8bo2b3o$8b2o4bo$13b2o2$15b2o$15bo
$16b3o5b2o$19bo5bo$18b2o2b3o5b2o$21bo8bo$21b2o8b3o$34bo$19b2o12b2o$20b
o$17b3o15b2o$17bo17bo$36b3o$38bo!
Next:

Code: Select all

 x = 8, y = 6, rule = B3/S23
7bo$5b3o$b2obo$2bobob2o$obobo2bo$2o3b2o!
Definitely not spam
P38 gun is constructed :) Now is P23 next?
Currently hand-searching spaceships.ÔvÔ

Code: Select all

 x = 4, y = 4, rule = B3aeiq4tz5j6i7e8/S2-ci3-aeky4cei5ain6acin78
3o$o2bo$3bo$b3o!
OCAfan55
Posts: 131
Joined: October 26th, 2025, 4:07 pm

Re: Decompositions [GAME]

Post by OCAfan55 »

Simple 3 object solution for one glider

Code: Select all

x = 24, y = 32, rule = B3/S23
19b2ob2o$18bobobo$18bo3bo$19b3o2$19b3o$18bo2bo$18b2o14$9b2o$9bo2bo$10b
3o2$10b3o$7bobo3bo$5b3obobobo$b2obo5b2ob2o$2bobob2o$obobo2bo$2o3b2o!
Next:

Code: Select all

x = 7, y = 8, rule = B3/S23
3bo$2bobo$3bo2$b5o$o5bo$obobobo$b2ob2o!

Code: Select all

x = 13, y = 13, rule = B34ij5e6kn/S23-kn4nqtyz5j6a
$3bo$3bo$b3o6$10bo$9bobo$10bo!
I love unexpected catalysts
Post Reply