Spiking neural networks (SNNs) have drawn considerable excitement because of their computational
properties, believed to be superior to conventional von Neumann machines, and sharing properties
with living brains. Yet progress building these systems has been limited because we lack a design
methodology. We present a gene-driven network growth algorithm that enables a genetic algorithm
(evolutionary computation) to generate and test SNNs. The genome for this algorithm grows O(n)
where n is the number of neurons; n is also evolved. The genome not only specifies the network
topology, but all its parameters as well. Experiments show the algorithm producing SNNs that
effectively produce a robust spike bursting behavior given tonic inputs, an application suitable for
central pattern generators. Even though evolution did not include perturbations of the input spike
trains, the evolved networks showed remarkable robustness to such perturbations. In addition, the
output spike patterns retain evidence of the specific perturbation of the inputs, a feature that could be
exploited by network additions that could use this information for refined decision making if required.
On a second task, a sequence detector, a discriminating design was found that might be considered an
example of “unintelligent design”; extra non-functional neurons were included that, while inefficient,
did not hamper its proper functioning.