Browse Source

fixing bug in relevant states computation of menu-game-based abstraction

tempestpy_adaptions
dehnert 6 years ago
parent
commit
59a81831f3
  1. 2
      src/storm/abstraction/jani/JaniMenuGameAbstractor.cpp
  2. 2
      src/storm/abstraction/prism/PrismMenuGameAbstractor.cpp

2
src/storm/abstraction/jani/JaniMenuGameAbstractor.cpp

@ -201,7 +201,7 @@ namespace storm {
storm::dd::Bdd<DdType> targetStates = reachableStates && this->getStates(this->getTargetStateExpression()); storm::dd::Bdd<DdType> targetStates = reachableStates && this->getStates(this->getTargetStateExpression());
// In the presence of target states, we keep only states that can reach the target states. // In the presence of target states, we keep only states that can reach the target states.
reachableStates = storm::utility::dd::computeBackwardsReachableStates(targetStates, reachableStates && !initialStates, transitionRelation, abstractionInformation.getSourceVariables(), abstractionInformation.getSuccessorVariables()) || initialStates;
reachableStates = storm::utility::dd::computeBackwardsReachableStates(targetStates, reachableStates, transitionRelation, abstractionInformation.getSourceVariables(), abstractionInformation.getSuccessorVariables());
// Include all successors of reachable states, because the backward search otherwise potentially // Include all successors of reachable states, because the backward search otherwise potentially
// cuts probability 0 choices of these states. // cuts probability 0 choices of these states.

2
src/storm/abstraction/prism/PrismMenuGameAbstractor.cpp

@ -193,7 +193,7 @@ namespace storm {
storm::dd::Bdd<DdType> targetStates = reachableStates && this->getStates(this->getTargetStateExpression()); storm::dd::Bdd<DdType> targetStates = reachableStates && this->getStates(this->getTargetStateExpression());
// In the presence of target states, we keep only states that can reach the target states. // In the presence of target states, we keep only states that can reach the target states.
reachableStates = storm::utility::dd::computeBackwardsReachableStates(targetStates, reachableStates && !initialStates, transitionRelation, abstractionInformation.getSourceVariables(), abstractionInformation.getSuccessorVariables()) || initialStates;
reachableStates = storm::utility::dd::computeBackwardsReachableStates(targetStates, reachableStates, transitionRelation, abstractionInformation.getSourceVariables(), abstractionInformation.getSuccessorVariables());
// Include all successors of reachable states, because the backward search otherwise potentially // Include all successors of reachable states, because the backward search otherwise potentially
// cuts probability 0 choices of these states. // cuts probability 0 choices of these states.

Loading…
Cancel
Save