12template<storm::dd::DdType Type,
typename ValueType =
double>
46 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::map<std::string, storm::expressions::Expression> labelToExpressionMap = std::map<std::string, storm::expressions::Expression>(),
51 std::unordered_map<std::string, RewardModelType>
const& rewardModels = std::unordered_map<std::string, RewardModelType>());
72 std::set<storm::expressions::Variable>
const& rowVariables, std::set<storm::expressions::Variable>
const& columnVariables,
73 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>>
const& rowColumnMetaVariablePairs,
74 std::set<storm::expressions::Variable>
const& player1Variables, std::set<storm::expressions::Variable>
const& player2Variables,
75 std::set<storm::expressions::Variable>
const& allNondeterminismVariables,
77 std::unordered_map<std::string, RewardModelType>
const& rewardModels = std::unordered_map<std::string, RewardModelType>());
107 template<
typename NewValueType>
108 std::shared_ptr<StochasticTwoPlayerGame<Type, NewValueType>>
toValueType()
const;
119 void createIllegalMasks();
128 std::set<storm::expressions::Variable> player1Variables;
131 std::set<storm::expressions::Variable> player2Variables;
storm::dd::Add< Type, ValueType > transitionMatrix
Model< Type, ValueType >::RewardModelType RewardModelType
NondeterministicModel(NondeterministicModel< Type, double > const &other)=default
std::shared_ptr< StochasticTwoPlayerGame< Type, NewValueType > > toValueType() const
StochasticTwoPlayerGame(std::shared_ptr< storm::dd::DdManager< Type > > manager, storm::dd::Bdd< Type > reachableStates, storm::dd::Bdd< Type > initialStates, storm::dd::Bdd< Type > deadlockStates, storm::dd::Add< Type, ValueType > transitionMatrix, std::set< storm::expressions::Variable > const &rowVariables, std::shared_ptr< storm::adapters::AddExpressionAdapter< Type, ValueType > > rowExpressionAdapter, std::set< storm::expressions::Variable > const &columnVariables, std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > const &rowColumnMetaVariablePairs, std::set< storm::expressions::Variable > const &player1Variables, std::set< storm::expressions::Variable > const &player2Variables, std::set< storm::expressions::Variable > const &allNondeterminismVariables, std::map< std::string, storm::expressions::Expression > labelToExpressionMap=std::map< std::string, storm::expressions::Expression >(), std::unordered_map< std::string, RewardModelType > const &rewardModels=std::unordered_map< std::string, RewardModelType >())
Constructs a model from the given data.
NondeterministicModel< Type, ValueType >::RewardModelType RewardModelType
StochasticTwoPlayerGame & operator=(StochasticTwoPlayerGame< Type, ValueType > &&other)=default
std::set< storm::expressions::Variable > const & getPlayer1Variables() const
Retrieeves the set of meta variables used to encode the nondeterministic choices of player 1.
std::set< storm::expressions::Variable > const & getPlayer2Variables() const
Retrieeves the set of meta variables used to encode the nondeterministic choices of player 2.
storm::dd::Bdd< Type > getIllegalPlayer1Mask() const
Retrieves a BDD characterizing all illegal player 1 choice encodings in the model.
StochasticTwoPlayerGame & operator=(StochasticTwoPlayerGame< Type, ValueType > const &other)=default
StochasticTwoPlayerGame(StochasticTwoPlayerGame< Type, ValueType > &&other)=default
uint64_t getNumberOfPlayer2States() const
Retrieves the number of player 2 states in the game.
storm::dd::Bdd< Type > getIllegalPlayer2Mask() const
Retrieves a BDD characterizing all illegal player 2 choice encodings in the model.
StochasticTwoPlayerGame(StochasticTwoPlayerGame< Type, ValueType > const &other)=default
StochasticTwoPlayerGame(std::shared_ptr< storm::dd::DdManager< Type > > manager, storm::dd::Bdd< Type > reachableStates, storm::dd::Bdd< Type > initialStates, storm::dd::Bdd< Type > deadlockStates, storm::dd::Add< Type, ValueType > transitionMatrix, std::set< storm::expressions::Variable > const &rowVariables, std::set< storm::expressions::Variable > const &columnVariables, std::vector< std::pair< storm::expressions::Variable, storm::expressions::Variable > > const &rowColumnMetaVariablePairs, std::set< storm::expressions::Variable > const &player1Variables, std::set< storm::expressions::Variable > const &player2Variables, std::set< storm::expressions::Variable > const &allNondeterminismVariables, std::map< std::string, storm::dd::Bdd< Type > > labelToBddMap=std::map< std::string, storm::dd::Bdd< Type > >(), std::unordered_map< std::string, RewardModelType > const &rewardModels=std::unordered_map< std::string, RewardModelType >())
Constructs a model from the given data.