Decidability of Minimal Supports of S-invariants and the Computation of their Supported Sinvariants of Petri Nets Faming Lu Shandong university of Science and Technology Qingdao, China Outline • Basic concepts about Petri nets and S-invariants • Review about the computation of S-invariants • Main conclusions of this paper • Outlook on the future work • Q&A Basic concepts • Petri net A Petri net is a 5-tuple (S ,T ; F ,W , M ) , where S is a finite set of places, T is a finite set of transitions, F S T (T S ) is a set , } of flow relation, W : F 1,2,3,... is a weight function, M 0 : S {01,2, is the initial marking, and S T S T Graph representation & incidence matrix 0 t1 2 t2 s2 2 s1 t4 t3 s3 s4 s5 s6 Fig 1. A Petri net example ∑1 2 1 0 0 1 0 0 1 1 0 0 1 A 0 0 1 1 1 0 2 0 0 1 0 1 the incidence matrix of∑1 Basic concepts • S-Invariants & supports of S-invariants An S-invariant is a non-trivial integral vector Y which satisfies AY 0 , where A is an incidence matrix of a Petri net An support of S-invariant Y is the place subset generated by Y s j S Y ( j ) 0 , where S is the place set of a Petri net. Examples:Y1, Y2 and Y3 are all S-invariants. ||Y1|| and ||Y2|| are two minimal supports while ||Y3|| is a support but not a minimal support because ||Y1||=||Y1||∪||Y2|| . Y1 1 2 2 2 0 0 , Y1 s1 , s2 , s3 , s4 T Y2 1 0 1 0 1 1 , Y2 s1 , s4 , s5 T t1 Y3 2 1 1 1 1 2 , S3 s1 , s2 , s3 , s4 , s5 T 2 t2 s2 2 s1 t4 t3 s3 s4 s5 s6 Fig 1. A Petri net example ∑1 Review about S-invariants Computation • reference [1]: no algorithm can derive all the S-invariants in polynomial time complexity. • Reference [5]: a linear programming based method is presented which can compute part of S-invariant’s supports, but integer Sinvariants can’t be obtained • References [6-7]: a Fourier_Motzkin method is presented to compute a basis of all S-invariants, but its time complexity is exponential. • References [8-9]:a Siphon_Trap based Fourier_Motzikin method which has a great improvement in efficiency on average, but there are some Petri nets the S-invariants of which can’t be obtained with STFM method and the the time complexity is exponential in the worst case. • This paper: two polynomial algorithms for the decidability of a minimal support of S-invariants and for the computation of an Sinvariant supported by a given minimal support are presented. Main Conclusions • Judgment theorem of minimal supports of S-invariants Let be an arbitrary non-trivial solution of AS YS 0 . Place subset S1 is a minimal support of S-invariants if and only if R( AS1 ) S1 1 and is positive or negative, where AS1 is the generated sub-matrix of A corresponding to S1 . Examples: considering 1 and S2 s1 , s4 , s5 in Fig.1. After the following elementary row transformation, we can see that =[0.5 1]T is an positive solution and R( AS2 ) 4 S2 1 . According to the above theorem, S2 is an minimal support, as is consistent with the facts. 1 2 0 1 2 0 0 0 r4 r1 0 r4 r3 AS2 0 1 1 0 2 1 0 0 1 0 0 1 1 0 0 2 0 1 t2 t1 s2 2 s1 t4 t3 s3 s4 s5 s6 Fig 1. A Petri net example ∑1 Main Conclusions •Decidability algorithm of a minimal support of S-invariants 2 O S1 T Main Conclusions •Construction of a non-trivial integer solution for AS YS 0 1 1 Examples: 2 0 1 2 0 1 C D 0 1 j 3 C3 1 0 1 1 2 0 1 0 yS2 :3 det( D) 2 yS2 :1 det( D1 C3 ) 1; 0 1 1 1 yS2 :2 det( D2 C3 ) 2 YS2 1 2 2 YS2 1 YS2 1 2 2 T Y 1 0 0 2 2 0 T T Main Conclusions •Computation of a minimal-supported S-invariant O(| S1 |2 | T | | S1 |4 ) Outlook on the future work •Based on the conclusion presented in this paper, we have realized the following algorithm with Matlab: – (1)An algorithm used to judge the existence of S-invariants and generate one S-invariant if it exist, which is a polynomial time algorithm on average. Running Time(Unit:100seconds) Number of Place s/Transitions Petri nets with (|T|*|S|)/3 flows on average Petri nets with 2*(|T|*|S|)/3 flows on average The running time statistics of the above algorithm Outlook on the future work – (2)An algorithm used to judge the S-coverability of a Petri net and generate a group of corresponding S-invariants, which is a polynomial time algorithm on average too. Running Time(Unit:100seconds) Number of Place s/Transitions Petri nets with (|T|*|S|)/3 flows on average Petri nets with 2*(|T|*|S|)/3 flows on average The running time statistics of the above algorithm Q&A • Any questions, please contact fm_lu@163.com • Thank you!