Amorphous need not be Autonomous

Philip J. Kuekes
HP Labs

True molecular scale electronics offers an ideal match with amorphous computing. The massive numbers of components that will be available when we create molecular scale electronics is a perfect substrate for amorphous computing. The intrinsic strategies that we are using to create molecular scale electronics are very similar to those applied at a higher level of organization to construct amorphous computers.

The essential strategy we use to construct a molecular based computer is to let chemistry create very simple thermodynamically assembled devices that are very simple in structure. We then take these thermodynamically assembled devices and essentially train them to become complex programmed machines with a high degree of structure. The structure is downloaded after the device is assembled. The essence of doing this is to have a sufficiently fine-grained structure with configuration bits that define the connectivity of that structure. This requires large numbers of molecular scale configuration bits and wires. The fine granularity gives us considerable defect tolerance in the presence of a large number of configuration bits. If a part is broken and we can find that it is broken, then we have enough connectivity and enough choices for routing that we can in fact route around it.

But despite having an apparently self-organizing system we are deliberately staying away from models of biology. Our model, "I get by with a little help from my friends", is a model where we create a simple structure, which does not have the intelligence to find and fix its defects nor the intelligence to self organize itself. We have doctors and tutors. The molecular electronics machine needs only enough intelligence to be able to report information to the outside world. An outside rather conventional computer, the doctor, then diagnosis and treats the patient by down loading configuration bits. Similarly, we construct these machines, not by self-assembly, but by downloading a carefully computed set of configuration bits, which place and route the machine.

Such algorithms may be even better in the long run than those discovered by evolution. To some extent evolution finds itself in a cul de sac, having invented a mechanism which always produces large complex organisms from a single cell. Life is stuck with that model. All the information needed to create the organism has to be packed into that one cell. We need not be constrained to such a model in constructing amorphous computers. Amorphous machines need not be autonomous. The interesting optimization problem that results from taking advantage of external computers leads to the question: How does the amorphous computer grow up? How does it go from dependence to autonomy? Our defect tolerant molecular electronics takes advantage of reconfiguration by first creating special purpose computer to find defects, and then reconfiguring to make the end users computer. Having found the defects, we could create a special purpose machine to find the connectivity of the amorphous computer. We do not have to do this with the machines to be used by the final application. We can later reconfigure to solve the user's problem.

The problem is that we have a conventional computer teacher, a relatively low bandwidth link, and an initially stupid amorphous computer student. Given that the bandwidth along the link is small, what is the best strategy for training the student? How do we rapidly get the student to a point where it consists of local machines which are sufficiently powerful to help in their own education. I think this is one of the most interesting research opportunities in amorphous computing.