Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
Options.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4
8
9namespace storm::bisimulation {
10
15 Default, // FormulaPropositional if at least one formula is given, All otherwise.
16 All, // Every state label of the model is preserved.
17 None, // No state label is preserved (potentially invalidating the formulas).
18 FormulaPropositional, // Only the truth values of the maximal propositional subformulas of the formulas are preserved, e.g., P=? [F "a" & !"b"] does not
19 // require to distinguish !"a"-states from "b"-states.
20 FormulaIndividual // Each state label occurring in a formula is preserved.
21};
22
23struct Options {
24 // The model annotations that must be preserved.
26 std::optional<bool> preserveAllRewards = std::nullopt; // If not specified, then all rewards are preserved iff no formula is given.
27 bool preserveChoiceLabels = true; // Preserves the choice labels of the original model (if available).
28 bool preserveChoiceOrigins = true; // Preserves the choice origins of the original model (if available).
29
30 // The kind of bisimulation that is applied.
31 bool actionSensitive = false; // If set, the i'th choice of state1 can only be matched with the i'th choice of state2.
33 // Every value (probability, rate, reward) of the original model deviates by at most this tolerance from the corresponding value in the quotient.
34 // If unset, the stochastic tolerance of the model is used.
35 std::optional<storm::RationalNumber> tolerance = std::nullopt;
36
37 // Algorithm Options
38 bool createQuotientChoiceMapping = false; // If set, a mapping from input choice index to quotient choice index is created and returned. This mapping can
39 // be used, e.g. to map schedulers from the quotient model to the original model.
41 false; // If set, signature-based refinement is used instead of splitter-based refinement (only applies to deterministic models).
42};
43
44} // namespace storm::bisimulation
BisimulationType
The kind of bisimulation.
StateLabelPreservation
The way state labels will be preserved by the bisimulation.
Definition Options.h:14
BisimulationType bisimulationType
Definition Options.h:32
StateLabelPreservation stateLabelPreservation
Definition Options.h:25
std::optional< bool > preserveAllRewards
Definition Options.h:26
std::optional< storm::RationalNumber > tolerance
Definition Options.h:35