AIToolbox
A library that offers tools for AI problem solving.
|
#include <cstddef>
#include <iterator>
#include <numeric>
#include <AIToolbox/Utils/Core.hpp>
#include <AIToolbox/Utils/Probability.hpp>
#include <AIToolbox/Utils/Polytope.hpp>
#include <AIToolbox/POMDP/Types.hpp>
#include <AIToolbox/POMDP/TypeTraits.hpp>
#include <boost/functional/hash.hpp>
Go to the source code of this file.
Namespaces | |
AIToolbox | |
AIToolbox::POMDP | |
Functions | |
std::strong_ordering | AIToolbox::POMDP::operator<=> (const VEntry &lhs, const VEntry &rhs) |
This function lexicographically sorts VEntries. More... | |
bool | AIToolbox::POMDP::operator== (const VEntry &lhs, const VEntry &rhs) |
VEntry | AIToolbox::POMDP::makeVEntry (size_t S, size_t a, size_t O) |
This function creates and zeroes a VEntry. More... | |
size_t | AIToolbox::POMDP::hash_value (const VEntry &v) |
This function enables hashing of VEntries with boost::hash. More... | |
const MDP::Values & | AIToolbox::POMDP::unwrap (const VEntry &ve) |
This function is used as iterator projection to obtain the Values of a VEntry. More... | |
ValueFunction | AIToolbox::POMDP::makeValueFunction (size_t S) |
This function creates a default ValueFunction. More... | |
double | AIToolbox::POMDP::weakBoundDistance (const VList &oldV, const VList &newV) |
This function returns a weak measure of distance between two VLists. More... | |
template<IsModel M> | |
auto | AIToolbox::POMDP::makeSOSA (const M &m) |
This function creates the SOSA matrix for the input POMDP. More... | |
template<IsModel M> | |
void | AIToolbox::POMDP::updateBeliefUnnormalized (const M &model, const Belief &b, const size_t a, const size_t o, Belief *bRet) |
Creates a new belief reflecting changes after an action and observation for a particular Model. More... | |
template<IsModel M> | |
Belief | AIToolbox::POMDP::updateBeliefUnnormalized (const M &model, const Belief &b, const size_t a, const size_t o) |
Creates a new belief reflecting changes after an action and observation for a particular Model. More... | |
template<IsModel M> | |
void | AIToolbox::POMDP::updateBelief (const M &model, const Belief &b, const size_t a, const size_t o, Belief *bRet) |
Creates a new belief reflecting changes after an action and observation for a particular Model. More... | |
template<IsModel M> | |
Belief | AIToolbox::POMDP::updateBelief (const M &model, const Belief &b, const size_t a, const size_t o) |
Creates a new belief reflecting changes after an action and observation for a particular Model. More... | |
template<IsModel M> | |
void | AIToolbox::POMDP::updateBeliefPartial (const M &model, const Belief &b, const size_t a, Belief *bRet) |
This function partially updates a belief. More... | |
template<IsModel M> | |
Belief | AIToolbox::POMDP::updateBeliefPartial (const M &model, const Belief &b, const size_t a) |
This function partially updates a belief. More... | |
template<IsModel M> | |
void | AIToolbox::POMDP::updateBeliefPartialUnnormalized (const M &model, const Belief &b, const size_t a, const size_t o, Belief *bRet) |
This function terminates the unnormalized update of a partially updated belief. More... | |
template<IsModel M> | |
Belief | AIToolbox::POMDP::updateBeliefPartialUnnormalized (const M &model, const Belief &b, const size_t a, const size_t o) |
This function terminates the unnormalized update of a partially updated belief. More... | |
template<IsModel M> | |
void | AIToolbox::POMDP::updateBeliefPartialNormalized (const M &model, const Belief &b, const size_t a, const size_t o, Belief *bRet) |
This function terminates the normalized update of a partially updated belief. More... | |
template<IsModel M> | |
Belief | AIToolbox::POMDP::updateBeliefPartialNormalized (const M &model, const Belief &b, const size_t a, const size_t o) |
This function terminates the normalized update of a partially updated belief. More... | |
template<IsModel M> | |
double | AIToolbox::POMDP::beliefExpectedReward (const M &model, const Belief &b, const size_t a) |
This function computes an immediate reward based on a belief rather than a state. More... | |
template<typename ActionRow > | |
void | AIToolbox::POMDP::crossSumBestAtBelief (const Belief &b, const ActionRow &row, VEntry *outp, double *value=nullptr) |
This function computes the best VEntry for the input belief from the input VLists. More... | |
template<typename ActionRow > | |
VEntry | AIToolbox::POMDP::crossSumBestAtBelief (const Belief &b, const ActionRow &row, const size_t a, double *value=nullptr) |
This function allocates and computes the best VEntry for the input belief from the input VLists. More... | |
template<typename Projections > | |
VEntry | AIToolbox::POMDP::crossSumBestAtBelief (const Belief &b, const Projections &projs, double *value=nullptr) |
This function computes the best VEntry for the input belief across all actions. More... | |
template<IsModel M> | |
std::tuple< size_t, double > | AIToolbox::POMDP::bestConservativeAction (const M &pomdp, MDP::QFunction immediateRewards, const Belief &initialBelief, const VList &lbVList, MDP::Values *alpha=nullptr) |
This function obtains the best action with respect to the input VList. More... | |
template<bool useLP = true, IsModel M> | |
std::tuple< size_t, double > | AIToolbox::POMDP::bestPromisingAction (const M &pomdp, const MDP::QFunction &immediateRewards, const Belief &belief, const MDP::QFunction &ubQ, const UpperBoundValueFunction &ubV, Vector *vals=nullptr) |
This function obtains the best action with respect to the input QFunction and UbV. More... | |