Browse Source

Minor bugfix for conditional probability computation.

Former-commit-id: c0b103e2aa
tempestpy_adaptions
dehnert 10 years ago
parent
commit
f5b7554590
  1. 6
      src/modelchecker/reachability/SparseDtmcEliminationModelChecker.cpp

6
src/modelchecker/reachability/SparseDtmcEliminationModelChecker.cpp

@ -254,6 +254,12 @@ namespace storm {
// The states we want to eliminate are those that are tagged with "maybe" but are not a phi or psi state. // The states we want to eliminate are those that are tagged with "maybe" but are not a phi or psi state.
phiStates = phiStates % maybeStates; phiStates = phiStates % maybeStates;
// If there are no phi states in the reduced model, the conditional probability is trivially zero.
if (phiStates.empty()) {
return std::unique_ptr<CheckResult>(new ExplicitQuantitativeCheckResult<ValueType>(initialState, storm::utility::zero<ValueType>()));
}
psiStates = psiStates % maybeStates; psiStates = psiStates % maybeStates;
// Keep only the states that we do not eliminate in the maybe states. // Keep only the states that we do not eliminate in the maybe states.

Loading…
Cancel
Save