Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
GlobalPomdpMecChoiceEliminator.h
Go to the documentation of this file.
1#pragma once
2
4
8
9namespace storm {
10namespace transformer {
11
12template<typename ValueType>
14 public:
15 /* Notice that this eliminator is only correct for memoryless, strictly randomising policies */
17
18 // Note: this only preserves probabilities for memoryless pomdps
19 std::shared_ptr<storm::models::sparse::Pomdp<ValueType>> transform(storm::logic::Formula const& formula) const;
20
21 private:
22 std::shared_ptr<storm::models::sparse::Pomdp<ValueType>> transformMinReward(storm::logic::EventuallyFormula const& formula) const;
23 std::shared_ptr<storm::models::sparse::Pomdp<ValueType>> transformMax(storm::logic::UntilFormula const& formula) const;
25 storm::storage::BitVector const& ignoredStates) const;
26 storm::storage::BitVector getEndComponentsWithSingleOutStates(storm::storage::MaximalEndComponentDecomposition<ValueType> const& mecs) const;
27 std::vector<storm::storage::BitVector> getEndComponentChoicesPerObservation(storm::storage::MaximalEndComponentDecomposition<ValueType> const& mecs,
28 storm::storage::BitVector const& consideredStates) const;
29
30 storm::storage::BitVector checkPropositionalFormula(storm::logic::Formula const& propositionalFormula) const;
31
33};
34} // namespace transformer
35} // namespace storm
This class represents a partially observable Markov decision process.
Definition Pomdp.h:15
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
This class represents the decomposition of a nondeterministic model into its maximal end components.
std::shared_ptr< storm::models::sparse::Pomdp< ValueType > > transform(storm::logic::Formula const &formula) const
LabParser.cpp.
Definition cli.cpp:18