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
3
#include "
storm/logic/Formula.h
"
4
#include "
storm/models/sparse/MarkovAutomaton.h
"
5
6
namespace
storm
{
7
namespace
transformer {
8
16
enum
EliminationLabelBehavior
{
KeepLabels
,
ExtendLabels
,
MergeLabels
,
DeleteLabels
};
17
21
template
<
typename
ValueType,
typename
RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>>
22
class
NonMarkovianChainTransformer
{
23
public
:
32
static
std::shared_ptr<models::sparse::Model<ValueType, RewardModelType>>
eliminateNonmarkovianStates
(
33
std::shared_ptr<
models::sparse::MarkovAutomaton<ValueType, RewardModelType>
> ma,
34
EliminationLabelBehavior
labelBehavior =
EliminationLabelBehavior::KeepLabels
);
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
storm::logic::Formula
Definition
Formula.h:30
storm::models::sparse::MarkovAutomaton
This class represents a Markov automaton.
Definition
MarkovAutomaton.h:14
storm::transformer::NonMarkovianChainTransformer
Transformer for eliminating chains of non-Markovian states (instantaneous path fragment leading to th...
Definition
NonMarkovianChainTransformer.h:22
storm::transformer::NonMarkovianChainTransformer::eliminateNonmarkovianStates
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.
Definition
NonMarkovianChainTransformer.cpp:22
storm::transformer::NonMarkovianChainTransformer::checkAndTransformFormulas
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...
Definition
NonMarkovianChainTransformer.cpp:177
storm::transformer::NonMarkovianChainTransformer::preservesFormula
static bool preservesFormula(storm::logic::Formula const &formula)
Check if the property specified by the given formula is preserved by the transformation.
Definition
NonMarkovianChainTransformer.cpp:160
Formula.h
storm::transformer::EliminationLabelBehavior
EliminationLabelBehavior
Specify criteria whether a state can be eliminated and how its labels should be treated.
Definition
NonMarkovianChainTransformer.h:16
storm::transformer::ExtendLabels
@ ExtendLabels
Definition
NonMarkovianChainTransformer.h:16
storm::transformer::KeepLabels
@ KeepLabels
Definition
NonMarkovianChainTransformer.h:16
storm::transformer::MergeLabels
@ MergeLabels
Definition
NonMarkovianChainTransformer.h:16
storm::transformer::DeleteLabels
@ DeleteLabels
Definition
NonMarkovianChainTransformer.h:16
storm
Definition
AutomaticSettings.cpp:13
MarkovAutomaton.h
src
storm
transformer
NonMarkovianChainTransformer.h
Generated by
1.9.8