moves-rwth / storm

A Modern Probabilistic Model Checker
https://www.stormchecker.org
GNU General Public License v3.0
133 stars 74 forks source link

Feature request: Option to disable graph-preserving constraints #50

Closed jjguijt closed 4 years ago

jjguijt commented 5 years ago

In some use cases it may not be desirable to preserve the graph of a pMC.

For example, when using storm-pars go check the property P=? [ G ! crash ] on the following model

state 0 init
    action 0
        0 : p1
        1 : 1 - p1
state 1 crash
    action 0
        1 : 1

The result of the query is 0 (as is shown below).

$ storm-pars --prop "P=? [ G ! \"crash\" ]" --explicit-drn storm-pmc-model-test.drn --resultfile storm-pmc-test-results.txt
Storm-pars 1.3.1 (dev)

Date: Mon Jul 22 17:23:04 2019
Command line arguments: --prop 'P=? [ G ! "crash" ]' --explicit-drn storm-pmc-model-test.drn --resultfile storm-pmc-test-results.txt
Current working directory: /home/jeremy/study/internship

Time for model construction: 0.018s.

-------------------------------------------------------------- 
Model type:     DTMC (sparse)
States:     2
Transitions:    3
Reward Models:  none
State Labels:   2 labels
   * crash -> 1 item(s)
   * init -> 1 item(s)
Choice Labels:  none
-------------------------------------------------------------- 

Model checking property "1": P=? [G !("crash")] ...
Result (initial states): 0
Time for model checking: 0.007s.

Write to file storm-pmc-test-results.txt.

The result is 0 since a graph-preserving constrain prohibits p1 = 1. However, when synthesizing an optimal strategy for this problem it may not be necessary to keep the transition from state 0 to 1 as a possibility.

There is of course a workaround by using z3 only on the well-formedness constraints, but it would be nice if storm-pars also offered the possibility to disable the graph-preserving constraints. In addition, it may not always be easy to determine which formula to optimize under these constraints.

My theoretical knowledge is not deep enough to know if this causes problems in some other cases (since it may cause graph components to become disconnected).

sjunges commented 5 years ago

Naturally, the problem statement is different whether you restrict to graph-preserving valuations or not, see e.g., http://arxiv.org/abs/1904.01503. However, for computing a solution function, it generally does not make sense from a theoretical perspective to disable them as there is no longer a rational function closed form. For a more computational explanation, see e.g., http://arxiv.org/abs/1903.07993.

When you are referring to synthesising a strategy, this is vague, as we are considering DTMCs in your example. I guess you refer to computing a strategy for POMDPs as the connection pointed out in http://auai.org/uai2018/proceedings/papers/195.pdf. That paper also points out this particular problem, and gives some hints about the continuity of the function---later rephrased in the literature pointed to above.

I fail to comprehend the paragraph from "There is... these constraints".

I also fail to comprehend how we should switch these constraints off, and what kind of output you would expect.

sjunges commented 4 years ago

As there remain many theoretical hurdles, I do not think we will add this anytime soon. If there are new theoretical results, feel free to reopen.