Re: design complexity of assemblers (was: Ramez Naam: redesigning children)

From: Anders Sandberg (asa@nada.kth.se)
Date: Wed Nov 27 2002 - 15:04:24 MST


On Tue, Nov 26, 2002 at 07:26:43PM -0800, Ramez Naam wrote:
>
> That having been said, modeling the behavior of the swarm to build the
> car is in and of itself a /second/ daunting design problem, one that
> is also far beyond our current understanding. And again, I feel that
> no one has provided a plausible mathematical analysis of just how
> complex this problem is.

Yes. I hope that I will be able to help solve it, this kind of
multiagent organization problem is just what I like.

At present the understanding of swarm systems is just beginning to
pick up - we know examples of very simple rules producing complex
behaviors and building interesting structures in alife simulations
(usually based on insect analogies). There is also the emerging
field of self-assembly and collective behavior in robotics. None of
these are really good for mathematical analysis, that remains to be
created.

> Extraordinary claims require extraordinary evidence. So if someone
> says to me that we will be able to write software that effectively
> manages swarms of billions (trillions? quadrillions?) of assemblers
> from the /bottom up/ and directs them to build things like cars, then
> I would like some deep analysis to back that up. I appreciate the
> kind of qualitative thinking you're doing here, and much of it seems
> plausible to me, but it's not really rigorous enough to be convincing.

Exactly. On the other hand, would you believe that we can write
software that can organize trillions of bits into a coherent whole?
After all, that is the miracle that is going on on every desktop
computer system every day, and they don't crash *all* the time :-)

I think building a "proof" of this kind of claim would be along the
lines of demonstrating that a certain set of devices could
construct another set of devices with probability 1 (or some other
very high probability) in a certain environment. Then devices of
that set could construct (possibly with devices of the first set)
devices of a third set, and so on. In the final set there would be
a car.

Working backwards to build a simple proof, one could perhaps have
the penultimate set be the ordinary parts of the car as well as the
assembly system used to build it. Most of these parts are simple
bulk materials shaped in certain ways, while the assembly system
needs to be assembled from similar parts. So the N-2 set would
consist of devices making mainly metal parts of predetermined
shapes and a device to assemble some of them into a larger and more
flexible part-assembler. The N-3 set would consist of some
lamination device (say) building metal parts layer after layer;
quite possibly it could also be used to put together the simple
pre-part assembler. The N-4 set would consist of the devices needed
for the lamination device; now we are getting near what might be
done using an array of molecular assemblers. I think a careful
proof along these lines is entirely feasible for a gang of
engineers a rainy afternoon; there is a lot of trickery in how to
transport around parts, but it all seem to fit into the rigid
conveyor-belt-and-robots paradigm of modern car factories. None of
the weird and wonderful swarms we so dearly love :-)

[ Probably swarms are better for flexible manufacturing of things
that have to constantly adapt and interact with their surroundings,
repair themselves and exhibit complex structure on many scales. The
factory paradigm only works when everything is modular - good for
cars, but bad for a neural interface. ]

I think analysis will come, but the field has to mature for some
time. Once a parts assembly scheme like above has been sketched, we
have the top-down description of assembly (with some really fiddly
bits like assembly robot programs which already exist but are in
themselves complex). The real fuzzy part where the important work
remains to be done is the interface between molecular assembler arm
movements and the creation of molecular part, nanobot agents and
the lowest level of parts. This is where alife, self-assembly,
amorphous computing and collective robotics really has to be
advanced.

> Indeed. I spent the last several years of my life managing the
> development of software projects with millions of lines of code -
> projects that consumed thousands of man-years of development and
> testing time. My experience in that field is that humans are
> extremely bad at producing software that behaves reliably and
> predictably. No software engineering methodology that I have ever
> encountered has made more than a small dent in that belief. And the
> command and control problems of nanotech dwarf any software
> development problem mankind has ever undertaken.

Yes. So maybe a worthwhile issue is to find the paradigm enabling
that issue to be solved - or rather, to find better ways of
*searching* for complexity management.

-- 
-----------------------------------------------------------------------
Anders Sandberg                                      Towards Ascension!
asa@nada.kth.se                            http://www.nada.kth.se/~asa/
GCS/M/S/O d++ -p+ c++++ !l u+ e++ m++ s+/+ n--- h+/* f+ g+ w++ t+ r+ !y


This archive was generated by hypermail 2.1.5 : Wed Jan 15 2003 - 17:58:27 MST