Created
February 4, 2014 22:04
-
-
Save zeryx/8813273 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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