Class sdm::HistoryTree
Class List > sdm > HistoryTree
History class that use a representation by tree. More...
#include <history_tree.hpp>
Inherits the following classes: sdm::HistoryInterface, sdm::Tree
Inherited by the following classes: sdm::JointHistoryTree
Public Types
Type | Name |
---|---|
typedef typename Tree< std::shared_ptr< Observation > >::value_type | value_type |
Public Types inherited from sdm::Tree
See sdm::Tree
Type | Name |
---|---|
typedef T | value_type |
Public Functions
Type | Name |
---|---|
HistoryTree () Default constructor. This constructor builds a default and empty tree. | |
HistoryTree (number max_depth) Construct a new truncated tree object. | |
HistoryTree (std::shared_ptr< HistoryTree > parent, const std::shared_ptr< Observation > & item) Construct a history tree iteratively. | |
virtual std::shared_ptr< output > | expand (const std::shared_ptr< Observation > & observation, bool backup=true) Expands the history. |
virtual std::shared_ptr< HistoryInterface > | expand (const std::shared_ptr< Observation > & observation, bool backup=true) Expands the history. |
std::shared_ptr< HistoryTree > | getChild (const std::shared_ptr< Observation > & child_item) const |
std::vector< std::shared_ptr< HistoryTree > > | getChildren () const |
const std::shared_ptr< Observation > & | getData () const |
virtual number | getHorizon () const Get the horizon of the history. |
virtual std::shared_ptr< Observation > | getLastObservation () Get the last observation. |
std::shared_ptr< HistoryTree > | getOrigin () |
std::shared_ptr< HistoryTree > | getParent () const |
virtual std::shared_ptr< Item > | getPointer () Get the shared_ptr on current (this) item. |
virtual std::shared_ptr< HistoryInterface > | getPreviousHistory () Get the previous history. |
std::shared_ptr< HistoryTree > | getptr () |
void | serialize (Archive & archive, const unsigned int) |
virtual std::string | short_str () const |
virtual std::string | str () const Get a string describing the current item. |
Public Functions inherited from sdm::HistoryInterface
Type | Name |
---|---|
virtual std::shared_ptr< HistoryInterface > | expand (const std::shared_ptr< Observation > & observation, bool backup=true) = 0 Expands the history. |
virtual number | getHorizon () const = 0 Get the horizon of the history. |
virtual std::shared_ptr< Observation > | getLastObservation () = 0 Get the last observation. |
virtual std::shared_ptr< HistoryInterface > | getPreviousHistory () = 0 Get the previous history. |
virtual TypeState | getTypeState () const |
virtual std::string | short_str () const = 0 |
virtual std::string | str () const = 0 Get a string describing the current item. |
std::shared_ptr< JointHistoryInterface > | toJointHistory () Transform the HistoryInterface in aJointHistoryInterface . |
Public Functions inherited from sdm::State
See sdm::State
Type | Name |
---|---|
virtual TypeState | getTypeState () const |
virtual size_t | hash () const Get the hash of the state. The hash is used in tabular value functions in order to compare efficiently two states. This function must be reimplemented in inherited classes. |
virtual bool | operator== (const std::shared_ptr< State > & other) const Check equality between two states. This function must be implemented in inherited classes. |
virtual std::string | str () const = 0 Get a string describing the current item. |
virtual std::shared_ptr< BeliefInterface > | toBelief () Cast the state into a belief. |
virtual std::shared_ptr< HistoryInterface > | toHistory () Cast the state into a history. |
virtual std::shared_ptr< OccupancyStateInterface > | toOccupancyState () Cast the state into an occupancy state. |
virtual std::shared_ptr< BaseSerialInterface > | toSerial () Cast the state into a serial interface. |
virtual std::shared_ptr< SerialOccupancyInterface > | toSerialOccupancyState () Cast the state into a serial occupancy state. |
virtual | ~State () |
Public Functions inherited from sdm::Observation
See sdm::Observation
Type | Name |
---|---|
virtual std::string | str () const = 0 Get a string describing the current item. |
virtual | ~Observation () |
Public Functions inherited from sdm::Item
See sdm::Item
Type | Name |
---|---|
virtual std::shared_ptr< Item > | getPointer () Get the shared_ptr on current (this) item. |
virtual bool | isBaseItem () |
virtual std::string | str () const = 0 Get a string describing the current item. |
std::shared_ptr< T > | to () |
virtual std::shared_ptr< Action > | toAction () Cast the item into a pointer on action. |
virtual std::shared_ptr< Item > | toItem () Cast the item into a pointer on item. |
virtual std::shared_ptr< Observation > | toObservation () Cast the item into a pointer on observation. |
virtual std::shared_ptr< State > | toState () Cast the item into a pointer on state. |
Public Functions inherited from std::inheritable_enable_shared_from_this
See std::inheritable_enable_shared_from_this
Type | Name |
---|---|
std::shared_ptr< Down > | downcasted_shared_from_this () |
std::shared_ptr< T > | shared_from_this () |
Public Functions inherited from std::MultipleInheritableEnableSharedFromThis
See std::MultipleInheritableEnableSharedFromThis
Type | Name |
---|---|
virtual | ~MultipleInheritableEnableSharedFromThis () |
Public Functions inherited from sdm::Tree
See sdm::Tree
Type | Name |
---|---|
Tree () Default constructor object. | |
Tree (number max_depth) Construct a new Tree object (the origin) | |
Tree (std::shared_ptr< Tree< T >> parent, const T & data) Construct a new Tree object. | |
void | addChild (const T & child_item) |
void | addChildren (const std::vector< T > & child_items) |
std::shared_ptr< Tree< T > > | getChild (const T & child_item) const |
std::vector< std::shared_ptr< Tree< T > > > | getChildren () const |
const T & | getData () const |
number | getDepth () const |
number | getMaxDepth () const |
number | getNumChildren () const |
std::shared_ptr< Tree< T > > | getOrigin () |
std::shared_ptr< Tree< T > > | getParent () const |
std::shared_ptr< Tree< T > > | getptr () |
bool | isOrigin () const |
void | serialize (Archive & archive, const unsigned int) |
void | setMaxDepth (number) const |
std::string | str () const |
virtual | ~Tree () Destructor of Tree (that's bad). |
Public Functions inherited from std::inheritable_enable_shared_from_this
See std::inheritable_enable_shared_from_this
Type | Name |
---|---|
std::shared_ptr< Down > | downcasted_shared_from_this () |
std::shared_ptr< T > | shared_from_this () |
Public Functions inherited from std::MultipleInheritableEnableSharedFromThis
See std::MultipleInheritableEnableSharedFromThis
Type | Name |
---|---|
virtual | ~MultipleInheritableEnableSharedFromThis () |
Protected Attributes inherited from sdm::Tree
See sdm::Tree
Type | Name |
---|---|
std::map< T, std::shared_ptr< Tree< T > > > | children_ mapping of items to successor trees |
T | data_ data of the current node |
number | depth_ = = 0 depth of the tree |
bool | is_origin = = false |
number | max_depth_ = = std::numeric_limits<number>::max() maximum length of the tree |
std::weak_ptr< Tree< T > > | origin_ the root of the tree |
std::weak_ptr< Tree< T > > | parent_ the parent node |
Protected Functions
Type | Name |
---|---|
std::shared_ptr< output > | truncatedExpand (const std::shared_ptr< Observation > & observation, bool backup) Expands the tree using truncated expand method. |
Detailed Description
Each node in the tree represent an action-observation pair. Let consider nodes above a given node as the list of actions and observations at previous timesteps.
Public Types Documentation
typedef value_type
using sdm::HistoryTree::value_type = typename Tree<std::shared_ptr<Observation> >::value_type;
Public Functions Documentation
function HistoryTree [1/3]
sdm::HistoryTree::HistoryTree ()
function HistoryTree [2/3]
sdm::HistoryTree::HistoryTree (
number max_depth
)
Parameters:
data
the value of the origin
function HistoryTree [3/3]
sdm::HistoryTree::HistoryTree (
std::shared_ptr< HistoryTree > parent,
const std::shared_ptr< Observation > & item
)
Parameters:
parent
the parent treeitem
the itembackup
wheter the node is marked or not
This constructor builds a tree with a given parent and item.
function expand [1/2]
template<typename output typename output>
inline virtual std::shared_ptr< output > sdm::HistoryTree::expand (
const std::shared_ptr< Observation > & observation,
bool backup=true
)
Parameters:
data
the data of the expanded node
Returns:
the expanded history
If child leading from the item previously exists, the method return that child. Otherwise, it expands the tree by adding an item at the current leaf of the tree and creating if necessary a corresponding child. The constructed child is returned.
Implements sdm::HistoryInterface::expand
function expand [2/2]
virtual std::shared_ptr< HistoryInterface > sdm::HistoryTree::expand (
const std::shared_ptr< Observation > & observation,
bool backup=true
)
Parameters:
observation
the observation of the expanded node
Returns:
the expanded history
Implements sdm::HistoryInterface::expand
function getChild
std::shared_ptr< HistoryTree > sdm::HistoryTree::getChild (
const std::shared_ptr< Observation > & child_item
) const
function getChildren
std::vector< std::shared_ptr< HistoryTree > > sdm::HistoryTree::getChildren () const
function getData
const std::shared_ptr< Observation > & sdm::HistoryTree::getData () const
function getHorizon
virtual number sdm::HistoryTree::getHorizon () const
Returns:
number the history
Implements sdm::HistoryInterface::getHorizon
function getLastObservation
virtual std::shared_ptr< Observation > sdm::HistoryTree::getLastObservation ()
Returns:
the last observation
Implements sdm::HistoryInterface::getLastObservation
function getOrigin
std::shared_ptr< HistoryTree > sdm::HistoryTree::getOrigin ()
function getParent
std::shared_ptr< HistoryTree > sdm::HistoryTree::getParent () const
function getPointer
virtual std::shared_ptr< Item > sdm::HistoryTree::getPointer ()
Returns:
std::shared_ptr<Item>
Implements sdm::Item::getPointer
function getPreviousHistory
virtual std::shared_ptr< HistoryInterface > sdm::HistoryTree::getPreviousHistory ()
Returns:
the one step behind history.
Implements sdm::HistoryInterface::getPreviousHistory
function getptr
std::shared_ptr< HistoryTree > sdm::HistoryTree::getptr ()
function serialize
template<class Archive class Archive>
void sdm::HistoryTree::serialize (
Archive & archive,
const unsigned int
)
function short_str
virtual std::string sdm::HistoryTree::short_str () const
Implements sdm::HistoryInterface::short_str
function str
virtual std::string sdm::HistoryTree::str () const
Returns:
std::string the description of the item
Implements sdm::HistoryInterface::str
Protected Functions Documentation
function truncatedExpand
template<typename output typename output>
inline std::shared_ptr< output > sdm::HistoryTree::truncatedExpand (
const std::shared_ptr< Observation > & observation,
bool backup
)
Parameters:
data
the data of the expanded nodebackup
wheter the node is marked or not
Returns:
the truncated expanded tree
## Friends Documentation
friend operator<<
inline friend std::ostream & sdm::HistoryTree::operator<< (
std::ostream & os,
HistoryTree & i_hist
)
The documentation for this class was generated from the following file src/sdm/core/state/history_tree.hpp