|
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... | |