【Petri网导论学习笔记】Petri网导论入门学习(四)

Petri 网导论学习笔记(4)

如需学习转载请注明原作者并附本帖链接!!!
如需学习转载请注明原作者并附本帖链接!!!
如需学习转载请注明原作者并附本帖链接!!!

原创码字不易,觉得不错请一键三连吧
这篇是1.2章节的内容
(ノへ ̄、)

发现网上关于Petri网的学习资源较少,这里分享的是看Petri网导论这本书的笔记(感觉相对于那个视频来说书上写的还是更详细一点,当然视频学习到第三章的笔记也会传上来,后续会主要看这本书来学习Petri网),欢迎大家来一起交流和学习,使用的学习资料是:
Petri网导论 吴哲辉著(主要)
Petri网:模型、理论与应用-清华大学

1.2 标识网与网系统

在1.1中主要比较规范的定义了Petri网的结构部分。在1.2节介绍Petri网的另一关键要素:标识 M

这一节将学习原型Petri网的部分

定义 1.8

定义 1.8 设 N = ( S , T ; F ) N=(S,T;F) N=(S,T;F)为一个网。映射

M : S → { 0 , 1 , 2 , ⋯   } M:S\to\{0,1,2,\cdots\} M:S{0,1,2,}
称为网 N N N的一个标识(marking)。二元组 ( N , M ) (N,M) (N,M) (也即四元组 ( S , T ; F , M ) (S,T;F,M) (S,T;F,M) )称为一
标识网(marked net).

用图形来表示一个标识网 ( S , T ; F , M ) (S,T;F,M) (S,T;F,M)时,对 s ∈ S s\in S sS,若 M ( s ) = k M(s)=k M(s)=k,则在表示库所 s s s的小圆圈内加上 k k k小黑点(当数值 k k k很大时,也可以直接写上数字 k k k),并说库所 s s s中有 k k k标志(token)或标记。

M 里包含了每个库所所包含的“小石子数量” 如 M ( s 1 ) = 1 M(s_1)=1 M(s1)=1,表明 s 1 s_1 s1有一个小石子

定义 1.9

一个网系统(net system)是一个标识网 Σ = ( S , T ; F , M ) \Sigma=(S,T;F,M) Σ=(S,T;F,M),并具有下面
变迁发生规则(transition firing rule):

