C# (CSharp) HyperNEATBoxes Namespace

Nested Namespaces

HyperNEATBoxes.Properties

Classes

Name Description
BoxTrialCase One case in the boxes score. Position the boxes at random locations.
BoxesScore * The objective function for the boxes experiment. This score is described as follows in Kenneth O. Stanley's "A Hypercube-Based Indirect Encoding for Evolving Large-Scale Neural Networks" . The field coordinates range between [-1, 1] in the x and y dimensions. However, the resolution within this range, i.e. the node density, can be varied. During evolution, the resolution of each field is fixed at 11 x 11. Thus the connective CPPN must learn to correctly connect a visual field of 121 inputs to a target field of 121 outputs, a total of 14,641 potential connection strengths. During evolution, each individual in the population is evaluated for its ability to find the center of the bigger object. If the connectivity is not highly accurate, it is likely the substrate will often incorrectly choose the small object over the large one. Each individual evaluation thus includes 75 trials, where each trial places the two objects at different locations. The trials are organized as follows. The small object appears at 25 uniformly distributed locations such that it is always completely within the visual field. For each of these 25 locations, the larger object is placed five units to the right, down, and diagonally, once per trial. The large object wraps around to the other side of the field when it hits the border. If the larger object is not completely within the visual field, it is moved the smallest distance possible that places it fully in view. Because of wrapping, this method of evaluation tests cases where the small object is on all possible sides of the large object. Thus many relative positions (though not all) are tested for a total number of 75 trials on the 11 by 11 substrate for each evaluation during evolution. Within each trial, the substrate is activated over the entire visual field. The unit with the highest activation in the target field is interpreted as the substrate's selection. Fitness is calculated from the sum of the squared distances between the target and the point of highest activation over all 75 trials. This fitness function rewards generalization and provides a smooth gradient for solutions that are close but not perfect.
DisplayBoxes Interaction logic for DisplayBoxes.xaml
IntPair
MainWindow Interaction logic for MainWindow.xaml
TrialEvaluation