
The game of life emulated in the game of life - koide
http://www.jwz.org/blog/2012/05/turtles-all-the-way-down-or-gliders-or-glider-turtles/
======
huskyr
_The presence or absence of the eater indicates whether the cell should be on
in the next meta-generation. The state of the eater is read by the collision
of two antiparallel LWSSes, which radiates two antiparallel gliders (not
unlike an electron-positron reaction in a PET scanner). These gliders then
collide into beehives, which are restored by a passing LWSS in Brice's elegant
honeybit reaction._

Reading Game of Life descriptions feels like reading papers about quantum
physics :)

~~~
maushu
_Reading Game of Life descriptions feels like reading papers about quantum
physics :)_

Which creates some disturbing ideas about _our_ reality.

~~~
lukifer
When discussing the idea that our universe is simulated, often the assumption
is that it's an experiment by aliens or somesuch. But recently I've started to
wonder if our parent universe is nearly identical to our own, and we are one
of millions of virtual Earths used for political and economic predictions,
because if (when) we could, that's exactly what we would do.

~~~
geoffschmidt
If true, this has an interesting implication - if our parent universe bothers
to do it, it probably means they get useful information from it. That means
that the recursion eventually terminates, that eventually in some great great
grandchild universe they are able to produce the seed of the answer to
whatever the original question was, rather than start another simulation.

~~~
anateus
My intuition is that the recursion shouldn't hurt getting useful results, even
if the simulation was allowed to proceed past the point where such a
simulation was developed (which they may not have), in a manner akin to the
resolution of Zeno's Paradox. Though there's likely a bound on how many layers
deep we can go, but my quantum information theory isn't what it used to be so
I have to hand wave my conjectures.

~~~
philh
> Though there's likely a bound on how many layers deep we can go

Yes. The universe only has so much computing power, and any universe we
simulate will have less.

~~~
pirateking
Does this depend on the universe having a finite amount of mass or what?

~~~
xyzzyz
<http://en.wikipedia.org/wiki/Bekenstein_bound>

~~~
pirateking
Thanks. Any recommended books for a soft introduction to these concepts?

~~~
anateus
Programming the Universe by Seth Lloyd (physics professor at MIT who likes to
call himself a "quantum mechanic").

Here's a relevant paper by Lloyd titled "Ultimate physical limits to
computation": <http://arxiv.org/abs/quant-ph/9908043v3>

------
jamesrcole
I think GoL unit cells <http://www.conwaylife.com/wiki/Unit_cell> like this
demonstrate an important point. That there's certain limitations to our
knowledge of reality.

