Skip to content

Instantly share code, notes, and snippets.

@zeryx
Created February 4, 2014 22:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeryx/8813273 to your computer and use it in GitHub Desktop.
Save zeryx/8813273 to your computer and use it in GitHub Desktop.
/*
* File: ClassDefinitions.h
* Author: James
*
* Created on February 4, 2014, 12:50 PM
*/
#ifndef CLASSDEF_H
#define CLASSDEF_H
#include "structs.h"
class Dash_Board{
private:
typedef boost::multi_array<Training_Data, 1> IO_array;
static void TrainingDataInitializer();
static void NeuralNetworkFab();
static void TrainingRegimenDesign();
public:
static IO_array Input;
static IO_array Output;
static Network_Parameters NN;
static Probability prob;
virtual ~Dash_Board()=0;
};
class Neural_Network: public Dash_Board{
private:
typedef boost::multi_array<Weights, 2> weight_array;
static void CreateWeights();
static void NNDesign();
static void MainLoop();
static double ActivationFunction();
public:
static weight_array current;
virtual ~Dash_Board()=0;
};
class Genetics : public Neural_Network{
private:
typedef boost::multi_array<Weights, 1> weight_array;
static void MainLoop();
static void FitnessNormalization();
static void Sort();
static void ParentSelection();
static void Reproduction();
static void Mutation();
public:
static weight_array best_pop;
virtual ~Genetics()=0;
};
class Random
{
public:
static double RNGNormalDistribution(double standard_deviation);
static bool BooleanRandom(double probability);
};
#endif /* CLASSDEF_H */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment