  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.
