Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
AbstractionOptions.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <vector>
5
7
8namespace storm::gbar {
9namespace abstraction {
10
12
13enum class SplitMode { All, None, NonGuard };
14
16
17enum class SolveMode { Dd, Sparse };
18
20
26 AbstractionOptions() = default;
27
28 AbstractionOptions(std::vector<storm::expressions::Expression>&& constraints,
29 std::vector<std::vector<storm::expressions::Expression>>&& injectedRefinementPredicates)
31 // Intentionally left empty.
32 }
33
34 // Options for the abstractor.
37
40
42 bool useDecomposition = true;
43
44 // Options for the refiner.
46 bool useInterpolation = true;
47
50
53
56
58 bool useEagerRefinement = false;
59
61 bool addAllGuards = true;
62
65
66 // Options for the model checking procedure.
68 double precision = 1e-03;
69
72
75
78
80 uint_fast64_t maximalNumberOfAbstractions = 20000;
81
83 bool fixPlayer1Strategy = true;
84
86 bool fixPlayer2Strategy = true;
87
89 bool debug = false;
90
91 // Predicates.
93 std::vector<storm::expressions::Expression> constraints;
94
96 std::vector<std::vector<storm::expressions::Expression>> injectedRefinementPredicates;
97};
98
99} // namespace abstraction
100} // namespace storm::gbar
Definition DdTest.cpp:39
bool useDecomposition
A flag indicating whether decomposition is to be used during the abstraction.
bool relativeTerminationCriterion
A flag indicating whether to use a relative termination criterion.
SolveMode solveMode
The mode with which to solve the abstractions.
bool restrictToValidBlocks
A flag indicating whether the abstractor restricts the initial states to valid blocks.
bool useInterpolation
A flag indicating whether interpolation is to be used to eliminate spurious pivot blocks.
ReuseMode reuseMode
The mode determining which results are reused.
bool fixPlayer1Strategy
A flag indicating whether player 1 strategies are to be fixed.
bool debug
A flag indicating whether debug mode is enabled.
std::vector< std::vector< storm::expressions::Expression > > injectedRefinementPredicates
Predicates that are injected (starting with the last one in this list) instead of the derived ones.
bool fixPlayer2Strategy
A flag indicating whether player 2 strategies are to be fixed.
bool addAllInitialExpressions
A flag indicating whether all initial expressions are added as initial predicates.
bool useEagerRefinement
A flag indicating whether to refine eagerly.
AbstractionOptions(std::vector< storm::expressions::Expression > &&constraints, std::vector< std::vector< storm::expressions::Expression > > &&injectedRefinementPredicates)
SplitMode splitMode
The mode that determines which predicates are split into atoms for the refinement.
bool rankRefinementPredicates
A flag indicating whether refinement predicates are to be ranked.
std::vector< storm::expressions::Expression > constraints
Additional constraints used by the abstraction.
bool addAllGuards
A flag indicating whether all guards are added as initial predicates.
bool restrictToRelevantStates
A flag indicating whether the abstractor restricts the abstraction to relevant states.
uint_fast64_t maximalNumberOfAbstractions
The maximal number of abstractions to perform until giving up on converging.
double precision
The precision used for detecting convergence.
PivotSelectionHeuristic pivotSelectionHeuristic
The heuristic to use for pivot block selection.