Imagine an intelligent being in a GoL board, made of a huge pattern of cells
(just like we're made of a huge number of atoms).

Even though when we look at a GoL board, we know it's made up of cells and
that everything operates according to a fixed number of rules, this
intelligent being wouldn't just be able to know this. It's perceptual system
would be made of these elements (perhaps it somehow uses spaceships to find
out about what is out there). Remember that you can't just "see" reality - you
need inputs and to infer what's out there on the basis of them. The sort of
view of its reality it could infer would be much more coarsely grained than at
the level of individual cells, just as our unaided view of reality is much
more coarsely grained than the level of individual atoms.

That intelligent GoL being could observe the way things behave and, on the
basis of this, theorise the GoL rules - that everything was a bunch of cells,
and that if there's an empty cell and it has three neighbours then that cell
will be 'on' in the next moment, and so forth.

And if it existed in a 'standard' Game of Life board, it would have theorised
correctly. But if it lived in a Game of Life board where each of the cells it
has posited is actually one of these unit cells like in the linked page, then
there would be a deeper reality than it realises (and of course there could be
'deeper levels' within that).

There's no way that GoL being could tell.

~~~
jerf
Generalized: There's no way to know which Turing Complete substrate we are
"truly" running on. We can examine the parameters of our system and
hypothesize which rules are the most parsimonious to produce the system we
live in in the Occam's Razor sense, but we can't prove it.

~~~
d2vid
How about triggering a buffer overflow? Assuming the Turing Complete substrate
doesn't have infinite memory, maybe we can break out ;)

~~~
jerf
The idea has been explored in "the literature", which in this case is a
_really_ fancy-pants way of saying "science fiction". In the general case,
since we can't figure out what the consequences of a crash are, I don't think
I'd recommend it, but if we can get specifics, who knows?

One easily-linked example: <http://lesswrong.com/lw/qk/that_alien_message/>

------
dllthomas
It is completely unsurprising that this is possible - GoL is turing complete
and obviously we can run GoL on turing equivalent systems.

It is really awesome that someone was able to do the attendant engineering
work.

------
espinchi
I'll go get the mop to clean up the pieces of my brain that are now all over
the floor.

After spending some time before reading up on the Game of Life, I'm amazed by
this meta implementation.

By the way, why not go on and on recursively?

~~~
rauljara
According to the wikipedia
link(<http://www.conwaylife.com/wiki/OTCA_metapixel>), each meta cell has
64691 actual cells. So to do a 100x100 grid once is 646,910,000 bits, or about
77 mb of storage at one bit per cell[1]. To do a 100x100 grid recursively just
once would be 4.75 _peta_ -bytes. Each cell would also have to be touched at
least once per frame, so without even getting into drawing the damn thing
we're talking about super computer levels of processing power.

[1] Unless you cheat by taking advantage of the fact that most of the cells
are just repeats of each other. But cheating doesn't seem anywhere near as
awesome.

edit--- That was actually a gross underestimation. The bounding box on the
meta pixels is 4235364 cells, or about 65 times as many I said. So it's about
4.9 GB to do a 100x100 grid without any recursion. It's 643 zetabytes (2^70)
to do it recursively once. It kind of makes me think that whoever did the
video might have cheated even for that small animation.

~~~
raganwald
"Cheating" by taking advantage of repetition is exactly how Bill Gosper's
famous "HashLife" implementation handles really huge universes.

Here's my implementation in CoffeeScript, written in the "Williams Style:"

<http://recursiveuniver.se>

~~~
rauljara
Yeah, I realized as I was typing it out that there must be "cheating" going
on. After all, 99% of computer science is finding ways to "cheat".

~~~
phillmv
Wherein cheating is a fun word for optimizing.

------
rubidium
Simply amazing. I hadn't heard about "Life enthusiasts" until reading the
linked articles in the post. The OTCA metapixel
(<http://www.conwaylife.com/wiki/OTCA_metapixel>) is what allows this to work.

I bet Dwarf Fortress and Life enthusiasts would get along.

------
dexen
Regarding the movie -- to show the 3rd level just as well, camera should pan
out to include the programmer ;-)

------
TheEzEzz
It should be possible to make a closed loop video. When you zoom out to the
full meta level it is exactly the same as the initial frame of the movie. Then
the whole thing can be looped seamless forever, as you zoom out to meta-meta-
meta levels.

------
leeoniya
Yo Dawg! But more seriously, is that carefully arranged structure required for
it to work as shown? It seems a slight variation would cause it to evolve into
disarray.

~~~
koide
Of course it has to be precise to the cell.

The basic building block is the OTCA Metapixel
<http://www.conwaylife.com/wiki/OTCA_metapixel>

~~~
smackfu
Yeah, add one pixel in the wrong place and the thing would implode.

------
po
Also interesting to nerds like me is that the annoying audio in the video is a
seemingly always-increasing tone called a Shepard Tone:

<http://en.wikipedia.org/wiki/Shepard_tone>

 _edit:_ …and now reading that I've stumbled across the Tritone paradox which
I wasn't familiar with and is equally cool.

<http://en.wikipedia.org/wiki/Tritone_paradox>
<http://deutsch.ucsd.edu/psychology/pages.php?i=206>

------
danielatc
There even is a 3D version of the SmoothLife algorithm out there:
<http://www.youtube.com/watch?v=bxaOnOVGepI>

Very very cool stuff!

~~~
jmaygarden
Interesting! It reminds me a little bit of a lava lamp.

------
vastinfest
Nah.. I better wait for the game of life emulated in the game of life emulated
in the game of life..

Sorry.. I was forced at a gunpoint to do that..

~~~
bockris
At which level do you mean this game?
<http://en.wikipedia.org/wiki/Life_(board_game)>

;-)

------
dchichkov
The size of the field, is it fixed or growing? I guess, if it is fixed, this
implementation still needs some work...

Either way, I think that Turing Machine with infinitely growing stacks [see
<http://rendell-attic.org/gol/fullutm/index.htm>] is a way cooler.

------
unabridged
My favorite thing to do with metacells is to destroy a small part of one of
them and watch the chaos. Digital cancer.

~~~
obsession
This was surprisingly fun to do. Adding just one cell in the right place
destroyed the whole metagame.

------
sakai
Bizarre / incredible timing. I just created an interactive D3.js
implementation of Conway's Game of Life yesterday:
<http://boydgreenfield.com/conwayjs/>

Would love to hear peoples' thoughts...

(And sorry for the promotion)

~~~
zevyoura
Nice job. I think some good next steps would be speed controls and the ability
to draw/erase by clicking and dragging.

~~~
sakai
Indeed. Definitely on the list. (And thanks!).

------
k00pa
That background sound is annoying...

~~~
boredguy8
It's the Shepard–Risset glissando, for what it's worth:
<http://en.wikipedia.org/wiki/Shepard_tone>

------
lelf
<http://www.youtube.com/watch?v=D6aP9S9rEQk> — all the way down

------
shocks
Save yourself and mute the video.

------
jared314
If you also implemented it on other GOL variants (pentagonal, hexagonal,
multicolored) it would be a virtual machine.

Makes me want to build a compiler back-end for one of the GOL turing machines.

------
joezydeco
I'm gonna wake up and get flushed out a sewer pipe, aren't I?

------
eranation
Here is the video that inspired this one:
<http://www.youtube.com/watch?v=QtJ77qsLrpw>

------
Cbasedlifeform
Amazing... I'm old enough (sigh) to remember reading about Life in a Martin
Gardner column 40 years ago and playing it on a piece of graph paper.

------
digeridoo
I never quite get the excitement over game of life (is emergent behaviour
really that surprising?), but this is extremely impressive.

------
pyrotechnick
<http://golly.sourceforge.net/>

