40 lastRewards = zeroRewards;
41 ValueType probability = generator.random();
42 STORM_LOG_ASSERT(action < model.getTransitionMatrix().getRowGroupSize(currentState),
"Action index higher than number of actions");
43 uint64_t row = model.getTransitionMatrix().getRowGroupIndices()[currentState] + action;
45 for (
auto const& rewModPair : model.getRewardModels()) {
46 if (rewModPair.second.hasStateActionRewards()) {
47 lastRewards[i] += rewModPair.second.getStateActionReward(row);
51 ValueType sum = storm::utility::zero<ValueType>();
52 for (
auto const& entry : model.getTransitionMatrix().getRow(row)) {
53 sum += entry.getValue();
54 if (sum >= probability) {
55 currentState = entry.getColumn();
57 for (
auto const& rewModPair : model.getRewardModels()) {
58 if (rewModPair.second.hasStateRewards()) {
59 lastRewards[i] += rewModPair.second.getStateReward(currentState);