Neural Networks

10 points.

The purpose of this project is to get exposure to one sort of "agent", the neural net. The task here is to evolve a neural net that can solve the encoder/decoder problem - encode eight inputs into a three bit representation, and then decode that represenation to the outputs. See problem 2.10 in the textbook.

  1. Decide on a genetic encoding for a neural network. The encoding can be thought of as the network's program.

  2. Create a simulator function for the neural net. It should take a set of inputs and return a set of outputs.

  3. Create a fitness function that tests the neural net against the encoder/decoder problem.

Extra Credit - Create a generalized neural network genome class. Include a custom mutator and crossover function, and compare them to the built-in functions. Your class need only handle simple cases of neural nets, see me for more details. (10 points.)

Files for the project are available here.