
Von Neumann Universal Constructor - amjd
https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor
======
dwarkesh
David Deutsch, the physicist who proved that quantum computers can be Turing
complete, has recently created constructor theory:

[http://constructortheory.org/](http://constructortheory.org/)

"Constructor Theory is a new approach to formulating fundamental laws in
physics. Instead of describing the world in terms of trajectories, initial
conditions and dynamical laws, in constructor theory laws are about which
physical transformations are possible and which are impossible, and why. This
powerful switch has the potential to bring all sorts of interesting fields,
currently regarded as inherently approximative, into fundamental physics.
These include the theories of information, knowledge, thermodynamics, and
life."

~~~
DonHopkins
I love the intentional or unintentional reference to Trurl and Klapaucius, the
constructors in Stanislaw Lem's novel, Cyberiad, who grappled with many
philosophical issues like artificial intelligence, robotics, technology,
thermodynamics, life, love, romance, poetry, self replication, and the origin
of the universe.

[https://www.donhopkins.com/home/catalog/lem/Trurl.html](https://www.donhopkins.com/home/catalog/lem/Trurl.html)

[https://www.donhopkins.com/home/catalog/lem/Klapaucius.html](https://www.donhopkins.com/home/catalog/lem/Klapaucius.html)

[https://en.wikipedia.org/wiki/The_Cyberiad](https://en.wikipedia.org/wiki/The_Cyberiad)

>Trurl and Klapaucius

>Trurl and Klapaucius are brilliant (robotic) engineers, called "constructors"
(because they can construct practically anything at will), capable of almost
God-like exploits. For instance, on one occasion Trurl creates an entity
capable of extracting accurate information from the random motion of gas
particles, which he calls a "Demon of the Second Kind". He describes the
"Demon of the First Kind" as a Maxwell's demon. On another, the two
constructors re-arrange stars near their home planet in order to advertise.

>The duo are best friends and rivals. When they are not busy constructing
revolutionary mechanisms at home, they travel the universe, aiding those in
need. As the characters are firmly established as good and righteous, they
take no shame in accepting handsome rewards for their services. If rewards
were promised and not delivered, the constructors may even severely punish
those who deceived them.

[...]

>On another occasion, Trurl and Klapaucius are captured by an interstellar
"PHT" pirate. Trurl offers to build a machine capable of turning hydrogen into
gold (something he can do manually, which he demonstrates by hand, mixing up
protons and putting electrons around). However, the pirate turns out to have a
PhD and cares not for the riches, but for knowledge (and in fact points out
that gold becomes cheap if it is abundant). Trurl therefore makes a modified
Maxwell's demon for him, an entity that looks at moving particles of gas and
reads information that is, coincidentally, encoded in their random
perturbations. This way, all the information in the universe becomes easily
available. The demon prints out this information on a long paper tape, but
before the pirate realizes most of the information is completely useless
(although strictly factual) he is buried under the endless rolls of tape,
ceasing to bother anyone.

~~~
mci
See also Google's 2011 interactive doodle inspired by _The Cyberiad_ ,[1] in
particular by the _machine that could create anything starting with n_.[2]

[1] [https://www.google.com/doodles/60th-anniversary-of-
stanislaw...](https://www.google.com/doodles/60th-anniversary-of-stanislaw-
lems-first-publication)

[2] [https://english.lem.pl/works/novels/the-cyberiad/146-how-
the...](https://english.lem.pl/works/novels/the-cyberiad/146-how-the-world-
was-saved)

------
choonway
von neumann’s original papers mention that his studies on CA were an
abstraction due to the limitations of 1940’s technology. His main concern was
really automatic replication of real world physical objects.

In this respect, 3D printers offer a partial solution. Totally automated
assembly is still being worked on.

~~~
DonHopkins
Here's some stuff about that I posted in an earlier discussion, and
transcribed from his book, "Theory of Self-Reproducing Automata".

His concept of self-reproducing mutating probabilistic quantum mechanical
machine evolution is quite fascinating and terrifying at the same time (or
outside of time), potentially much more powerful and dangerous than mere
physical nanotechnology "gray goo" and universe-infesting self replicating von
Neumann probes:

Can Programming Be Liberated from the von Neumann Style? (1977) [pdf]
(thocp.net)

[https://news.ycombinator.com/item?id=21855249](https://news.ycombinator.com/item?id=21855249)

[https://news.ycombinator.com/item?id=21858465](https://news.ycombinator.com/item?id=21858465)

John von Neuman's 29 state cellular automata machine is (ironically) a
classical decidedly "non von Neumann architecture".

[https://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton](https://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton)

He wrote the book on "Theory of Self-Reproducing Automata":

[https://archive.org/details/theoryofselfrepr00vonn_0](https://archive.org/details/theoryofselfrepr00vonn_0)

He designed a 29 state cellular automata architecture to implement a universal
constructor that could reproduce itself (which he worked out on paper,
amazingly):

[https://en.wikipedia.org/wiki/Von_Neumann_universal_construc...](https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor)

He actually philosophized about three different kinds of universal
constructors at different levels of reality:

First, the purely deterministic and relatively harmless mathematical kind
referenced above, an idealized abstract 29 state cellular automata, which
could reproduce itself with a Universal Constructor, but was quite brittle,
synchronous, and intolerant of errors. These have been digitally implemented
in the real world on modern computing machinery, and they make great virtual
pets, kind of like digital tribbles, but not as cute and fuzzy.

[https://github.com/SimHacker/CAM6/blob/master/javascript/CAM...](https://github.com/SimHacker/CAM6/blob/master/javascript/CAM6.js#L4569)

Second, the physical mechanical and potentially dangerous kind, which is
robust and error tolerant enough to work in the real world (given enough
resources), and is now a popular theme in sci-fi: the self reproducing robot
swarms called "Von Neumann Probes" on the astronomical scale, or "Gray Goo" on
the nanotech scale.

[https://en.wikipedia.org/wiki/Self-
replicating_spacecraft#Vo...](https://en.wikipedia.org/wiki/Self-
replicating_spacecraft#Von_Neumann_probes)

[https://grey-goo.fandom.com/wiki/Von_Neumann_probe](https://grey-
goo.fandom.com/wiki/Von_Neumann_probe)

>The von Neumann probe, nicknamed the Goo, was a self-replicating nanomass
capable of traversing through keyholes, which are wormholes in space. The
probe was named after Hungarian-American scientist John von Neumann, who
popularized the idea of self-replicating machines.

Third, the probabilistic quantum mechanical kind, which could mutate and model
evolutionary processes, and rip holes in the space-time continuum, which he
unfortunately (or fortunately, the the sake of humanity) didn't have time to
fully explore before his tragic death.

p. 99 of "Theory of Self-Reproducing Automata":

>Von Neumann had been interested in the applications of probability theory
throughout his career; his work on the foundations of quantum mechanics and
his theory of games are examples. When he became interested in automata, it
was natural for him to apply probability theory here also. The Third Lecture
of Part I of the present work is devoted to this subject. His "Probabilistic
Logics and the Synthesis of Reliable Organisms from Unreliable Components" is
the first work on probabilistic automata, that is, automata in which the
transitions between states are probabilistic rather than deterministic.
Whenever he discussed self-reproduction, he mentioned mutations, which are
random changes of elements (cf. p. 86 above and Sec. 1.7.4.2 below). In
Section 1.1.2.1 above and Section 1.8 below he posed the problems of modeling
evolutionary processes in the framework of automata theory, of quantizing
natural selection, and of explaining how highly efficient, complex, powerful
automata can evolve from inefficient, simple, weak automata. A complete
solution to these problems would give us a probabilistic model of self-
reproduction and evolution. [9]

[9] For some related work, see J. H. Holland, "Outline for a Logical Theory of
Adaptive Systems", and "Concerning Efficient Adaptive Systems".

[https://www.deepdyve.com/lp/association-for-computing-
machin...](https://www.deepdyve.com/lp/association-for-computing-
machinery/outline-for-a-logical-theory-of-adaptive-systems-efsWyqMa1l)

[https://deepblue.lib.umich.edu/bitstream/handle/2027.42/5578...](https://deepblue.lib.umich.edu/bitstream/handle/2027.42/5578/bac4296.0001.001.pdf?sequence=5)

[https://www.worldscientific.com/worldscibooks/10.1142/10841](https://www.worldscientific.com/worldscibooks/10.1142/10841)

Ericson2314 3 months ago [-]

> Although I refer to conventional languages as "von Neumann languages" to
> take note of their origin and style, I do not, of course, blame the great
> mathematician for their complexity. In fact, some might say that I bear some
> responsibility for that problem.

From the paper. Whew.

------
raidicy
Are there any good resources that build up from no experience in CA to a
Universal Constructor?

~~~
yesenadam
I suspect there aren't. Please write the book while you learn about it, and we
can all have it. Thanks!

(I'm a strong believer in writing the books yourself that you really would
love, but don't exist.)

~~~
DonHopkins
If you don't have the time to write whole books yourself, you can just write
fictitious reviews and criticisms of books that don't actually exist, touching
on all the best parts and ignoring the rest. And nobody will be able to
contradict you!

[https://en.wikipedia.org/wiki/Stanis%C5%82aw_Lem%27s_fictiti...](https://en.wikipedia.org/wiki/Stanis%C5%82aw_Lem%27s_fictitious_criticism_of_nonexistent_books)

>Stanisław Lem's fictitious criticism of nonexistent books

>Stanisław Lem's fictitious criticism of nonexistent books may be found in his
following works: in three collections of faux reviews of fictional books: A
Perfect Vacuum (Doskonała próżnia, 1971), Provocation (Prowokacja, 1984), and
Library of 21st Century (Biblioteka XXI wieku, 1986) translated as One Human
Minute, and in Imaginary Magnitude (Wielkość Urojona, 1973), a collection of
introductions to nonexistent books.

>While reviewing nonexistent books, a modern form of pseudepigraphy, Stanisław
Lem attempted to create different fictional reviewers and authors for each of
the books. In his own words: "I tried to imitate various styles – that of a
book review, a lecture, a presentation, a speech (of a Nobel Prize laureate)
and so on". Some of the reviews are lighthearted, concentrating mostly on the
story; others, however, read more like serious, academic reviews. Some of the
reviews are parodies, or the books being reviewed are parodies or complete
impossibilities, others are quite serious and can be seen almost as drafts for
novels that Lem never got around to write. Lem wrote: "With years passing a
great impatience grew in me. It would be a hard work to convert ideas into
narration, and that was one of the main reasons I went for such cruel
abridgements of the books". Lem was not alone in passing through this kind of
crisis: examples abound of works planned by literary celebrities, but never
completed. Lem also remarked that he was eventually convinced that writing
summaries and introductions enabled him to save time on producing things of
importance, namely, his modeling experiments, compared to full-blown literary
efforts, most of which would have constituted mundane craftsmanship.

[...]

>One Minute

>The reviewed faux book is alleged to be a collection of statistical tables, a
compilation that includes everything that happens to human life on the planet
within any given 60 second period. Reviewing it, Lem expresses his fascination
with this project and points out its inherent flaw. He notes that these tables
show "far more statistical evidence of human evil (murders, rapes, starving
children) than of human decency". At the same time he remarks that it is
impossible to measure "filial or maternal love", or to "gauge the heat of
lovers' passions", or to register "those acts of kindness whose authors wished
to remain anonymous."

~~~
yesenadam
Thank you! Gee, that's such a brilliant idea. I must try it.

If Chesterton's Mr McCabe (from _On Mr. McCabe and a Divine Frivolity_ [0] in
_Heretics_ ) had never existed, it would make little difference. It's just an
excuse to say what he wants to say.

...criticism of the highest kind...treats the work of art simply as a
starting-point for a new creation. It does not confine itself...to discovering
the real intention of the artist and accepting that as final. And in this it
is right, for the meaning of any beautiful created thing is, at least, as much
in the soul of him who looks at it, as it was in his soul who wrought it. Nay,
it is rather the beholder who lends to the beautiful thing its myriad
meanings, and makes it marvellous for us, and sets it in some new relation to
the age, so that it becomes a vital portion of our lives, and a symbol of what
we pray for, or perhaps of what, having prayed for, we fear that we may
receive. – Wilde, _The Critic As Artist_

[0]
[http://gutenberg.net.au/ebooks13/1301191h.html#ch16](http://gutenberg.net.au/ebooks13/1301191h.html#ch16)

Edit: I've 'borrowed' _A Perfect Vacuum_ from archive.org, thanks! Also, I've
hardly read any Borges, but that Borges fake review of a novel which is
identical with _Don Quixote_ but totally different is one of the funniest
things I've read.

[http://www.coldbacon.com/writing/borges-
quixote.html](http://www.coldbacon.com/writing/borges-quixote.html)

------
peter_d_sherman
I would be interested in the simplest form of self-replication, that is, the
simplest automata machine, and the simplest initial set of states...

Interestingly, Phi spirals -- seem to construct themselves in nature at many
different scales, and without (apparently) running inside of an automata
machine of any sort...

I nominate Phi spirals as universal (sans apparent automata machine)
constructors...

If someone could explain what type of automata machine Phi spirals are running
in, and what this automata machine's rules are, then I think that would go a
long way to understanding the universe, but at this point in time, I cannot
determine a universal automata machine, nor its rules...

I only know that Phi spirals are automatically formed by nature, at a variety
of scales, and in a variety of mediums...

~~~
taneq
What are some examples of Phi spirals (assuming you mean golden spirals?)
outside of biology? We see them all over the natural world but off the top of
my head I can't think of any non-biological examples. A quick read of
Wikipedia points to logarithmic spirals occurring occasionally (although not
specifically golden spirals).

(Also if we're just accepting geometric shapes, I'd nominate ellipses as being
far more common, since they show up all the time in orbital mechanics.)

~~~
Retric
Spiral galaxy’s which occur due to decreasing orbital velocities (edit: in
radians) as you move from the center. Whirlpools and hurricanes are shaped by
similar rotational effects.

However, their close approximations not exactly the correct shape.

~~~
ben_w
That orbital velocities _don’t_ do that was one of the first mysteries which
led to people thinking about dark matter:

[https://en.m.wikipedia.org/wiki/Galaxy_rotation_curve#/media...](https://en.m.wikipedia.org/wiki/Galaxy_rotation_curve#/media/File%3ARotation_curve_of_spiral_galaxy_Messier_33_\(Triangulum\).png)

~~~
Retric
That’s not enough to offset the increased distances from longer orbits. So you
still get a spiral as the velocity in in radians decreases. But, it looks like
a Golden spiral because the velocities in m/s are almost constant due to dark
matter.

PS: Should have said orbital period to be more clear.

------
DonHopkins
This is one of my favorite topics and wikipedia pages! Please forgive my wall
of text, and inscrutable ascii graphics, and check out the Buckley paper for
better illustrations.

Here's some JavaScript code that implements (and describes) John von Neuman's
29 state cellular automata machine. I based it on some older "jvn" C code by
R. Nobili, U. Pesavento, and Umberto Pesavento I found on the net, but I have
rewritten it to be more symbolic and self documenting, so I could understand
it better.

What it really needs is a specialized set of rule-specific editing tools and
templates to stamp down, since it's impossibly tedious to paint anything non-
trivial with the CA painting tools that this version of CAM6 currently
supports.

[https://github.com/SimHacker/CAM6/blob/master/javascript/CAM...](https://github.com/SimHacker/CAM6/blob/master/javascript/CAM6.js#L4569)

I've tried to document what everything means and describe how it works. With
evocative function names and comments like
"pointedToByExcitedOrdinaryOrSpecial" (Return 1 if pointed by an excited
transmission state (ordinary or special), else returns 0) and
"wellFlankedByExcitedNotNextExcitedConfluent" (Return 1 if well flanked by an
excited (not next excited) confluent state, else returns 0)! ;)

For example, here are the bit sequences for constructing new cells. You can
send these sequences of bits down a wire to an arrow pointing into an empty
space, and it will construct the corresponding cell in that empty space -- the
intermediate construction states are called "Sensitized", and they huffman-
encode all the possible cells you can create. Note that you can only construct
non-excited cells. (See Buckley, page 457, The mechanisms of construction,
below.)

    
    
                    // Instructions to the jvn29 construction arm, whose tip
                    // is an arrow pointing into an unexcited state, that
                    // creates a sensitized state which evolves into other
                    // states over time, given the following excitement inputs.
    
                    constructionInstructions: {
                        OR:  '10000', // => S S0 S00 S000 OR
                        OU:  '10001', // => S S0 S00 S000 OU
                        OL:  '1001',  // => S S0 S00 OL
                        OD:  '1010',  // => S S0 S01 OD
                        SR:  '1011',  // => S S0 S01 SR
                        SU:  '1100',  // => S S1 S10 SU
                        SL:  '1101',  // => S S1 S10 SL
                        SD:  '1110',  // => S S1 S11 SD
                        C00: '1111'   // => S S1 S11 C00
                    },
    

Here is the table of all the possible cell values, symbols and names (which is
useful for an editor's user interface):

    
    
                    // Array of dicts describing cell values for jvn29.
    
                    cellStates: [
                        { symbol: 'U',    value: 0x00, name: 'Unexcited'              },
                        { symbol: 'S',    value: 0x01, name: 'Sensitized'             },
                        { symbol: 'S0',   value: 0x02, name: 'Sensitized 0'           },
                        { symbol: 'S1',   value: 0x03, name: 'Sensitized 1'           },
                        { symbol: 'S00',  value: 0x04, name: 'Sensitized 00'          },
                        { symbol: 'S01',  value: 0x05, name: 'Sensitized 01'          },
                        { symbol: 'S10',  value: 0x06, name: 'Sensitized 10'          },
                        { symbol: 'S11',  value: 0x07, name: 'Sensitized 11'          },
                        { symbol: 'S000', value: 0x08, name: 'Sensitized 000'         },
                        { symbol: 'C00',  value: 0x10, name: 'Confluent 00'           },
                        { symbol: 'C10',  value: 0x11, name: 'Confluent 10'           },
                        { symbol: 'C01',  value: 0x90, name: 'Confluent 01'           },
                        { symbol: 'C11',  value: 0x91, name: 'Confluent 11'           },
                        { symbol: 'OR',   value: 0x20, name: 'Ordinary Right'         },
                        { symbol: 'OU',   value: 0x21, name: 'Ordinary Up'            },
                        { symbol: 'OL',   value: 0x22, name: 'Ordinary Left'          },
                        { symbol: 'OD',   value: 0x23, name: 'Ordinary Down'          },
                        { symbol: 'SR',   value: 0x40, name: 'Special Right'          },
                        { symbol: 'SU',   value: 0x41, name: 'Special Up'             },
                        { symbol: 'SL',   value: 0x42, name: 'Special Left'           },
                        { symbol: 'SD',   value: 0x43, name: 'Special Down'           },
                        { symbol: 'ORX',  value: 0xa0, name: 'Ordinary Right Excited' },
                        { symbol: 'OUX',  value: 0xa1, name: 'Ordinary Up Excited'    },
                        { symbol: 'OLX',  value: 0xa2, name: 'Ordinary Left Excited'  },
                        { symbol: 'ODX',  value: 0xa3, name: 'Ordinary Down Excited'  },
                        { symbol: 'SRX',  value: 0xc0, name: 'Special Right Excited'  },
                        { symbol: 'SUX',  value: 0xc1, name: 'Special Up Excited'     },
                        { symbol: 'SLX',  value: 0xc2, name: 'Special Left Excited'   },
                        { symbol: 'SDX',  value: 0xc3, name: 'Special Down Excited'   }
                    ],
    

I wrote an earlier version in OpenLaszlo that had some custom editing tools,
but that requires Flash, and was on my old Drupal site that's not up any more.
But here is the archive.org link and description (with a screen snapshot). I
wasn't able to get the old Flash app to run though. The source code has some
interesting initial condition configurations, that I'll try explain, and are
described in more detail in a paper referenced on the Wikipedia page:

[https://web.archive.org/web/20110720235050/https://www.donho...](https://web.archive.org/web/20110720235050/https://www.donhopkins.com/drupal/node/41)

John von Neumann's 29 state Cellular Automata Implemented in OpenLaszlo

Submitted by dhopkins on Sun, 2005-09-18 04:12. Cellular Automata Live Demos

For fun, and to learn OpenLaszlo, I implemented the classic 29 state self
reproducing cellular automata, invented by John von Neumann.

The JavaScript and XML code is written with no thought to efficiency, just
conceptual clarity and convenience of implementation. It can't run a lot of
cells at once, but at least it's slow enough to watch it compute. Don't worry:
there's not space for it to reproduce!

I've configured it with several interesting initial conditions, including
several different approaches to signal crossing, and an exclusive-or gate.

It uses pie menus for editing the grid of cells.

Laszlo von Neumann Cellular Automata Demo

[https://web.archive.org/web/20120319060434/http://www.donhop...](https://web.archive.org/web/20120319060434/http://www.donhopkins.com/openlaszlo/my-
apps/vonNeumann/vonNeumann.lzx)

Laszlo von Neumann Cellular Automata Source Code in Laszlo

[https://web.archive.org/web/20120319060340/http://www.donhop...](https://web.archive.org/web/20120319060340/http://www.donhopkins.com/openlaszlo/my-
apps/vonNeumann/vonNeumann.lzx?lzt=source)

Here are some of the most interesting initial configurations: all different
ways to perform signal crossing. Signal crossing is difficult with this rule,
which doesn't directly support it, so you have to "emulate it in software"
with multi-celled machines or "organs". Here are a few different ways of
dealing with signal crossing, each with their own problems and limitations.

Buckley's paper about these gadgets is called "Signal crossing solutions in
von Neumann self-replicating cellular automata". The Wikipedia page discusses
some of it and links to the paper, but the link is broken. So here is the
paper about it on archive.org, on page 453:

[https://web.archive.org/web/20081209155223/https://uncomp.uw...](https://web.archive.org/web/20081209155223/https://uncomp.uwe.ac.uk/free-
books/automata2008reducedsize.pdf)

or (faster download):

[https://donhopkins.com/home/documents/automata2008reducedsiz...](https://donhopkins.com/home/documents/automata2008reducedsize.pdf)

The Real Time Crossing (Buckley, p. 457, The real-time crossing organ) is like
a road intersection that splits the two crossing lanes, then uses traffic
lights to give cars in each pair of lanes alternating turns to cross, and then
merges the lanes back together (since each intersection works at 50%
throughput, you need to split, use two of them, and merge -- Factorio and
Satisfactory players will get what I mean, in terms of conveyor belts,
splitters and mergers, and conveyor belt throughput).

The description of the real time crossing, "This real time crossing is not
easily constructible, but nonetheless here it is", is a reference to the fact
that you can only construct non-excited cells (you'd get electrocuted if you
tried to construct machines with the power on, so to speak -- it may be
possible to kludge it with some simple machines, but in general it's extremely
impractical if not impossible -- see Buckley p. 470).

And after you've constructed a machine in a powered-down state, then you have
to excite just the right cells at just the right time, to get the machine to
work. But that's impossible with this real time signal crossing machine! So
it's like a beautiful tiny crystal alien artifact with perfectly blinking
lights, that the laws of physics practically prohibit from ever being
constructed, but there it is.

The Real Time Crossing depends on having a certain synchronized configuration
of excited cells in it, acting as synchronized clocks or traffic lights that
start and stop all the traffic at just the right time so the cars don't
collide.

It's not actually possible for a universal constructor to construct a real
time crossing, because it can't reach in through existing cells and excite
internal cells from outside. It's essentially like a "Garden of Eden"
configuration, that had to have been constructed by the Hand of God, and can't
be copied or constructed, or used as part of a reproducible machine.
Essentially it has a "spark of life" that is beyond the ability of creatures
living in the world to ignite. Intelligent Design and DRM FTW! ;)

    
    
              <save
                name="Real Time Crossing" 
                rows="16" cols="16"
                description="This real time crossing is not easily constructible, but nonetheless here it is."
              >
        sssssw-----sbhb-
        yggggggggg-wbyb-
        hhhhhhhhhy-wbyb-
        yggggggggg-wbyb-
        ------sssw-wbyb-
        ------w----wbyb-
        ------w----wbyb-
        --ezshqaez-wbyb-
        --yty--wyt-wbyb-
        --shqshqsb-wbyb-
        ssq-wezw-z-wbybs
        --z-wyty-qswbybw
        --shqshqsy--bybw
        --ezw--wez--bybw
        --ytyqswyt--bybw
        -----w------hyhw
              </save>
    

The "Coded Channel Crossing" (Buckley, p. 460) is like two channels sharing
the same wire by using a coding system, so you have to somehow make sure
neither channel tries to send a message over that one wire at the same time
(left as an exercise for the reader ;), otherwise there will be a collision.
This is the only kind of signal crossing organ designed by von Neumann.

    
    
              <save 
                name="Coded Channel Crossing" 
                rows="8" cols="64"
                description="Coded channel crossings have interference problems, demonstrated here."
              >
        -zaaaaaaa-----qsssesqsq-----------qhshqsssqsqsqsq---------------
        -z------w-----w---w-z-z-----------w-------w-z---z---------------
        -sshhsssqsssssqsqsq-ssssssssssssqsusqhesqsq-ssssshshssssssssssq-
        --------------------------w-----z-------------------------------
        zaagagaaa-thssqsssqsqsqsq-w-----b-tsssqsqsq---------------------
        z-------w-w-------w-z---b-w-----b-w---w-z-z---------------------
        ssssssssqsqsthqsqsq-ssssshw-----ssestsq-sshhsssssssssssssssssse-
        ----------------------------------------------------------------
              </save>
    

This is the fun one, and the subject of Buckley's paper, an "Autoinitializing
Exclusive Or" organ (Buckley, p. 473 and on). You can use these to solve the
signal crossing problem, without needing the intervention of a benevolent God
to power up all your traffic lights with the right synchronization. It
actually has a "boot up" sequence: you first send it a "reset" signal, and
part of it is used to initialize all the clocks the first time it's run, then
it fires a bunch of "explosive bolts" that cut off the auto-initialization
circuitry, and start up the exclusive or gate, after all its clocks have been
initialized. It's literally self modifying code, that pokes itself after it
boots, to switch into run mode! That's why it's so big and messy, compared the
elegant but impossible to construct real time crossing.

    
    
              <save
                name="Autoinitializing Exclusive Or" 
                rows="28" cols="40"
                description="William R. Buckley's autoinitializing exclusive-or is initialized by 11111 at each input."
              >
        sstsb-sqqssssssssssssssssssssssssz--szsz
        y-z-b-wsw------------------------z--wzwz
        w-b-b-w-sqqsqsssssssqfqssqsssssz-z--wzwz
        y-z-b-qawsw----ssz--wsw--wsz---z-z--wzwz
        w-b-b-qww-----sq-sqzqqz--wqaa--z-z--wzwz
        y-z-z-w-qsq---wsqr-swwassz--w--z-z--wzwz
        w-b-z-qaw-zcqsqsqsqssqsq-ssqw--z-z--wzwz
        y-z-z-qww-zfw-zsqc-szzasqr-szssz-z--wzwz
        w-b-zsw-w-z-w-sq-szwqqw--zqaqq-z-z--wzwz
        yaa-sqz-w-q-w--sswswzsz--zsw-w-z-z--wzwz
        ------qsq-ssqsssssssqfqssqssqw-zsqz-wzwz
        zga-sqw-z-ssqsssssssqfqssqssqszsq-szwzwz
        b-y-wsz-z-wa---ssz--wsw--wsz--zwsqwzwzwz
        z-w-w-q-z--w--sq-sssqqz--wqaaazw-w-zwzwz
        b-y-w-z-z-qw--wsqr-wawassz---wzw-w-zwzwz
        z-w-w-q-qswcqsqsqsqssqsq-ssqswsw-w-zwzwz
        b-y-y-z-z--fw-zsqc-zazasqr-z---w-w-zwzwz
        z-w-y-z-z---w-sq-sqsqqw--zqa---w-w-zwzwz
        b-y-y-z-zsszw--ssw--zsz--zsw--qw-w-zwzwz
        z-w-y-z-sq-sqsssssssqfqssqssssww-w-zwzwz
        hstsy-z--sqsqsssssssqfqssqsssssw-w-zwzwz
        ------z-----z--ssz--wsw--wsz-----w-zwzwz
        ------z-----z-sq-sszqqz--wqaa----w-zwzwz
        ------z----fz-wsqr-swwasqc--w----w-zwzwz
        ------z----rqsqsqsqssqsq-sssw----w-zwzwz
        ------z----------------ssw-------w-zwzwz
        ------sssssssssssssssssssssssssssw-zwzwz
        -----------------------------------swsww
              </save>
    

Buckley, p. 473 ("rtco" means "Real Time Crossing Organ"):

>Auto-initialisation provides much more capability than that used in the rtco,
the examples of clock synchronisation and trivial reconstruction being the
simplest applications. Mechanisms used are signal sampling, portal closure,
clock synchronisation, and staged initialisation. Our implementation uses
three separate start signals; a staged initialisation. Each clock of the rtco
has a separate auto-initialisation circuit. Signal to a stage is intercepted
from a suitable path of channel A, by an interposing confluent state, or
portal, and directed to the pulser of the adjacent auto-initialisation circuit
by an auxiliary path. Pulser output is directed to clock input; and to a
special transmission path constructor, which is addressed shortly. Clock
signal for the entire organ is suitably synchronised, as initialisation of the
first clock pair occurs simultaneously upon input of the first start pulse.
All subsequent initialisations occur given knowledge of timing for the first
two clocks. In this way, synchronisation becomes a trivial concern. Figure 17
shows the auto-initialisable rtco.

>Fig. 17. The rtco, configured for auto-initialisation. The minimum start
signal for this organ is 10^13 10^32 1, which is applied once to Ai. The organ
begins crossing signal 30 clock ticks later. This organ can be started at the
time of construction; there is no start signal propagation. All signal
crossing paths impose equal delay. The organ has 18×18 dimensions. This
configuration can be marginally reduced in area.

