2. 青岛大学 复杂性科学研究所, 山东 青岛 266071
2. Institute of Complexity Science, Qingdao University, Qingdao, Shandong 266071, China
Petri网是一种用于离散事件系统建模、分析和控制的工具,具有图形和数学的双重表现形式且可有效描述系统行为。近年来,Petri网被应用于交通系统[1]和柔性装配制造系统[2]等多种实际系统中,且在系统安全及可靠性分析[3-4]、业务流程分析[5-6]、交互控制[7]以及Web服务分析和替代[8]中也有广泛应用。随着实际系统规模的增大,标识估计对离散事件系统的诊断[9]和控制器设计[10-11]等具有重要的作用。
关于Petri网中标识估计问题的研究已经取得显著成果[12-13]。文献[12]基于对标注序列的观察,讨论了初始标识已知的Petri网中的标识估计问题,并指出标识集可用一组具有固定结构的线性不等式来描述。文献[13]也研究了标识估计问题,并证明所有可能的标识数目是关于k的函数。最小初始标识的估计成为当今研究的热点之一,例如文献[14]讨论了含有可观测变迁的标注Petri网中的最小初始标识估计问题,并提出一种最小初始标识估计算法。文献[15]将文献[14]中的结果扩展到含有不可观测变迁的标注Petri网中。文献[16]提出一种用于估计由标注Petri网中的最小代价计划序列的算法。文献[17]通过使用基可达图寻找标注Petri网中最小代价变迁序列。
针对不可观测变迁的存在给求解标注Petri网建模制造系统中的最小资源带来困难的问题,本文放宽对不可观测变迁发生个数的限制,且允许可观测在变迁前至多有2个不可观测变迁发生。为了更好地实现估计最小初始标识的目标,本文以标注Petri网为工具,进一步讨论了文献[14-15]提出的最小初始标识估计问题,并提出一种基于动态规划的新算法,以估计最小的初始标识。
1 基本概念本节给出下文将会用到的Petri网和标注Petri网的相关定义,更多详细介绍可参阅文献[14]。
定义1[18-19] 将一个Petri网定义为一个四元组N=(P,T,F,W),其中:1)P={p1,p2,…,pn}是一个有限的库所集,库所使用空心圆圈表示;2)T={t1,t2,…,tm}是一个有限的变迁集,变迁使用实心竖条表示;3)P∪T≠Ø,P∩T=Ø;4)F⊆(P×T)∪(T×P)为流关系集合;5)W:F→
如果pi和tj之间没有弧,则W(pi,tj)=W(tj,pi)=0。如果N没有直接的循环存在,则称N是无环的。
定义2[17] 在一个Petri网N=(P,T,F,W)中,若P={p1,p2,…,pn},T={t1,t2,…,tm},则N的结构可用关联矩阵A表示,其中:1)A=A+-A-;2)A-为N的输入关联矩阵,A-=[
定义3 (N,M0)是一个初始化的网系统,M0是系统的初始标识。映射M:P→
定义4[14] Petri网N =(P,T,F,W)具有以下变迁发生规则:
1)对于变迁t ∈ T,如果t的每个输入库所pinput都有至少A-(pinput,t)个托肯,则变迁t在标识M下具有发生权,并定义为M [t〉。
2)如果变迁t发生,则t的每个输入库所pinput都被移除A-(pinput,t)个托肯,并且t的每个输出库所poutput都增加A+(poutput,t)个托肯,变迁t在标识M下发生会使得系统到达一个新标识M΄ =M+ A(:,t),并记为M [t 〉 M΄。
定义5[20] Petri网N =(P,T,F,W)的可达性可定义为:若存在t ∈ T使得M [t 〉 M΄,则称标识M΄从M直接可达;若存在一个变迁序列σ = t1 t2 …tk,其中ti ∈ T,使得M[t1 〉 M1 [t2 〉 … Mk-1 [tk〉 Mk = M΄,则称标识M΄从M可达。按此规定,从M可达的一切标识集合记为R(M)。
定义6 给定一个变迁序列σ∈T*,其中T*表示一系列有限长度的变迁序列集合。令π:T* →
定义7[17] 将一个标注Petri网定义为一个四元组(N,M0,L∪{ɛ},
由于本文考虑的是含有不可观测变迁的标注Petri网,因此可以将变迁集合T划分为所有不可观测变迁的集合Tu和所有可观测变迁的集合To这2个集合,且满足Tu∪To=T和Tu∩To=Ø。对于一个标注l∈L,用Tl={t∈T|
文献[14]考虑的是仅含有可观测变迁的标注Petri网,而本文的研究对象是含有不可观测变迁的标注Petri网,在观察到一个标注后,所有可能的变迁发生序列的数目会呈指数级增长。因此,为了降低计算复杂度,本文进行以下假设:
假设1 不可观测变迁组成的子网是无环的。
根据假设1,在标注Petri网N中,不可观测变迁组成的子网没有直接的循环存在。
假设2 对于每个标注的观察,可观测变迁之前至多允许2个不可观测变迁发生。
根据假设2,在观察到标注lj后,所有可能的变迁发生序列形如σut,其中t∈To,
考虑一个含有不可观测变迁且初始标识未知的标注Petri网N=(N,M0,L∪{ɛ},
定义8[15] 考虑一个标注Petri网N=(N,M0,L ∪{ɛ},
| $ I(w)=\left\{\boldsymbol{M} \in \mathbb{N}^{n} \mid \exists \sigma \in T^{*}: \boldsymbol{M}[\sigma\rangle, l(\sigma)=w\right\} $ | (1) |
| $ \mathbb{I}(w)=\left\{\boldsymbol{M} \in I(w) \mid \nexists \boldsymbol{M}^{\prime} \in I(w): \boldsymbol{M}^{\prime} \leqslant \boldsymbol{M}, \boldsymbol{M}^{\prime} \neq \boldsymbol{M}\right\} $ | (2) |
| $ \mathcal{I}(w)=\left\{\boldsymbol{M} \in \mathbb{I}(w) \mid\|\boldsymbol{M}\| \leqslant\left\|\boldsymbol{M}^{\prime}\right\|, \boldsymbol{M}^{\prime} \in \mathbb{I}(w)\right\} $ | (3) |
显然,由定义8可知
假设M和M΄是2个分量个数相同的标识向量,其中M=[M(p1),M(p2),…,M(pn)]T,M΄=[M ΄(p1),M ΄(p2),…,M΄(pn)]T,如果对任意的i∈{1,2,…,n}满足M(pi)≤ M ΄(pi),则有M≤M΄成立。假设一个标识集合Z={M1,M2,…,Mn},若对任意的i,j∈{1,2,3,…}且i≠j,都不存在Mj使得Mj≤Mi成立,则M i为标识集合Z中的极小标识。由于小于等于关系是一种偏序关系,因此极小标识并不是唯一的。
在文献[15]中,式(4)给出了极小初始标识的计算方法:
| $ \boldsymbol{M}_{j}^{0}=\max \left\{\boldsymbol{M}_{j-1}^{0}+\boldsymbol{A} \cdot \boldsymbol{y}_{j-1}, \boldsymbol{A}^{-}\left(:, \boldsymbol{t}_{i j}\right)\right\}-\boldsymbol{A} \cdot \boldsymbol{y}_{j-1}$ | (4) |
其中,j=1,2,…,k,
|
Download:
|
| 图 1 节点演化示意图 Fig. 1 Schematic diagram of nodes evolution | |
图 2所示为一个标注Petri网(N,M0,L∪{ɛ},
|
Download:
|
| 图 2 标注Petri网示意图 Fig. 2 Schematic diagram of labeled Petri nets | |
|
Download:
|
| 图 3 Petri网的节点演化示意图 Fig. 3 Schematic diagram of node evolution of Petri nets | |
在算法1中,对于第j阶段,Rj表示单个节点,V(j)表示所有节点的集合,节点演化示意图中某个节点的信息用一个三元组Rj=(yj,
u.yi、u.
算法1 最小初始标识估计算法
输入 一个含有无环不可观测变迁子网的标注Petri网N和一个长度为k的标注序列w=l1l2…lk
输出 第k阶段集合Rk.Mminimal中具有最小托肯总数的初始标识估计
1.
2.R0 =(y0,
3.考虑标注lj
4.令V(j)=Ø
5.For j∈{1,2,…,k}
6.For所有节点Rj-1 ∈V(j-1),
7.For 所有的变迁发生序列σutj ∈T*
8.For变迁发生序列σu tj 中的所有变迁t,σu=ti,ti∈Tu,i∈{1,2}
9.If t ∈ Tu
10.For i ∈{1,2}
11.u.
12.End For
13.Else t ∈ lj,
14.End If
15.If yj已在节点 Rj ∈ V(j)中出现过
16.For所有满足
17.If
18.更新集合V(j)=V(j)∪(yj,{
19.Else
20.更新集合V(j)=V(j)∪(yj,{
21.End If
22.End For
23.Else yj未在集合V(j)中出现过
24.更新V(j)=V(j)∪(yj,{
25.End If
26.If不同的σutj被搜索的次数少于
27.设置 Flag==FALSE,返回步骤8
28.Else设置 Flag==TRUE,返回步骤5
29.End If
30.End For
31.End For
32.End For
33.End For
在上述算法中,给定长度为k的标注序列 w=l1l2…lk,目标是找到最小的初始标识估计集合。当观察到第 j个标注时,若发生数向量 yj已经在第 j阶段的某个节点Rj中出现过,则会存在以下两种情形:情形1,
由文献[14]可知,第j阶段的发生数向量的数目为nj=O(j b),b是一个依赖于Petri网结构的参数。给定一个含有n个库所、m个变迁的标注Petri网,其中可观测变迁和不可观测变迁的个数分别为mo和mu,且有m=mo+mu成立。在观察到一个标注后,所有可能不同的不可观测发生数向量的数目为:
| $ r=2{C}_{{m}_{u}}^{1}+{C}_{{m}_{u}}^{2}=2{m}_{u}+\frac{{m}_{u}\cdot ({m}_{u}-1)}{2} $ | (5) |
综合考虑可观测变迁和不可观测变迁,基于假设2,可知第j阶段发生数向量的数目为nj=(r∙ j)b。在第j-1阶段,一个发生数向量至多能产生r∙m0个不同的发生数向量,因此第j阶段新产生的发生数向量的总数为r∙m0∙nj-1=O[r∙m0∙(r∙j)b]。在Petri网中仅含有可观测变迁的情况下,第j阶段极小初始标识的数目为qj=O(jn),根据假设2,发生序列长度的最大值为3j,因此qj=O((3j)n)=O(j n)。针对每个发生数向量,需要进行nj次比较以确定其是否已经出现在节点Rj中,若已出现过,则需要qj次比较来确定极小的初始标识估计。基于以上分析,算法1的计算复杂度为:
| $ \begin{array}{l} \sum \limits_{j=1}^{k}\left[O\right(r\cdot {m}_{o}\cdot {n}_{j-1}\cdot (m\cdot {n}_{j}+{q}_{j-1}\cdot {q}_{j}\cdot n)\left)\right]=\\ \sum \limits_{j=1}^{k}\left[O\right(r\cdot {m}_{o}\cdot {(r\cdot j)}^{b}\cdot [m\cdot r\cdot {(r\cdot j)}^{b}+{j}^{n}\cdot {j}^{n}\cdot n]\left)\right] \end{array}$ | (6) |
式(6)可简化为:
| $ O({m}_{o}m{r}^{2b+2}{j}^{2b}+{m}_{o}m{r}^{b+1}{j}^{2n+b})= $ |
| $ O({m}_{o}m{r}^{2b+2}{k}^{2b+1}+{m}_{o}m{r}^{b+1}{k}^{2n+b+1})= $ |
| $ O({k}^{2b+1}+{k}^{2n+b+1}) $ | (7) |
因此,算法1的计算复杂度是关于k的多项式。
3 应用实例本节通过一个实例来验证算法1的有效性,并将运行结果与现有算法得到的结果进行对比分析。图 4给出了一个2台并行机器的标注Petri网模型N=(N,M0,L ∪ {ɛ},
|
Download:
|
| 图 4 标注Petri网系统示意图 Fig. 4 Schematic diagram of labeled Petri net system | |
|
Download:
|
| 图 5 运行算法1后的节点演化示意图 Fig. 5 Schematic diagram of node evolution after running algorithm 1 | |
文献[15]中限定可观测变迁发生之前至多允许一个不可观测变迁发生,则最小初始标识估计集合为Ι΄(w)={[1001]T},发生数向量集合为{[100001]T,[101001]T},变迁序列为{t1 t6,t1 t3 t6 }。假设M∈Ι(w),M΄∈Ι΄(w),则||M||=1,||M΄||=2,由此可知||M|| < ||M΄||,因此,应用本文方法得到的最小初始标识具有更小的托肯总数,即系统完成指定的任务序列所需的初始资源更少。
4 结束语针对制造系统中的最小资源问题,本文建立标注Petri网模型,并提出一种用于估计最小初始标识的算法。该算法放宽了不可观测变迁发生个数的限制,并规定可观测变迁之前至多允许2个不可观测变迁发生,以有效避免最小初始标识估计的穷举计算。实验结果表明,在含有不可观测变迁的标注Petri网中,应用本文算法估计的最小初始标识较现有算法得到的结果更优。下一步将利用时延Petri网结构对本文算法进行优化,使得初始标识估计的托肯总数更小。
| [1] |
WANG Yatao. Research on vulnerability of urban rail transit signal system based on Petri net[D]. Beijing: Beijing Jiaotong University, 2016. (in Chinese) 王亚涛. 基于Petri网的城市轨道交通信号系统脆弱性研究[D]. 北京: 北京交通大学, 2016. |
| [2] |
LI Shaoyong, SUN Zhidong, CAI Ying, et al. Deadlock control policy using control transitions for flexible manufacturing systems[J]. Control Theory & Applications, 2019, 36(5): 795-802. (in Chinese) 李绍勇, 孙智冬, 蔡颖, 等. 应用控制变迁的柔性制造系统死锁控制策略[J]. 控制理论与应用, 2019, 36(5): 795-802. |
| [3] |
ZHU Danjiang, TAN Huobin, YAO Shuzhen. Petri nets-based method to elicit component-interaction related safety requirements in safety-critical systems[J]. Computers & Electrical Engineering, 2018, 71: 162-172. |
| [4] |
LI Chen, HUANG Linpeng, CHEN Luxi. Breeze graph grammar: a graph grammar approach for modeling the soft-ware architecture of big data-oriented software systems[J]. Software-Practice and Experience, 2015, 45(8): 1023-1050. DOI:10.1002/spe.2271 |
| [5] |
ZENG Qingtian, LU Faming, LIU Cong, et al. Modeling and verification for cross-department collaborative business processes using extended Petri nets[J]. IEEE Transactions on Systems Man Cybernetics-Systems, 2015, 45(2): 349-362. DOI:10.1109/TSMC.2014.2334276 |
| [6] |
HU Qiang, REN Zhikao, ZHAO Zhen, et al. Study on structure evolution for service processes base on logic Petri net[J]. Journal of Software, 2018, 29(9): 2697-2715. (in Chinese) 胡强, 任志考, 赵振, 等. 基于逻辑Petri网的服务流程结构演化研究[J]. 软件学报, 2018, 29(9): 2697-2715. |
| [7] |
DING Zhijun, QIU Haojie, YANG Ru, et al. Interactive-control-model for human-computer interactive system based on Petri nets[J]. IEEE Transactions on Automation Science and Engineering, 2019, 16(4): 1800-1813. DOI:10.1109/TASE.2019.2895507 |
| [8] |
DU Yuyue, GAI Junjing, ZHOU Mengchu. A Web service substitution method based on service cluster nets[J]. Enterprise Information Systems, 2017, 11(10): 1535-1551. DOI:10.1080/17517575.2016.1172347 |
| [9] |
HU Tao, MA Chenhui, ZHOU Xiaoliuting, et al. Fault diagnosis method for complex aerospace systems based on weighted fuzzy Petri net[J]. Computer Integrated Manufacturing Systems, 2019, 25(10): 2580-2586. (in Chinese) 胡涛, 马晨辉, 周晓柳婷, 等. 航天复杂系统的加权模糊Petri网故障诊断建模[J]. 计算机集成制造系统, 2019, 25(10): 2580-2586. |
| [10] |
FANG Huan, LU Yang, HUANG Zhenjin, et al. Synchroni-zation distance determination and synchronization con-troller design for hybrid Petri nets[J]. Control Theory & Applications, 2012, 29(7): 884-892. (in Chinese) 方欢, 陆阳, 黄镇谨, 等. 混杂Petri网系统中同步距离的确定及同步控制器的设计[J]. 控制理论与应用, 2012, 29(7): 884-892. |
| [11] |
MA Ziyue, TONG Yin. Supervisor synthesis in Petri nets based on basis marking graphs[J]. Journal of Xidian University (Natural Science), 2016, 43(6): 68-73. (in Chinese) 马子玥, 童音. 采用基本标识图的Petri网控制策略[J]. 西安电子科技大学学报(自然科学版), 2016, 43(6): 68-73. DOI:10.3969/j.issn.1001-2400.2016.06.012 |
| [12] |
GIUA A, SEATZU C, CORONA D. Marking estimation of Petri nets with silent transitions[J]. IEEE Transactions on Automatic Control, 2007, 52(9): 1695-1699. DOI:10.1109/TAC.2007.904281 |
| [13] |
RU Y, HADJICOSTIS C N. Bounds on the number of markings consistent with label observations in petri nets[J]. IEEE Transactions on Automation Science and Engineering, 2009, 6(2): 334-344. DOI:10.1109/TASE.2008.2009095 |
| [14] |
LI L X, HADJICOSTIS C. Minimum initial marking estimation in labeled Petri nets[J]. IEEE Transactions on Automatic Control, 2013, 58(1): 198-203. DOI:10.1109/TAC.2012.2203050 |
| [15] |
RUAN Keyu, LI Lingxi, WU Weimin. Minimum initial marking estimation in labeled Petri nets with unobservable transitions[J]. IEEE Access, 2019, 7: 19232-19237. DOI:10.1109/ACCESS.2019.2894352 |
| [16] |
LI L X, HADJICOSTIS C. Least-cost transition firing sequence estimation in labeled Petri nets with unobservable transitions[J]. IEEE Transactions on Automation Science and Engineering, 2011, 8(2): 394-403. DOI:10.1109/TASE.2010.2070065 |
| [17] |
YUE Hao, XU Shulin, ZHOU Guangrui, et al. Estimation of least-cost transition firing sequences in labeled Petri nets by using basis reachability graph[J]. IEEE Access, 2019, 7: 165387-165398. DOI:10.1109/ACCESS.2019.2952056 |
| [18] |
LIU Guanjun, JIANG Changjun. Observable liveness of Petri nets with controllable and observable transitions[J]. Science China-Information Sciences, 2017, 60(11): 256-264. |
| [19] |
HE Jun, ZHANG Yunfei, ZHANG Dehai. Automatic combination and detection of data cleaning rule chains based on Petri net[J]. Computer Engineering, 2020, 46(11): 124-131. (in Chinese) 何俊, 张云飞, 张德海. 基于Petri网的数据清洗规则链自动组合与检测[J]. 计算机工程, 2020, 46(11): 124-131. |
| [20] |
WANG Shouguang, YOU Dan, ZHOU Mengchu. New reachability trees for analyzing unbounded Petri nets with semilinear reachability sets[J]. Science China-Information Sciences, 2018, 61(12): 1-3. |
2021, Vol. 47
