38#ifndef TPG_EXECUTION_ENGINE_H
39#define TPG_EXECUTION_ENGINE_H
45#include "program/programExecutionEngine.h"
47#include "tpg/tpgGraph.h"
107 std::vector<double>& actionsTaken);
155 virtual const std::pair<std::vector<const TPG::TPGVertex*>,
158 const std::vector<uint64_t>& initActions = {0});
The Environment class contains all information needed to execute a Program.
Definition environment.h:86
Class in charge of executing a Program within its Environment.
Definition programExecutionEngine.h:53
Class representing edges of the Tangled Program Graphs.
Definition tpgEdge.h:54
Definition tpgExecutionEngine.h:57
virtual const TPG::TPGEdge & evaluateTeam(const TPGTeam &team)
Evaluate all the Program of the outgoing TPGEdge of the TPGTeam.
Definition tpgExecutionEngine.cpp:108
void applyActivationFunctionOnActions(std::vector< double > &actionsTaken)
Apply a sigmoid function on all the actions.
Definition tpgExecutionEngine.cpp:52
virtual ~TPGExecutionEngine()=default
Default virtual destructor.
const Environment & env
Environment used.
Definition tpgExecutionEngine.h:67
virtual double evaluateEdge(const TPGEdge &edge)
Execute the Program associated to an Edge and returns the obtained double.
Definition tpgExecutionEngine.cpp:84
TPGExecutionEngine(const Environment &env, Archive *arch=NULL)
Main constructor of the class.
Definition tpgExecutionEngine.h:88
Program::ProgramExecutionEngine progExecutionEngine
ProgramExecutionEngine for executing Programs of edges.
Definition tpgExecutionEngine.h:75
Archive * archive
Archive for recording Program results.
Definition tpgExecutionEngine.h:62
virtual const std::pair< std::vector< const TPG::TPGVertex * >, std::vector< double > > executeFromRoot(const TPGVertex &root, const std::vector< uint64_t > &initActions={0})
Execute the TPGGraph starting from the given TPGVertex.
Definition tpgExecutionEngine.cpp:153
void setArchive(Archive *newArchive)
Set a new Archive for storing Program results.
Definition tpgExecutionEngine.cpp:47
Abstract class representing the vertices of a TPGGraph.
Definition tpgVertex.h:55
Definition executionStats.h:44