18 std::set<storm::expressions::Variable>
const& columnVariables,
19 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>>
const& rowColumnMetaVariablePairs,
20 std::set<storm::expressions::Variable>
const& player1Variables,
21 std::set<storm::expressions::Variable>
const& player2Variables,
22 std::set<storm::expressions::Variable>
const& allNondeterminismVariables,
23 std::set<storm::expressions::Variable>
const& probabilisticBranchingVariables,
25 :
storm::models::symbolic::StochasticTwoPlayerGame<
Type, ValueType>(
26 manager, reachableStates, initialStates, deadlockStates, transitionMatrix.sumAbstract(probabilisticBranchingVariables), rowVariables, nullptr,
27 columnVariables, rowColumnMetaVariablePairs, player1Variables, player2Variables, allNondeterminismVariables),
28 extendedTransitionMatrix(transitionMatrix),
29 probabilisticBranchingVariables(probabilisticBranchingVariables),
30 expressionToBddMap(expressionToBddMap),
31 bottomStates(bottomStates) {
48 return this->getReachableStates();
49 }
else if (expression.
isFalse()) {
50 return this->getManager().getBddZero();
53 auto it = expressionToBddMap.find(expression);
54 STORM_LOG_THROW(it != expressionToBddMap.end(), storm::exceptions::InvalidArgumentException,
55 "The given expression was not used in the abstraction process and can therefore not be retrieved.");
57 return !it->second && this->getReachableStates();
59 return it->second && this->getReachableStates();