Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
GlobalPomdpMecChoiceEliminator.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
storm/models/sparse/Pomdp.h
"
4
5
#include "
storm/logic/Formulas.h
"
6
#include "
storm/storage/BitVector.h
"
7
#include "
storm/storage/MaximalEndComponentDecomposition.h
"
8
9
namespace
storm
{
10
namespace
transformer {
11
12
template
<
typename
ValueType>
13
class
GlobalPomdpMecChoiceEliminator
{
14
public
:
15
/* Notice that this eliminator is only correct for memoryless, strictly randomising policies */
16
GlobalPomdpMecChoiceEliminator
(
storm::models::sparse::Pomdp<ValueType>
const
& pomdp);
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
;
24
storm::storage::MaximalEndComponentDecomposition<ValueType>
decomposeEndComponents(
storm::storage::BitVector
const
& subsystem,
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
32
storm::models::sparse::Pomdp<ValueType>
const
& pomdp;
33
};
34
}
// namespace transformer
35
}
// namespace storm
BitVector.h
Formulas.h
MaximalEndComponentDecomposition.h
Pomdp.h
storm::logic::EventuallyFormula
Definition
EventuallyFormula.h:12
storm::logic::Formula
Definition
Formula.h:30
storm::logic::UntilFormula
Definition
UntilFormula.h:8
storm::models::sparse::Pomdp
This class represents a partially observable Markov decision process.
Definition
Pomdp.h:15
storm::storage::BitVector
A bit vector that is internally represented as a vector of 64-bit values.
Definition
BitVector.h:18
storm::storage::MaximalEndComponentDecomposition
This class represents the decomposition of a nondeterministic model into its maximal end components.
Definition
MaximalEndComponentDecomposition.h:16
storm::transformer::GlobalPomdpMecChoiceEliminator
Definition
GlobalPomdpMecChoiceEliminator.h:13
storm::transformer::GlobalPomdpMecChoiceEliminator::transform
std::shared_ptr< storm::models::sparse::Pomdp< ValueType > > transform(storm::logic::Formula const &formula) const
Definition
GlobalPomdpMecChoiceEliminator.cpp:20
storm
LabParser.cpp.
Definition
cli.cpp:18
src
storm-pomdp
transformer
GlobalPomdpMecChoiceEliminator.h
Generated by
1.9.8