1)对于变迁 t ∈ T t\in T tT,如果
∀ s ∈ S : s ∈ ∙ t → M ( s ) ⩾ 1 \forall s\in S:s\in^\bullet t\to M(s)\geqslant1 sS:stM(s)1
则说变迁 t t t在标识 M M M发生权(enabled),记为 M [ t > M[t> M[t>

2)若 M [ t > M[t> M[t>,则在标识 M M M下,变迁 t t t可以发生(fire),从标识 M M M发生变迁 t t t
到一个新的标识 M ′ M^\prime M(记为 M [ t > M ′ ) M\left[t>M^{\prime}\right) M[t>M),对 ∀ s ∈ S \forall s\in S sS,
M ′ ( s ) = { M ( s ) − 1 ,   若   s ∈ ∙ t − t ∙ M ( s ) + 1 ,   若   s ∈ t ∙ − ∙ t M ( s ) ,   其他 \left.\begin{aligned}\\&M^{\prime}(s)=\left\{\begin{array}{l}M(s)-1,\:\text{若}\:s\in^{\bullet}t-t^{\bullet}\\M(s)+1,\:\text{若}\:s\in t^{\bullet}-^{\bullet}t\\M(s),\:\text{其他}\end{array}\right.\\\end{aligned}\right. M(s)= M(s)1,sttM(s)+1,sttM(s),其他

开始讲解小石子游戏游戏规则

对于一个有着库所、变迁、流关系每个库所小石子状态的标识

他的变迁规则是:

1) 对于一个变迁 t t t

​ 每个库所的元素,如果库所 s s s是某一个 t t t的前集, M ( s ) M(s) M(s)必须大于1。

就说明这个变迁 t t t可以在标识 M M M下可以发生。

在一个小方框□前的所有小⚪必须都有“小石子”,该变迁才可以发生部分有不行,都得有因为前面 s s s相关定义有 ∀ \forall

P.S 这个表示变迁 t t t M M M有发生权的符号既抽象又有点形象。。。

M M M用[ >框住 t t t,表示可以在 M M M可以发生,而且有一个">"表示可以往后发展(个人理解,后面也会>也会接上变迁发生后的新标识 M ′ M' M

2)变迁发生后获得新的 M ′ M' M状态

其中 M ′ M' M状态的状态转移方程

如果 s ∈ ∙ t − t ∙ s\in^{\bullet}t-t^{\bullet} stt,表示 s s s是发生变迁的前集与后集的集合运算的结果,表明是前集但不是变迁的后集,则你要发生变迁,你需要扣掉一个token

如果 s ∈ t ∙ − ∙ t s\in t^{\bullet}-^{\bullet}t stt,表示 s s s是发生变迁后集前集的集合差运算的结果,表明是后集并不是前集库所,则你在发生变迁,你需要增加一个token

然后对于不是前集也不是后集,或者既是前集也是后集的库所里(一个自环),他的token不变

(因为现在的Petri网系统每次发生变迁会扣掉一个token产生一个新的token,不涉及变迁的当然不改变,存在自环类的就是变迁的前集和后集存在同一个库所的情况下,-1+1=0,他也是不变的。

一个网系统有一个初始标识(initial marking),记为 M 0 M_0 M0

描绘了这个网系统的初始状态,如果随便一个变迁发生就得到一个新标识 M 1 M_1 M1…然后不断的运行下去,变迁会接连发生,库所里的标识也会不断变化

※KEY:

(在这里的标识或者小石子的变化并不是从变迁前集的所有库所到达一个变迁再转移到另一个新的变迁所连接所有后集的库所,在这里的标识他的变化过程可以理解为在发生变迁时突然消失,再到达下一个变迁时突然出现两者并不是同一个token,虽然可以表示同一个东西,后面提到加权的Petri网时,可能出现好几个token(小石子或者标识是同一个意思),最后出现1个token或者权函数规定所产生的token)。
——————————————————
如果理解成是同一个小石子在网里循环,则有可能会被困惑住后面的内容。
我自己自学的时候就在不同网系统的变迁规则这里绕了一些,希望读者能够对应上不同Petri网系统所对应的变迁发生规则:)
——————————————————
这就是网系统的运行。

例 1.4

对于图 1.1 的网 N 1 = ( S , T ; F ) N_1=(S,T;F) N1=(S,T;F) ,如果赋予一个初始标识
M 0 : M 0 ( s 1 ) = 1 ,   M 0 ( s 2 ) = M 0 ( s 3 ) = M 0 ( s 4 ) = 0 M_0:M_0(s_1)=1,\:M_0(s_2)=M_0(s_3)=M_0(s_4)=0 M0:M0(s1)=1,M0(s2)=M0(s3)=M0(s4)=0
就得到一个标识网 ( N 1 , M 0 ) (N_1,M_0) (N1,M0) ,如图 1.9a)所示。 加上的变迁发生规则,
Petri网变迁发生例子

( N 1 , M 0 ) (N_1,M_0) (N1,M0)就构成一个网系统。在网系统 Σ = ( N 1 , M 0 ) \Sigma=(N_1,M_0) Σ=(N1,M0)中,只有变迁 t 2 t_2 t2 M 0 M_0 M0有发生权。若 t 2 t_{2} t2 M 0 M_0 M0发生,就得到一个新的标识 M 1 M_1 M1, ( N 1 , M 1 ) (N_1,M_1) (N1,M1) 如图 1.9b)所示。
一种变迁

在标识 M 1 M_1 M1下, t 1 t_1 t1 t 4 t_4 t4都有发生权。若变迁 t 1 t_1 t1发生,得到一个新的标识 M 2 M_2 M2;如果是 t 4 t_{4} t4 M 1 M_{1} M1发生,得到另一个标识 M 3 M_3 M3 ( N 1 , M 2 ) (N_1,M_2) (N1,M2) ( N 1 , M 3 ) (N_1,M_3) (N1,M3)分别如图 1.9c)和图 1.9d)所示。

无法发生变迁

在标识 M 2 M_2 M2 t 2 t_2 t2又可以发生,网系统还可以继续运行下去。容易看出,当网系统运行到标识 M 3 M_{3} M3时,绿框框里 s 3 s_3 s3并没有token,网中的任一个变迁在 M 3 M_{3} M3都没有发生权。这时,网系统的运行停止。

存在空标识网的几种情况

根据定义 1.8,这样的一个映射也是网 N N N的一个标识,称它为空标识(empty marking)。然而,对于有些网(结构)来说,空标识可能没有实际意义。譬如,对图 1.1的网 N 1 N_1 N1,如果以空标识作为它的初始标识,那么每一个变迁在初始标识下都没有发生权。这个网系统从一开始就不能运行

有些网一开始没有标识,就不能运行。

但是下图的 t 1 t_1 t1变迁前集为空,根据前面的定义的变迁发生规则,他其实是可以凭空产生token的(因为要求是前面所有的库所都有token,没有库所就直接成立了)

对于另一些网,以空标识作为初始标识是可行的。例如,对于图1.2 的网 N 2 N_{2} N2,如果以空标识 M M M作为它的初始标识,就得到图 1.10a)的标识网 ( N 2 , M ) (N_2,M) (N2,M) 。显然,从图形上看,图 1.10a)同图 1.2 完全一样,但它们的含义是不同的。图 1.2 只给出了一个网 N 2 N_{2} N2 , 图 1.10a) 却是一个带空标识 M M M的标识网。
在这里插入图片描述

在运行过程中会出现空标识

在标识网 ( N 2 , M ) (N_2,M) (N2,M)中,虽然 M M M是一个空标识,即 N 2 N_{2} N2的每个库所中都没有标志,但这个网是可以运行的。因为在 N 2 N_2 N2中,“ t 1 = ∅ t_1=\emptyset t1=,根据变迁发生规则, t 1 t_1 t1在标识 M M M下有发生权(逻辑蕴含式 (1.21)式的值为真)。 t 1 t_{1} t1在标识 M M M发生,产生标识 M 1 M_{1} M1。标识网 ( N 2 , M 1 ) (N_{2},M_{1}) (N2,M1)如图 1.10b)所示。在标识 M 1 M_1 M1下,变迁 t 1 t_1 t1 t 2 t_2 t2都有发生权。如果 t 1 t_1 t1发生, 就产生标识 M 2 M_2 M2,如图 1.10c)所示。如果 t 2 t_2 t2 M 1 M_1 M1发生,产生标识 M 3 M_3 M3,如图 1.10d)所示。在 M 2 M_2 M2 M 3 M_3 M3下,都还有一些变迁有发生权,还可以继续运行下去。
空标识情况

