Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RewardBoundUnfolder.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <memory>
5#include <set>
6#include <string>
7#include <vector>
8
11
13// TODO this may be moved to storm/transformer
14template<typename ValueType>
16 public:
17 struct ReturnType {
18 std::shared_ptr<storm::models::sparse::Model<ValueType>> model;
19 std::shared_ptr<storm::logic::Formula> formula;
20 };
21
35 std::vector<uint64_t> levelWidths{};
36
38 std::set<std::string> preservedRewardModels{};
39 };
40
48 static ReturnType transform(storm::models::sparse::Model<ValueType> const& model, storm::logic::Formula const& formula,
49 UnfoldingOptions const& options = {});
50};
51
52} // namespace storm::pomdp::transformer
Base class for all sparse models.
Definition Model.h:34
static ReturnType transform(storm::models::sparse::Model< ValueType > const &model, storm::logic::Formula const &formula, UnfoldingOptions const &options={})
Unfolds reward-bounded dimensions into the model state space and returns an equivalent formula.
std::shared_ptr< storm::models::sparse::Model< ValueType > > model
std::vector< uint64_t > levelWidths
Allows to define a levelWidth for each dimension.
std::set< std::string > preservedRewardModels
The reward models that will be preserved in the unfolding.