14template<
class ValueType,
typename RewardModelType = StandardRewardModel<ValueType>>
15class Pomdp :
public Mdp<ValueType, RewardModelType> {
25 std::unordered_map<std::string, RewardModelType>
const &rewardModels = std::unordered_map<std::string, RewardModelType>());
35 std::unordered_map<std::string, RewardModelType> &&rewardModels = std::unordered_map<std::string, RewardModelType>());
76 void updateObservations(std::vector<uint32_t> &&newObservations,
bool preservesCanonicity);
90 virtual std::size_t
hash()
const override;
This class represents a (discrete-time) Markov decision process.
This class represents a partially observable Markov decision process.
Pomdp & operator=(Pomdp< ValueType, RewardModelType > const &other)=default
Pomdp(Pomdp< ValueType, RewardModelType > &&other)=default
virtual bool isPartiallyObservable() const override
uint64_t getNrObservations() const
storm::storage::sparse::StateValuations const & getObservationValuations() const
virtual void printModelInformationToStream(std::ostream &out) const override
Prints information about the model to the specified stream.
void updateObservations(std::vector< uint32_t > &&newObservations, bool preservesCanonicity)
Changes the observations to the given ones and updates redundant informations (like the number of obs...
std::vector< uint64_t > getStatesWithObservation(uint32_t observation) const
Pomdp & operator=(Pomdp< ValueType, RewardModelType > &&other)=default
std::optional< storm::storage::sparse::StateValuations > const & getOptionalObservationValuations() const
virtual std::size_t hash() const override
void computeNrObservations()
uint32_t getObservation(uint64_t state) const
Pomdp(Pomdp< ValueType, RewardModelType > const &other)=default
std::optional< storm::storage::sparse::StateValuations > observationValuations
uint64_t getMaxNrStatesWithSameObservation() const
Returns the number of hidden values, i.e.
std::vector< uint32_t > observations
void setIsCanonic(bool newValue=true)
bool hasObservationValuations() const
std::vector< uint32_t > const & getObservations() const
virtual std::string additionalDotStateInfo(uint64_t state) const override
Return a string that is additonally added to the state information in the dot stream.
This class manages the labeling of the state space with a number of (atomic) labels.
A class that holds a possibly non-square matrix in the compressed row storage format.