CS 152: NEURAL NETWORKS
Evolving a Sigma-Pi Network as a Network Simulator
Justin Basilico

[ Main | Problem statement | Approach | Results | References | Code directory | Presentation ]

CODE

The code for the project can be downloaded as a .zip file that contains all the code or each file can be downloaded individually from the links below:

code.zip This is a zip file that contains all of the code and data files for the project.
readme.txt This is the readme file that explains how to run the program.
ActivationFunction.java This file contains an interface that describes activation functions.
BinaryChromosome.java This file contains a class that implements a Chromosome of binary values.
Chromosome.java This file contains an interface that describes chromosomes.
DatasetCreator.java This file contains a program for creating datasets for the program.
DatasetReader.java This file contains code for reading in datasets.
DoubleArrayEncoder.java This file contains a class that UnitEncoder encodes arrays of doubles by copying them into the input units.
FeedForwardNetwork.java This file contains an abstract class that implements common functionality among feed-forward networks.
FitnessFunction.java This file contains an interface that describes a fitness function.
Genome.java This file contains a class that keeps a Chromosome along with its fitness.
InputOutputPair.java This file contains a class that a simple NetworkInput that keeps a pair of input and output Objects.
LinearFunction.java This file contains a class that is a linear activation function.
NetworkEvolver.java This file contains the main program for evolving networks.
NetworkInput.java This file contains an interface for inputs into a network.
NetworkTester.java This file contains a program for testing the performance of a FeedForwardNetwork on a dataset.
NeuralNetwork.java This file contains an abstract class that implements the common functionality among neural networks.
SigmaPiChromosome.java This file contains a class that is a Chromosome that encodes a SigmaPiNetwork.
SigmaPiFitness.java This file contains a class that implements a fitness function for evaluating SigmaPiChromosomes.
SigmaPiNetwork.java This file contains a class that implements a sigma-pi network.
SigmoidFunction.java This file contains a class that is a sigmoid activation function.
UnitEncoder.java This file contains an abtract class that implements the common functionality among encoders for the input and target output for a network.
Utilities.java This file contains a class that has a lot of utility functions.
experiment_1.txt This is the evolution testing set for experiment 1.
experiment_1_test.txt This is the other testing set for experiment 1.
experiment_2.txt This is the evolution testing set for experiment 2.
experiment_2_test.txt This is the other testing set for experiment 2.
experiment_3.txt This is the evolution testing set for experiment 3.
experiment_3_test.txt This is the other testing set for experiment 3.


[ Main | Problem statement | Approach | Results | References | Code directory | Presentation ]

This file is located at
http://www.cs.hmc.edu/~jbasilic/cs152/project/code.html