PETRI NET
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PETRI NET
一、网和网系统
一般系统模型均由两类元素构成:表示状态的元素和表示变化的元素。
例如用于描述程序系统的程序设计语言用变量表示状态,用语句,特别是赋值语句,表示变化,Petri网也不例外。
Petri网的状态元素和变化元素分别称为S_元素和T_元素,也简称为S_元和T_元。
怎样把两类元素联系起来构成完整的系统呢?不同的模型采用不同的方法。
控制流是人脑思维方式的反映,分时系统则是对意识流的模拟。
人脑的思维方式(远比控制流的方式复杂)是人脑固有的,控制流却并不是物理系统固有的,所以不应该以任何方式把控制流作为固有成引入系统模型。
Petri网对S_元和T_元同等结待,两者是“分体”的,平等的。
实际上,S_元由T_元改变,而T_元由S_元描述,两者互相依赖。
Petri网起源于对信号传输的描述,所以适合于描述以资源流动为特征的系统。
T_元引起S_元中资源的流动。
联系T_元和S_元的是两者之间的流关系,用F表示。
Petri网中没有任何形式的固有控制,既不含冯.诺依曼式的控制流,也不用全局状态或全局时间变相控制。
自然规律决定了每个变迁与哪些状态元素有关,也决定其相关方式。
变迁是Petri网对T_元的称呼。
变迁之间通过共享的S_元联系在一起,构成网状的系统结构。
只有在全局或局部控制是应用问题的组成部分时,控制信息才作为资源出现在Petri网中。
以自然的依赖关系描述变迁之间的联系(从下而的例子中去体会这句话),使Petri网具有区别于其他模型的许多特点。
除可实现性外,最突出的是Petri网适合于在各种抽象级别上描述并分析异步并发系统,而且由此产生了一整套理论。
为应用系统建立Petri网模型,首要的就是决定什么是系统的变迁,什么是系统的库所。
但变迁和库所的划分有时并不总是这么明确。
变迁和库所的概念有时能帮助我们认清事物的本质。
正确区分变迁和库所,有时能对问题的求解起重要作用。
二、Petri 网的基本定义
定义1:三元组(,;)N S T F =称为有向网(directed net ,简称为网(net))的充分必要条件是:
(1)∅=⋂T S ;
(2)∅≠⋃T S ;
(3)S T T S F ⨯⋃⨯⊆;
(4)T S F cod F dom ⋃=⋃)()(,其中
}),(:|{)(F y x y x F dom ∈∃=
}),(:|{)(F y x x y F cod ∈∃=
它们分别为F 的定义域和值域。
其中S 和T 分别为N 的库所(place)集和变迁(transition)集,F 称为流关系(flow relation)。
库所和变迁又分别称为S_元素和T_元素,或是S_元和T_元。
T S X ⋃=称为N 的元素集。
库所集和变迁集是有向网的基本成分,流关系是从它们构造出来的,所以在S,T 和F 之间用分号(;)隔开。
库所和变迁是两类不同的元素,所以∅=⋂T S ,而∅≠⋃T S 表示网中至少要有一个元素。
每个库所代表一种资源,资源的流动由流关系规定,所以变迁只能与库所有直接的流关系: S T T S F ⨯⋃⨯⊆,不参与任何变迁的资源表现为孤立的库所,不引起资源流动的变迁表现为孤立的T_元素,T S F cod F dom ⋃=⋃)()( 规定网中不能有孤立元素。
定义2:
(1)'(,;)N T S F =称为(,;)N S T F =的对偶网(dual net )。
(2)''1(,;)N S T F -=称为(,;)N S T F =的逆网(reverse net )。
定义3:设X x ∈为N 的任一元素,
(1)}),(|{.F x y y x ∈=称为x 的前集(pre-set )或输入集。
(2)}),(|{.F z x z x ∈=称为x 的后集(post-set )或输出集。
若有库所S s ∈和T t ∈,使得.
.t t s ⋂∈,那么在t 发生时s 中就会既失去又得到托肯。
这种结构上的特征表明,s 中的资源对t 起着类似化学反应中催化剂的作用。
把没有这种结构的网称为单纯网(pure net ),简称纯网。
有向网是系统的结构框架,就像演戏的舞台,活动在框架上的是系统中流动的资源(演员)。
从网到网系统的过程必须指明资源的初始分布,规定框架上的活动规则,即库所容量和变迁与资源之间的数量关系。
定义4:对有向网(,;)N S T F =而言,记0N =(0,1,2,…},N ={1,2,3,…},并以ω表示无穷:11ωωωωω=-=+=+。
(1)K : }{ω⋃→N S 称为N 的容量函数(capacity function);
(2)对给定的容量函数K ,0:N S M →称为N 的一个标识(marking)的条件是:
)()(:s K s M S s ≤∈∀。
(3)N F W →:称为N 上的权函数,对(,)x y F ∈,(,)((,))W x y W x y =称为(,)x y 上的权。
网论尊重资源有限的事实,所以代表资源分布的标识M 只能为每个库所指定有限多个资源。
库所的容量也是有限的,按定义允许有些库所的容量为ω,这只是表明这些库所的容量不会对系统的行为构成限制。
权函数规定每个变迁发生一次引起的有关资源数量上的变化,它要求对任何(,)x y F ∈, 有0(,)W x y ω<<。
定义5: 六元组0,,,;,(M W K F T S =∑)构成网系统的条件是:
(1)(,;)N S T F =构成有向网,称为∑的基网。
(2)0,,K W M 依次为N 上的容量函数、权函数和标识。
0M 称为∑的初始标识。
定义6:(变迁发生条件):
(1)....t t t ⋃=称为t 的外延(extention)。
(2)t 在M 具备使能(firable)的条件是:
)(),()(:),()(:..s K t s W s M t s t s W s M t s ≤+∈∀∧≥∈∀
t 在M 具备使能权记做[M t >,
也可以说M 授权(enables)t 发生或t 在M 授权(enabled)下发生。
定义7:(变迁发生后果):
若[M t >,则t 在M 可以发生,将标识M 改变为M 的后继(successor)'M ,
'M 的定义是:对S s ∈∀,....'....()(,)()(,)()()(,)(,)()s t t M s W s t M s W t s s t t M s M s W s t W t s s t t M s s t ⎫∈--⎧⎪⎪+∈-⎪⎪=⎨⎬-+∈⋂⎪⎪⎪⎪⎩∉⎭
若若若若 'M 为M 之后继的事实记作'[M t M >。
三、Petri 网的基本性质
Petri 网的性质有可达性、有界性、活性和公平性等。
网的性质不仅和初始状态有关,还与Petri 网的结构有关。
这里只介绍一些Petri 网的主要性质和特点。
1、可达性
可达性是研究系统动态特性的最基本的性质。
Petri 网的动态过程,是指使能变迁的触发导致托肯分布(标识)的改变过程,使能变迁的触发序列会产生相应的标识序列。
如果存在一个发生序列σ能够使系统从标识0M 移到标识n M ,称标识n M 是0M 可达的,记为0[n M M σ>。
可达性问题就是任意给定一个标识判定它是否从初始标识出发可达的问题。
2、死锁(Deadlock)和陷阱(Trap)
在两个或多个并发进程中,如果每个进程持有某种资源而又都等待着别的进程释放各自保持着的资源,否则就不能向前推进。
此时,每个进程都占有了一定的资源但又都不能向前推进,这就产生了死锁。
定义8:令(,;)N P T F =是一个Petri 网。
(1) H P ⊆是N 的一个死锁(陷阱)当且仅当)(''''H H H H ⊆⊆
(2) H P ⊆是N 的极小死锁(陷阱)当且仅当H 的任何非空子集都不是N 的死锁 (陷阱)。
若N 是一个Petri 网,M 为其一个标识,H 是M 的一个死锁,R 是M 的一个陷阱,则有:
(1)如果H 不被M 标识,那么对'(,)M R N M ∈,H 也不被'M 标识;
(2)如果R 被M 标识,那么对(,)M R N M ∈,(,)R N M 也被'M 标识。
死锁(陷阱)的并仍是死锁(陷阱)。
3、活性(Liveness)
定义9:设(,;)N P T F =是一个Petri 网,00(,)N M =∑是一个Petri 网系统。
(1)变迁t T ∈在0∑下是活的当且仅当对0(,)M R N M ∀∈,存在'(,)M R N M ∈,使得'[M t >;
(2)0∑是活的当且仅当T 中所有变迁t 在0∑中都是活的;
(3) 0∑中库所P 是有界的,当且仅当存在一个正整数K ,对0(,)M R N M ∀∈,有()M P K ≤;
(4) 0∑是有界的,当且仅当0∑中所有库所都是有界的;
(5)标识M 是N 的活标识,当且仅当(,)N M 是活的;
(6) 0∑是不死的(deadlock-free),当且仅当0(,)M R N M ∀∈,:[t T M t ∃∈>;
(7) 0∑是死的(deadlock),当且仅当0(,)M R N M ∀∈,:[t T M t ∀∈⌝>。
即如果不论标识如何演化,一个变迁总会被使能,则称该变迁是活的。
如果不论标识如何演化,网内都不存在不可激发的变迁,则称该Petri 网是活的。
一个死锁是一个标识,从该标识不再有任何变迁使能。
活性和死锁的性质是一种非结构的性质,它们的性质依赖于网的初始标识。
4、公平性
Petri 网的公平性旨在讨论网系统中两个变迁(变迁组)的发生之间的关系。
这种关系反映被模拟系统的不同部分在资源竞争中的无饥饿性问题。
(1)对非空变迁集12,T T T ∈,12T T ⋂=∅ ,若存在∑的无限变迁序列=12t t τ,使得1#(,)T τ=∞,而2#(,)T τ<∞,就说∑对1T 和2T 是不公平的,其中#(,)i T τ是变迁i T 在τ中出现的次数。
∑对1T 和2T 的这种不公平也可以说是2T 处于饥饿状
态。
(2)若∑对任意两个不相交的非空变迁集合都不是不公平的,就说∑是公平系统。
若∑的任何变迁集合都不会处于饥饿状态,就说∑是无饥饿系统。
5、有界性
定义10:设0(,;,)P T F M =∑为一个Petri 网,如果每个p P ∈都是有界的,则称∑为有界Petri 网。
称()max{()}B B p p P =∈∑为∑的界。
当()1B =∑时,称∑为安全的。
Petri 网模型的有界性一般指网中任何库所的托肯数是有界的,它反映系统运行过程中对资源容量的需求,它表明一个库所在Petri 网运行过程中所能获得的最大托肯数。
在设计实际系统的Petri 网模型时,要注意网中的每个库所在任何状态下的托肯数要小于库所的容量,避免产生溢出现象。
6、可覆盖性
定义11:设(,;,)N P TFW =为一个网,1M 和2M 是N 的两个标识,
如果对任p P ∈都有12()()M p M P ≤,则称1M 被2M 覆盖,或说2M 覆盖1M ,记作12M M ≤。
如果12M M ≤而且存在p P ∈,使得12()()M p M P ≤,则记为12M M <。
7、冲突
定义12:若>∧>21[[e c e c ,但>⌝},[{21e e c ,则21,e e 在c 互相冲突。
冲突指存在一个结构冲突和一个标识,在该标识下,处于结构冲突中的变迁的共同输入库所P 的标记数少于被该标识使能的P 的输出变迁的加权数。
冲突是争夺使能权而产生的对资源争夺关系,它反映了系统资源的竞争状况。
变迁123,,t t t 中的一个发生将导致另外两个变迁不能发生。
需要从环境中输入信息来决定哪个变迁发生。
就其本身而言,谁有优先权是不确定的。
四、有色Petri net 的基本定义
在网和网系统中,同类的个体染上同一种颜色,不同类的则以不同颜色区分,这就是有色网系统。
定义1:设S 为非空集合,0IN 是非负整数集,则从S 到0IN 的函数叫做S 的多重集(multi-set ),多重集可表示为:
()s S
m s s ∈∑
在上式中,s 是集合S 中的任意一个元素,非负实数()m s 是它的系数,也就是这个元素在多重集中的个数,s m ∈ iff ()0m s ≠。
我们用MS S 表示集合S 上的所有多重集所组成的集合。
多重集和集合的区别在于前者允许同一个元素出现多次。
例如:{,,}a a b 是集合{,}a b 上的多重集,其中a 出现了两次。
定义2:设m ,1m ,2MS m S ∈且0n IN ∈,则多重集的运算规则定义如下:
(1)1212(()())s S
m m m s m s s ∈+=+∑ (加法)
(2)(())s S
n m n m s s ∈*=*∑ (纯量乘法)
(3)1212:()()m m s S m s m s ≠=∃∈≠
1212:()()m m s S m s m s ≤=∀∈≤
(4)()s S
m m s ∈=∑ (大小) 当m =∞时,我们说m 是无限的,反之m 是有限的。
当12m m ≤时我们定义减法如下:
(5)2121(()())s S
m m m s m s s ∈-=-∑ (减法)
对标志进行分类的一种简便表述方式是用维向量来表示带有K 种颜色的Petri 网。
各个库所内的K 维非负整数向量表示库所含有各种颜色的标志个数,每一分量代表一种颜色,分量值表示颜色的标志个数。
同样,各个变迁有发生权的条件,以及变迁发生后所引起的标识变化,也可以通过对变迁的输入弧和输出弧标上用维非负整数向量表示的权值来表述。
定义3:一个有色Petri 网满足下列条件的六元组
(,,,,,)CPN P T F C W M =:
(1)C 是一个非空有限类型集,称为颜色集(color sets ),12{,,
}k C c c c =;
(2)P 是一个有限集合,称为库所集;
(3)T 是一个有限集合,称为变迁集;
(4)()()F P T T P ⊆⨯⋃⨯是有向弧的集合;
(5):{0,1,2,}k W F →
(6):{0,1,2,}k M P →
对t T ∈,如果()(,)p t M p W p t ∈→≥ 那么变迁t 在标识M 有发生权([M t >),在标识M 下发生变迁t ,产生一个新的
标识''([)M M t M >
....'..()(,)()(,)()()(,)(,)()p t t M p W p t M p W t p p t t M p M p W p t W t p p t t M p ⎫∈--⎧⎪⎪+∈-⎪⎪=⎨⎬-+∈⋂⎪⎪⎪⎪⎩⎭
若若若其他 映射M 是对每个库所赋予一个k 维非负整数向量,()M p 为k 维非负整数向量。
映射W 是对每条有向边赋予一个非平凡的维非负整数向量。
上式是非负整数向量的大小比较(而不是整数大小比较)。
上式要做的是非负整数向量的加减运算(而不是整数加减运算)。
对于CPN 的两个标识1M 和2M ,当且仅当存在一个从1M 开始到2M 结束的有限出现序列时,称2M 是从1M 可达的。
记1M 的可达标识集为1()R M 。
一个标识M 是可达的当且仅当它属于0()R M 。