GEGELATI

Loading...
Searching...
No Matches
Public Member Functions | List of all members
TPG::TPGAction Class Reference

Class representing an Action of a TPGGraph. More...

`#include <tpgAction.h>`

Inheritance diagram for TPG::TPGAction:

## Public Member Functions
| TPGAction (const uint64_t id)
| Main constructor of a TPGAction.
virtual void | addOutgoingEdge (TPGEdge *edge) override
| Specialization throwing an std::runtime_exception.
virtual TPG::TPGActionEdge * | getEdgeOfAction (uint64_t actionClass) const
| Return the action edge corresponding to the action class.
uint64_t | getActionID () const
| Get the action ID associated to the TPGAction.
void | orderActionEdges ()
| Order the actionEdges of the action depending on the actionClass of the edges.
Public Member Functions inherited from TPG::TPGVertex
virtual | ~TPGVertex ()=default
| Default polymorphic destructor.
const std::list< TPGEdge * > & | getIncomingEdges () const
| Get a const reference to incoming edges of this TPGVertex.
const std::list< TPGEdge * > & | getOutgoingEdges () const
| Get a const reference to outgoing edges of this TPGVertex.
virtual void | addIncomingEdge (TPG::TPGEdge *edge)
| Method to add an incoming TPGEdge to the TPGVertex.
virtual void | removeIncomingEdge (TPG::TPGEdge *edge)
| Removes the given incoming edge from the TPGVertex.
virtual void | removeOutgoingEdge (TPG::TPGEdge *edge)
| Removes the given outgoing edge from the TPGVertex.
virtual const std::set< uint64_t > & | getAssessedActions () const
| return assessed actions
virtual void | updateAssessedActions ()
| Update the assessed actions.
virtual bool | hasSameAssessedActions (std::set< uint64_t > actions) const
| compare the set given and the assessed actions of the vertex
virtual uint64_t | getVertexID () const
| Get the unique identifier of the TPGVertex.
virtual void | setVertexID (uint64_t newID)
| Set a new unique identifier to the TPGVertex.

## Additional Inherited Members
Static Public Member Functions inherited from TPG::TPGVertex
static uint64_t | getVertexIDCounter ()
| Get the current value of the vertex ID counter.
Protected Member Functions inherited from TPG::TPGVertex
| TPGVertex ()
| Protected default constructor to forbid the instanciation of object of this abstract class.
Static Protected Member Functions inherited from TPG::TPGVertex
static uint64_t | incrementeCounter ()
| Incremente the vertex ID counter and return the new value.
static void | resetVertexIDCounter ()
| Reset the vertex ID counter.
Protected Attributes inherited from TPG::TPGVertex
std::list< TPG::TPGEdge * > | incomingEdges
| Set of incoming TPGEdge of the TPGVertex.
std::list< TPG::TPGEdge * > | outgoingEdges
| Set of outgoing TPGEdge of the TPGVertex.
std::set< uint64_t > | assessedActions
| Set of assessed actions by the team.
uint64_t | vertexID
| Unique identifier of the TPGVertex.

## Detailed Description

Class representing an Action of a TPGGraph.

An action is a leaf vertex of a TPG associated to an action of the learning agent within its environment.

## Constructor & Destructor Documentation

## ◆ TPGAction()

TPG::TPGAction::TPGAction | ( | const uint64_t | id | ) |
| inline

Main constructor of a TPGAction.

Parameters

  [in] | id | integer stored as the actionID of the TPGAction.

## Member Function Documentation

## ◆ addOutgoingEdge()

void TPG::TPGAction::addOutgoingEdge | ( | TPGEdge * | edge | ) |
| override virtual

Specialization throwing an std::runtime_exception.

Since the TPGAction is intented to be a leaf TPGVertex, no outgoing TPGEdge can be added to it.

Copyright or © or Copr. IETR/INSA - Rennes (2019 - 2025) :

Karol Desnos kdesn.nosp@m.os@i.nosp@m.nsa-r.nosp@m.enne.nosp@m.s.fr (2019) Nicolas Sourbier nsour.nosp@m.bie@.nosp@m.insa-.nosp@m.renn.nosp@m.es.fr (2020) Quentin Vacher qvach.nosp@m.er@i.nosp@m.nsa-r.nosp@m.enne.nosp@m.s.fr (2025)

GEGELATI is an open-source reinforcement learning framework for training artificial intelligence based on Tangled Program Graphs (TPGs).

This software is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".

As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.

In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security.

The fact that you are presently reading this means that you have had knowledge of the CeCILL-C license and that you accept its terms.

Reimplemented from TPG::TPGVertex.

## ◆ getActionID()

uint64_t TPG::TPGAction::getActionID | ( |  | ) | const
| inline

Get the action ID associated to the TPGAction.

Returns
  the integer ID of the TPGAction.

## ◆ getEdgeOfAction()

TPG::TPGActionEdge * TPG::TPGAction::getEdgeOfAction | ( | uint64_t | actionClass | ) | const
| virtual

Return the action edge corresponding to the action class.

Return a pointer pointing to the edge linked to the action class. The pointer is set to nullptr if the action is not found.

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

- D:/a/gegelati/gegelati/gegelatilib/include/tpg/tpgAction.h
- D:/a/gegelati/gegelati/gegelatilib/src/tpg/tpgAction.cpp