[extropy-chat] Self replicating computer programs ?

Emlyn O'regan oregan.emlyn at healthsolve.com.au
Thu Nov 13 22:41:39 UTC 2003


> -----Original Message-----
> From: Brett Paatsch [mailto:bpaatsch at bigpond.net.au]
> Sent: Thursday, 13 November 2003 12:55 PM
> To: ExI chat list
> Subject: Re: [extropy-chat] Self replicating computer programs ?
> 
> 
> 
> Emlyn O'regan wrote:
> 
> > > > I don't know why that would be a requirement for anything;
> > > > someone always needs to press the "go" button, if that's 
> > > > what you mean.
> > > > 
> > > > What about the various viruses & worms? Don't these 
> > > > count?
> > > 
> > > Seems to me that the notion that self-replication programs
> > > are the existence proof for the feasibility of self-replicating
> > > molecular assemblers and for artificial intelligence is suspect
> > > if self-replicating programs don't in fact exist. 
> > 
> > ok
> > 
> > > 
> > > Are viruses and worms good existence proofs of the 
> > > feasibility of either artificial intelligence or self-replicating
> > > nano-assemblers?  I don't think so.  This doesn't mean
> > > that artificial intelligence or assemblers are impossible like
> > > perpetual motion machines. It just makes me question the
> > > utility of viruses and worms and other software as a case
> > > for AI and for nano-assembler feasibility. 
> > 
> > Wait, you've shifted ground here. There's no doubt that viruses
> > and worms are self replicating. They definitely make copies of
> > themselves, in entirety. That's self replication. They don't need
> > to be intelligent to behave like this, and I didn't think that was
> > the issue.
> > 
> > > 
> > > Perhaps we don't need truly fully "self-replicating" at all.
> > > 
> > > Regards,
> > > Brett
> > > 
> > 
> > It depends what you mean by "truly fully". I don't think MNT
> > is a discontinuity without self replication. But as others have
> > said, the kind of stuff we posit MNT being able to make 
> > should trivially include assemblers themselves, thus we get
> > self replication for free (just as we do with computer programs).
> 
> I think I see what's going on.  I was questioning how 
> "self-replicating" a thing is if its design spec requires both an 
> external "go" event (as you said) and expectations on feedstock 
> availability, that it cannot satisfy or influence but can 
> only expect.  
> 
> Viruses and worms have someone launch them in the first place
> (as you note) and they are constrained in the sense that they
> cannot replicate without available space in which to do it. 
> Available memory, software and hardware on which to run the
> software etc.
> 
> I was thinking about the concerns raised by the folks writing in 
> New Atlantis (referred to in one of Greg Burch's recent posts)
> who seem to see self-replication in the case of nano-machines
> and the grey goo scenario as something that happens without 
> constraint. In fact self-replication seems to be never replication
> without *some* environmental constraints.
> 
> The "self-replication" as an engineering specification is less
> demanding then the specification to have to also forage for 
> substrate and start itself off as well. And from a political (safety?)
> standpoint because every interesting-to-a-designer (even a malicious
> designer) device must do something besides just replicate in order
> for the designer to have bothered designing it, it seems that 
> the self-
> replicating system cannot be a *very* closed and truly fully 
> self-replicating system at all. There must be extraneous data or
> environmental sampling by the system seeking to replicate itself
> periodically as instructed and seeking to do other work as well
> as was its designers intent in making it.  
> 
> Making a self-replicating nanosystem that could forage for 
> its own foodstock AND that would be of interest to a designer
> (as non-threatening to the designer) seems very non-trivial. I guess
> I was hoping it might be a contradiction in design terms but I don't
> see that it necessarily is.  
> 
> That was what I had in mind with the truly fully self-replicating 
> comment anyway.
> 
> Regards,
> Brett

Fair enough approach, although I'd say foraging for foodstock isn't anything
to do with self replication. 

As to foraging, I think you'll find that current worms actually do forage in
a very simple way; they just replicate to everywhere they can find, and
those that land in "food" (ie: enough disk space, memory) plus a non-hostile
environment (not zapped by a virus checker) get to continue the process.
It's like a naive floodfill alorithm...

floodfill(x,y, basecolour, newcolour)
begin
	if colouratxy(x, y) = basecolour then
	begin
		Draw(x, y, newcolour);
		floodfill(x-1, y);
		floodfill(x+1, y);
		floodfill(x, y-1);
		floodfill(x, y+1);
	end;
end;

That's foraging, in a very rudimentary, darwinian kind of way. So grey goo
is like some current worms that cripple the net by replicating everywhere
all at once and saturating all bandwidth, except it's on the physical
substrate (not nice at all!).

The question with the floodfill type approach is whether all the bits of
available substrate are joined up. If not, the replicator needs a way to hop
from one foodstock clump to the next, which need not be too clever. For
example, a nanobot without foodstock or one that detects a lack of
continuing supply (ie: edge detection) could jump (crawl) in a random
direction (probably "out"; if it has edge detection it might be able to
determine "out" reliably. Random jumping would also be fine; only one needs
to find the next stock.

That jump could be a crawl, or screwwise-movement through air (is that
possible) or whatever. Whatever was used, maximum range would determine the
maximum distance leapfrogable between one feedstock clump and the next.

Actually, if you were clever you might be able to make large groups of bots
that have run out of feedstock able to use each other for energy in some
distributed manner, so that a group could head out in some direction,
feeding on itself and dwindling down, but enabling the last bot to reach a
much larger maximum range.

As to being non-threatening to the designer, that's far more difficult. I
bet plenty of virus authors have killed their own systems in the process of
development. I also note that people still write the things, and have been
doing so, in increasing numbers, for ages. To achieve the non-threatening to
self quality, you can either design it into the bots (probably pretty
tough), or else seperately build shields for all the things you want to
protect (probably a lot easier).

Back to your point about foraging, it's probably true that the feedstock
required for a nano-replicator is far more complex than that for a software
worm or virus (given that the latter is in a substrate specifically designed
for cost free, error free copying). But it's certainly not impossible; see
current (wetware) viruses, bacteria, etc for proofs of concept.

Emlyn




More information about the extropy-chat mailing list