Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
NonMarkovianChainTransformer.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm {
7namespace transformer {
8
17
21template<typename ValueType, typename RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>>
23 public:
32 static std::shared_ptr<models::sparse::Model<ValueType, RewardModelType>> eliminateNonmarkovianStates(
35
42 static bool preservesFormula(storm::logic::Formula const& formula);
43
50 static std::vector<std::shared_ptr<storm::logic::Formula const>> checkAndTransformFormulas(
51 std::vector<std::shared_ptr<storm::logic::Formula const>> const& formulas);
52};
53} // namespace transformer
54} // namespace storm
This class represents a Markov automaton.
Transformer for eliminating chains of non-Markovian states (instantaneous path fragment leading to th...
static std::shared_ptr< models::sparse::Model< ValueType, RewardModelType > > eliminateNonmarkovianStates(std::shared_ptr< models::sparse::MarkovAutomaton< ValueType, RewardModelType > > ma, EliminationLabelBehavior labelBehavior=EliminationLabelBehavior::KeepLabels)
Generates a model with the same basic behavior as the input, but eliminates non-Markovian chains.
static std::vector< std::shared_ptr< storm::logic::Formula const > > checkAndTransformFormulas(std::vector< std::shared_ptr< storm::logic::Formula const > > const &formulas)
Checks for the given formulae if the specified properties are preserved and removes formulae of prope...
static bool preservesFormula(storm::logic::Formula const &formula)
Check if the property specified by the given formula is preserved by the transformation.
EliminationLabelBehavior
Specify criteria whether a state can be eliminated and how its labels should be treated.