PCB Environment 2
Loading...
Searching...
No Matches
Agent Class Reference
Inheritance diagram for Agent:
RRRAgent UserAgent

Public Member Functions

 Agent (const std::string &name)
const std::string & name () const
virtual void setStateRepresentationParams (PyObject *)
void setParameters (PyObject *)
virtual void setParameter (const std::string &varName, int index, PyObject *)
const std::map< std::string, Parameter * > & getParameters () const
void setPythonInterface (PyObject *)
void setTrainingMode (bool on)
virtual void setPCB (const std::shared_ptr< PCBoard > &)
virtual void setManagedConnections (const std::set< Connection * > &)
void setManagedConnectionsToUnrouted ()
void setActionSpace (const ActionSpace &)
void setPolicy (Policy *)
 Ownership of Policy, RewardFunction, and StateRepresentation are transferred to the agent.
void setRewardFn (RewardFunction *)
void setStateRepresentation (StateRepresentation *)
virtual bool _run ()
bool run ()
void setRunArgs (PyObject *)
void setTimeout (uint64_t usec)
void setTimeoutExpired ()
void setActionLimit (int64_t count)
void setClearBoardBeforeRun (bool)
float getProgress () const
virtual PyObject * step (PyObject *)
virtual PyObject * get_state (PyObject *)
virtual PyObject * reset ()
void eraseManagedConnections ()
PCBoardgetPCB () const
 These are only valid as long as you have got a hold of the agent.
RewardFunctiongetRewardFn () const
PolicygetPolicy () const
StateRepresentationgetSR () const
uint32_t getIteration () const
uint64_t numActions () const
uint64_t usecsSinceStart () const
const std::vector< Connection * > & getConnections () const
const std::set< Connection * > & getConnectionSet () const
ConnectionsetConnectionLRU (PyObject *)
ConnectiongetConnectionLRU () const
Action::Result evaluateCurrentState () const
void startTimer ()
bool hasTimerExpired () const
void resetActionCount ()
void resetActionLimit ()
void countActions (int)
bool actionLimitExceeded () const
std::vector< float > py_V (PyObject *states)
std::vector< float > py_Q (PyObject *states)
std::vector< float > py_P (PyObject *states)
std::vector< float > py_P_V (PyObject *states)
void py_event (PyObject *event)
 Tell anything else to your Python interface.
StepLockgetStepLock ()

Static Public Member Functions

static Agentcreate (const std::string &type)

Protected Member Functions

void initParameters ()

Protected Attributes

std::shared_ptr< PCBoardmPCB
std::vector< Connection * > mConnections
std::set< Connection * > mConnectionSet
ConnectionmConnectionLRU {0}
const ActionSpacemActionSpace {0}
std::unique_ptr< PolicymPolicy
std::unique_ptr< StateRepresentationmStateRep
std::unique_ptr< RewardFunctionmRewardFn
ResultCollection mStats
uint32_t mIteration {0}
float mProgress {-1.0f}
bool mClearBoardBeforeRun {false}
SignalContext mSignals
std::map< std::string, Parameter * > mParameters
PyObject * mPython {0}
PyObject * mMethodNamesPy [5] {0,0,0,0,0}

Member Function Documentation

◆ py_V()

std::vector< float > Agent::py_V ( PyObject * states)
inline

Policy and value functions from Python (e.g. neural networks). The arrangement of the return vector is up to you. Arguments are DECREF'd.


The documentation for this class was generated from the following file: