【Petri网导论学习笔记】Petri网导论入门学习(六) —— 1.4 基本网系统与条件事件系统

导航

      • [1.4 基本网系统与条件事件系统](#1.4 基本网系统与条件事件系统)
        • [定义 1.11](#定义 1.11)
        • [定义 1.12](#定义 1.12)
        • [定义 1.13](#定义 1.13)
        • [例 1.5](#例 1.5)

1.4 基本网系统与条件事件系统

在 P/T 系统 Σ = ( S , T ; F , K , W , M ) \Sigma=(S,T;F,K,W,M) Σ=(S,T;F,K,W,M) ,若规定

∀ s ∈ S : K ( s ) = 1 \forall s\in S:K(s)=1 ∀s∈S:K(s)=1

∀ ( x , y ) ∈ F : W ( x , y ) = 1 \forall(x,y)\in F:W(x,y)=1 ∀(x,y)∈F:W(x,y)=1

得到的网系统称为基本网系统(elementary net system) 。诚然,这时对标识 M M M也要有相应的约束条件

∀ s ∈ S : M ( s ) ⩽ 1 \forall s\in S:M(s)\leqslant1 ∀s∈S:M(s)⩽1

其中基本网系统(简记为EN系统)最简单分布式系统模型
将P/T系统的权和库所的token流量都限制为1得到了基本网系统

M ( s ) = 0 , 1 M(s)=0,1 M(s)=0,1

每个 s ∈ S s \in S s∈S 看作一个条件 , M ( s ) = 1 M(s)=1 M(s)=1则视为条件成立,反之亦然。

每个 t ∈ T t \in T t∈T 看作一个事件 , ⋅ t ^\cdot t ⋅t 与 t ⋅ t^\cdot t⋅视为事件 t t t的前置条件集后置条件集

发生权:每个前置事件前置条件集都成立且后置条件集都不成立

​ 发生后前置条件消失且后置条件都成立

在限制为1后,可以把每个库所抽象的看成一个条件,决定了后面变迁是否能发生,0和1的状态表明是否能发生

每个变迁看作成一个事件 ,t的前后对应库所也就是条件决定了他是否可以发生(需要前面的条件均满足 和后面的条件均未满足才可以

在基本网系统中,习惯上用 B B B表示条件集,用 E E E表示事件集。EN 系统的形式定义给出如下:

定义 1.11

基本网系统是一个四元组 Σ = ( B , E ; F , c ) \Sigma=(B,E;F,c) Σ=(B,E;F,c),其中
1 ) ( B , E ; F ) 1)(B,E;F) 1)(B,E;F)是一个网, B B B称为条件集(condition set), E E E称为事件集(event set), c ⊆ B c\subseteq B c⊆B称为 Σ \Sigma Σ的一

个情态(case)。

2)事件 e ∈ E e\in E e∈E 在情态 c c c 有发生权(记作 c [ e > ) c[e>) c[e>),当且仅当
∙ e ⊆ c ∧ e ∙ ∩ c = ∅ ^\bullet e\subseteq c\land e^\bullet\cap c=\emptyset ∙e⊆c∧e∙∩c=∅

3)若事件 e e e在情态 c c c发生,产生新的情态 c ′ ( c^\prime( c′(记作 c [ e > c ′ ) c[e>c^\prime) c[e>c′),则
c ′ = ( c − ∙ e ) ∪ e ∙ c^{\prime}=(c-^\bullet e)\cup e^\bullet c′=(c−∙e)∪e∙

显然,三元组 ( B , E ; F ) (B,E;F) (B,E;F)和初始情态 c 0 − c_0- c0−旦给出,就完全确定了一个 EN 系统。因此,一个基本网系统往往也是通过四元组 Σ = ( B , E ; F , c 0 ) \Sigma=(B,E;F,c_0) Σ=(B,E;F,c0)来给定

借助基本网系统完全情态集 的概念可以定义条件事件系统 。条件事件系统是一种很规范的基本网系统,对系统中的条件集、事件集和情态集都有严格的要求。

定义 1.12

设 Σ = ( B , E ; F , c 0 ) \Sigma=(B,E;F,c_0) Σ=(B,E;F,c0) 为一个基本网系统 。满足下列条件的最小集合 C ⊆ C\subseteq C⊆ ρ ( B ) ( ρ ( B ) \rho(B)(\rho(B) ρ(B)(ρ(B)是 B B B 的幂集)称为 Σ \Sigma Σ的完全情态集(complete set of cases):

  1. c 0 ∈ C ; c_0\in C; c0∈C;
  2. ∀ c ∈ C \forall c\in C ∀c∈C, 若存在 e 1 , e 2 ∈ E e_1,e_2\in E e1,e2∈E和 c 1 , c 2 ⊆ B c_1,c_2\subseteq B c1,c2⊆B使得

    c_{1}\[{e_{1}\>c}\&{\\text{和}}\&{c\[{e_{2}\>c_{2}}\\}\\

初始情态 : c 0 c_0 c0是系统的初始状态,必须包含在完全情态集中。

传递性条件 :对于完全情态集中的任意一个情态 c c c,如果存在事件 e 1 e_{1} e1 使得某个情态 c 1 c_{1} c1 可以通过

e 1 e_1 e1发生到 c c c,并且存在事件 e 2 e_2 e2使得 c c c可以通过 e 2 e_2 e2发生到另一个情态 c 2 c_2 c2,那么这些情态 c 1 c_1 c1和 c 2 c_2 c2也必须包含在完全情态集中。

这个定义保证了完全情态集是一个闭合的集合 ,即对于任何在完全情态集中可以通过某些事件相互转换的情态,它们都包含在这个集合中。这样定义的完全情态集可以用于分析系统的行为和验证系统的性质。

定义 1.13

设 Σ = ( B , E ; F , c 0 ) \Sigma=(B,E;F,c_0) Σ=(B,E;F,c0)为一个基本网系统 , C C C是$ Σ$ 的完全情态集。若 ( B , E ; F ) (B,E;F) (B,E;F)是一个简单网 ,而且

1 ) ∀ b ∈ B \forall b\in B ∀b∈B , ∃ c 1 , c 2 ∈ C \exists c_1, c_2\in C ∃c1,c2∈C , 使得 b ∈ c 1 b\in c_1 b∈c1 但 但 但 b ∉ c 2 b\notin c_2 b∈/c2,

2) ∀ e ∈ E \forall e\in E ∀e∈E, ∃ c 1 , c 2 ∈ C \exists c_1, c_2\in C ∃c1,c2∈C,使得 c 1 [ e > c 2 , c_1[e>c_2, c1[e>c2,

  1. 基本网系统 : Σ = ( B , E , F , c 0 ) \Sigma = (B, E, F, c_0) Σ=(B,E,F,c0) 是一个基本网系统 ,其中 B B B 是库所 的集合, E E E 是变迁 的集合, F F F 是流函数 , c 0 c_0 c0 是初始情态。
  2. 完全情态集 : C C C 是 Σ \Sigma Σ 的完全情态集,表示所有可能的情态集合。
  3. 简单网 : ( B , E , F ) (B, E, F) (B,E,F) 是一个简单网,意味着每个变迁 e e e 的前置后置 库所集合是唯一确定的。

满足以下两个条件:

  1. 库所覆盖性 : 对于每个库所 b ∈ B b \in B b∈B,存在两个情态 c 1 , c 2 ∈ C c_1, c_2 \in C c1,c2∈C,使得 b b b 在 c 1 c_1 c1 中出现,但不在 c 2 c_2 c2 中。这意味着每个库所 b b b 在某些情态中是标记的,而在另一些情态中是不标记的。

    形式上: ∀ b ∈ B , ∃ c 1 , c 2 ∈ C , 使得 b ∈ c 1 但 b ∉ c 2 \forall b \in B, \exists c_1, c_2 \in C, \text{使得} \ b \in c_1 \ \text{但} \ b \notin c_2 ∀b∈B,∃c1,c2∈C,使得 b∈c1 但 b∈/c2

  2. 变迁可达性 : 对于每个变迁 e ∈ E e \in E e∈E,存在两个情态 c 1 , c 2 ∈ C c_1, c_2 \in C c1,c2∈C,使得 c 1 c_1 c1 通过变迁 e e e 可以到达 c 2 c_2 c2。这意味着每个变迁 e e e 在某些情态下是可发生的。

    形式上: ∀ e ∈ E , ∃ c 1 , c 2 ∈ C , 使得 c 1 [ e ⟩ c 2 \forall e \in E, \exists c_1, c_2 \in C, \text{使得} \ c_1 [e \rangle c_2 ∀e∈E,∃c1,c2∈C,使得 c1[e⟩c2

总结来说,简单位是一个满足特定条件的完全情态集,这些条件确保了每个库所和变迁在情态集中都有适当的表示和转换。这些条件帮助我们理解和分析系统的动态行为和结构性质。

条件事件系统是以一个完全情态集 C ⊆ ρ ( B ) C\subseteq\rho(B) C⊆ρ(B)作为其第四元组成的四元组,而不象基本网系统那样,第四元只是一个情态 c 0 ⊆ B c_0\subseteq B c0⊆B(即 c 0 ∈ ρ ( B ) c_0\in\rho(B) c0∈ρ(B))。这是表现形式 上的区别 。其实质 在于,完全情态集既包含了事件向前发生 所产生的新情态,也包含了向后追索 得到的各个情态 。此外,条件事件系统同一般基本网系统的本质区别 还有:在条件事件系统中,每个条件( B B B的元素)都有机会成真也有机会成假 ,每个事件( E E E的元素)都有机会发生

因为条件事件系统是以完全情态集作为第四元,所以都有机会成真。基本网系统第四元是初始情态所以在一些条件下,它并不能完全发生。

例 1.5

图 1.15 给出的是一个基本网系统 Σ 1 = ( B , E ; F , c 0 ) \Sigma_1=(B,E;F,c_0) Σ1=(B,E;F,c0) ,其中 c 0 = { b 1 , b 2 } c_0=\{b_1,b_2\} c0={b1,b2}。从 c 0 c_{0} c0向前发生各个事件和向后追索得到的完全情态集为
C = {   ( b 1 , b 2 ) ,   ( b 1 , b 4 ) ,   ( b 1 , b 6 ) ,   ( b 2 , b 3 ) ,   ( b 2 , b 5 ) , ( b 3 , b 4 ) ,   ( b 3 , b 6 ) ,   ( b 4 , b 5 ) ,   ( b 5 , b 6 ) ,   ( b 7 )   } C=\{\:(b_1,b_2),\:(b_1,b_4),\:(b_1,b_6),\:(b_2,b_3),\:(b_2,b_5),\\(b_{3},b_{4}),\:(b_{3},b_{6}),\:(b_{4},b_{5}),\:(b_{5},b_{6}),\:(b_{7})\:\} C={(b1,b2),(b1,b4),(b1,b6),(b2,b3),(b2,b5),(b3,b4),(b3,b6),(b4,b5),(b5,b6),(b7)}

考察四元组 Σ = ( B , E ; F , C ) \Sigma=(B,E;F,C) Σ=(B,E;F,C) ,由于每个 b i ∈ B b_i\in B bi∈B,都存在 c 1 , c 2 ∈ C c_1,c_2\in C c1,c2∈C,使得 b i ∈ c 1 b_i\in c_1 bi∈c1,

但 b i ∉ c 2 b_i\notin c_2 bi∈/c2,且每个 e j ∈ E e_j\in E ej∈E,都存在 c 1 ′ , c 2 ′ ∈ C c_1^\prime,c_2^{\prime}\in C c1′,c2′∈C 使得 c 1 ′ [ e j > c 2 ′ c_1^{\prime}[e_j>c_2^{\prime} c1′[ej>c2′。所以, Σ \Sigma Σ 是一个条件事件系统。

并不是从每个 基本网系统都可以得到对应的C/E系统。例如,在图1.15 的基本网系统中,若把初始情态集改为 c 0 ′ = { b 1 } c_0^{\prime}=\{b_1\} c0′={b1},那么得到的完全情态集
C ′ = {   { b 1 } ,   { b 3 } ,   { b 5 }   } C^{\prime}=\{\:\{b_{1}\},\:\{b_{3}\},\:\{b_{5}\}\:\} C′={{b1},{b3},{b5}}

在 Σ ′ = ( B , E ; F , C ′ ) \Sigma^{\prime}=(B,E;F,C^{\prime}) Σ′=(B,E;F,C′)中,条件 b 2 , b 4 , b 6 b_2,b_4,b_6 b2,b4,b6和 b 7 b_7 b7没有机会成真 ,而事件 e 3 , e 5 , e 6 e_3,e_5,e_6 e3,e5,e6和 e 7 e_7 e7 没有机会发生 。所以 Σ ′ \Sigma^\prime Σ′不是一个条件事件系统 (虽然 Σ ′ = ( B , E ; F , c 0 ′ ) \Sigma^\prime=(B,E;F,c_0^{\prime}) Σ′=(B,E;F,c0′)仍不失为一个基本网系统)。

相关推荐
南宫生2 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__2 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨2 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
数据的世界014 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐5 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO7 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A7 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒7 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash38 小时前
提升专业素养的实用指南
学习·职场和发展
Hejjon8 小时前
SpringBoot 整合 SQLite 数据库
笔记