Bounded population UCC project

For general discussion about Conway's Game of Life.
Post Reply
User avatar
Moosey
Posts: 4306
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Bounded population UCC project

Post by Moosey » October 26th, 2020, 5:47 pm

Here's a new project discussed on the discord: since GoL is turing complete and construction universal, it's theoretically possible to construct arbitrarily slow computable population growth rates. However, something to consider is that a universal computer/constructor will easily grow in size during the period that it, say, computes TREE(n). As a result, its growth may be significantly larger than desired.

This apparent limit leads to a new idea: using sliding block memory, it should be possible to create a universal computer whose every component is bounded below a certain population, (albiet significantly expanding computation time). You could do this using a setup such as, say, a minsky machine emulating a universal TM.

Obviously, now the question is now to construct such a machine, or another alternative which also has a population bounded under a constant.

One alternative is to use a sliding block memory described on the discord by Calcyman:
apgoucher wrote:you can use a variant of sliding block memory which sends a return glider.
Using this method, you could time how long the glider gets back to figure out the state of the block without having to, say, count how many times it must be pulled by your minsky machine setup, which would dramatically improve the flop-per-steppage of the setup.

So, tl;dr: The challenge of this project is to create a universal computer/constructor whose population (not counting what it may be constructing) is bounded under a constant number, say, 10^9.

EDIT: magma says:
magma wrote:
Moosey wrote:Using this method, you could time how long the glider gets back to figure out the state of the block without having to, say, count how many times it must be pulled by your minsky machine setup, which would dramatically improve the flop-per-steppage of the setup.
this doesn't work
since you can't store the time
except with another sliding block memory which would make the return glider pointless
you still need to use a return glider, namely to trigger the next instruction
because you can't send several pull or push salvos at once without increasing the population
actually you can make do without a return glider, you just need to make sure that each program step is computed sufficiently slower than the previous one
a very cheap option would be to just use a caber tosser as a timer
would make the entire machine exponentially slower though
so yeah but still it would be possible to construct one of these, just slower than I suggested
not active here but active on discord

User avatar
calcyman
Moderator
Posts: 2936
Joined: June 1st, 2009, 4:32 pm

Re: Bounded population UCC project

Post by calcyman » October 27th, 2020, 2:43 am

Moosey wrote:
October 26th, 2020, 5:47 pm
EDIT: magma says:
magma wrote: a very cheap option would be to just use a caber tosser as a timer
would make the entire machine exponentially slower though
This caber tosser can replace the p(2^24) guns in the GPC from the 'smaller pi calculator challenge' thread:

https://conwaylife.com/forums/viewtopic ... GPC#p85176

Of course, the exponential slowness from the caber tosser (on top of the exponential slowness from using a purely-unary-register computer) will result in a pattern that's no fun to watch. An alternative is to use this gadget from Dave Greene in place of the caber tosser:

Code: Select all