在有些情况下,空标识可能是一个网系统运行的结果,虽然这个网系统的初始标识不是空标识。例如,在图 1.11a)所示的标识网 ( N 6 , M 0 ) (N_6,M_0) (N6,M0)中,初始标识 M 0 M_{0} M0不是一个空标识。在 M 0 M_0 M0下变迁 t 1 t_1 t1有发生权, t 1 t_1 t1的发生产生标识 M 1 M_1 M1 (如图 1.11b)所示)。在标识 M 1 M_{1} M1下,变迁 t 2 t_2 t2 t 3 t_3 t3都有发生权。如果 t 3 t_3 t3发生,所得到的标识 M 2 M_{2} M2就是一个空标识, 如图 1.11c)所示。可见,空标识是网系统 ( N 6 , M 0 ) (N_6,M_0) (N6,M0)可能的一种运行结果

运行产生空标识

1.2 小结

这一节定义的网系统是最早被研究的网之一,也是最有代表性的网系统。

Petri网 名称最早指的就是这种网系统,现在 Petri网 是泛指再此基础上拓展并定义的一切网系统。

1.3会学习到库所/变迁系统(P/T系统),后面也将介绍高级增广Petri网含时间因素的Petri网等等。

本节定义的网系统被称为原型Petri网(Original Petri Net

1.2学习完应达到的要求

原型Petri网的运行规律非常熟悉

通过对网系统的变迁发生(指接连发生)以及网系统运行过程中可能出现的各种标识有一个大致的的了解,对分析和应用Petri网建模非常重要。

在这里插入图片描述

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值