SLIDE 1 Around State Equation
Piotr Hofman
University of Warsaw
SLIDE 2 Outline
1 Petri Nets. 2 The continuous reachability and the state equation. 3 Qcover and Icover. 4 Extensions of Petri Nets and corresponding state equations: 1
reset,
2
test for zero,
3
data (unordered, ordered).
SLIDE 3 Petri Nets.
P1 T1 P2 P3 T2 P4
Places. Transitions.
SLIDE 4 Petri Nets.
P1 T1 P2 P3 T2 P4
Places. Transitions. Tokens, a Configuration.
SLIDE 5 Petri Nets.
P1 T1 P2 P3 T2 P4
Places. Transitions. Tokens, a Configuration. Firing a transition.
SLIDE 6 Petri Nets.
P1 T1 P2 P3 T2 P4
Places. Transitions. Tokens, a Configuration. Firing a transition.
SLIDE 7 Petri Nets.
P1 T1 P2 P3 T2 P4
Places. Transitions. Tokens, a Configuration. Firing a transition.
SLIDE 8 Description of the net, three matrices.
P1 T1 P2 P3 T2 P4 Pre(N) =
1 1 1
Post(N) =
1 1 1 1
∆ = Post(N) − Pre(N)
−1 1 1 −1 1 −1 1
SLIDE 9
Reachability.
Reachability is hard.
SLIDE 10
Reachability.
Reachability is hard. We consider its relaxations.
SLIDE 11
Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
SLIDE 12 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
SLIDE 13 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
SLIDE 14 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
SLIDE 15 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
Continuous reachability.
SLIDE 16 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
Continuous reachability.
1 We consider a model where a fraction of a transition
may be fired (the number of tokens gets rational).
SLIDE 17 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
Continuous reachability.
1 We consider a model where a fraction of a transition
may be fired (the number of tokens gets rational).
2 Reachability may be captured by the fragment of the
existential fragment of FO(Q, +, <).
SLIDE 18 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
Continuous reachability.
1 We consider a model where a fraction of a transition
may be fired (the number of tokens gets rational).
2 Reachability may be captured by the fragment of the
existential fragment of FO(Q, +, <).
3 We denote the fragment by FOpoly0(Q, +, <)
(by M. Blondin, C. Haase, LICS 2017).
SLIDE 19 Reachability.
Reachability is hard. We consider its relaxations.
Integer reachability (state equation).
1 We consider a model where the number of tokens may
get negative.
2 As transitions are non blocking, the effect of the path
depends only on the occurrences of transitions.
3 Integer programming.
Continuous reachability.
1 We consider a model where a fraction of a transition
may be fired (the number of tokens gets rational).
2 Reachability may be captured by the fragment of the
existential fragment of FO(Q, +, <).
3 We denote the fragment by FOpoly0(Q, +, <)
(by M. Blondin, C. Haase, LICS 2017).
4 A key part is the state equation solved over Q+.
SLIDE 20
Reachability.
Reachability is hard.We consider its relaxations. f - target configuration. i - initial configuration.
Integer reachability (state equation).
f − i = ∆ x where x ∈ N|T|
SLIDE 21 Reachability.
Reachability is hard.We consider its relaxations. f - target configuration. i - initial configuration.
Integer reachability (state equation).
f − i = ∆ x where x ∈ N|T| and an equivalent form: Can f − i be expressed as
i ∆[ji]
where ∆[ji] are columns of ∆?
SLIDE 22 Reachability.
Reachability is hard.We consider its relaxations. f - target configuration. i - initial configuration.
Integer reachability (state equation).
f − i = ∆ x where x ∈ N|T| and an equivalent form: Can f − i be expressed as
i ∆[ji]
where ∆[ji] are columns of ∆?
Continuous reachability, the main equation.
f − i = ∆ x where x ∈ Q+|T|
SLIDE 23 Reachability.
Reachability is hard.We consider its relaxations. f - target configuration. i - initial configuration.
Integer reachability (state equation).
f − i = ∆ x where x ∈ N|T| and an equivalent form: Can f − i be expressed as
i ∆[ji]
where ∆[ji] are columns of ∆?
Continuous reachability, the main equation.
f − i = ∆ x where x ∈ Q+|T| and an equivalent form: Can f − i be expressed as
i ai∆[ji]
where ai ∈ Q+ and ∆[ji] are columns of ∆?
SLIDE 24 Qcover + Icover
1 Make a standard backward coverability algorithm. 2 For every new element in the pre(base) check if it can be covered
from the initial configuration. if NO then drop it else add it to the base.
3 covered in the
continuous reachability sense (Qcover), integer reachability sense (Icover).
4 Use SMT-solver to solve linear programs / integer programs.
SLIDE 25 Different extensions of Petri Nets
New types of arc
Reset + affine. Test for zero (backward coverability algorithm does not work).
Coloured tokens /data
1 Unordered data Petri nets. The backward coverability algorithm
terminates.
2 Ordered data Petri nets. The backward coverability algorithm
terminates.
3 Tuples of unordered data. The backward coverability algorithm does
not terminate (coverability is undecidable).
SLIDE 26 State equation in the case of the reset nets.
1 A place gets value 0 if it is reset. 2 We consider integer runs. 3 Integer reachability is NP − complete, result by S. Halfon and Ch.
Haase, RP 2014.
Affine
Filip explained it.
SLIDE 27 Test for zero( unpublished results form June 2018).
Description.
1 A special test for zero arc. 2 A transition can be fired if the number of tokens in
the place equals zero.
SLIDE 28 Test for zero( unpublished results form June 2018).
Description.
1 A special test for zero arc. 2 A transition can be fired if the number of tokens in
the place equals zero.
2 places may be tested for zero + finite automaton.
Integer reachability is undecidable, by S. Lasota.
SLIDE 29 Test for zero( unpublished results form June 2018).
Description.
1 A special test for zero arc. 2 A transition can be fired if the number of tokens in
the place equals zero.
2 places may be tested for zero + finite automaton.
Integer reachability is undecidable, by S. Lasota.
1 place can be tested for zero.
Integer reachability is NP − complete by P. Hofman, D. Knop, M. Pilipczuk, Akshay S., M. Wrochna.
SLIDE 30 Test for zero( unpublished results form June 2018).
Description.
1 A special test for zero arc. 2 A transition can be fired if the number of tokens in
the place equals zero.
2 places may be tested for zero + finite automaton.
Integer reachability is undecidable, by S. Lasota.
1 place can be tested for zero.
Integer reachability is NP − complete by P. Hofman, D. Knop, M. Pilipczuk, Akshay S., M. Wrochna.
1 place can be tested for zero.
Continuous reachability is P − complete by P. Hofman, Akshay S.
SLIDE 31 Test for zero( unpublished results form June 2018).
Description.
1 A special test for zero arc. 2 A transition can be fired if the number of tokens in
the place equals zero.
2 places may be tested for zero + finite automaton.
Integer reachability is undecidable, by S. Lasota.
1 place can be tested for zero.
Integer reachability is NP − complete by P. Hofman, D. Knop, M. Pilipczuk, Akshay S., M. Wrochna.
1 place can be tested for zero.
Continuous reachability is P − complete by P. Hofman, Akshay S.
SLIDE 32 Continuous reachability + one test for zero
Abstract Petri nets
1 The finite set of places, say d. 2 The finite set of formulas over 2d free
variables x1, x2 . . . x2d.
3 The set of transitions is a set of all true
valuations of a formula.
4 The set of configurations is Q+d.
SLIDE 33 Continuous reachability + one test for zero
Abstract Petri nets
1 The finite set of places, say d. 2 The finite set of formulas over 2d free
variables x1, x2 . . . x2d.
3 The set of transitions is a set of all true
valuations of a formula.
4 The set of configurations is Q+d.
Examples
1 Formulas are constant - Normal Petri Net.
SLIDE 34 Continuous reachability + one test for zero
Abstract Petri nets
1 The finite set of places, say d. 2 The finite set of formulas over 2d free
variables x1, x2 . . . x2d.
3 The set of transitions is a set of all true
valuations of a formula.
4 The set of configurations is Q+d.
Examples
1 Formulas are constant - Normal Petri Net. 2 Formulas are of the form ∃y∈Q+
x = y · t, where t ∈ Z2d - Continuous Petri Nets.
SLIDE 35 Continuous reachability + one test for zero
Abstract Petri nets
1 The finite set of places, say d. 2 The finite set of formulas over 2d free
variables x1, x2 . . . x2d.
3 The set of transitions is a set of all true
valuations of a formula.
4 The set of configurations is Q+d.
Examples
1 Formulas are constant - Normal Petri Net. 2 Formulas are of the form ∃y∈Q+
x = y · t, where t ∈ Z2d - Continuous Petri Nets.
3 Each formula is a system of homogeneous linear equation.
SLIDE 36 Continuous reachability + one test for zero
Abstract Petri nets
1 The finite set of places, say d. 2 The finite set of formulas over 2d free
variables x1, x2 . . . x2d.
3 The set of transitions is a set of all true
valuations of a formula.
4 The set of configurations is Q+d.
Examples
1 Formulas are constant - Normal Petri Net. 2 Formulas are of the form ∃y∈Q+
x = y · t, where t ∈ Z2d - Continuous Petri Nets.
3 Each formula is a system of homogeneous linear equation. 4 Each formula is an expression in FOpoly0(Q, +, <).
SLIDE 37 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero.
SLIDE 38 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero. 2 Every such fragment is a run of a continuous Petri net.
SLIDE 39 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero. 2 Every such fragment is a run of a continuous Petri net. 3 Recall that the continuous Petri net reachability can be described as
a formula in FOpoly0(Q, +, <).
SLIDE 40 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero. 2 Every such fragment is a run of a continuous Petri net. 3 Recall that the continuous Petri net reachability can be described as
a formula in FOpoly0(Q, +, <).
4 We construct an abstract Petri net with formulas in
FOpoly0(Q, +, <) in which transition corresponds to reachability in the continuous Petri net.
SLIDE 41 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero. 2 Every such fragment is a run of a continuous Petri net. 3 Recall that the continuous Petri net reachability can be described as
a formula in FOpoly0(Q, +, <).
4 We construct an abstract Petri net with formulas in
FOpoly0(Q, +, <) in which transition corresponds to reachability in the continuous Petri net.
5 Every run in the abstract Petri net corresponds to a run of the
- riginal continuous Petri net with test for zero.
SLIDE 42 Continuous reachability + one test for zero
1 Split the run to fragments between consecutive tests for zero. 2 Every such fragment is a run of a continuous Petri net. 3 Recall that the continuous Petri net reachability can be described as
a formula in FOpoly0(Q, +, <).
4 We construct an abstract Petri net with formulas in
FOpoly0(Q, +, <) in which transition corresponds to reachability in the continuous Petri net.
5 Every run in the abstract Petri net corresponds to a run of the
- riginal continuous Petri net with test for zero.
6 It can be proven that reachability in an abstract net with formulas in
FOpoly0(Q, +, <) can be efficiently described as FOpoly0(Q, +, <) formula.
SLIDE 43
Petri nets with data.
SLIDE 44 Net with data
p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
SLIDE 45 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
SLIDE 46 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u
SLIDE 47 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u The formula φ is
- ver variables u, v, x, y, z.
SLIDE 48 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u x = 2 y = 1 z = 3 u = 3 v = 2 The formula φ is
- ver variables u, v, x, y, z.
SLIDE 49 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u x = 2 y = 1 z = 3 u = 3 v = 2 The formula φ is
- ver variables u, v, x, y, z.
SLIDE 50 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u x = 2 y = 1 z = 3 u = 3 v = 2 The formula φ is
- ver variables u, v, x, y, z.
SLIDE 51 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u x = 2 y = 1 z = 3 u = 3 v = ? The formula φ is
- ver variables u, v, x, y, z.
SLIDE 52 Net with data
Let D be an infinite data domain. Configuration is a function from P × D → N. p2
2 2
p1
1 2 3
p3
1 2
p4
2 3
formula φ
2x y, z v u x = 2 y = 1 z = 3 u = 3 v = 8
You can create new names!
The formula φ is
- ver variables u, v, x, y, z.
SLIDE 53
Petri net with data
Formula φ?
UDPN
Predicates use = and = (= is for free as we have negation). Unordered Data Petri Nets:
SLIDE 54 Petri net with data
Formula φ?
UDPN
Predicates use = and = (= is for free as we have negation). Unordered Data Petri Nets:
1 a toy model, 2 disequality is not very useful in modelling.
SLIDE 55 Petri net with data
Formula φ?
UDPN
Predicates use = and = (= is for free as we have negation). Unordered Data Petri Nets:
1 a toy model, 2 disequality is not very useful in modelling.
ODPN
Predicates use ≤. Ordered Data Petri Nets:
1 set of data values forms a linear and dense order(the
second assumption can be dropped)
SLIDE 56 Petri net with data
Formula φ?
UDPN
Predicates use = and = (= is for free as we have negation). Unordered Data Petri Nets:
1 a toy model, 2 disequality is not very useful in modelling.
ODPN
Predicates use ≤. Ordered Data Petri Nets:
1 set of data values forms a linear and dense order(the
second assumption can be dropped)
2 order can be used to mimic global freshness, so to
express a dynamic process creation,
SLIDE 57 Petri net with data
Formula φ?
UDPN
Predicates use = and = (= is for free as we have negation). Unordered Data Petri Nets:
1 a toy model, 2 disequality is not very useful in modelling.
ODPN
Predicates use ≤. Ordered Data Petri Nets:
1 set of data values forms a linear and dense order(the
second assumption can be dropped)
2 order can be used to mimic global freshness, so to
express a dynamic process creation,
3 order can be used to simulate time( up to
coverability).
SLIDE 58
Simplifications.
UDPN
We restrict formulas to conjunctions of equalities and disequalities such that relation between every two variables is specified.
SLIDE 59 Simplifications.
UDPN
We restrict formulas to conjunctions of equalities and disequalities such that relation between every two variables is specified. p2
2 2
p1
1 2
p3
1
p4
2
formula φ
2x x, z z x φ := x = z
SLIDE 60 Simplifications.
UDPN
We restrict formulas to conjunctions of equalities and disequalities such that relation between every two variables is specified.
1 They are equally expressive; 2 1 original transition is substituted by exponentially
many of the restricted transitions. p2
2 2
p1
1 2
p3
1
p4
2
formula φ
2x x, z z x φ := x = z
SLIDE 61 Simplifications.
UDPN
We restrict formulas to conjunctions of equalities and disequalities such that relation between every two variables is specified.
1 They are equally expressive; 2 1 original transition is substituted by exponentially
many of the restricted transitions.
ODPN
Variables are linearly ordered.
1 They are equally expressive; 2 1 original transition is substituted by exponentially
many of the restricted transitions.
SLIDE 62
Integer reachability.
Integer reachability
is defined as usual, configurations are functions P × D → Z.
SLIDE 63
Integer reachability.
Integer reachability
is defined as usual, configurations are functions P × D → Z.
Integer reachability in UDPN
is NP − complete (P. Hofman, J. Leroux, P. Totzke, LICS 2017).
SLIDE 64
Integer reachability.
Integer reachability
is defined as usual, configurations are functions P × D → Z.
Integer reachability in UDPN
is NP − complete (P. Hofman, J. Leroux, P. Totzke, LICS 2017).
Integer reachability where transitions are given as formulas.
Complexity is open.
SLIDE 65
Continuous reachability in UDPN
Continuous reachability
is defined as usual, configurations are functions P × D → Q+.
SLIDE 66
Continuous reachability in UDPN
Continuous reachability
is defined as usual, configurations are functions P × D → Q+.
Continuous reachability
is P − complete (U. Gupta, P. Sash (two students), under supervision of P. Hofman and Akshay S., June 2018).
SLIDE 67 Continuous reachability in UDPN
Continuous reachability
is defined as usual, configurations are functions P × D → Q+.
Continuous reachability
is P − complete (U. Gupta, P. Sash (two students), under supervision of P. Hofman and Akshay S., June 2018).
Combination of:
1 techniques for integer reachability in UDPN, 2 techniques for continuous reachability in Petri nets.
SLIDE 68
Integer reachability in ODPN
Integer reachability
is defined as usual, configurations are functions P × D → Z.
SLIDE 69
Integer reachability in ODPN
Integer reachability
is defined as usual, configurations are functions P × D → Z.
Integer reachability
is Petri net reachability complete (P. Hofman, S. Lasota, CONCUR 2018).
SLIDE 70 Integer reachability in ODPN
Integer reachability
is defined as usual, configurations are functions P × D → Z.
Integer reachability
is Petri net reachability complete (P. Hofman, S. Lasota, CONCUR 2018).
Surprisingly P − complete is:
If f − i can be expressed as
i ai∆[ji] ◦ τi
where ai ∈ Q+, ∆[ji] are columns of ∆ and τi is a function from variables to data (P. Hofman, S. Lasota, CONCUR 2018).
SLIDE 71
Thank you!