#C [[ ZOOM 2 WIDTH 640 HEIGHT 480 ]]
x = 259, y = 201, rule = LifeHistory
9.3B$8.4B$3.10B$2.11B$.12B$.12B$B2A10B$.2A10B4.4B$2.14B.5B$3.19B$2.
21B$2.21B$3.21B$7.18B$6.20B137.2A$5.22B135.A.A$6.17B.4B128.2A4.A$6.
17B2.6B123.A2.A2.2A.4A$6.26B122.2A.A.A.A.A2.A$5.27B125.A.ABABAB$4.29B
124.A.AB2AB$5.28B125.AB.2B$7.27B127.3B$7.9B.18B126.4B6.2A$6.30B123.3B
2AB6.A$5.32B122.3B2AB3.BA.A$5.9B.18B.4B119.10B.B2A$6.7B3.17B2.6B115.
13B$6.7B3.26B113.14B$7.7B.27B112.15B$8.5B.29B110.4B2.8B$9.3B3.28B109.
4B5.6B$9.3B5.27B107.4B4.9B$10.B6.9B.18B49.A19.2A34.4B5.2A4.4B$16.30B
48.3A.A.2A11.B2AB32.4B7.A5.4B$15.32B50.2A.A2.A.2A.A4.3B32.4B5.3A7.4B$
15.9B.18B.4B46.2A4.A.2A.A.2A5.B.B30.4B6.A10.4B$16.7B3.17B2.6B43.A.5A
2.B8.5B29.4B19.4B10.2A$16.7B3.26B44.A4.AB2A6.6B28.4B21.4B9.A$17.7B.
27B13.2A28.A2.BA.A.2A4.8B27.4B23.4B10.A$18.5B.29B11.A.A27.A.2BA.A2.
13B27.4B18.2A5.4B5.5A$19.3B3.28B11.A29.2A.2BA5.13B24.4B20.A5.4B4.A$
19.3B5.27B8.2A.A3.2A27.3B3.15B22.4B21.A.AB.7B2.B3A$20.B6.9B.18B6.A3.A
3.A9.A19.2B3.15B21.4B23.2AB.7B3.2B.A$26.30B5.A.2A.2A.A9.3A16.4B.17B
19.4B26.12B4A$25.32B5.A.A.A.A13.A8.29B18.4B27.7B2A3BAB2.2A$25.9B.18B.
4B5.4B14.2A7.16B2A13B16.4B28.7B2A2B.B3A2.A$26.7B3.17B2.6B3.4B13.5B.B
2.16B2A14B2.2A10.4B29.10B3.B.A.2A$26.7B3.26B.7B6.3B4.6B.27B3.B2A2.A9.
4B29.8B8.A$27.7B.35B.2B2.6B2.33B4.A.B2A9.4B29.9B7.2A$28.5B.40B.25B2.
2B2.B3.6B5.A11.4B29.4B2.3B$29.3B3.62B14.6B5.3A7.4B29.4B3.5B$29.3B5.
58B14.9B7.A5.4B29.4B7.2A$30.B6.9B.47B15.2A4.4B5.2A4.4B29.4B8.A$36.59B
15.A5.4B4.9B29.4B10.3A$35.27B.24B.7B12.3A7.4B5.6B29.4B13.A$35.9B.16B
4.21B4.3B.B2A10.A10.4B2.8B28.4B$36.7B3.15B8.10B2.4B9.BA.A21.15B25.4B$
36.7B3.15B8.11B2.5B10.A22.14B24.4B$37.7B.17B7.7B2A3B4.2A10.2A22.13B
23.4B$38.5B.19B6.7B2A3B4.A36.10B.B2A20.4B$39.3B3.19B5.11B6.3A35.3B2AB
3.BA.A18.4B$39.3B5.9B3.6B5.4B.2B11.A35.3B2AB6.A17.4B$40.B6.9B4.6B60.
4B6.2A3.2A10.4B$46.11B4.6B59.3B13.A9.4B$45.13B4.6B55.AB.2B12.A10.4B$
45.9B.4B4.6B53.A.AB2AB11.5A5.4B5.2A$46.7B3.4B4.6B52.A.ABABAB15.A4.4B
5.A$46.7B4.4B4.6B48.2A.A.A.A.A2.A10.3AB2.7B.BA.A$47.7B4.4B4.6B47.A2.A
2.2A.4A9.A.2B3.7B.B2A$48.5B6.4B4.6B48.2A4.A13.4A12B$49.3B8.4B4.6B53.A
.A9.2A2.BA3B2A7B$49.3B9.4B4.6B53.2A8.A2.3AB.2B2A7B$50.B4.2A5.4B4.6B
62.2A.A.B3.10B$54.A2.A3.6B4.6B64.A8.8B$54.A.A.B.8B4.6B63.2A7.9B$52.2A
2.2A10B5.6B72.3B2.4B$51.A2.2A2.11B5.6B69.5B3.4B$51.2A3.2A11B6.6B68.2A
7.4B$56.A2.10B7.6B68.A8.4B$57.A2.9B8.6B64.3A3.A6.4B$54.3A3.14B4.6B63.
A5.3A4.5B$54.A7.13B4.6B71.A.8B76.4B$61.14B5.6B69.A.A9B74.4B$61.14B6.
6B68.BA2B.8B72.4B$62.13B7.6B68.2B3.8B70.4B$63.11B9.6B54.A13.2B3.8B68.
4B$61.14B9.6B52.A.A7.A3.B2AB3.8B66.4B$60.11B2A2B10.6B44.2A5.BA2B4.3A
4.2A5.8B13.2A49.4B$60.11B2AB12.6B42.B2A2B4.2B4.A15.8B11.B2A2B46.4B$
60.14B13.6B30.2A9.5B.4B5.2A15.8B11.4B45.4B$55.2A4.8B.4B14.6B29.A8.13B
3.3B3.7B.B4.8B9.5B44.4B$56.A4.8B2.2B16.6B29.3A5.12B2.3B5.13B.8B6.7B
43.4B$56.A.AB2.8B20.6B30.A3.49B3.6B43.4B$57.2AB2.9B20.6B30.61B42.4B$
59.12B21.6B25.B.4B2A58B40.4B$59.12B22.6B23.7B2A25B2A31B39.4B$59.10B.B
2A21.6B19.B.35B2A31B38.4B$60.8B2.BA.A21.6B17.2A43B3.2B2.20B36.4B$59.
8B6.A22.6B16.2AB.22B.B3.B2.10B11.18B34.4B$60.8B5.2A22.6B16.B3.21B9.6B
16.17B32.4B$61.7B30.6B22.19B9.3B19.16B31.4B$58.11B21.2A7.6B8.2A11.3B.
16B8.B21.16B30.4B$57.12B22.A7.7B7.A15.9B.8B6.2A19.8B.7B.B2A27.4B$57.
12B22.A.AB2.10B3.BA.A14.5B2.B4.8B5.A20.2A3.B4.4B3.BA.A.2A22.4B$57.11B
24.2AB.12B2.B2A14.4B3.3B4.8B5.A20.A9.5B4.A.2A21.4B$45.2A.2A2.2A3.8B.
4B24.3BA13B15.4B3.B2AB5.8B3.2A17.3A13.2A4.A23.4B$46.A.A2.A.A3.7B4.2A
24.2BABA12B14.4B5.2A7.8B21.A15.A3.A.A22.4B$46.A2.2A.B4.7B4.A25.2BABA
12B13.4B16.8B37.4A.A.AB18.4B$47.A.A2.2B3.6B6.3A22.3BA3B2.B.7B11.4B18.
8B42.2AB.2A14.4B19.A$46.2A.A.BA2B.7B8.A22.6B4.9B9.4B20.8B35.2A6.2B2AB
12.4B.3B.B12.3A$49.A.A.A9B30.6B4.4B.6B7.4B22.8B34.2A6.4B6.18B10.A$46.
4A2.A.8B31.6B3.4B3.6B5.4B24.8B41.6B3.16B2A2B5.B3.2A$46.A3.2A4.6B32.5B
2.4B5.6B3.4B26.8B41.6B2.16B2A2B3.8B$48.A.B6.6B27.14B7.6B.4B28.8B29.2A
9.7B.20B.8B$47.2AB2AB3.7B26.14B9.9B30.8B19.2A6.B2A2B6.38B$50.2AB.8B
27.13B11.7B32.8B19.A7.4B5.20B2.2B.15B$47.2A3.10B27.13B5.2A5.6B33.8B
18.A.AB2.6B.21B8.17B$47.A4.6B2A3B24.2AB.11B5.A6.7B33.8B18.2AB.27B11.
19B2.2B2.B$48.A3.6B2A2B5.2A17.A.AB2.10B2.BA.A5.9B33.8B19.28B12.27B$
47.2A3.10B5.A18.A7.9B.B2A5.4B.6B33.8B18.29B12.7B.19B2.B$51.11B2.BA.A
17.2A7.11B6.4B3.6B33.8B17.29B11.25B2AB.B2A$51.12B.B2A25.13B5.4B5.6B
33.8B16.22B2.3B.B2A8.26B2A3B2A$50.15B25.A.2AB.9B4.4B7.6B33.8B14.9B.
13B6.BA.A8.8B2.19B.B$49.16B23.3AB2AB2.7B4.4B9.6B33.8B12.11B2.12B8.A8.
6B11.4B.7B$46.2B.16B22.A4.B4.8B2.4B11.6B33.8B10.4B3.B.BAB3.12B7.2A8.
5B12.4B.7B$45.2A18B23.3A.2A2.8B2.4B13.6B33.8B8.4B3.2A.A.A6.9B17.4B14.
12B$45.2AB.17B24.A.A3.7B2.4B15.6B33.8B6.4B5.ABA.3A4.6B2.B2A16.3B15.
11B$46.B.4B.8B2.4B23.A.A2.13B17.3BABA33.8B4.4B4.A4.A3.A5.B.B3.BA.A13.
4B17.9B.3B$53.7B4.4B23.A4.11B19.3B2AB33.8B2.4B5.4A.A2.A5.3B7.A13.2A
20.12B$54.6B5.4B27.11B20.2BA3B33.12B9.A.A.A6.B2AB6.2A13.A17.2B.11B2A$
56.4B6.4B10.2A14.11B21.6B33.10B7.3A3.A8.2A19.3A17.2A13B2A$58.3BA5.4B
9.A13.2AB2.8B3.2A2.2A.2A10.6B33.8B8.A35.A19.2AB.10B.B$59.BA.A5.4B10.A
10.A.AB2.8B3.A.A2.A.A12.6B33.8B64.B2.10B$60.AB.A5.4B5.5A10.A4.9B4.B.
2A2.A13.6B33.8B66.9B$61.A.A5.4B4.A14.2A3.10B3.2B2.A.A15.6B31.10B64.
10B$59.A.A.A.AB.7B2.B3A15.4B.7B.2BAB.A.2A15.6B29.12B62.11B$59.2A3.2AB
.7B3.2B.A13.4B2.9BA.A.A19.6B27.4B2.8B60.11B$66.12B4A12.4B4.8B.A2.4A
17.6B25.4B4.8B58.13B$66.7B2A3BAB2.2A9.4B5.6B4.2A3.A18.6B23.4B6.8B56.
15B$66.7B2A2B.B3A2.A7.4B5.6B6.B.A21.6B21.4B8.8B54.19B$66.10B3.B.A.2A
6.4B6.7B3.B2AB2A21.6B19.4B10.8B52.19B2A$65.8B8.A8.4B8.8B.B2A25.6B17.
4B12.8B50.4B.15B2A$64.9B7.2A7.4B9.10B3.2A23.6B15.4B14.8B48.4B.17B$63.
4B2.3B16.4B9.3B2A6B4.A24.6B13.4B16.8B46.19B$62.4B3.5B13.4B4.2A5.2B2A
6B3.A26.6B11.4B18.8B44.19B$61.4B7.2A12.4B6.A5.10B3.2A26.6B9.4B20.8B
42.20B$60.4B8.A12.4B7.A.AB2.11B31.3BA2B7.4B22.8B40.20B$59.4B10.3A8.4B
9.2AB.12B32.3BA2B5.4B24.8B32.A5.24B$58.4B13.A7.4B12.15B32.3A3B3.4B26.
8B29.3A4.4B.20B$57.4B21.4B13.16B32.6B.4B28.8B12.A14.A6.4B3.20B$56.4B
21.4B14.16B.2B30.9B30.8B11.3A12.2A4.4B3.22B$55.4B21.4B15.18B2A30.7B
32.8B13.A7.2B.3B3.4B2.24B$54.4B21.4B15.17B.B2A31.6B33.8B11.2A6.5B4.
30B$53.4B21.4B15.4B2.8B.4B.B32.7B33.8B10.5B2.31B.10B$52.4B21.4B15.4B
4.7B38.9B33.8B11.29B.7B2.2B4.2A$51.4B21.4B15.4B5.6B38.4B.6B33.8B9.2A
28B2.3B.B4.B4.A$50.4B21.4B3.2A10.4B6.4B39.4B3.6B33.8B8.2A28B4.2B2A3.
2A4.3A$49.4B21.4B5.A9.4B5.A3B40.4B5.6B33.8B8.B.26B4.BA2.A4.A6.A$36.2A
10.4B21.4B4.A10.4B5.A.AB40.4B7.6B33.8B9.14B.4B12.3A5.A.A$37.A9.4B21.
4B5.5A5.4B5.A.BA40.4B9.6B33.8B9.9B4.4B22.2A$35.A10.4B21.4B11.A4.4B5.A
.A40.4B11.6B33.8B9.8B3.4B14.3A$35.5A5.4B5.2A14.4B9.3AB2.7B.BA.A.A.A
37.4B13.6B33.8B9.7B2.4B15.A2.A$40.A4.4B5.A2.A11.4B9.A.2B3.7B.B2A3.2A
36.4B15.6B6.2A25.8B5.15B18.2A$37.3AB2.7B.BA.A.2A10.4B10.4A12B42.4B17.
6B4.B2AB25.10B.15B$36.A.2B3.7B.B2A.A11.4B9.2A2.BA3B2A7B41.4B19.6B3.3B
27.24B$36.4A12B3.A10.4B9.A2.3AB.2B2A7B40.4B21.6B3.B.B27.21B$34.2A2.BA
3B2A7B3.3A7.4B10.2A.A.B3.10B39.4B23.12B27.16B.3B$33.A2.3AB.2B2A7B6.A
5.4B14.A8.8B37.4B25.13B26.14B$33.2A.A.B3.10B5.2A4.4B15.2A7.9B35.4B27.
13B19.2A5.13B2.B6.2A$36.A8.8B4.9B26.3B2.4B33.4B29.14B17.A.A4.18B4.2A$
36.2A7.9B5.6B25.5B3.4B31.4B31.14B17.AB3.19B$46.3B2.4B2.8B25.2A7.4B29.
4B33.3B2A9B15.2B3.21B12.2A$44.5B3.15B24.A8.4B27.4B30.B2.3BA2BA10B10.B
2.25B8.B3.A.A$44.2A7.14B21.3A10.4B25.4B29.9B2A12B8.29B4.6B.B2A$45.A8.
13B21.A13.4B23.4B29.17B2A6B6.31B2.8B.B$42.3A10.10B.B2A34.4B21.4B31.
16B2A8B4.33B.6B.2B$42.A14.3B2AB3.BA.A34.4B19.4B31.29B2.44B$57.3B2AB6.
A35.4B6.A10.4B32.68B2A6B$59.4B6.2A35.4B5.3A7.4B35.34B.4B.25BA2BA5B$
59.3B45.4B7.A5.4B36.39B2.23B.B2A5B$56.AB.2B47.4B5.2A4.4B38.B.B2.31B4.
24B.7B$55.A.AB2AB47.4B4.9B40.3B2.28B6.24B4.3B$55.A.ABABAB47.4B5.6B40.
B2AB2.27B8.23B$52.2A.A.A.A.A2.A46.4B2.8B41.2A4.24B10.22B$52.A2.A2.2A.
4A47.15B43.2AB.B.17B13.5B.16B$54.2A4.A52.14B42.A.AB2.6B.9B13.5B3.16B$
60.A.A51.13B42.A6.2B5.6B15.2AB5.14B$61.2A52.10B.B2A39.2A11.8B16.A6.
14B$117.3B2AB3.BA.A51.2A5B14.3A8.4B4.5B$117.3B2AB6.A51.2A3B16.A11.4B
3.3B$119.4B6.2A52.2B28.4B$119.3B60.4B26.B2A2B$116.AB.2B61.B2AB27.2A$
115.A.AB2AB61.2A$115.A.ABABAB$112.2A.A.A.A.A2.A$112.A2.A2.2A.4A$114.
2A4.A$120.A.A$121.2A!
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Bounded population UCC project

