I’ve been reading about designing electronics using evolutionary techniques.
Each design can be boiled down to a bit string. You build a large number of circuits, each based on a different string. Choose the ones which best fit your design spec (fitness function) and recombine their parts to create a new set of bitstrings…Eventually, the behavioural features you want, start to appear.
The trouble is that, although this can yield great performance, using small numbers of components, just as with neural networks you often can’t tell how the resulting systems are working. Fine for a disposable mobile phone, not so good in a jet engine control circuit.
Today’s invention is the inclusion in the fitness function for an electronic design, of some measure of its “understandability”…or at least simplicity of operation. Each design would have an associated complexity (eg algorithmic complexity) represented in its bitstring. Minimising this would contribute to the overall fitness of a given design.