Storm 1.10.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
MenuGame.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4
6
7namespace storm::gbar {
8namespace abstraction {
9
13template<storm::dd::DdType Type, typename ValueType>
15 public:
17
18 MenuGame(MenuGame<Type, ValueType> const& other) = default;
22
42 MenuGame(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
44 std::set<storm::expressions::Variable> const& rowVariables, std::set<storm::expressions::Variable> const& columnVariables,
45 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
46 std::set<storm::expressions::Variable> const& player1Variables, std::set<storm::expressions::Variable> const& player2Variables,
47 std::set<storm::expressions::Variable> const& allNondeterminismVariables,
48 std::set<storm::expressions::Variable> const& probabilisticBranchingVariables,
49 std::map<storm::expressions::Expression, storm::dd::Bdd<Type>> const& expressionToBddMap);
50
51 virtual storm::dd::Bdd<Type> getStates(std::string const& label) const override;
52
60 virtual storm::dd::Bdd<Type> getStates(storm::expressions::Expression const& expression) const override;
61
70 storm::dd::Bdd<Type> getStates(storm::expressions::Expression const& expression, bool negated) const;
71
78
86
93 std::set<storm::expressions::Variable> const& getProbabilisticBranchingVariables() const;
94
95 virtual bool hasLabel(std::string const& label) const override;
96
97 private:
98 // The transition relation extended byt the probabilistic branching variables.
99 storm::dd::Add<Type, ValueType> extendedTransitionMatrix;
100
101 // The meta variables used to probabilistic branching.
102 std::set<storm::expressions::Variable> probabilisticBranchingVariables;
103
104 // A mapping from expressions that were used in the abstraction process to the the BDDs representing them.
105 std::map<storm::expressions::Expression, storm::dd::Bdd<Type>> expressionToBddMap;
106
107 // The bottom states of the model.
108 storm::dd::Bdd<Type> bottomStates;
109};
110
111} // namespace abstraction
112} // namespace storm::gbar
This class represents a discrete-time stochastic two-player game.
Definition MenuGame.h:14
MenuGame & operator=(MenuGame< Type, ValueType > const &other)=default
MenuGame(MenuGame< Type, ValueType > const &other)=default
virtual bool hasLabel(std::string const &label) const override
Retrieves whether the given label is a valid label in this model.
Definition MenuGame.cpp:83
MenuGame & operator=(MenuGame< Type, ValueType > &&other)=default
MenuGame(MenuGame< Type, ValueType > &&other)=default
storm::dd::Bdd< Type > getBottomStates() const
Retrieves the bottom states of the model.
Definition MenuGame.cpp:68
virtual storm::dd::Bdd< Type > getStates(std::string const &label) const override
Returns the sets of states labeled with the given label.
Definition MenuGame.cpp:40
storm::models::symbolic::StochasticTwoPlayerGame< Type, ValueType >::RewardModelType RewardModelType
Definition MenuGame.h:16
std::set< storm::expressions::Variable > const & getProbabilisticBranchingVariables() const
Retrieves the variables used to encode additional information for the probabilistic branching in the ...
Definition MenuGame.cpp:78
storm::dd::Add< Type, ValueType > const & getExtendedTransitionMatrix() const
Retrieves the transition matrix extended by variables that encode additional information for the prob...
Definition MenuGame.cpp:73
storm::dd::Add< Type, ValueType > transitionMatrix
Definition Model.h:410
This class represents a discrete-time stochastic two-player game.
NondeterministicModel< Type, ValueType >::RewardModelType RewardModelType