AIToolbox
A library that offers tools for AI problem solving.
AIToolbox::POMDP::RTBSS< M > Class Template Reference

This class represents the RTBSS online planner. More...

#include <AIToolbox/POMDP/Algorithms/RTBSS.hpp>

Public Member Functions

 RTBSS (const M &m, double maxR)
 Basic constructor. More...
 
std::tuple< size_t, double > sampleAction (const Belief &b, unsigned horizon)
 This function computes the best value for a given belief and its value. More...
 
const M & getModel () const
 This function returns the POMDP model being used. More...
 

Detailed Description

template<IsModel M>
class AIToolbox::POMDP::RTBSS< M >

This class represents the RTBSS online planner.

This algorithm is an online planner for POMDPs. It works by pretty much solving the whole POMDP in a straightforward manner, but just for the belief it is currently in, and the horizon specified.

Additionally, it uses an heuristic function in order to prune branches which cannot possibly help in determining which action is the actual best. Currently this heuristic is very crude, as it requires the user to manually input a maximum possible reward, and using it as an upper bound.

Additionally, in theory one would want to explore branches from the most promising to the least promising, to maximize pruning. This is currently not done here, since an heuristic is intrinsically determined by a particular problem. At the same time, it is easy to add one, as the code specifies where one should be inserted.

This method is able to return not only the best available action, but also the (in theory) true value of that action in the current belief. Note that values computed in different methods may differ due to floating point approximation errors.

Constructor & Destructor Documentation

◆ RTBSS()

template<IsModel M>
AIToolbox::POMDP::RTBSS< M >::RTBSS ( const M &  m,
double  maxR 
)

Basic constructor.

Parameters
mThe POMDP model that POMCP will operate upon.
maxRThe max reward obtainable in the model. This is used for the pruning heuristic.

Member Function Documentation

◆ getModel()

template<IsModel M>
const M & AIToolbox::POMDP::RTBSS< M >::getModel

This function returns the POMDP model being used.

Returns
The POMDP model.

◆ sampleAction()

template<IsModel M>
std::tuple< size_t, double > AIToolbox::POMDP::RTBSS< M >::sampleAction ( const Belief b,
unsigned  horizon 
)

This function computes the best value for a given belief and its value.

Parameters
bThe initial belief for the environment.
horizonThe horizon to plan for.
Returns
The best action and its value in the model.

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