You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For property Pmax=? [(!(s = 1)) U (s=3)], the resulting MDP has 4 states, while for property Pmax=? [(! "bad") U (s=3)] it has 5. This is due to the states (s=1) and (s=3) being detected as terminal in the former case but not the latter, causing (s=4) to be explored in the latter case.
In particular, in function getTerminalStatesFromFormula in src/storm/builder/TerminalStatesGetter.cpp, the formula (! "bad") is not detected to be atomic while (!(s = 1)) is. This can be confusing as such cases can result in large differences in model size while semantically the formulae are equivalent.
The text was updated successfully, but these errors were encountered:
The detection of terminal states in the model building leads to unexpected, diverging behavior.
Consider for example the following MDP
For property
Pmax=? [(!(s = 1)) U (s=3)]
, the resulting MDP has 4 states, while for propertyPmax=? [(! "bad") U (s=3)]
it has 5. This is due to the states (s=1) and (s=3) being detected as terminal in the former case but not the latter, causing (s=4) to be explored in the latter case.In particular, in function
getTerminalStatesFromFormula
insrc/storm/builder/TerminalStatesGetter.cpp
, the formula(! "bad")
is not detected to be atomic while(!(s = 1))
is. This can be confusing as such cases can result in large differences in model size while semantically the formulae are equivalent.The text was updated successfully, but these errors were encountered: