Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ToStateBasedObservationTransformer.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <functional>
5#include <memory>
6#include <set>
7
10
12
13template<typename ValueType>
15 public:
16 using ObservationType = uint32_t;
17 using StateIdType = uint64_t;
18 using ActionIdType = uint64_t; // Action indices are local, i.e. 0 is always the first action of any state
20
35 static std::shared_ptr<storm::models::sparse::Pomdp<ValueType>> transform(storm::models::sparse::Mdp<ValueType> const& mdp,
36 TransitionObservationFunction const& transitionObservationFunction,
37 ObservationType initialObservation, bool dropUnreachableStates = true);
38
45 static std::shared_ptr<storm::models::sparse::Pomdp<ValueType>> transformRewardAware(storm::models::sparse::Pomdp<ValueType> const& pomdp,
46 std::set<std::string> const& observableRewardModels,
47 bool dropUnreachableStates = true);
48};
49
50} // namespace storm::pomdp::transformer
This class represents a (discrete-time) Markov decision process.
Definition Mdp.h:16
This class represents a partially observable Markov decision process.
Definition Pomdp.h:13
static std::shared_ptr< storm::models::sparse::Pomdp< ValueType > > transformRewardAware(storm::models::sparse::Pomdp< ValueType > const &pomdp, std::set< std::string > const &observableRewardModels, bool dropUnreachableStates=true)
Makes rewards observable by extending observations with the state and state-action reward values of t...
std::function< ObservationType(StateIdType, ActionIdType, StateIdType)> TransitionObservationFunction
static std::shared_ptr< storm::models::sparse::Pomdp< ValueType > > transform(storm::models::sparse::Mdp< ValueType > const &mdp, TransitionObservationFunction const &transitionObservationFunction, ObservationType initialObservation, bool dropUnreachableStates=true)
Creates a POMDP (with state-based observations) out of an MDP and a transition-based observation func...