Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
PartitionRefiner.h
Go to the documentation of this file.
1#pragma once
2
5
8
9namespace storm {
10namespace models {
11namespace symbolic {
12template<storm::dd::DdType DdType, typename ValueType>
13class Model;
14}
15} // namespace models
16
17namespace dd {
18namespace bisimulation {
19
20template<storm::dd::DdType DdType, typename ValueType>
22 public:
24
25 virtual ~PartitionRefiner() = default;
26
33 virtual bool refine(SignatureMode const& mode = SignatureMode::Eager);
34
40
45
50
54 Status getStatus() const;
55
56 std::chrono::high_resolution_clock::duration getTotalSignatureTime() const;
57 std::chrono::high_resolution_clock::duration getTotalRefinementTime() const;
58
59 protected:
62 Partition<DdType, ValueType> const& targetPartition, SignatureMode const& mode = SignatureMode::Eager);
64 Partition<DdType, ValueType> const& oldPartition);
65
66 virtual bool refineWrtStateRewards(storm::dd::Add<DdType, ValueType> const& stateRewards);
67 virtual bool refineWrtStateActionRewards(storm::dd::Add<DdType, ValueType> const& stateActionRewards);
68
69 // The current status.
71
72 // The number of refinements that were made.
73 uint64_t refinements;
74
75 // The state partition in the refinement process. Initially set to the initial partition.
77
78 // The object used to compute the signatures.
80
81 // The object used to refine the state partition based on the signatures.
83
84 // Time measurements.
85 std::chrono::high_resolution_clock::duration totalSignatureTime;
86 std::chrono::high_resolution_clock::duration totalRefinementTime;
87};
88
89} // namespace bisimulation
90} // namespace dd
91} // namespace storm
virtual bool refineWrtStateActionRewards(storm::dd::Add< DdType, ValueType > const &stateActionRewards)
std::chrono::high_resolution_clock::duration getTotalRefinementTime() const
virtual bool refineWrtStateRewards(storm::dd::Add< DdType, ValueType > const &stateRewards)
Signature< DdType, ValueType > getFullSignature() const
Retrieves the full signature of all states wrt.
Partition< DdType, ValueType > const & getStatePartition() const
Retrieves the current state partition in the refinement process.
virtual bool refine(SignatureMode const &mode=SignatureMode::Eager)
Refines the partition.
Status getStatus() const
Retrieves the status of the refinement process.
std::chrono::high_resolution_clock::duration totalSignatureTime
std::chrono::high_resolution_clock::duration totalRefinementTime
bool refineWrtRewardModel(storm::models::symbolic::StandardRewardModel< DdType, ValueType > const &rewardModel)
Refines the partition wrt.
Partition< DdType, ValueType > internalRefine(SignatureComputer< DdType, ValueType > &stateSignatureComputer, SignatureRefiner< DdType, ValueType > &signatureRefiner, Partition< DdType, ValueType > const &oldPartition, Partition< DdType, ValueType > const &targetPartition, SignatureMode const &mode=SignatureMode::Eager)
std::chrono::high_resolution_clock::duration getTotalSignatureTime() const
Partition< DdType, ValueType > statePartition
SignatureRefiner< DdType, ValueType > signatureRefiner
SignatureComputer< DdType, ValueType > signatureComputer
Base class for all symbolic models.
Definition Model.h:46
LabParser.cpp.
Definition cli.cpp:18