Hello!
In the attached box.drn (attached as box.txt as .drn is not allowed) describing a DTMC, we observe a significant difference between the results for R=? [ LRA ] obtained from Storm with and without --exact mode. Furthermore, for normal mode, we notice a difference between running inside Docker with the official Storm image for 1.11.1 (movesrwth/storm:1.11.1) and outside Docker (with a local Storm 1.11.1 installation).
The result from the exact mode (~4.7) is the result we would expect from the given model.
With non-exact (normal), we get warnings such as Iterative solver did not converge within 650 iteration(s). See below.
The commands used are:
storm -drn box.drn -prop 'R=? [ LRA ]' for normal mode
storm -drn box.drn -prop 'R=? [ LRA ]' --exact for exact mode
This may be a bug. Still, we're curious about how the LRA solver works internally in Storm and what properties DTMCs need to satisfy for accurate LRA (e.g., ergodicity), so we're happy to receive any pointers on that as well.
Outside Docker
Normal mode (unexpected result, different from inside Docker)
Storm 1.11.1
Date: REDACTED
Command line arguments: -drn box.drn -prop 'R=? [ LRA ]'
Current working directory: REDACTED
Time for model construction: 0.031s.
--------------------------------------------------------------
Model type: DTMC (sparse)
States: 692
Transitions: 1988
Reward Models: state_rewards
State Labels: 2 labels
* others -> 691 item(s)
* init -> 1 item(s)
Choice Labels: none
--------------------------------------------------------------
Model checking property "1": R=? [LRA] ...
WARN (GmmxxLinearEquationSolver.cpp:133): Iterative solver did not converge within 650 iteration(s).
Result (for initial states): 0.1621230201
Time for model checking: 0.013s.
Exact mode (provides expected result)
Storm 1.11.1
Date: REDACTED
Command line arguments: -drn box.drn -prop 'R=? [ LRA ]' --exact
Current working directory: REDACTED
Time for model construction: 0.034s.
--------------------------------------------------------------
Model type: DTMC (sparse)
States: 692
Transitions: 1988
Reward Models: state_rewards
State Labels: 2 labels
* others -> 691 item(s)
* init -> 1 item(s)
Choice Labels: none
--------------------------------------------------------------
Model checking property "1": R=? [LRA] ...
Result (for initial states): 7162421502770909416536148542922100806422506642794095715805852820934134364848710405660011125025088579168541687133508650680212735099753117159848395190338331671530598443584400918056130110499589858387269847081838468574328918654072199585532922053709762114076110160528088374410107757895543405784028949749322403837269019711753146836058745585535645606045064554341311232772642290176712784932234144871720425971088407069191334047841255927044328679317136/1524160011107888041327815318385702144027890236968364998220827485670179543719738543535189444324780549945132276168165433947941275733831296484895374315237970149228420262351625551129637420792708024812917643893757379710057428158793780346975663842459183882442235084739662981503612147390477408810108596856813982800012486544685276883140521893768268949434715895548115755054004829165212867851389115207032958363308723696669205626457223156070031668961647 (approx. 4.699258248)
Time for model checking: 0.295s.
Inside Docker
Normal mode (unexpected result, and different from outside Docker)
Storm 1.11.1
Date: REDACTED
Command line arguments: -drn box.drn -prop 'R=? [ LRA ]'
Current working directory: REDACTED
Time for model construction: 0.030s.
--------------------------------------------------------------
Model type: DTMC (sparse)
States: 692
Transitions: 1988
Reward Models: state_rewards
State Labels: 2 labels
* others -> 691 item(s)
* init -> 1 item(s)
Choice Labels: none
--------------------------------------------------------------
Model checking property "1": R=? [LRA] ...
WARN (GmmxxLinearEquationSolver.cpp:133): Iterative solver did not converge within 1400 iteration(s).
Result (for initial states): 78.83970964
Time for model checking: 0.022s.
Exact mode (with expected result)
Storm 1.11.1
Date: REDACTED
Command line arguments: -drn box.drn -prop 'R=? [ LRA ]' --exact
Current working directory: REDACTED
Time for model construction: 0.033s.
--------------------------------------------------------------
Model type: DTMC (sparse)
States: 692
Transitions: 1988
Reward Models: state_rewards
State Labels: 2 labels
* others -> 691 item(s)
* init -> 1 item(s)
Choice Labels: none
--------------------------------------------------------------
Model checking property "1": R=? [LRA] ...
Result (for initial states): 7162421502770909416536148542922100806422506642794095715805852820934134364848710405660011125025088579168541687133508650680212735099753117159848395190338331671530598443584400918056130110499589858387269847081838468574328918654072199585532922053709762114076110160528088374410107757895543405784028949749322403837269019711753146836058745585535645606045064554341311232772642290176712784932234144871720425971088407069191334047841255927044328679317136/1524160011107888041327815318385702144027890236968364998220827485670179543719738543535189444324780549945132276168165433947941275733831296484895374315237970149228420262351625551129637420792708024812917643893757379710057428158793780346975663842459183882442235084739662981503612147390477408810108596856813982800012486544685276883140521893768268949434715895548115755054004829165212867851389115207032958363308723696669205626457223156070031668961647 (approx. 4.699258248)
Time for model checking: 0.287s.
box.txt
Hello!
In the attached
box.drn(attached asbox.txtas.drnis not allowed) describing a DTMC, we observe a significant difference between the results forR=? [ LRA ]obtained from Storm with and without--exactmode. Furthermore, for normal mode, we notice a difference between running inside Docker with the official Storm image for 1.11.1 (movesrwth/storm:1.11.1) and outside Docker (with a local Storm 1.11.1 installation).The result from the exact mode (~4.7) is the result we would expect from the given model.
With non-exact (normal), we get warnings such as
Iterative solver did not converge within 650 iteration(s). See below.The commands used are:
storm -drn box.drn -prop 'R=? [ LRA ]'for normal modestorm -drn box.drn -prop 'R=? [ LRA ]' --exactfor exact modeThis may be a bug. Still, we're curious about how the LRA solver works internally in Storm and what properties DTMCs need to satisfy for accurate LRA (e.g., ergodicity), so we're happy to receive any pointers on that as well.
Outside Docker
Normal mode (unexpected result, different from inside Docker)
Exact mode (provides expected result)
Inside Docker
Normal mode (unexpected result, and different from outside Docker)
Exact mode (with expected result)
box.txt