35 std::pair<storm::expressions::Variable, storm::expressions::Variable> state = manager->addMetaVariable(
"x", 1, 4);
36 std::pair<storm::expressions::Variable, storm::expressions::Variable> pl1 = manager->addMetaVariable(
"a", 0, 1);
37 std::pair<storm::expressions::Variable, storm::expressions::Variable> pl2 = manager->addMetaVariable(
"b", 0, 1);
40 std::set<storm::expressions::Variable> rowMetaVariables({state.first});
41 std::set<storm::expressions::Variable> columnMetaVariables({state.second});
42 std::vector<std::pair<storm::expressions::Variable, storm::expressions::Variable>> rowColumnMetaVariablePairs = {state};
43 std::set<storm::expressions::Variable> player1Variables({pl1.first});
44 std::set<storm::expressions::Variable> player2Variables({pl2.first});
48 manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 2).template toAdd<double>() *
49 manager->getEncoding(pl1.first, 0).template toAdd<double>() * manager->getEncoding(pl2.first, 0).template toAdd<double>() * manager->getConstant(0.6);
50 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 1).template toAdd<double>() *
51 manager->getEncoding(pl1.first, 0).template toAdd<double>() * manager->getEncoding(pl2.first, 0).template toAdd<double>() *
52 manager->getConstant(0.4);
54 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 2).template toAdd<double>() *
55 manager->getEncoding(pl1.first, 0).template toAdd<double>() * manager->getEncoding(pl2.first, 1).template toAdd<double>() *
56 manager->getConstant(0.2);
57 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 3).template toAdd<double>() *
58 manager->getEncoding(pl1.first, 0).template toAdd<double>() * manager->getEncoding(pl2.first, 1).template toAdd<double>() *
59 manager->getConstant(0.8);
61 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 3).template toAdd<double>() *
62 manager->getEncoding(pl1.first, 1).template toAdd<double>() * manager->getEncoding(pl2.first, 0).template toAdd<double>() *
63 manager->getConstant(0.5);
64 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 4).template toAdd<double>() *
65 manager->getEncoding(pl1.first, 1).template toAdd<double>() * manager->getEncoding(pl2.first, 0).template toAdd<double>() *
66 manager->getConstant(0.5);
68 matrix += manager->getEncoding(state.first, 1).template toAdd<double>() * manager->getEncoding(state.second, 1).template toAdd<double>() *
69 manager->getEncoding(pl1.first, 1).template toAdd<double>() * manager->getEncoding(pl2.first, 1).template toAdd<double>() *
70 manager->template getConstant<double>(1);
77 illegalPlayer2Mask &= illegalPlayer1Mask;
78 illegalPlayer1Mask &= !illegalPlayer1Mask && manager->getRange(state.first);
80 std::unique_ptr<storm::solver::SymbolicGameSolver<DdType>> solver =
81 solverFactory->create(matrix, allRows, illegalPlayer1Mask, illegalPlayer2Mask, rowMetaVariables, columnMetaVariables, rowColumnMetaVariablePairs,
82 player1Variables, player2Variables);
87 manager->getEncoding(state.first, 2).template toAdd<double>() + manager->getEncoding(state.first, 4).template toAdd<double>();
90 storm::dd::Add<DdType> result = solver->solveGame(env, storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Minimize, x, b);
91 result *= manager->getEncoding(state.first, 1).template toAdd<double>();
95 x = manager->template getAddZero<double>();
96 result = solver->solveGame(env, storm::OptimizationDirection::Minimize, storm::OptimizationDirection::Maximize, x, b);
97 result *= manager->getEncoding(state.first, 1).template toAdd<double>();
101 x = manager->template getAddZero<double>();
102 result = solver->solveGame(env, storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Minimize, x, b);
103 result *= manager->getEncoding(state.first, 1).template toAdd<double>();
107 x = manager->template getAddZero<double>();
108 result = solver->solveGame(env, storm::OptimizationDirection::Maximize, storm::OptimizationDirection::Maximize, x, b);
109 result *= manager->getEncoding(state.first, 1).template toAdd<double>();