Storm
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
8
9namespace storm::gbar {
10namespace abstraction {
11
15template<storm::dd::DdType Type, typename ValueType>
17 public:
19
20 MenuGame(MenuGame<Type, ValueType> const& other) = default;
24
44 MenuGame(std::shared_ptr<storm::dd::DdManager<Type>> manager, storm::dd::Bdd<Type> reachableStates, storm::dd::Bdd<Type> initialStates,
46 std::set<storm::expressions::Variable> const& rowVariables, std::set<storm::expressions::Variable> const& columnVariables,
47 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> const& rowColumnMetaVariablePairs,
48 std::set<storm::expressions::Variable> const& player1Variables, std::set<storm::expressions::Variable> const& player2Variables,
49 std::set<storm::expressions::Variable> const& allNondeterminismVariables,
50 std::set<storm::expressions::Variable> const& probabilisticBranchingVariables,
51 std::map<storm::expressions::Expression, storm::dd::Bdd<Type>> const& expressionToBddMap);
52
53 virtual storm::dd::Bdd<Type> getStates(std::string const& label) const override;
54
62 virtual storm::dd::Bdd<Type> getStates(storm::expressions::Expression const& expression) const override;
63
72 storm::dd::Bdd<Type> getStates(storm::expressions::Expression const& expression, bool negated) const;
73
80
88
95 std::set<storm::expressions::Variable> const& getProbabilisticBranchingVariables() const;
96
97 virtual bool hasLabel(std::string const& label) const override;
98
99 private:
100 // The transition relation extended byt the probabilistic branching variables.
101 storm::dd::Add<Type, ValueType> extendedTransitionMatrix;
102
103 // The meta variables used to probabilistic branching.
104 std::set<storm::expressions::Variable> probabilisticBranchingVariables;
105
106 // A mapping from expressions that were used in the abstraction process to the the BDDs representing them.
107 std::map<storm::expressions::Expression, storm::dd::Bdd<Type>> expressionToBddMap;
108
109 // The bottom states of the model.
110 storm::dd::Bdd<Type> bottomStates;
111};
112
113} // namespace abstraction
114} // namespace storm::gbar
This class represents a discrete-time stochastic two-player game.
Definition MenuGame.h:16
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:18
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:409
This class represents a discrete-time stochastic two-player game.
NondeterministicModel< Type, ValueType >::RewardModelType RewardModelType