  Neural networks and evolutionary computation have a rich intertwined history.
They most commonly appear together when an evolutionary algorithm optimises the
parameters and topology of a neural network for reinforcement learning
problems, or when a neural network is applied as a surrogate fitness function
to aid the evolutionary optimisation of expensive fitness functions. In this
paper we take a different approach, asking the question of whether a neural
network can be used to provide a mutation distribution for an evolutionary
algorithm, and what advantages this approach may offer? Two modern neural
network models are investigated, a Denoising Autoencoder modified to produce
stochastic outputs and the Neural Autoregressive Distribution Estimator.
Results show that the neural network approach to learning genotypes is able to
solve many difficult discrete problems, such as MaxSat and HIFF, and regularly
outperforms other evolutionary techniques.
