NeuralEngine
A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes.
FgIVariableNode.h
1
11#pragma once
12
13#include <MachineLearning/FgINode.h>
14#include <MachineLearning/FgIMessage.h>
15
16namespace NeuralEngine
17{
18 namespace MachineLearning
19 {
20 class NE_IMPEXP IVariableNode : public INode
21 {
22 public:
23
32 IVariableNode(std::string name, int numStates);
33
40
48 int NumStates();
49
59 virtual bool IsSupported(MsgType type) = 0;
60
61 protected:
76 virtual IMessage ComputeMessage(std::string toNodeName, MsgBox &neededMessages) = 0;
77
78 private:
79 int iNumStates;
80
81 friend class boost::serialization::access;
82
83 template<class Archive>
84 void serialize(Archive& ar, unsigned int version)
85 {
86 ar & boost::serialization::base_object<INode>(*this);
87 ar& BOOST_SERIALIZATION_NVP(iNumStates);
88 }
89 };
90 }
91}
IVariableNode(std::string name, int numStates)
Constructor.
int NumStates()
Gets the dimension of the node.
virtual IMessage ComputeMessage(std::string toNodeName, MsgBox &neededMessages)=0
Calculate a message to connectd node.
virtual bool IsSupported(MsgType type)=0
Query if message type is supported.