IAC 2024 - IA Fast Track to Search Focused AI Solutions
Siphon
1. Olivia Oanea,
Harro Wimmel,
Karsten Wolf
New Algorithms for Deciding the
Siphon/Trap Property
2. Situation
-Siphon: •D ⊆ D• once empty, always empty
-Trap: Q• ⊆ •Q once marked, always marked
-The siphon/trap property: Every Siphon includes a marked trap
-Necessary and sufficient for liveness in free choice nets
-Sufficient for deadlock freedom in ordinary nets
-There can be exponentially many (even minimal) siphons
Brute force algorithms don‘t outperform state space methods
We propose
- a reduction to SAT (2 slides)
- a divide-and-conquer scheme (remaining slides)
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
3. Reduction to SAT
q1
p1 Siphon: (q1⋁q2⋁q3)⇒(p1⋁p2)
Well known: q2
p2 Trap: (p1⋁p2)⇒(q1⋁q2⋁q3)
q3
SAT: Exists satisfying assignment?
Siphon/trap: Exists siphon where all included traps are unmarked?
Siphon/trap: Exists siphon where the maximal included trap is unmarked?
Maximal trap: start with S, iteratively remove places p where:
p
Copy place variables p(0) .. p(n)
⋀ t∈T(t•
(0)⇒•t(0))⋀ ⋁
p∈P p(0) ⋀⋀ ⋀i=1..n p∈P(p
(i)⇔(p(i-1)⋀ ⋀ t∈p•t• ⋀
(i-1)))⋀
p∈P,m0(p)>0⌝p
(n)
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
4. Results
Net |P| |T| |F| SAT INA
Ph10 50 40 120 0.05 3
Ph20 100 80 240 0.24 >7200
Ph200 1000 800 2400 119 >7200
Data10 50 40 300 0.12 8
Data15 75 60 600 0.36 28
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
5. Divide and Conquer
-Decompose Petri net into open nets
-Compute siphons and traps of atomic components
-Condense information into interface
-Unify components and update interface information
-Interface place: ≤1 producing, ≤1 consuming component
-Composition of components yields component
-[Zaitsev] There exists unique decomposition into
atomic components
- [We] run-time O(n2log*n)
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
8. Siphons/Traps and components
-Siphon/trap of composition decomposes into siphons/traps of components
-Siphons/traps of components with equal interface compose to siphon/trap in
composition
Siphon Siphon
Siphon Siphon
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
10. Elementary Siphons/Traps
-Siphon is elementary if it is a minimal one containing p, for some interface place p
-Trap is elementary if it is a minimal one containing p,
for some interface place p, or some marked place p
Lemma: For evaluating the siphon/trap property, sufficient to consider
- siphons that are local to one of the components
- unions of elementary siphons and unions of elementary traps
Idea: Store
- interfaces of elementary traps and siphons
- For each elementary trap Q:
all minimal unions of elementary siphons that wrap Q
1: (a-min) a (a-min) ac ⊆ 3
a c 2: (b-min) b (a-min) ad ⊆ 5
3: (c-min) ac (b-min) bc ⊆ 4
4: (c-min) bc (b-min) bd ⊆ 6
b d 5: (d-min) ad (c-min) c ⊆ 3,4
6: (d-min) bd (d-min) d ⊆ 5,6
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
11. Composition 1: closed siphons
c
a
b d
1: (a-min) a (a-min) ac* ⊆ 3 1‘: (c-min) c (c-min) ca* ⊆ 3‘
2: (b-min) b (a-min) ad ⊆ 5 2‘: (d-min) d (c-min) cb* ⊆ 5‘
3: (c-min) ac (b-min) bc* ⊆ 4 3‘: (a-min) ca (d-min) da ⊆ 4‘
4: (c-min) bc (b-min) bd ⊆ 6 4‘: (a-min) da (d-min) db ⊆ 6‘
5: (d-min) ad (c-min) c* ⊆ 3,4 5‘: (b-min) cb (a-min) a ⊆ 3‘,4‘
6: (d-min) bd (d-min) d ⊆ 5,6 6‘: (b-min) db (b-min) b ⊆ 5‘,6‘
Check 3⊕3‘: contains ac*⊕ca* … ok
…
Check 6⊕6‘: contains only unmarked traps …. Not ok
Formally: SAT formula
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
12. Composition 2: open siphons
c
a
e
b d f
1: (a-min) a (a-min) ac ⊆ 3 1‘: (c-min) c (c-min) ce ⊆ 3‘
2: (b-min) b (a-min) ad ⊆ 5 2‘: (d-min) d (c-min) cf ⊆ 5‘
3: (c-min) ac (b-min) bc ⊆ 4 3‘: (e-min) ce (d-min) de ⊆ 4‘
4: (c-min) bc (b-min) bd ⊆ 6 4‘: (e-min) de (d-min) df ⊆ 6‘
5: (d-min) ad (c-min) c ⊆ 3,4 5‘: (f-min) cf (e-min) e ⊆ 3‘,4‘
6: (d-min) bd (d-min) d ⊆ 5,6 6‘: (f-min) df (f-min) f ⊆ 5‘,6‘
1‘‘ = 1: (a-min) a (a-min) ae ⊆ 3‘‘,4‘‘5‘‘
2‘‘ = 1: (b-min) b (a-min) af ⊆ 5‘‘,3‘‘6‘‘
3‘‘= 3‘⊕3 = 4‘⊕5: (e-min) ae (b-min) be ⊆ 4‘‘,3‘‘6‘‘
4‘‘= 3‘⊕4 = 4‘⊕6: (e-min) be (b-min) bf ⊆ 6. 4‘‘5‘‘
5‘‘= 5‘⊕3 = 6‘⊕5: (f-min) af (e-min) e ⊆ 3‘‘,4‘‘
6‘‘= 5‘⊕4 = 6‘⊕6: (f-min) bf (f-min) f ⊆ 5‘‘,6‘‘
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
13. Results
Approach exponential, but mostly in the size of the interface
Example:
-Exponentially many minimal siphons
-Linear time in our approach
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property
14. Conclusion
Algorithm 1: Reduction to SAT
-Boolean formula polynomial in the size of the net
-Inherits efficiency from existing SAT technology
Algorithm 2: Divide & Conquer
-Efficient decomposition into arbitrarily small components
-Siphons and traps are preserved in open net decomposition
-Abstract shared siphon/trap information to interface
-Works well if
-net can be split according to small interfaces
-Net has many identical components
Karsten Wolf: New Algorithms for Deciding
the Siphon/Trap Property