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 ..ℓ ]
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,
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 )
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 )
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
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 )
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 )
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 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
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 )
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 )
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 )
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 )
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?
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 ) :
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 ✓
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 ✗
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 ✗ ↰
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 ) .
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
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)
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)
Petri net reachability is EXPSPACE -hard. 13 Computing the Upward Closure - Lower Bound Theorem (Lipton 1976)
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
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 = .
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 ↑ = .
Computing the Downward Closure
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 ↓ .
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.
One can compute an FSA of non-primitive recursive size representing the downward closure. 15 Computing the Downward Closure - Upper Bound Lemma (Upper Bound)
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.
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.
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
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 ↓
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 ↓
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)
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 ↓
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
SRE in Downward Closure
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:
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 ↓ ?
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
SRE in Downward Closure can be solved in EXPSPACE . 19 SRE in Downward Closure - Upper Bound Lemma (Upper Bound)
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
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
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
unboundedness problem decidable [Zetzsche 2015]: Downward closures computable iff a certain 20 SRE in Downward Closure - Upper Bound
[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)
[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 ?
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)
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 Γ
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
SRE in Downward Closure is EXPSPACE -hard. 22 SRE in Downward Closure - Lower Bound Lemma (Lower Bound)
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.
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.
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 ε
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
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
SRE in Upward 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 ↑ ?
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
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:
SRE in Upward Closure can be solved in EXPSPACE . 24 SRE in Upward Closure - Upper Bound Lemma (Upper Bound)
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)
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
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 + ε ) = ε
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 ↑
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