AIToolbox
A library that offers tools for AI problem solving.
|
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... | |
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.
AIToolbox::POMDP::RTBSS< M >::RTBSS | ( | const M & | m, |
double | maxR | ||
) |
const M & AIToolbox::POMDP::RTBSS< M >::getModel |
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.
b | The initial belief for the environment. |
horizon | The horizon to plan for. |