Adaptive Programming of Unconventional Nano-Architectures
  Novel assembly processes for nanocircuits could present compelling alternatives to the detailed design and placement currently used for computers. The resulting architectures however may not be programmable by standard means. In this paper, nanocomputers with unconventional architectures are programmed using adaptive methods. The internals of the device are treated as a "black box" and programming is achieved by manipulating "control voltages". Learning algorithms are used to set the controls. As examples, logic gates and simple arithmetic circuits are implemented. Additionally, similar methods allow for reconfiguration of the devices, and makes them resistant to certain kinds of faults. 
John W. Lawson and David H. Wolpert