Decidability of Minimal Supports of S

advertisement
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!
Download