第七章Petri网基础
第七章Petri网基础

18
§7.2.1 共享资源模型6
p active1
p active 2
t request 1
prequesting 1
trequest2 pidle
p requesting 2
t start 1
pacces sin g 1
t start 2
pacces sin g 2 pbusy
事件之间的同步距离(synchronic distance)
公平性(fairness)
4
§7.1 Petri 网发展概述5
Petri网模型的主要分析方法依赖于: 可达树(reachability tree) 关联矩阵和状态方程(incidence matrix and state equation) 不变量(invariants) 分析化简规则 Petri网的的纵向扩展: 条件/事件(C/E)网
PetriNets-owner@daimi.au.dk]] PetriNets-request@daimi.au.dk]]
[[World Wide Web URL:
http://www.daimi.au.dk/PetriNets/pnl/]]
[[Read before posting:http://www.daimi.au.dk/PetriNets/pnl/faq.html]]
9
§7.2 Petri网模型简介1
直观理解什么是Petri网,它们如何应用。 一个PN的结构元素包括: 位置(place):描述可能的系统局部状态(条件或状 况),例如,队列、缓冲、资源等。 变迁(transition):描述修改系统状态的事件、动 作,例如,信息处理、发送、资源的存取等。 弧(arc):使用两种方法规定局部状态和事件之间 的关系:引述事件能够发生的局部条件状态;由 事件所引发的局部状态的转换。
petri网的基本概念

p
t
p
t
2
提纲
? 网与网系统 ? 库所/变迁系统与加权Petri网 ? 并发与冲突
并发与冲突
? 定义1.6. 设PN=(P,T;F,M 0)是一个Petri 网, t1和t2是PN 中的两
个变迁。如果PN 的一个标识M 使得M[t
> 且M[t
1
2 >,那么若
M[t
>M → M > 且 [t
M[t
?? p ? P :K(p)= ? ?? f ? F:W(f)=1 那么,就变成形如定义 1.4 给出的网系统( 原型Petri 网)
? 对于一个P/T 系统,如果规定各个库所的容量都为无穷大,即取消库所集上 的容量函数而保留有向边集上的权函数,就得到一种介于原型Petri 网和 P/T 系统之间的网系统模型Σ=(P,T;F,W,M 0) ,称这种模型为加权Petri 网 (weighted Petri net )
条件和后置条件 ? 库所中的托肯代表可以使用的资源数量或数据
? Petri 网按引发规则使得事件驱动状态的演变,从而反映系统动态运 行过程
网与网系统
p1
t1
B p2
t2
c1 t3
c2 t4
例:网N1=(P1,T1; F1),其中 P1 = {p 1, p2, c1, c2, B} T1={t 1, t2, t3, t4} F1={(p 1, t1),(t1, p2), ? }
第一部分 Petri网的基本概念
提纲
? 网与网系统 ? 库所/ 变迁系统与加权Petri 网 ? 并发与冲突
网与网系统
? Petri 网是一种网状信息流模型,包括库所和变迁两类节点,同时在 库所集上添加表示状态信息的托肯分布(标识)
Petri网详细介绍与学习

模型改进
针对传统Petri网的不足,研究者们不断尝试对其进行改 进和优化,以提高其适用性和性能。例如,通过引入新 的元素或规则,改进Petri网的表达能力;优化Petri网的 推理算法,提高其推理速度等。
有界性、安全性与死锁
01
03
有界性
Petri网中的每个库所至多 包含有限个标记,且每个 变迁最多可以消耗和产生 有限个标记。
安全性
Petri网中不存在死锁状态 ,即对于任意一个状态, 总存在一个后继状态。
死锁
当Petri网中存在一个状态 ,从该状态无法通过任何 变迁到达其他状态时,称 该状态为死锁状态。
Petri网与其他建模方法的融合
融合方法
为了更好地描述和分析复杂系统,研究者们尝试将 Petri网与其他建模方法进行融合。例如,将Petri网与 流程图、状态图等图形化建模方法相结合,可以更直 观地描述系统的结构和行为。
融合优势
通过融合不同的建模方法,可以取长补短,提高对复 杂系统的描述和分析能力。同时,这种融合也有助于 推动不同领域之间的交叉和融合,促进多学科研究的 开展。
实例分析学习
案例分析
分析不同类型Petri网的特点和适用场景,如同步Petri 网、时间Petri网和有色Petri网等。
通过学习经典的Petri网实例,深入理解Petri网的实际 应用和建模技巧。
对比不同Petri网实例的建模效果,提高对Petri网的实 际操作能力和应用水平。
实践应用学习
Petri网基本概念及介绍

Petri网基本性能
• 有界性 通常,库所表示制造系统中的工件、工具、 托盘以及AGV的存放,还用于表示资源的可 利用情况,有界性是检查被Petri所描述的系 统是否存在溢出的有效尺度,防止确保不 会重复启动某一正在进行的操作。
Petri网基本性能
• 活性 • 对于一个变迁T,在任意标识m下,若存在 某一变迁序列Sr,该变迁序列的激发使得此 变迁T使能,责成该变迁是活的(Live)
Petri网基本概念及介绍
201512145
Petri网基本概念
• Petri网是一种网状模型,包括事件和条件两 个节点类型,在这样的图形中,分布着表 示状态资源或信息的托肯(Token),按照触 发规则进行状态的演化,从而反映系统运 行的全部过程。事件一般用“变迁”表示, 条件用“库所”表示,托肯用库所内的小 黑点表示,库所和变迁之间用有向弧连接。
Petri网基本性能
• 可达性具体应用:
①系统按照一定轨迹运行,系统能否实现一 定状态,典型问题是生产调度计划的验证;
②要求达到一定状态,如何确定系统运行轨 迹; 第一个问题可描述为:给定Sr初始标识以及 期望达到标识Mr,验证之;
给定m0和mr,寻找sr使得m0[Sr>mr.
Petri网基本性能
• 有界性 有界性反映系统运行过程中对资源变量的 需求,它意味着,Petri网艺在其所有可能的 状态标识下,网的各位置节点中的托肯数 必为有界的。在理论分析时常可假定位置 容量为无穷,但在实际系统设计中,必须 使网络中的每个位置在任何状态下的标志 数小于位置的容量,这样才能保证系统的 正常运行,不至于产生溢出现象。
这是一个状态机
Petri网基本概念
Petri网基本概念
T2、T3 并发并且该网为一个标记图
Petri网顺序序列的测试与判定

第七章 Petri 网顺序序列的测试与判定7.1 引言Petri 网合法发射序列的判定问题是网论中一重要研究课题,它是许多网论问题的直接基础,如:时延Petri 网的经典的调度问题 [1-3] 和循环调度问题 [12, 14, 16]都能被归结为这类判定问题;Petri 网极小初始标识的配置问题 [8-10,13,15] 也能被转化为这类判定问题;还有众所周知的Petri 网可达性问题 [4-6] 更是以这类判定问题为基础。
在 [8, 9, 11] 中,Petri 网合法发射序列的判定问题被深入研究,多项式判定算法被给出,时间复杂性被分析。
研究获知,这类判定问题对于一般Petri 网,甚至对于某些自由选择网都是NP-完全问题 [11]。
而仅仅对于几个简单网类,如:坚持网、无冲突网和状态机网,这类判定问题才是多项式可解的。
文 [16] 考虑了Petri 网合法发射序列的判定问题的一个近似问题,从而给出近似问题的一个多项时间算法。
由此足见,Petri 网合法发射序列的判定问题一般而言是一类困难问题。
另一方面,这类问题又是网论中的十分重要而基础的问题。
因此,这项工作的每一点推进都是非常重要的。
文[21]研究了坚持网、无冲突网和状态机网的同步合成网类,获得了这一网类合法发射序列判定问题的多项式判定算法,从而对以往的工作有了重要推进。
在这一章中,我们将着重介绍Petri 网的合法发射序列的判定问题和合成过程中序列测试等问题的有关算法。
7.2 发射序列测试为了验证系统的功能,测试系统功能的保持性,就是要测试系统的发射序列是否被保持到目标系统。
复杂系统的发射序列的测试是一个困难问题,分解复杂系统和分布测试集成求解的方法是解决此问题的一种有效途径。
下面具体来讨论这种方法。
定理 7.1 设,2,1),,;,(0==i M F T P PN i i i i i 是两个Petri 网, 21PN PN PN T O =, 且21T T ⋂=∆。
Petri网-基本概念

47
问题
• 变迁t1和t2的关系?
• t2会不会永远不执行?
48
4、基本网系统(E/N系统)
M ( b) 1 ,若b e e , 11 0 M ( b) 1 ,若 b e e , 0 1 1 M '(b) M (b),b e e , M (b)
• 生产流水线:半成品在流水线上移动, 每个生产环节再组装上一两个部件,直 到产生产品。 t1 : 半成品s1 部件s2 半成s4 二个螺丝s3 工具s7 半成品s4 t2 : 部件s5 半成品 s6 四个螺丝s3 工具s7
45
46
说明
• 变迁t1的产生:用工具(s7),两个螺丝钉 (s3)把一个部件(s2)装配到半成品(s1),产 生一个新的半成品(s4),并退换工具。 • 变迁t2的产生:用四个螺丝钉(s3)把一个 部件(s5)装配到半成品(s4),产生一个新 的半成品(s6),并退换工具。
2000 2010
1990
4
Elements of a Petri net
• • • •
库所 变迁 弧 托肯
5
6
Syntactic rules
• Directed graph with two types of nodes: places and transitions • Places may hold zero or more tokens • State (marking) is distribution of tokens over places
其中, dom( F ) {x S T | y S T : ( x, y ) F} cod ( F ) {x S T | y S T : ( y, x) F}
Petri网基本概念和分析方法

(b) t1, t2 是并发的, 且若 t2 在 t1 前点火,
则 t1 与 t3 冲突.
图 1.5. 对称与非对称
Petri 网的可达图是其可能状态和使能迁移关系的图表示.
(a) 一个 Petri 网
(b) 上述网的可达图 图 1.6. 可达图
3
北京师范大学信息科学学院
知识工程研究中心
二. Petri 网的行为
M(p) § M £(p). 对一个迁移 t, 用 Mt 记可以使能的最小状态. 定理. Petri 网(N, M0)中的迁移 t 是 L1-活性的 ‹ Mt 是可覆盖的.
5
北京师范大学信息科学学院
知识工程研究中心
2.6 持续性 Petri 网(N, M)称为持续的, 如果(N, M)中任何两个使能迁移 t1, t2, t1 的点火不 会改变 t2 的使能性. 例如, 所有标记图都是持续的, 但持续的网不一定都是标记图.
北京师范大学信息科学学院
知识工程研究中心
Petri 网: 基本概念和分析方法
记号: N = {0, 1, 2, … }, N+ = {0, 1, 2, … }.
一. 基本概念
一个 Petri 网由五个部分组成 PN = (P, T, F, W, M0), 其中: P 是位置(place)的有限集合; T 是迁移(transition)的有限集合; P … T = «, P » T ∫ «; F Œ (P ä T) » (P ä T)是有向弧的集合; w : F ö N+是弧的权函数; M0 : P ö N 是初始标记(初始状态). 注. 不带初始状态的 Petri 网记为 N = (P, T, F, W), 带有初始状态 M0 的 Petri 网则记为(N, M0). 若 PN 是一个 Petri 网, 则映射 M : P ö N 称为一个状态. 对 p œ P, 若 M(p) = k, 则称位置 p 标记有 k 个符号(token).
Petri网学习报告

Petri 网的基本理论1. 基本定义定义1.1 一个Petri 网(结构)N 是一个四元组),,,(W F T P ,P 和T 分别成为库所和变迁的集合,P 和T 非空、有限且不相交。
即φφφ≠≠T ,≠T P P ,。
φ≠⨯⨯⊆)()(P T T P F 称为流关系或有向弧的集合。
N →⨯⨯)()(:P T T P W 是一个映射,该映射为每一条弧分配一个权值,即若,F f ∈0)(>f W 若F f ∉,0)(=f W 。
称W 为Petri 网N 的权函数。
从图论上讲,Petri 网是一种双枝有向图,库所和变迁成为Petri 网的节点。
用图形表示Petri 网时,库所用圆圈表示,变迁用矩形或杠表示。
库所和变迁之间用有向弧连接,同一类型的节点间不能用有向弧连接。
定义1.2 若1)(,=∈∀f W F f ,Petri 网),,,(W F T P N =成为普通网。
否则N 称为一般网。
一个普通网可记作),,(F T P N =。
定义1.3 若1),(,),(=∈∀t p W F t p ,Petri 网称为PT-普通网。
定义1.4 Petri 网),,,(W F T P N =的标识M 是一个从P 到N 的映射。
),(0M N 称为网系统或标识网,0M 称为N 的初始标识。
在不引起混淆的情况下,简单称),(0M N 为Petri 网,),(0M N 有时也写成),,,,(0M W F T P 。
库所中的标识用称之为托肯的小黑点表示。
当托肯数较多时直接用数字表示。
定义1.5 令P p ∈是Petri 网),,,(W F T P N =的库所。
当且仅当0)(>p M 时称p 在M 下是被标记的。
当且仅当D 中至少有一个库所被标记时,称库所集P D ⊆在M 下是被标记的。
称∑∈=D p p M D M )()(为库所子集D 在M 下的托肯总和。
定义 1.6 令T P x ∈是Petri 网),,,(W F T P N =的节点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
活动元素-标记(token): 包含在位置中 如果一个位置描述一个条件,它能包含一个标 记或不包含标记,当一个标记表现在这个位置 中,条件为真;否则,为假。 如果一个位置定义一个状况(状态),在位置中 的标记个数用于规定这个状况。 用于表示处理的信息单元、资源单元和顾客、 用户等对象实体。
事件之间的同步距离(synchronic distance)
公平性(fairness)
4
§7.1 Petri 网发展概述5
Petri网模型的主要分析方法依赖于: 可达树(reachability tree) 关联矩阵和状态方程(incidence matrix and state equation) 不变量(invariants) 分析化简规则 Petri网的的纵向扩展: 条件/事件(C/E)网
18
§7.2.1 共享资源模型6
p active1
p active 2
t request 1
prequesting 1
trequest2 pidle
p requesting 2
t start 1
pacces sin g 1
t start 2
pacces sin g 2 pbusy
20
§7.2.1 共享资源模型8
p active1
p active 2
t request 1
prequesting 1
trequest2 pidle
p requesting 2
t start 1
pacces sin g 1
t start 2
pacces sin g 2
tend 1
tend 1
tend 2
19
图7.2.3 两个用户存取共享资源的PN模型
§7.2.1 共享资源模型7
在图7.2.3 的PN模型中,位置pbusy是冗余的(图7.2.2 的 PN模型也是一样)。当它包含一个标记时,在两个位置 paccessing-1 和paccessing-2中必定有一个位置包含一个标记。 在位置pbusy中的标记数量可以表达为位置paccessing-1 和 paccessing-2中标记数量的和。进一步,位置pbusy中的标 记数量并不表现模型的动态行为。因此,可以删除位 置pbusy,简化这个PN模型,得到图7.2.4的PN模型。
tend 2
图7.2.4
简化的两个用户存取共享资源的PN模型
21
§7.2.1 共享资源模型9
当有几个有类似行为特征用户时,可以将多个用户放 在一个图7.2.1(a)的用户模型中,亦即,增加用户实体 标记。同样的方法也可应用于多个资源的模型。多个 用户和多个资源合并的模型表现在图7.2.5中,N个用 户标记初始由位置pactive包含,M个资源标记初始由位 置pidel包含。当N=2和M=1时,忽略用户的个性,图 7.2.5的模型与图7.2.4的模型等价,这个新模型是图 7.2.4模型折叠。
22
§7.2.1 共享资源模型10
pactive
N
t request
prequesting
pidle
M
t start
pacces sin g
tend
图7.2.5
N个用户和M个资源的PN模型
23
§7.2.2 分叉(fork)和交汇(join)模型1
在图7.2.6 的PN模型中,变迁tfork表现了一个分叉操作, 3个变迁texec-1、texec-2 和texec-3表示3个并行的分支。变 迁tjoin表示3个并行部分结束的同步。最后,整个处理 由变迁trestart重新启动。 由于在位置pstart中有多个标记,位置pstart表示了一个 状况而不是一个布尔(boolean)条件。
通过将图7.2.1中两个PN模型的共有变迁tstart和tend进 行合并,可以得到一个用户和一个资源合并的PN模型, 即图7.2.2的PN模型。
16
§7.2.1 共享资源模型4
p active
t request prequesting
t start
pacces sin g pbusy
pidle
从1985年起, 关于Petri 网和性能模型的国际研讨会也 开始召开, 研讨会每两年召开一次。
3
§7.1 Petri 网发展概述4
Petri网研究的系统模型行为特性包括: 状态的可达(reachability) 位置的限界(boundedness) 变迁的活性(liveness) 初始状态的可逆达(reversibility) 标识之间的可达(reachability) 变迁之间的坚挺(persistence)
2
§7.1 Petri 网发展概述3
系统工程的方法: 系统的形式描述、系统的正确性验证、 系统性能的评价、系统的目标实现和测试。可在一个 Petri 网系统模型的框架上完成各项任务,其它图形或 数学工具一般都不具备如此功能。
从1980年起每年一次Petri网理论和应用的国际研讨会, Petri 网理论和应用的研究成果大部分集中在会议论文 集中。
11
§7.2 Petri网模型简介3
变迁实施规则(firing rule): 如果一个变迁的所有输入位置(这些位置连接到这个变迁, 弧的方向从位置到变迁)至少包含一个标记,那么这个变迁 可能实施(相联系的事件可能发生)。 一个可实施变迁的实施导致从它所有输入位置中都清除一 个标记,在它的每一个输出位置(这些位置连接到这个变迁, 弧的方向从变迁到位置)中产生一个标记。 当使用大于1的弧权(weight)时,在变迁每一个输入位置中 都要包含至少等于连接弧权的标记个数,它才可实施;这 个变迁的实施,要根据相连接的弧权,在它每一个输出位 置中产生相应标记个数。 变迁的实施是一个原子操作,在输入位置中清除标记和在 输出位置中产生标记是一个不可分割的完整操作。
位置变迁(P/T)网
高级网(HLN)(包括谓词/变迁网和着色网)
5
§7.1 Petri 网发展概述6
Petri网的横向扩展: 从没有参数的网, 发展到时间Petri 网和随机Petri 网;
从一般有向弧发展到禁止弧和可变弧; 从自然数标记(token)个数到概率标记个数; 从原子变迁发展到谓词变迁和子网变迁。 Petri网描述和分析能力: 描述能力的增强就会在某种程度上增加Petri 网分 析的难度。 既要增加模型描述和理解能力, 又要便于模型的 分析和计算。
9
§7.2 Petri网模型简介1
直观理解什么是Petri网,它们如何应用。 一个PN的结构元素包括: 位置(place):描述可能的系统局部状态(条件或状 况),例如,队列、缓冲、资源等。 变迁(transition):描述修改系统状态的事件、动 作,例如,信息处理、发送、资源的存取等。 弧(arc):使用两种方法规定局部状态和事件之间 的关系:引述事件能够发生的局部条件状态;由 事件所引发的局部状态的转换。
8
§7.1 Petri 网发展概述9
利用internet进行Petri网知识的获取和问题的讨论,可 使用如下E-mail地址或网页地址:
[[Post messages and summary of replies: [[The moderator's address: [[To (un)subscribe: PetriNets@daimi.au.dk]]
14
§7.2.1 共享资源模型2
p active
t request prequesting
pidle
t start
pbusy
t start
paccessin g
t end
图7.2.1(a) 用户PN模型
tend
图7.2.1(b) 资源PN模型
15
§7.2.1 共享资源模型3
用户可以有3种状态:(active)活动(做不涉及共享资源 的事情)、(requesting)要求、(accessing)存取。用户 的行为周期性地通过这3个状态。
12
§7.2 Petri网模型简介4
PN模型的状态转换是局部的,它仅涉及一个变迁通过 输入和输出弧连接位置的状态变化。这是PN模型的一 个关键特性,利用这个特性可以容易描述并行、分布 系统。
13
§7.2.1 共享资源模型1
图7.2.1(b)的PN模型描述了资源的行为,使用两个位 置(pidele和pbusy)描述了它的两个状态,使用两个变迁 (tstart和tend)描述了对两个状态的修改。在这个模型中有 一个标记,表示为资源实体,初始时它被包含在位置 pidele中。
t end
图7.2.2 用户存取资源的PN模型
17
§7.2.1 共享资源模型5
图7.2.2的PN模型可以扩充为两个用户竞争存取相同资 源的PN模型,资源就变成了共享资源。在这种情况, 共享资源涉及的变迁tstart和tend就要扩展,在第一个用 户模型中为tstart-1和tend-1,在第二个用户模型中为tstart-2 和tend-2,见图7.2.3 的PN模型。
24
§7.2.2 分叉(fork)和交汇(join)模型2
图7.2.6 分叉和交汇操作PN模型
25
§7.2.2 分叉(fork)和交汇(join)模型3
借助分叉和交汇子模型,可组织并行系统的模型。图 7.2.7描述了一个简单并行计算的PN模型。系统操作描 述如下:一组新数据被读(变迁tnewdata的实施),使用相 同一组数据,两个进程并行开始(分叉操作-变迁tstart 实施)。当两个进程完成操作(变迁tpar1和tpar2分别实施), 同步执行(交汇操作-变迁tsyn实施)。两个操作结果的 一致性要检测,两个变迁tOK和tKO中的一个要实施,它 们分别表示操作结果是可以接收或不可接收。如果结 果不一致,在进一步检测后(变迁tcheck实施),在同一 组数据的整个计算要重新执行;否则,结果输出(变迁 tI/O实施),进行新数据的操作。