Post by dvgrn » October 27th, 2020, 7:13 am

Another piece of technology that might come in handy is the stable Universal Register Machine that Paul Chapman built back in 2005, based on a periodic MRM from 2002. The pattern file still has a few misplaced (overlapping) pieces in it, though, if I remember right, so some redesign work would have to be done.

If the goal is to program the thing so that it will actually complete some specific construction, though, I think I might prefer to program an RCT -- and that's saying something.

User avatar
calcyman
Moderator
Posts: 2936
Joined: June 1st, 2009, 4:32 pm

Re: Bounded population UCC project

Post by calcyman » October 27th, 2020, 11:06 am

dvgrn wrote:
October 27th, 2020, 7:13 am
Another piece of technology that might come in handy is the stable Universal Register Machine that Paul Chapman built back in 2005, based on a periodic MRM from 2002. The pattern file still has a few misplaced (overlapping) pieces in it, though, if I remember right, so some redesign work would have to be done.
Yes -- a GPC that uses only unary registers is effectively the same thing as a Minsky Register Machine: and, indeed, the design of the pi calculator was largely inspired by the design of Paul's stable MRM.
What do you do with ill crystallographers? Take them to the mono-clinic!

User avatar
EvinZL
Posts: 853
Joined: November 8th, 2018, 4:15 pm
Location: A tungsten pool travelling towards the sun
Contact:

Re: Bounded population UCC project

Post by EvinZL » November 4th, 2020, 5:55 pm

To make an MRM, we need to be able to have push, pull, and test for 0. Test for 0 is trivial using current tech, and Kazyan's modified Fx77 produces a G10 glider pair which can pull a block in by 3fd. Now there are probably more efficient salvos than the 30g in Winning ways to push a block 3fd outwards. Then just assemble a g-to-salvo on a transparent lane, and the register is basically complete.

And then you also need a g-to-send backwards-g-salvo to tell the mechanism when the register is ready. The Fx77 has a decent number of transparent lanes to let the backwards glider through.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Bounded population UCC project

Post by dvgrn » November 4th, 2020, 7:54 pm

EvinZL wrote:
November 4th, 2020, 5:55 pm
Now there are probably more efficient salvos than the 30g in Winning ways to push a block 3fd outwards.
That's putting it mildly! There's no need to speculate too much about this stuff. At the very least, as a reasonable upper bound, you won't have a problem that's any bigger than the salvos used in the pi and phi calculators. It's easy to rebuild one of those SBRs to use glider-constructible circuitry instead of any old Herschel conduit that happens to work.

User avatar
toroidalet
Posts: 1514
Joined: August 7th, 2016, 1:48 pm
Location: My computer
Contact:

Re: Bounded population UCC project

Post by toroidalet » November 4th, 2020, 8:38 pm

Someone (Paul Chapman?) constructed a universal Minsky machine in 2002, and if we change the merge circuit so the signal has to bounce off of a cordership (so that any increments and decrements have time to reach their destination), it should be a bounded population universal constructor. To make it capable of universal construction, we can probably add another device that uses signals from the machine to create a binary slow salvo somehow.
(another option is to make a generalized Collatz sequence generator)
Any sufficiently advanced software is indistinguishable from malice.

User avatar
dvgrn
Moderator
Posts: 10671
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Bounded population UCC project

Post by dvgrn » November 4th, 2020, 9:24 pm

toroidalet wrote:
November 4th, 2020, 8:38 pm
Someone (Paul Chapman?) constructed a universal Minsky machine in 2002...
Yep, 'igblan' is Paul Chapman's Internet handle. Unfortunately, I think that both the P1 and the P30 universal URMs break down, after you run them for a while. It might actually be easier to rebuild the P1 version from the ground up, than to find and fix the layout problem that causes the explosion.

I think the p30 version also still has a fatal flaw in it somewhere -- an overlap between two components that causes an immediate small breakdown. Those problems are the reason why those two URM patterns never made it into Golly's Very Large Pattern collection -- so if anyone wants to dig in and figure out exactly what's wrong, I'd definitely appreciate it!

User avatar
EvinZL
Posts: 853
Joined: November 8th, 2018, 4:15 pm
Location: A tungsten pool travelling towards the sun
Contact:

Re: Bounded population UCC project

Post by EvinZL » November 15th, 2020, 3:22 pm

We could modify the GPC, removing the tapes and sq, and keep output if we want to make a slow growth pattern, and each state only executes one instruction, inc returns Z, say, which won't compromise universality. Also, here's a 4G (3,3) push:

Code: Select all

x = 10, y = 11, rule = LifeHistory
4.2C$2C.2C$2C3.C6$8.2C$7.2C$9.C!

Post Reply