![Page 1: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/1.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Petri Nets (for Planners)
B. Bonet, P. Haslum
... from various places ...
ICAPS 2011
![Page 2: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/2.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Introduction & Motivation
Petri Nets (PNs) is formalism for modelling discrete eventsystems
Developed by (and named after) C.A. Petri in 1960s
In general Petri nets, places are unbounded counters
advantages in expressivity and modelling convenience
questions of reachability, coverability, etc. arecomputationally harder to answer, but still decidable
![Page 3: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/3.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Exchange of ideas between Petri nets and planning holdspotential to benefit both areas:
Analysis methods for Petri nets are often based on ideas &techniques not common in planning:
– algebraic methods based on the state equation
– rich literature on the study of classes of nets with specialstructure
Yet, some standard planning techniques (e.g., searchheuristics) are unknown in the PN community
![Page 4: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/4.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Outline of the Tutorial
1 Definitions, notation and modelling
2 Decision problems, complexity and expressivity
3 Analysis techniques for general Petri nets
– Coverability
– The state equation
– Reachability
4 Petri nets with special structure
5 Conclusions
![Page 5: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/5.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Definitions, Notation and
Modelling
![Page 6: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/6.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Terminology and Intuition
A Petri net has places, transitions, and directed arcs
Arcs connect places to transitions or vice versa
Places contain zero or finite number of tokens
A marking is disposition of tokens in places
A transition is fireable if there is token at the start place ofeach input arc
When transition fires:
– it consumes token from start place of each input arc– it puts token at end place of each output arc
Execution is non-deterministic
![Page 7: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/7.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
t1 t2 t3
t4
p3 p4 p5
t5
t6 t7
p6 p7
2
![Page 8: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/8.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Formal Definition
Place/Transition (P/T) net is tuple N = (P, T,W ) where:
– P is set of places
– T is set of transitions (and P ∩ T = ∅)– W ⊆ (P × T ) ∪ (T × P )→ N
(multiset of arcs: each (x, y) has multiplicity W (x, y))
For transition t:
– preset is •t = {s : W (s, t) > 0} (input places)
– postset is t• = {s : W (t, s) > 0} (output places)
Marking is m : P → N (zero or more tokens at each place)
![Page 9: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/9.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
t1 t2 t3
t4
p3 p4 p5
t5
t6 t7
p6 p7
2
– marking m = 〈1, 1, 0, 0, 0, 0, 0〉– transition t6: •t6 = {p3, p5}, t6• = {p6, p7}
![Page 10: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/10.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
A transition t is enabled or firable at marking m if
m(p) ≥W (p, t) for each p ∈ •t
Upon firing, t produces new marking m′ such that
m′(p) =
{m(p)−
consumed︷ ︸︸ ︷W (p, t) +
added︷ ︸︸ ︷W (t, p) if p ∈ •t ∪ t•
m(p) if p /∈ •t ∪ t•
![Page 11: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/11.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
A transition t is enabled or firable at marking m if
m(p) ≥W (p, t) for each p ∈ •t
Upon firing, t produces new marking m′ such that
m′(p) =
{m(p)−
consumed︷ ︸︸ ︷W (p, t) +
added︷ ︸︸ ︷W (t, p) if p ∈ •t ∪ t•
m(p) if p /∈ •t ∪ t•
![Page 12: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/12.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
Transition relations:
m [t〉m′ if t is enabled at m and produces m′
m [σ〉m′, for sequence σ = t1t2 · · · tn, if exists m′′ with
– m [t1〉m′′– m′′ [σ′〉m′ for σ′ = t2 · · · tn
m [〉m′ if m [t〉m′ for some t
[∗〉 is transitive closure of [〉
Marked net is (N = (P, T,W ),m0) where m0 is initialmarking
Reachable markings R(N,m0) = {m ∈ NP : m0 [∗〉m}
Firing sequences L(N,m0) = {σ ∈ T<∞ : ∃m.m0 [σ〉m}
![Page 13: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/13.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
Transition relations:
m [t〉m′ if t is enabled at m and produces m′
m [σ〉m′, for sequence σ = t1t2 · · · tn, if exists m′′ with
– m [t1〉m′′– m′′ [σ′〉m′ for σ′ = t2 · · · tn
m [〉m′ if m [t〉m′ for some t
[∗〉 is transitive closure of [〉
Marked net is (N = (P, T,W ),m0) where m0 is initialmarking
Reachable markings R(N,m0) = {m ∈ NP : m0 [∗〉m}
Firing sequences L(N,m0) = {σ ∈ T<∞ : ∃m.m0 [σ〉m}
![Page 14: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/14.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
Transition relations:
m [t〉m′ if t is enabled at m and produces m′
m [σ〉m′, for sequence σ = t1t2 · · · tn, if exists m′′ with
– m [t1〉m′′– m′′ [σ′〉m′ for σ′ = t2 · · · tn
m [〉m′ if m [t〉m′ for some t
[∗〉 is transitive closure of [〉
Marked net is (N = (P, T,W ),m0) where m0 is initialmarking
Reachable markings R(N,m0) = {m ∈ NP : m0 [∗〉m}
Firing sequences L(N,m0) = {σ ∈ T<∞ : ∃m.m0 [σ〉m}
![Page 15: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/15.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Execution Semantics
Transition relations:
m [t〉m′ if t is enabled at m and produces m′
m [σ〉m′, for sequence σ = t1t2 · · · tn, if exists m′′ with
– m [t1〉m′′– m′′ [σ′〉m′ for σ′ = t2 · · · tn
m [〉m′ if m [t〉m′ for some t
[∗〉 is transitive closure of [〉
Marked net is (N = (P, T,W ),m0) where m0 is initialmarking
Reachable markings R(N,m0) = {m ∈ NP : m0 [∗〉m}
Firing sequences L(N,m0) = {σ ∈ T<∞ : ∃m.m0 [σ〉m}
![Page 16: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/16.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
p3 p4 p5
p6 p7
t1 t2 t3
t4 t5
t6 t7
2
– marking m = 〈1, 1, 0, 0, 0, 0, 0〉– enabled: t1, t2, t3
![Page 17: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/17.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
p3 p4 p5
p6 p7
t1 t2 t3
t4 t5
t6 t7
2
– marking m = 〈0, 1, 1, 0, 0, 0, 0〉– enabled: t3
![Page 18: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/18.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
p3 p4 p5
p6 p7
t1 t2 t3
t4 t5
t6 t7
2
– marking m = 〈0, 0, 1, 0, 2, 0, 0〉– enabled: t6
![Page 19: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/19.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1 p2
p3 p4 p5
p6 p7
t1 t2 t3
t4 t5
t6 t7
2
– marking m = 〈0, 0, 0, 0, 1, 1, 1〉– enabled: t4, t5
![Page 20: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/20.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Arithmetic of Functions
For two functions f, g ∈ NX :
f ≥ g if f(x) ≥ g(x) for each place x
f > g if f ≥ g and there is x such that f(x) > g(x)
f + g defined pointwise as (f + g)(x) = f(x) + g(x)
Hence, m [t〉m′ iff
m ≥W (·, t) (enable condition)
m′ = m−W (·, t) +W (t, ·)
![Page 21: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/21.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Ordinary Nets
A P/T net N = (P, T,W ) is ordinary iff W (p, t) ≤ 1 for all p, t
Thm: any net can be transformed into equivalent ordinary net
![Page 22: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/22.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Transformation Rules
1) p t2k =⇒ p
kt
k
2) p t2k + 1 =⇒ p
kt
k + 1
3) t p2k =⇒ t p
k
k
4) t p2k + 1 =⇒ t p
k + 1
k
Each rule decrease multiplicity by half and add 2 nodes
Resulting size is O(∑
x,yW (x, y)) (exponential)
![Page 23: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/23.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p t q4
2
![Page 24: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/24.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p t
2
q2
2
![Page 25: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/25.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p t
2
q
2
![Page 26: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/26.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p t
2
q
![Page 27: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/27.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Types of Nets
Marking m is k-bounded if m(p) ≤ k for all p ∈ P
Marked net (N,m0) is k-bounded if every reachablemarking is k-bounded
It is bounded if it is k-bounded for some k
It is safe if it is 1-bounded
![Page 28: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/28.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Safe Networks
Every reachable marking is 1-bounded
Marking m can be thought as state where places representsfluents:
– if m(p) = 1 then fluent p is true at m– if m(p) = 0 then fluent p is false at m
Safe networks can be used for STRIPS planning
![Page 29: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/29.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Direct STRIPS to PN Translations
Each atom is a place
Each (grounded) action is a transition t:
– input arcs p→ t for each precondition p
– output arcs t→ p for each positive effect p
– output arcs t→ p for each precondition p that is notdeleted nor added
Initial state gives initial marking
Goal state gives partial desired marking
Plan existence becomes ”Coverability” problem
![Page 30: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/30.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Gripper w/ 1 Ball and 2 Arms
Ball@A Ball@B
Robby@A Robby@B
Ball@1
Ball@2
move2B
move2A
pick1@A
pick2@A
drop1@A
drop2@A
pick1@Bdrop1@B pick1@B
drop2@B pick2@B
move2B, pick1@B, move2A, drop1@A
![Page 31: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/31.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Gripper w/ 1 Ball and 2 Arms
Ball@A Ball@B
Robby@A Robby@B
Ball@1
Ball@2
move2B
move2A
pick1@A
pick2@A
drop1@A
drop2@A
pick1@Bdrop1@B pick1@B
drop2@B pick2@B
move2B, pick1@B, move2A, drop1@A
![Page 32: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/32.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Gripper w/ 1 Ball and 2 Arms
Ball@A Ball@B
Robby@A Robby@B
Ball@1
Ball@2
move2B
move2A
pick1@A
pick2@A
drop1@A
drop2@A
pick1@Bdrop1@B pick1@B
drop2@B pick2@B
move2B, pick1@B, move2A, drop1@A
![Page 33: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/33.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Gripper w/ 1 Ball and 2 Arms
Ball@A Ball@B
Robby@A Robby@B
Ball@1
Ball@2
move2B
move2A
pick1@A
pick2@A
drop1@A
drop2@A
pick1@Bdrop1@B pick1@B
drop2@B pick2@B
move2B, pick1@B, move2A, drop1@A
![Page 34: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/34.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Gripper w/ 1 Ball and 2 Arms
Ball@A Ball@B
Robby@A Robby@B
Ball@1
Ball@2
move2B
move2A
pick1@A
pick2@A
drop1@A
drop2@A
pick1@Bdrop1@B pick1@B
drop2@B pick2@B
move2B, pick1@B, move2A, drop1@A
![Page 35: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/35.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Safe STRIPS Problems
STRIPS problem is safe if its direct translation (N,m0) is safe
Sufficient Condition:
For each added atom p, there is precondition q that isdeleted such that {p, q} is mutex
Enforcing the condition:
Add ‘not-p’ atoms for each atom p
For each action that contains a deleted atom p that is notprecondition, generate two similar actions with p and not-pin precondition (respectively)
Worst-case size of pre-processing is exponential in numberof atoms that are deleted and don’t appear as preconditions
![Page 36: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/36.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Modelling Planning Problems
General nets can “store” multiple tokens at single place
Places can be used to represent:
– number of identical objects at location
– resource quantity
![Page 37: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/37.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 38: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/38.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 39: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/39.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 40: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/40.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 41: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/41.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 42: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/42.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 43: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/43.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 44: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/44.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 45: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/45.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 46: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/46.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Gripper with 3 identical balls and 2 identical arms
# in Room A # in Room B
Robby@A Robby@B
# held
# free
move2B
move2A
pick@A
drop@A
pick@B
drop@B
pick@A, pick@A, move2B, drop@B, drop@B, move2A, pick@A, move2B, drop@B
![Page 47: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/47.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Wargus Domain (Chan et al. 2007)
Gold Wood Peasant Supply
100
100
400
500250
4
![Page 48: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/48.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Other Types of Nets
State Machines:
– every transition has one incoming and one outgoing arci.e. |•t| = |t•| = 1 for each t ∈ T
Marked Graphs:
– every place has one incoming arc, and one outgoing arci.e. |•p| = |p•| = 1 for each p ∈ P
Free-choice Nets:
– every arc is either the only arc going from the place, oronly arc going to the transitioni.e. |p•| ≤ 1 or •(p•) = {p} for each p ∈ P
![Page 49: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/49.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Extensions
Inhibitor arcs (enablers):
– transition enabled when there is no token at place
Read arcs (enablers):
– do not consume tokens
Reset arcs: erase all tokens at place
Others:
– colored, hierarchical, prioritization, . . .
![Page 50: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/50.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Vector Notation
Two vectors associated with transition t:
W−t =
W (p1, t)...
W (p|P |, t)
W+t =
W (t, p1)...
W (t, p|P |)
t enabled at m iff m ≥W−t
Wt = W+t −W−
t is effect of t
firing t leads to m′ = m + Wt
W =(Wt1 , Wt2 , . . . , Wt|T |
)is incidence matrix
rp: row of W corresponding to place p
![Page 51: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/51.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Examples
p1 t1
p2
p3
t2
t3
W =
−1 0 11 −1 01 1 −1
p1
p2
p3
p4
p5
p6
p7
t1
t2
t3
t4
t5
t6
W =
1 −1 0 0 0 0−1 1 1 −1 0 0
1 0 0 0 −1 00 1 0 0 0 −10 0 −1 1 −1 10 0 0 0 1 −1−1 0 0 0 0 1
![Page 52: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/52.jpg)
Introduction
Basics
Definitions
Ordinary Nets
Types of Nets
Vector Notation
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Representation Ambiguity and Pure Nets
Wt[i] = 0:
t
pi
or
t
pi
Pure nets have no “self loops”:•t ∩ t• = ∅ for every transition t
For pure nets, incidence matrix Wunambiguously defines the net
Any net can be transformed into apure net by splitting loops:
ta p′ tb
pi
Transformation is linear space
![Page 53: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/53.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Complexity & Expressivity
![Page 54: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/54.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Decision Problems for Marked Nets
Given a marked net (N,m0):
Reachability: Is there a firing sequence that ends withgiven marking m?
Coverability: Is there a firing sequence that ends withmarking m′ such that m′ ≥m for given m?
Boundedness: Does there exist a integer k such that everyreachable marking is k-bounded? m ≤ K?
Coverability and boundedness are EXPSPACE-complete
Reachability is EXPSPACE-hard, but existing algorithms arenon-primitive recursive (i.e., have unbounded complexity)
![Page 55: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/55.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
More Properties
Executability: Is there a firing sequence valid at m0 thatincludes transition t?
– Reduces to coverability: t is executable iff W−t is
coverable– and vice versa: reduction using a “goal transition”
Repeated Executability: Is there a firing sequence inwhich a given transition (or set of transitions) occurs aninfinite number of times?
Reachable Deadlock: Is there a reachable marking m atwhich no transition is enabled?
Liveness: Executability of every transition at everyreachable marking, i.e.,∀M : M0 [∗〉M → ∀t∃M ′,M ′′ : M [∗〉M ′ [t〉M ′′.
. . . and many more . . .
![Page 56: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/56.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Equivalence Problems
Equivalence: Given two marked nets, (N1,m1) and(N2,m2), with equal (or isomorphic) sets of places, do theyhave the equal sets of reachable markings?
Trace Equivalence: Given two marked nets, (N1,m1) and(N2,m2), with equal (or isomorphic) sets of transitions, dothey have equal sets of valid firing sequences?
Language Equivalence: Trace equivalence under mappingof transitions to a common alphabet
Bisimulation: Equivalence under a bijection betweenmarkings
In general, equivalence problems are undecidable
![Page 57: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/57.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Structural Properties
A structural property is independent of initial marking m0
Structural Liveness: It there a marking m such that(N,m) is live?
Structural Boundedness: Is (N,m) bounded for everyfinite initial marking m?
Repetitiveness: Is there a marking m and a firing sequenceσ valid at m such that a given transition (set of transitions)appears infinitely often in σ?
Deciding structural properties can be easier than correspondingproblem for marked net
Structural boundedness and repetitiveness are in NP
![Page 58: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/58.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Complexity: Implications Of and For Expressivity
Bounded Petri nets are expressively equivalent topropositional STRIPS/PDDL
– Reachability is PSPACE-complete for both
– Recall: direct STRIPS to PN translation may blow upexponentially
General Petri nets are stictly more expressive thanpropositional STRIPS/PDDL
General Petri nets are at least as expressive as “lifted”(finite 1st order) STRIPS/PDDL
– probably also strictly more expressive (but no proof yet)
![Page 59: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/59.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Counter TMs
A k-counter machine (kCM) is a deterministic finiteautomaton with k (positive) integer counters
– can increment/decrement (by 1), or reset, counters
– conditional jumps on ci > 0 or ci = 0
Note the differences:
– kCMs are deterministic: starting configurationdetermines unique execution; Petri nets have choice
– kCMs can branch on ci > 0/ci = 0; Petri nets can onlyprecondition transitions on m(pi) > 0
A kCM is k-bounded iff no counter ever exceeds k
![Page 60: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/60.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Counter TMs: Results
An n-size TM can be simulated by an O(n)-size 2CM (ifproperly initialised)
– Halting (i.e., reachability) for unbounded 2CMs isundecidable
– PNs are strictly less expressive than unbounded 2CMs
An n-size and 2n space bounded TM can be simulated byO(n)-size 22
n-bounded 2CM
A 22n
-bounded n-size 2CM can be (non-deterministically!)simulated by O(n2)-size Petri net
– Reachability for Petri nets is DSPACE(2√n)-hard
![Page 61: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/61.jpg)
Introduction
Basics
Complexity &Expressivity
Properties
Equivalence
StructuralProperties
Expressivity
Invariants
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Invariants
A vector y ∈ N|P | is P-invariant for N iff for any markingsm [∗〉m′, yTm = yTm′
P-invariant = linear combination of place markings thatis invariant under any transition firing
A vector x ∈ N|T | is a T-invariant for N iff for any firingsequence σ such that n(σ) = x and any marking m whereσ is enabled, m [σ〉m
T-invariant = multiset of transitions whose combinedeffect is zero
![Page 62: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/62.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Analysis Techniques
![Page 63: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/63.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The Coverability Tree Construction
The coverability tree of a marked net (N,m0) is an explicitrepresentation of reachable markings – but not exactly theset of reachable markings.
Constructed by forwards exploration:
Each enabled transition generates a successor marking.If reach m such that m >m′ for some ancestor m′ of m,replace m[i] by ω for all i s.t. m[i] >m′[i].
m′ [s = t1, . . . , tl〉m, and since m ≥m′, m [s〉m′′such that m′′ ≥m; sequence s can be repeated anynumber of times.ω means “arbitraribly large”.
Also check for regular loops (m = m′ for some ancestorm′ of m).
Every branch has finite depth.
![Page 64: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/64.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1
t1
p2
p3
t2
t3
(1 0 0)
(0 1 1)
t1
(0 0 2)
t2
(1 0ω)
t3
(0 1ω)
t1
(0 0ω)
t2
(1 0ω)
t3
(1ω ω)t3
. . .
t1
. . .t2
(ω ω ω)
t3
. . .t3
(1ω 0)t3
. . .
t1
. . .
t2
![Page 65: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/65.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Uses For The Coverability Tree
Decides coverability:
m is coverable iff m ≤m′ for some m′ in the tree (wheren < ω for any n ∈ N).If m is coverable, there exists a covering sequence oflength at most O(2n).
Decides boundedness:
(N,m0) is unbounded iff there exists a self-coveringsequence: m0 [σ〉m [σ′〉m′ such that m′ >m.I.e., (N,m0) is unbounded iff ω appears in some markingin the coverability tree.If (N,m0) is unbounded, there exists a self-coveringsequence of length at most O(2n).
In general, does not decide reachability.
Except if (N,m0) is bounded.
![Page 66: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/66.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The State Equation
The firing count vector (a.k.a. Parikh vector) of a firingsequence σ = ti1 , . . . , til is a |T |-dimensional vectorn(σ) = (n1, . . . , n|T |) where ni ∈ N is the number ofoccurrences of transition ti in σ.
If m0 [σ〉m′, then
m′ = m0+w(ti1)+. . .+w(til) = m0+∑
j=1...|T |
w(tj)n(σ)[j],
i.e., m′ = m0 +Wn(σ).
m is reachable from m0 only if Wn = (m−m0) has asolution n ∈ N|T |.This is a necessary condition but not sufficient.
A solution n is realisable iff, in addition, n = n(σ) forsome valid firing sequence σ.
![Page 67: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/67.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The State Equation & Invariance
y ∈ N|P | is a P-invariant iff it is a solution to yTW = 0.
yTm = yTm0 for any m reachable from m0.
x ∈ N|T | is a T-invariant iff it is a solution to Wx = 0.
m [σ〉m whenever n(σ) = x and σ enabled at m.
Any (positive) linear combination of P-/T-invariants is aP-/T-invariant.
The reverse dual of a net N is obtained by swapping placesfor transitions and vice versa, and reversing all arcs.
The incidence matrix of the reverse dual is the transposeof the incidence matrix of N .A P-(T-)invariant of N is a T-(P-)invariant of the reversedual.
![Page 68: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/68.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: P-Invariants
1100110
T
1 −1 0 0 0 0−1 1 1 −1 0 0
1 0 0 0 −1 00 1 0 0 0 −10 0 −1 1 −1 10 0 0 0 1 −1−1 0 0 0 0 1
=
0000000
T
1011012
T
1 −1 0 0 0 0−1 1 1 −1 0 0
1 0 0 0 −1 00 1 0 0 0 −10 0 −1 1 −1 10 0 0 0 1 −1−1 0 0 0 0 1
=
0000000
T
p1
p2
p3
p4
p5
p6
p7
t1
t2
t3
t4
t5
t6
![Page 69: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/69.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: T-Invariants
1 −1 0 0 0 0−1 1 1 −1 0 0
1 0 0 0 −1 00 1 0 0 0 −10 0 −1 1 −1 10 0 0 0 1 −1−1 0 0 0 0 1
001100
=
000000
1 −1 0 0 0 0−1 1 1 −1 0 0
1 0 0 0 −1 00 1 0 0 0 −10 0 −1 1 −1 10 0 0 0 1 −1−1 0 0 0 0 1
110011
=
000000
p1
p2
p3
p4
p5
p6
p7
t1
t2
t3
t4
t5
t6
![Page 70: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/70.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Minimal Invariants
The support of a P-/T-invariant y is the set {i |y[i] > 0}.An invariant has minimal support iff no invariants support isa strict subset.
The number of minimal support P-/T-invariants of a netis finite, but may be exponential.All P-/T-invariants are (positive) linear combinations ofminimal support P-/T-invariants.
A P-/T-invariant y is minimal iff no y′ < y is invariant.
A minimal invariant need not have minimal support.For each minimal support, there is a unique minimalinvariant.
Algorithms exist to generate all minimal supportP-/T-invariants of a net.
![Page 71: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/71.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The Fourier-Motzkin Algorithm for P-Invariants
1 Initialise B = [W : In] (n = |P |).
2 For j = 1, . . . , |T |1 Append to B all rows resulting from positive linear
combinations of pairs of rows in B that eliminate columnj.
2 Remove from B all rows with non-zero jth element.
3 B = [0 : D], where the rows of D are P-invariants.
![Page 72: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/72.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
1 −1 0 0 0 0 | 1 0 0 0 0 0 0−1 1 1 −1 0 0 | 0 1 0 0 0 0 0
1 0 0 0 −1 0 | 0 0 1 0 0 0 00 1 0 0 0 −1 | 0 0 0 1 0 0 00 0 −1 1 −1 1 | 0 0 0 0 1 0 00 0 0 0 1 −1 | 0 0 0 0 0 1 0−1 0 0 0 0 1 | 0 0 0 0 0 0 1
![Page 73: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/73.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
1 −1 0 0 0 0 | 1 0 0 0 0 0 0−1 1 1 −1 0 0 | 0 1 0 0 0 0 0
1 0 0 0 −1 0 | 0 0 1 0 0 0 00 1 0 0 0 −1 | 0 0 0 1 0 0 00 0 −1 1 −1 1 | 0 0 0 0 1 0 00 0 0 0 1 −1 | 0 0 0 0 0 1 0−1 0 0 0 0 1 | 0 0 0 0 0 0 1
0 0 1 −1 0 0 | 1 1 0 0 0 0 00 −1 0 0 0 1 | 1 0 0 0 0 0 10 1 1 −1 −1 0 | 0 1 1 0 0 0 00 0 0 0 −1 1 | 0 0 1 0 0 0 1
![Page 74: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/74.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
0 1 0 0 0 −1 | 0 0 0 1 0 0 00 0 −1 1 −1 1 | 0 0 0 0 1 0 00 0 0 0 1 −1 | 0 0 0 0 0 1 00 0 1 −1 0 0 | 1 1 0 0 0 0 00 −1 0 0 0 1 | 1 0 0 0 0 0 10 1 1 −1 −1 0 | 0 1 1 0 0 0 00 0 0 0 −1 1 | 0 0 1 0 0 0 1
0 0 0 0 0 0 | 1 0 0 1 0 0 10 0 1 −1 −1 1 | 1 1 1 0 0 0 1
![Page 75: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/75.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
0 0 −1 1 −1 1 | 0 0 0 0 1 0 00 0 0 0 1 −1 | 0 0 0 0 0 1 00 0 1 −1 0 0 | 1 1 0 0 0 0 00 0 0 0 −1 1 | 0 0 1 0 0 0 10 0 0 0 0 0 | 1 0 0 1 0 0 10 0 1 −1 −1 1 | 1 1 1 0 0 0 1
0 0 0 0 −1 1 | 1 1 0 0 1 0 00 0 0 0 −2 2 | 1 1 1 0 1 0 1
![Page 76: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/76.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
0 0 0 0 1 −1 | 0 0 0 0 0 1 00 0 0 0 −1 1 | 0 0 1 0 0 0 10 0 0 0 0 0 | 1 0 0 1 0 0 10 0 0 0 −1 1 | 1 1 0 0 1 0 00 0 0 0 −2 2 | 1 1 1 0 1 0 1
0 0 0 0 0 0 | 0 0 1 0 0 1 10 0 0 0 0 0 | 1 1 0 0 1 1 00 0 0 0 0 0 | 1 1 1 0 1 2 1
![Page 77: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/77.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
B =
0 0 0 0 0 0 | 1 0 0 1 0 0 10 0 0 0 0 0 | 0 0 1 0 0 1 10 0 0 0 0 0 | 1 1 0 0 1 1 00 0 0 0 0 0 | 1 1 1 0 1 2 1
P-invariants:
z1 = (1 0 0 1 0 0 1)
z2 = (0 0 1 0 0 1 1)
z3 = (1 1 0 0 1 1 0)
z4 = (1 1 1 0 1 2 1)
p1
p2
p3
p4
p5
p6
p7
t1
t2
t3
t4
t5
t6
![Page 78: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/78.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The State Equation & Structural Properties
N is structurally bounded iff yTW ≤ 0 has a solutiony ∈ N|P | such that y[i] ≥ 1 for i = 1, . . . , |P |.y is a linear combination of all place markings that isinvariant or decreasing under any transition firing.
N is repetitive w.r.t. transition t iff Wx ≥ 0 has a solutionx ∈ N|T | such that x[t] > 0.
x is a multiset of transitions, including t at least once,whose combined effect is zero or increasing.Can always find some initial marking m0 from which x isrealisable.
![Page 79: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/79.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example
p1
p2
p3
p4
p5
p6
p7
t1
t2
t3
t4
t5
t6
z1 =(
1 0 0 1 0 0 1)
andz4 =
(1 1 1 0 1 2 1
)are P-invariants of the net.
y = z1 + z4 =(
2 1 1 1 1 2 2)
is also aP-invariant.
yTW = 0 and y ≥ 1: The net is structurally bounded.
![Page 80: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/80.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability
Decidability of the (exact) reachability problem for generalPetri nets was open for some time.
Algorithm proposed by Sacerdote & Tenney in 1977incorrect (or gaps in correctness proof).Correct algorithm by Mayr in 1981.Simpler correctness proof (for essentially the samealgorithm) by Kosaraju in 1982.
Other algorithms have been presented since.
All existing algorithms have unbounded complexity.
Fun fact: A 2-EXP algorithm was proposed in 1998, butlater shown to be incorrect.
![Page 81: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/81.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability: Preliminaries
m is semi-reachable from m0 iff there is a transitionsequence s = ti1 , . . . , tin such thatm = m0 + w(ti1) + . . .+ w(tin).
s is does not have to be valid (firable) at m0.m is semi-reachable from m0 iff Wn = (m−m0) has asolution n ∈ N|T |.
If m is semi-reachable from m0, then m + a is reachablefrom m0 + a for some sufficiently large a ≥ 0.
![Page 82: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/82.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
A controlled net is a pair of a marked net(N = 〈P, T, F 〉,m0) and an NFA (A, q0) over alphabet T .
A defines a (regular) subset of (not necessarily firable)transition sequences.Define reachability/coverability/boundedness for (N,m0)w.r.t. A in the obvious way.The coverability tree construction is easily modified toconsider only sequences accepted by A.
The reverse of N , NRev (w.r.t. A) is obtained by reversingthe flow relation (and arcs in A).
W (NRev) = −W (N).
![Page 83: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/83.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability: A Sufficient Condition
In (N,m0) w.r.t. (A, q0), if
(a) (m∗, q∗) is semi-reachable from (m0, q0),(b) (m0 + a, q0) is reachable from (m0, q0), for a ≥ 1,(c) (m∗ + b, q∗) is reachable from (m∗, q∗) in NRev w.r.t. A,
for b ≥ 1,(d) (b− a, q∗) is semi-reachable from (0, q∗),
then (m∗, q∗) is reachable from (m0, q0).
The conditions above are effectively checkable:
(b) & (c) by coverability tree construction,(a) & (d) through the state equation.
![Page 84: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/84.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
(m0, q0)
+a
(m0 + ka, q0)
+a(m∗ + ka, q∗)
b− a(m∗ + kb, q∗)
b− a−b
(m∗, q∗)
−b
![Page 85: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/85.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability: The Mayr/Kosaraju Algorithm
Consider a controlled net (N,A) of the form,
A1 A2 Ak
q0
m0 mout1 min
2 mout2 min
k
q∗
m∗
ti1
with constraints min/outi [j] = x
i/oi,j or m
in/outi [j] ≥ yi/o
i,j ≥ 0.
If the sufficient reachability condition holds for each(min
i , qini ) and (mout
i , qouti ) w.r.t Ai, then (m∗, q∗) is
reachable from (m0, q0).
Let ∆(Ai) = {m |m = Wn(s), s ∈ L(Ai)}.Let Γ = {min
i ,mouti ,ni |mi+1
in −miout =
w(tii),miout −mi
in ∈ ∆(Ai), and constraints hold}.If (m0, q0) [s〉 (m∗, q∗), s defines an element in Γ.
![Page 86: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/86.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Γ is a semi-linear set: consistency (non-emptiness) isdecidable via Pressburger arithmetic.
If Γ is consistent, but the sufficient condition does not holdin some Ai, then Ai can be replaced by a new “chain” ofcontrollers, A1
i , . . . , Alii , each of which is “simpler”:
more equality constraints (min/out
il= x
i/o
il,j), or
same equality constraints and smaller automaton.
There can be several possible replacements(non-deterministic choice).
If (m∗, q∗) is not reachable from (m0, q0), every choice(branch) eventually leads to an inconsistent system.
![Page 87: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/87.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Special Classes of Nets
![Page 88: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/88.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Special Classes of Nets
State Machines:
every transition has one incoming and one outgoing arci.e. |•t| = |t•| = 1 for each t ∈ T .
Marked Graphs:
every place has one incoming arc, and one outgoing arci.e. |•p| = |p•| = 1 for each p ∈ P .
Free-choice Nets:
every arc is either the only arc going from the place, oronly arc going to the transitioni.e. |p•| ≤ 1 or •(p•) = {p} for each p ∈ P .
![Page 89: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/89.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Marked Graphs
An ordinary Petri net with |•p| = |p•| = 1 for each place p isa T-graph, or marked graph.
Abstracting away places leaves a directed graph:
Called the underlying graph (usually denoted G).A marking of the net is a marking of the edges of G.
Marked graphs model “decision-free” concurrent systems.
Several properties of marked graphs are decidable inpolynomial time:
Structural liveness and boundedness.Liveness and boundedness for a given initial marking.
Simple condition for realisability (and thus reachability).
![Page 90: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/90.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Marked and Underlying Graphs
SD
RA
RD
SA
SD
RA
RD
SA
••
U
S
P
C
US
P
C••
•
![Page 91: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/91.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Some Properties of Marked Graphs
Theorem: The total number of tokens on every directedcircuit in the underlying graph is invariant.
Theorem: The maximum number of tokens an edge a→ bin (G,m0) can ever have is equal to the minimum numberof tokens m0 places on any directed circuit that containsthis edge.
Theorem: A marked graph (G,m0) is live iff m0 places atleast one token on every directed circuit of G.
Theorem: A live marked graph (G,m0) is k-bounded iffevery place (edge in G) belongs to a directed circuit and m0
places at most k tokens on every directed circuit of G.
Theorem: A marked graph net has a live and boundedmarking iff G is strongly connected.
![Page 92: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/92.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Free Choice Nets
An ordinary Petri net such that |p•| ≤ 1 or •(p•) = {p} foreach place p, is a free choice net.
Equivalently: If p• ∩ p′• 6= ∅ then |p•| = |p′•| = 1, for allp, p′ ∈ P .
Extended free choice net: If p• ∩ p′• 6= ∅ then p• = p′•, forall p, p′ ∈ P .
An extended free choice net can be transformed to a basicfree choice net, adding at most a linear number of placesand transitions.
Note: Marked graphs and state machines are also freechoice nets.
A fundamental property of free choice nets: if •t ∩ •t′ 6= ∅then whenever t is enabled, so is t′.
![Page 93: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/93.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Free Choice Nets
p1
p5p4
p7
p2
p3
p6
p2p1
p4p3
![Page 94: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/94.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Decomposition of Free Choice Nets
A subnet of N = (P, T,W ) is a net N ′ = (P ′, T ′,W ′) withP ′ ⊆ P , T ′ ⊆ T and W ′ = W|(P ′∪T ′).
The P-subnet induced by S ⊆ P is (S, •S ∪ S•,W ′)That is, the subnet consisting of S and all transitionincident on a place in S.
The T-subnet induced by U ⊆ T is (•U ∪ U•, U,W ′)That is, the subnet consisting of U and all places incidenton a transition in U .
A P-component is a strongly connected P-subnet such that|•t|, |t•| ≤ 1, for all t.
A P-component is a state machine.
A T-component is a strongly connected T-subnet such that|•p|, |p•| ≤ 1, for all p
A T-component is a marked graph.
![Page 95: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/95.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Decomposition of Free Choice Nets
Theorem: A live free choice net (N,m0) is 1-bounded(safe) iff it is covered by P-components, each of which has asingle token at m0.
Theorem: A live and safe free choice net (N,m0) iscovered by T-components, and for each T-component, N ′,there is a reachable marking m such that (N ′,m|N ′) is liveand safe.
![Page 96: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/96.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Decomposition into State Machines
p1
p5p4
p7
p2
p3
p6
p1
p5p4
p7
p2
p3
p6
![Page 97: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/97.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Decomposition into Marked Graphs
p1
p5p4
p7
p2
p3
p6
p1
p5p4
p7
p2
p3
p6
![Page 98: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/98.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Siphons and Traps
A siphon is a subset S of places such that •S ⊆ S•.Every transition that outputs a token to a place in S alsoconsumes a token from a place in S.If m places no token in S, no marking reachable from mdoes either.
A trap is a subset S of places such that S• ⊆ •S.
Every transition that consumes a token from a place in Salso outputs a token to a place in S.If m places at least one token in S, so does every markingreachable from m.
Theorem: A free choice net (N,m0) is live iff every siphoncontains a marked trap.
![Page 99: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/99.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Example: Siphons and Traps
p1
p5p4
p7
p2
p3
p6
The only siphon is P .
P is also a trap.
p2p1
p4p3
{p2} and {p3, p4} aresiphons.
{p1} and {p3, p4} are traps.
![Page 100: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/100.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Some Complexity Results for Free Choice Nets
Liveness for marked free choice nets is decidable inpolynomial time.
Boundedness of live free choice nets is decidable inpolynomial time.
A number of properties of live and bounded free choice netsare decidable in polynomial time, e.g.,
Transition executability and repeated executability.The “home state” property (markings that can always bere-reached).
Reachability in free choice nets is NP-hard.
![Page 101: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/101.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Characterisation by Derivation Rules
Initial net:
Rule #1: Add a new place p′ with r(p′) =∑
p∈P λpr(p)
and |p′•| = 1.
Rule #2: Replace place p with a connected P-graph N ′,and connect each input and output of p to at least oneplace in N ′.
Must have |•p| > 1 and |p•| > 1, except for initial net.Every place p′ ∈ N ′ must appear on a path in theresulting net that enters and leaves N ′.
Theorem: The class of nets obtained by applying the aboverules to the initial net is exactly the class of structurally liveand structurally bounded free choice nets.
![Page 102: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/102.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability: Acyclic Nets
Recall: m0 [s〉m implies∃n ∈ N|T | : Wn = (m−m0).
A solution n is realisable iffn = n(s) for some valid firingsequence s.
Theorem: For an acyclic net,every solution to Wn = (m−m0)is realisable.
Reachability in acyclic nets isNP-hard.
tx px
p1 t1 p′1
p2 t2 p′2
......
...
pn tn p′n
![Page 103: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/103.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Reachability: Marked Graphs
Theorem: In a live marked graph, m is reachable from m0
iff m0 and m place the same total number of tokens onevery fundamental circuit of the underlying graph.
A fundamental circuit is obtained by adding one edge to aspanning tree.The directed fundamental circuits of a marked graph are afull set of linearly independent P-invariants.
SD
RA
RD
SA
••
SD
RA
RD
SA
••
SD
RA
RD
SA
••
![Page 104: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/104.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Conclusions
![Page 105: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/105.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
Summary & Conclusions
Petri nets: Intuitive, graphical modelling formalism, closelyrelated to planning.
Petri net theory offers a different set of tools:
Algebraic methods (based on the state equation).Characterisation and study of classes of nets with specialstructure.
Planning also has tools potentially applicable to Petri nets.
![Page 106: Petri Nets (for Planners) - GitHub Pages · 2020. 9. 1. · A Petri net has places, transitions, and directed arcs Arcs connect places to transitions or vice versa Places contain](https://reader034.vdocuments.us/reader034/viewer/2022051907/5ff9f3ca29ea8a7ede524d84/html5/thumbnails/106.jpg)
Introduction
Basics
Complexity &Expressivity
AnalysisTechniques
SpecialClasses ofNets
Conclusion
The Many Things We Haven’t Talked About
Extensions of basic Place-Transition nets:
Read arcs, reset arcs and inhibitor arcs.Colored Petri nets, timed nets, stochastic nets, etc.
Other properties of Petri nets (and related decisionproblems):
Model checking (tense logics, process calculi).Language (trace) properties.
Heaps more results concerning different Petri net subclasses.