on the upward downward closures of petri nets
play

On the Upward/Downward Closures of Petri Nets Mohammed Faouzi Atig 1 - PowerPoint PPT Presentation

Prakash Saivasan 2 August 25, MFCS 2017, Aalborg 1 Uppsala University, Sweden mohamed_faouzi.atig@it.uu.se 2 TU Braunschweig, Germany {roland.meyer, s.muskalla, p.saivasan}@tu-bs.de On the Upward/Downward Closures of Petri Nets Mohammed


  1. Petri net coverability can be solved using exponential space (and doubly exponential time). 7 Computing the Upward Closure - Upper Bound Theorem (Rackoff 1978) Assume places are ordered, P = [ 1 ..ℓ ] . Consider i -bounded computations: Allow negative values on the places [ i + 1 ..ℓ ]

  2. Petri net coverability can be solved using exponential space (and doubly exponential time). i -covering computation from an arbitrary initial marking 7 Computing the Upward Closure - Upper Bound Theorem (Rackoff 1978) Assume places are ordered, P = [ 1 ..ℓ ] . Consider i -bounded computations: Allow negative values on the places [ i + 1 ..ℓ ] Define f ( i ) upper bound on the length of an i -bounded,

  3. Petri net coverability can be solved using exponential space (and doubly exponential time). i -covering computation from an arbitrary initial marking 7 Computing the Upward Closure - Upper Bound Theorem (Rackoff 1978) Assume places are ordered, P = [ 1 ..ℓ ] . Consider i -bounded computations: Allow negative values on the places [ i + 1 ..ℓ ] Define f ( i ) upper bound on the length of an i -bounded, Prove f ( ℓ ) ⩽ 2 2 O ( n · log n )

  4. Petri net coverability can be solved using exponential space (and doubly exponential time). i -covering computation from an arbitrary initial marking 7 Computing the Upward Closure - Upper Bound Theorem (Rackoff 1978) Assume places are ordered, P = [ 1 ..ℓ ] . Consider i -bounded computations: Allow negative values on the places [ i + 1 ..ℓ ] Define f ( i ) upper bound on the length of an i -bounded, Prove f ( ℓ ) ⩽ 2 2 O ( n · log n ) Show f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i )

  5. 8 Computing the Upward Closure - Upper Bound f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i ) Take an arbitrary ( i + 1 ) -bounded, ( i + 1 ) -covering computation

  6. Identify repetitions Delete loops Obtain new computation of length at most 2 n f i i 1 8 Computing the Upward Closure - Upper Bound f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i ) Take an arbitrary ( i + 1 ) -bounded, ( i + 1 ) -covering computation 1 st case: Values on all places [ 1 .. i + 1 ] bounded by 2 n · f ( i ) : 2 n f ( i )

  7. Obtain new computation of length at most 2 n f i Delete loops i 1 8 Computing the Upward Closure - Upper Bound f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i ) Take an arbitrary ( i + 1 ) -bounded, ( i + 1 ) -covering computation 1 st case: Values on all places [ 1 .. i + 1 ] bounded by 2 n · f ( i ) : Identify repetitions 2 n f ( i )

  8. Obtain new computation of length at most 2 n f i Delete loops i 1 8 Computing the Upward Closure - Upper Bound f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i ) Take an arbitrary ( i + 1 ) -bounded, ( i + 1 ) -covering computation 1 st case: Values on all places [ 1 .. i + 1 ] bounded by 2 n · f ( i ) : Identify repetitions 2 n f ( i )

  9. 8 Delete loops Computing the Upward Closure - Upper Bound f ( i + 1 ) ⩽ ( 2 n f ( i )) i + 1 + f ( i ) Take an arbitrary ( i + 1 ) -bounded, ( i + 1 ) -covering computation 1 st case: Values on all places [ 1 .. i + 1 ] bounded by 2 n · f ( i ) : Identify repetitions ↰ Obtain new computation of length at most ( 2 n f ( i )) i + 1 2 n f ( i ) ⩽ ( 2 n f ( i )) i + 1

  10. Treat first part as in 1 st case computation of length Replace second part by i -covering, i -bounded f i 9 Computing the Upward Closure - Upper Bound 2 nd case: Some place, say i + 1, exceeds 2 n · f ( i ) : 2 n f ( i )

  11. computation of length Replace second part by i -covering, i -bounded f i 9 Computing the Upward Closure - Upper Bound 2 nd case: Some place, say i + 1, exceeds 2 n · f ( i ) : Treat first part as in 1 st case ⩽ ( 2 n f ( i )) i + 1 2 n f ( i )

  12. Replace second part by i -covering, i -bounded 9 Computing the Upward Closure - Upper Bound 2 nd case: Some place, say i + 1, exceeds 2 n · f ( i ) : Treat first part as in 1 st case computation of length ⩽ f ( i ) ⩽ ( 2 n f ( i )) i + 1 2 n f ( i )

  13. 9 Replace second part by i -covering, i -bounded Computing the Upward Closure - Upper Bound 2 nd case: Some place, say i + 1, exceeds 2 n · f ( i ) : Treat first part as in 1 st case computation of length ⩽ f ( i ) ⩽ ( 2 n f ( i )) i + 1 ⩽ f ( i ) 2 n f ( i )

  14. 1 st case: Deleting loops creates a subword 2 nd case: Replacing second part of the computation Definition of f i : upper bound on the length of a i -bounded, i -covering computations from an arbitrary initial marking that generate all minimal words handle with care 10 Computing the Upward Closure - Upper Bound What do we need to change?

  15. 1 st case: Deleting loops creates a subword 2 nd case: Replacing second part of the computation upper bound on the length of a i -bounded, i -covering computations from an arbitrary initial marking that generate all minimal words handle with care 10 Computing the Upward Closure - Upper Bound What do we need to change? Definition of f ( i ) :

  16. 2 nd case: Replacing second part of the computation upper bound on the length of a i -bounded, i -covering computations from an arbitrary initial marking that generate all minimal words handle with care 10 Computing the Upward Closure - Upper Bound What do we need to change? Definition of f ( i ) : 1 st case: Deleting loops creates a subword ✓

  17. upper bound on the length of a i -bounded, i -covering computations from an arbitrary initial marking that generate all minimal words handle with care 10 Computing the Upward Closure - Upper Bound What do we need to change? Definition of f ( i ) : 1 st case: Deleting loops creates a subword ✓ 2 nd case: Replacing second part of the computation ✗

  18. upper bound on the length of a i -bounded, i -covering computations from an arbitrary initial marking that generate all minimal words handle with care 10 Computing the Upward Closure - Upper Bound What do we need to change? Definition of f ( i ) : 1 st case: Deleting loops creates a subword ✓ 2 nd case: Replacing second part of the computation ✗ ↰

  19. 11 Computing the Upward Closure - Upper Bound Finally: ( ) The minimal words of L N , M 0 , M f ↑ have a computation of length ⩽ f ( ℓ ) ⩽ 2 2 O ( n · log n ) .

  20. 11 their upward-closure) Computing the Upward Closure - Upper Bound Finally: ( ) The minimal words of L N , M 0 , M f ↑ have a computation of length ⩽ f ( ℓ ) ⩽ 2 2 O ( n · log n ) . FSA can simulate the net for f ( ℓ ) steps to accept them (and

  21. There is a family of Petri nets such that the upward closure cannot be represented by an FSA of less than doubly exponential size. 12 Computing the Upward Closure - Lower Bound Lemma (Lower Bound)

  22. There is a family of Petri nets such that the upward closure cannot be represented by an FSA of less than doubly exponential size. Petri net reachability is EXPSPACE -hard. 12 Computing the Upward Closure - Lower Bound Lemma (Lower Bound) Theorem (Lipton 1976)

  23. Petri net reachability is EXPSPACE -hard. 13 Computing the Upward Closure - Lower Bound Theorem (Lipton 1976)

  24. Petri net reachability is EXPSPACE -hard. (including zero tests!) 13 Computing the Upward Closure - Lower Bound Theorem (Lipton 1976) In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 2 2 n

  25. Petri net reachability is EXPSPACE -hard. (including zero tests!) 13 Computing the Upward Closure - Lower Bound Theorem (Lipton 1976) In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 2 2 n Using this idea, we construct for each n ∈ N a Petri net with { a 2 2 n } ( ) L N ( n ) , M 0 , M f = .

  26. 13 (including zero tests!) Petri net reachability is EXPSPACE -hard. We obtain Computing the Upward Closure - Lower Bound Theorem (Lipton 1976) In the proof, a Petri net of size polynomial in n simulates a counter machine with counter values bounded by 2 2 n Using this idea, we construct for each n ∈ N a Petri net with { a 2 2 n } ( ) L N ( n ) , M 0 , M f = . { a k � � k ⩾ 2 2 n } ( ) � L N ( n ) , M 0 , M f ↑ = .

  27. Computing the Downward Closure

  28. 14 Computing the Downward Closure Computing the Downward Closure Given: Petri net ( N , M 0 , M f ) . ( ) Compute: FSA A with L ( A ) = L N , M 0 , M f ↓ .

  29. non-primitive recursive time). 14 Computing the Downward Closure Computing the Downward Closure Given: Petri net ( N , M 0 , M f ) . ( ) Compute: FSA A with L ( A ) = L N , M 0 , M f ↓ . Theorem Upper bound: One can compute an FSA of non-primitive recursive size representing the downward closure (in Lower bound: This is optimal.

  30. One can compute an FSA of non-primitive recursive size representing the downward closure. 15 Computing the Downward Closure - Upper Bound Lemma (Upper Bound)

  31. N M 0 M f N M 0 M f N M 0 M f One can compute an FSA of non-primitive recursive size representing the downward closure. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, KMT KMT Its size might be non-primitive recursive 15 Computing the Downward Closure - Upper Bound Lemma (Upper Bound) Proof Sketch.

  32. N M 0 M f N M 0 M f N M 0 M f One can compute an FSA of non-primitive recursive size representing the downward closure. The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, KMT KMT Its size might be non-primitive recursive 15 Computing the Downward Closure - Upper Bound Lemma (Upper Bound) Proof Sketch.

  33. N M 0 M f 15 KMT One can compute an FSA of non-primitive recursive size representing the downward closure. Its size might be non-primitive recursive The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Its language is a subset of the downward closure, Computing the Downward Closure - Upper Bound Lemma (Upper Bound) Proof Sketch. ( ) ( ) L ⊆ L ( KMT ) ⊆ L ↓ N , M 0 , M f N , M 0 , M f

  34. 15 Its language is a subset of the downward closure, One can compute an FSA of non-primitive recursive size representing the downward closure. Its size might be non-primitive recursive The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Computing the Downward Closure - Upper Bound Lemma (Upper Bound) Proof Sketch. ( ) ( ) L ⊆ L ( KMT ) ⊆ L ↓ N , M 0 , M f N , M 0 , M f ( ) L ( KMT ) ↓ = L N , M 0 , M f ↓

  35. 15 Its language is a subset of the downward closure, One can compute an FSA of non-primitive recursive size representing the downward closure. Its size might be non-primitive recursive The Karp-Miller tree (coverability graph) of the Petri net can be seen as finite automaton KMT Computing the Downward Closure - Upper Bound Lemma (Upper Bound) Proof Sketch. ( ) ( ) L ⊆ L ( KMT ) ⊆ L ↓ N , M 0 , M f N , M 0 , M f ( ) L ( KMT ) ↓ = L N , M 0 , M f ↓

  36. There is a family of Petri nets such that the downward closure cannot be represented by an FSA of primitive recursive size. 16 Computing the Downward Closure - Lower Bound Lemma (Lower Bound)

  37. 16 labeled Petri nets: There is a family of Petri nets such that the downward closure cannot be represented by an FSA of primitive recursive size. Inductive construction from [Mayr, Meyer 1981], adapted to Computing the Downward Closure - Lower Bound Lemma (Lower Bound) ( ) N ( n ) , M ( x ) ∀ n , x ∈ N ∃ 0 , M f polynomial in ( n + x ) such that ( ) { a k � } ( ) N ( n ) , M ( x ) N ( n ) , M ( x ) � L 0 , M f = � k ⩽ Acker ( n , x ) = L 0 , M f ↓

  38. 16 AN n out 0 strt 0 tstrt 0 cp 0 tstp 0 stp 0 in n in 0 strt n out n stp n labeled Petri nets: Inductive construction from [Mayr, Meyer 1981], adapted to cannot be represented by an FSA of primitive recursive size. There is a family of Petri nets such that the downward closure tcp 0 Computing the Downward Closure - Lower Bound Lemma (Lower Bound) ( ) N ( n ) , M ( x ) ∀ n , x ∈ N ∃ 0 , M f polynomial in ( n + x ) such that ( ) { a k � } ( ) N ( n ) , M ( x ) N ( n ) , M ( x ) � L 0 , M f = � k ⩽ Acker ( n , x ) = L 0 , M f ↓ tin n + 1 swp n + 1 trestart n + 1 tswp n + 1 in n + 1 tcp n + 1 out n + 1 ttmp n + 1 tmp n + 1 tstp n + 1 stp n + 1 strt n + 1 tstrt n + 1

  39. SRE in Downward Closure

  40. Downward and upward closures can be described by SREs 17 Simple Regular Expression Simple regular expression sre ::= p � sre + sre p ::= a � ( a + ε ) � Γ ∗ � p . p where Γ ⊆ Σ Known:

  41. 18 SRE in Downward Closure SRE in Downward Closure Given: SRE sre , Petri net ( N , M 0 , M f ) . ( ) Decide: L ( sre ) ⊆ L N , M 0 , M f ↓ ?

  42. 18 SRE in Downward Closure is EXPSPACE -complete. SRE in Downward Closure SRE in Downward Closure Given: SRE sre , Petri net ( N , M 0 , M f ) . ( ) Decide: L ( sre ) ⊆ L N , M 0 , M f ↓ ? Theorem

  43. SRE in Downward Closure can be solved in EXPSPACE . 19 SRE in Downward Closure - Upper Bound Lemma (Upper Bound)

  44. Problem: Need to enforce that for each word in SRE in Downward Closure can be solved in EXPSPACE . Show inclusion for each product separately p a a p p , a covering computation exists 19 SRE in Downward Closure - Upper Bound Lemma (Upper Bound) SRE is a choice among products sre ::= p � sre + sre

  45. Problem: Need to enforce that for each word in SRE in Downward Closure can be solved in EXPSPACE . Show inclusion for each product separately , a covering computation exists 19 SRE in Downward Closure - Upper Bound Lemma (Upper Bound) SRE is a choice among products sre ::= p � sre + sre p ::= a � ( a + ε ) � Γ ∗ � p . p

  46. SRE in Downward Closure can be solved in EXPSPACE . Show inclusion for each product separately covering computation exists 19 SRE in Downward Closure - Upper Bound Lemma (Upper Bound) SRE is a choice among products sre ::= p � sre + sre p ::= a � ( a + ε ) � Γ ∗ � p . p Problem: Need to enforce that for each word in Γ ∗ , a

  47. unboundedness problem decidable [Zetzsche 2015]: Downward closures computable iff a certain 20 SRE in Downward Closure - Upper Bound

  48. [Zetzsche 2015]: Downward closures computable iff a certain unboundedness problem decidable The Simultaneous Unboundedness Problem for Petri Nets is EXPSPACE -complete. 20 SRE in Downward Closure - Upper Bound Theorem (Demri 2013)

  49. [Zetzsche 2015]: Downward closures computable iff a certain unboundedness problem decidable The Simultaneous Unboundedness Problem for Petri Nets is EXPSPACE -complete. 20 SRE in Downward Closure - Upper Bound Theorem (Demri 2013) Simultaneous Unboundedness Problem for Petri Nets Given: Petri net N , marking M 0 , set of places X ⊆ P Decide: ∀ n ∈ N ∃ M 0 [ σ ⟩ M with M ( p ) ⩾ n ∀ p ∈ X ?

  50. in p , add a place that tracks are simultaneously SRE in Downward Closure can be solved in EXPSPACE . Handle each product p separately For each expression occurrence of all symbols in (also track the rest of p ) Check whether the places for the unbounded 21 SRE in Downward Closure - Upper Bound Lemma (Upper Bound)

  51. are simultaneously SRE in Downward Closure can be solved in EXPSPACE . Handle each product p separately (also track the rest of p ) Check whether the places for the unbounded 21 SRE in Downward Closure - Upper Bound Lemma (Upper Bound) For each expression Γ ∗ in p , add a place that tracks occurrence of all symbols in Γ

  52. SRE in Downward Closure can be solved in EXPSPACE . Handle each product p separately (also track the rest of p ) unbounded 21 SRE in Downward Closure - Upper Bound Lemma (Upper Bound) For each expression Γ ∗ in p , add a place that tracks occurrence of all symbols in Γ Check whether the places for the Γ ∗ are simultaneously

  53. SRE in Downward Closure is EXPSPACE -hard. 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound)

  54. N M 0 M f iff M f coverable, N M 0 M f iff M f coverable SRE in Downward Closure is EXPSPACE -hard. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by Note: else 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound) Proof.

  55. N M 0 M f iff M f coverable, N M 0 M f iff M f coverable SRE in Downward Closure is EXPSPACE -hard. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Label all transitions by Note: else 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound) Proof.

  56. N M 0 M f iff M f coverable, N M 0 M f iff M f coverable SRE in Downward Closure is EXPSPACE -hard. Coverability for (unlabeled) Petri nets is EXPSPACE-hard Note: else 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound) Proof. Label all transitions by ε

  57. N M 0 M f iff M f coverable SRE in Downward Closure is EXPSPACE -hard. Coverability for (unlabeled) Petri nets is EXPSPACE-hard 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound) Proof. Label all transitions by ε ( ) Note: L N , M 0 , M f = { ε } iff M f coverable, ∅ else

  58. 22 Coverability for (unlabeled) Petri nets is EXPSPACE-hard SRE in Downward Closure is EXPSPACE -hard. SRE in Downward Closure - Lower Bound Lemma (Lower Bound) Proof. Label all transitions by ε ( ) Note: L N , M 0 , M f = { ε } iff M f coverable, ∅ else ( ) L ( ∅ ∗ ) = { ε } ⊆ L N , M 0 , M f ↓ iff M f coverable

  59. SRE in Upward Closure

  60. 23 SRE in Upward Closure SRE in Upward Closure Given: SRE sre , Petri net ( N , M 0 , M f ) . ( ) Decide: L ( sre ) ⊆ L N , M 0 , M f ↑ ?

  61. 23 SRE in Upward Closure is EXPSPACE -complete. SRE in Upward Closure SRE in Upward Closure Given: SRE sre , Petri net ( N , M 0 , M f ) . ( ) Decide: L ( sre ) ⊆ L N , M 0 , M f ↑ ? Theorem

  62. SRE in Upward Closure is EXPSPACE -complete. Lower bound (EXPSPACE-hardness) as for SRE in Downward Closure 23 SRE in Upward Closure SRE in Upward Closure Given: SRE sre , Petri net ( N , M 0 , M f ) . ( ) Decide: L ( sre ) ⊆ L N , M 0 , M f ↑ ? Theorem Note:

  63. SRE in Upward Closure can be solved in EXPSPACE . 24 SRE in Upward Closure - Upper Bound Lemma (Upper Bound)

  64. N M 0 M f For each product, compute its minimal word: Check this using a coverability query in a modified net a min min a min p min p min p p 24 min a for each product p Check inclusion SRE sre is a choice among products p SRE in Upward Closure can be solved in EXPSPACE . SRE in Upward Closure - Upper Bound Lemma (Upper Bound)

  65. Check this using a coverability query in a modified net 24 min a min min a min p min p min p p a For each product, compute its minimal word: SRE sre is a choice among products p SRE in Upward Closure can be solved in EXPSPACE . SRE in Upward Closure - Upper Bound Lemma (Upper Bound) ( ) Check inclusion L ( p ) ⊆ L N , M 0 , M f ↑ for each product

  66. Check this using a coverability query in a modified net SRE in Upward Closure can be solved in EXPSPACE . SRE sre is a choice among products p 24 SRE in Upward Closure - Upper Bound Lemma (Upper Bound) ( ) Check inclusion L ( p ) ⊆ L N , M 0 , M f ↑ for each product For each product, compute its minimal word: min ( p . p ′ ) = min ( p ) . min ( p ′ ) min ( a ) = a min (Γ ∗ ) = ε min ( a + ε ) = ε

  67. Check this using a coverability query in a modified net 24 SRE in Upward Closure can be solved in EXPSPACE . SRE sre is a choice among products p SRE in Upward Closure - Upper Bound Lemma (Upper Bound) ( ) Check inclusion L ( p ) ⊆ L N , M 0 , M f ↑ for each product For each product, compute its minimal word: min ( p . p ′ ) = min ( p ) . min ( p ′ ) min ( a ) = a min (Γ ∗ ) = ε min ( a + ε ) = ε ( ) ( ) We have L ( p ) ⊆ L N , M 0 , M f ↑ iff min ( p ) ∈ L N , M 0 , M f ↑

  68. 24 SRE sre is a choice among products p SRE in Upward Closure can be solved in EXPSPACE . SRE in Upward Closure - Upper Bound Lemma (Upper Bound) ( ) Check inclusion L ( p ) ⊆ L N , M 0 , M f ↑ for each product For each product, compute its minimal word: min ( p . p ′ ) = min ( p ) . min ( p ′ ) min ( a ) = a min (Γ ∗ ) = ε min ( a + ε ) = ε ( ) ( ) We have L ( p ) ⊆ L N , M 0 , M f ↑ iff min ( p ) ∈ L N , M 0 , M f ↑ Check this using a coverability query in a modified net

Recommend


More recommend