Genetic self-assembly is a technique for building complex systems by self-assembly from a small set of genetically encoded types of components. One particularly important case is circuit design, and here we have completed the full evolution of complex circuits from scratch, focusing primarily on the example of digital multipiers.
We have demonstrated the ability of genetic self-assembly to find general scalable solutions to complex tasks such as multiplication, in contrast with earlier efforts to evolve multiplier circuits. We have analysed this ability to generalize and applied the approach to other circuit problems. The initial work was based on a rather simple self-assembly algorithm in 2D and we are keen to extend this work to stochastic 3D self-assembly algorithms.