Storm
1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
DftExplorationHeuristic.cpp
Go to the documentation of this file.
1
#include "
storm-dft/builder/DftExplorationHeuristic.h
"
2
3
#include "
storm/adapters/RationalFunctionAdapter.h
"
4
#include "
storm/exceptions/NotImplementedException.h
"
5
6
namespace
storm::dft
{
7
namespace
builder
{
8
9
template
<>
10
double
DFTExplorationHeuristicProbability<double>::getPriority
()
const
{
11
return
probability
;
12
}
13
14
template
<
typename
ValueType>
15
double
DFTExplorationHeuristicProbability<ValueType>::getPriority
()
const
{
16
STORM_LOG_THROW
(
false
, storm::exceptions::NotImplementedException,
"Heuristic 'probability' does not work for this data type."
);
17
}
18
19
template
<>
20
double
DFTExplorationHeuristicBoundDifference<double>::getPriority
()
const
{
21
double
difference =
lowerBound
-
upperBound
;
// Lower bound is larger than upper bound
22
difference = 2 * difference / (
upperBound
+
lowerBound
);
23
return
probability
* difference;
24
}
25
26
template
<
typename
ValueType>
27
double
DFTExplorationHeuristicBoundDifference<ValueType>::getPriority
()
const
{
28
STORM_LOG_THROW
(
false
, storm::exceptions::NotImplementedException,
"Heuristic 'bound difference' does not work for this data type."
);
29
}
30
31
// Instantiate templates.
32
template
class
DFTExplorationHeuristicDepth<double>
;
33
template
class
DFTExplorationHeuristicProbability<double>
;
34
template
class
DFTExplorationHeuristicBoundDifference<double>
;
35
36
template
class
DFTExplorationHeuristicDepth<storm::RationalFunction>
;
37
template
class
DFTExplorationHeuristicProbability<storm::RationalFunction>
;
38
template
class
DFTExplorationHeuristicBoundDifference<storm::RationalFunction>
;
39
40
}
// namespace builder
41
}
// namespace storm::dft
DftExplorationHeuristic.h
NotImplementedException.h
RationalFunctionAdapter.h
storm::dft::builder::DFTExplorationHeuristicBoundDifference
Definition
DftExplorationHeuristic.h:141
storm::dft::builder::DFTExplorationHeuristicBoundDifference::lowerBound
ValueType lowerBound
Definition
DftExplorationHeuristic.h:167
storm::dft::builder::DFTExplorationHeuristicBoundDifference::getPriority
double getPriority() const override
Definition
DftExplorationHeuristic.cpp:27
storm::dft::builder::DFTExplorationHeuristicBoundDifference::upperBound
ValueType upperBound
Definition
DftExplorationHeuristic.h:168
storm::dft::builder::DFTExplorationHeuristicDepth
Definition
DftExplorationHeuristic.h:79
storm::dft::builder::DFTExplorationHeuristicProbability
Definition
DftExplorationHeuristic.h:115
storm::dft::builder::DFTExplorationHeuristicProbability::getPriority
double getPriority() const override
Definition
DftExplorationHeuristic.cpp:15
storm::dft::builder::DFTExplorationHeuristicProbability::probability
ValueType probability
Definition
DftExplorationHeuristic.h:137
STORM_LOG_THROW
#define STORM_LOG_THROW(cond, exception, message)
Definition
macros.h:30
storm::dft::builder
Definition
DFTBuilder.cpp:13
storm::dft
Definition
SFTBDDPropertyFormulaAdapter.h:17
src
storm-dft
builder
DftExplorationHeuristic.cpp
Generated by
1.15.0