From: ramsay@unixg.ubc.ca (Keith Ramsay)
Subject: Re: nano-replicator assumptions
Organization: University of British Columbia, Vancouver, B.C., Canada
Date: Mon, 7 Sep 1992 23:25:22 GMT

In article <snodgras.715628073@crash> snodgras@crash.cts.com 
(John Snodgrass) writes:
>>The machine is then instructed to manufacture a machine according to a
>>blueprint, and then copy the blueprint into a designated "blueprint
>>slot" in the other machine. The machine is then equipped with a
>>blueprint of itself (aside from the blueprint). This side-steps the
>>need for an infinite regression of blueprints.
>
>      1. If the two blueprints are the same, why does it need two? If they
>are not the same, then the machine has not copied itself. Or do I
>misunderstand?

It seems I didn't write that very clearly. Let me try to explain a
little more carefully.

First, let me emphasize that the object of this exercise is simply to
refute this supposed theoretical barrier to making a self-replicating
machine. Huge *practical* obstacles exist. But I think we can
distinguish between practical obstacles, and ones relating to some
notion that in order for a machine X to construct a machine Y, X must
be more complex than Y.

First of all, you need to have a reasonably "general purpose" machine,
one which is capable, with the appropriate instructions, of building a
very wide variety of different machines. Almost all of the difficulty
in making a self-replicating machine lies here. But I believe I can
establish the plausibility of it.

On the one hand, current technology allows us to do almost anything
via remote control which could be done in person (although less
conveniently). There are perfectly decent robot arms, for example,
with lots of freedom of movement, sensors, and so on (the problem
being, that they are difficult to control!). But for this to work,
human cleverness is required, or some form of AI. On the other hand,
there are more specialized and autonomous machines which can do
certain construction tasks in a reasonably general way. The computer
aided manufacturing people have systems which don't need very much
more than a description of the shape of a mechanical part in order to
make such a part. Both of these approaches are somewhat in the desired
direction.

Granted, that we do not yet have a machine which can take the
blueprint for another machine of a reasonably general type and build
it from scratch. The point is, however, that no discussion merely in
terms of "complexity" or anything like that suffices to show this
cannot be done. The nanotechnology super-optimists are optimistic
about the possibility, because they think that it will be possible to
get nano-manipulators to build machines in a nearly atom-by-atom way,
and also because they believe we can imitate how cells do it. I think
that they are overoptimistic about this, but again don't see any
fundamental reason why a "machine" cannot perform the type of
construction-from-template that cells do by transcribing DNA.

So suppose we have such a machine, A. It needs to be possible to give
it a blue print of itself, and have it make a copy of itself. Now, it
is still true that the combination of A and a blueprint for building A
is still a more complicated device than A, taken by itself, is, so we
haven't yet gotten past the objection. It may well be that there is no
machine no more complex than A which can make a copy of A.

The next step is to make a slightly more complex machine B, which is
very much like A. B takes a blueprint, produces the machine described
by the blueprint, and then makes a copy of the blueprint, and inserts
the copy into the machine just constructed. (We can suppose that it
finds a slot marked "put blueprint here", if one is visible, and puts
the blueprint there.) So, for example, if we were to give B a
blueprint describing a metal tray, with the words "put blueprint here"
on it, it would seek out the described kind of metal, tool it into the
right shape, (including engraving the "put blueprint here" on it),
make a copy of the blueprint, and put the copy into the tray. The
result is a tray with a blueprint for itself in it.

Now, produce a blueprint for the machine B. (It is bound to be
complicated.) Insert the blueprint into to B to get a new machine C.
Machine C operates as follows: it takes the blueprint for B, carries
out its instructions, producing another machine like B, copies the
blueprints for B, inserts them into the new machine, thus producing
another machine just like C.

In that way, one has gotten around the problem of the blueprint
needing to be as complex as the machine itself. The blueprint only
describes the machine B, which is somewhat simpler than C.

>      2. Obviously, a simple machine cannot do this. If a complex machine
>can do this, what is the complexity threshhold? 

I think the above answers this. The notion that there is some
"complexity threshold" is, I suggest, misleading, in that it suggests
that the obstacle to be overcome is in some sense "raw" complexity:

>What defines the point
>at which its complexity is sufficient to copy itself? Keep in mind that
>the more complex the machine is, the more difficult the task of copying
>itself. So where does the advantage of complexity overtake the
>disadvantage?

The advantage is able to overtake the disadvantage owing to the fact
that the complexity of describing how to build an information storage
device with a certain capacity x, and the complexity of describing how
to copy information from one such device to another, does not grow as
fast as x. And, of course, due to the fact that one can describe, by
means of data, how to build machines.

The complexity threshold is mainly due to the problems of carrying out
instructions on how to build things. How complex this is depends upon
the environment. Viruses can be comparatively simpler than bacteria,
because they rely upon having the "environment" of cells which supply
most of the tools they need to replicate. To make a device which could
replicate itself on the surface of Mars would be exceedingly
difficult: one would have to be able to instruct it on how to find and
use metal ores (or else make the machine without using any metal!) and
so on. But this is not some grand theoretical problem:

>      3. If the problem had been solved, it would be equivalent to a
>major cosmological statement, not some obscure result stuffed away in
>someone's desk somewhere.

What kind of "major cosmological statement" do you think would be
involved?

Keith Ramsay
ramsay@unixg.ubc.ca