Evolution in Materio: Exploiting the Physics of Materials for   Computation
  We describe several techniques for using bulk matter for special purpose computation. In each case it is necessary to use an evolutionary algorithm to program the substrate on which the computation is to take place. In addition, the computation comes about as a result of nearest neighbour interactions at the nano- micro- and meso-scale. In our first example we describe evolving a saw-tooth oscillator in a CMOS substrate. In the second example we demonstrate the evolution of a tone discriminator by exploiting the physics of liquid crystals. In the third example we outline using a simulated magnetic quantum dot array and an evolutionary algorithm to develop a pattern matching circuit. Another example we describe exploits the micro-scale physics of charge density waves in crystal lattices. We show that vastly different resistance values can be achieved and controlled in local regions to essentially construct a programmable array of coupled micro-scale quasiperiodic oscillators. Lastly we show an example where evolutionary algorithms could be used to control density modulations, and therefore refractive index modulations, in a fluid for optical computing. 
Simon L. Harding, Julian F. Miller and Edward A. Rietman