【Petri网导论学习笔记】Petri网导论入门学习(十) —— 3.2 关联矩阵与状态方程

3.2 关联矩阵与状态方程

正如 Petri 网的一个标识可以表示成一个 $ m $ 维非负整数向量一样,Petri 网的结构也可以用一个矩阵来表示。这样,就可以引入线性代数的方法对 Petri 网的性质进行分析。

定义 3.3 关联矩阵

Σ = ( S , T ; F , M ) \Sigma = (S, T; F, M) Σ=(S,T;F,M) 为一个 Petri 网 S = { s 1 , s 2 , … , s m } S = \{s_1, s_2, \ldots, s_m\} S={ s1,s2,,sm} T = { t 1 , t 2 , … , t n } T = \{t_1, t_2, \ldots, t_n\} T={ t1,t2,,tn},则 Petri 网 Σ \Sigma Σ 的结构 ( S , T ; F ) (S, T; F) (S,T;F) 可以用一个 n n n m m m 列矩阵

a i j = a i j + − a i j − , i ∈ { 1 , 2 , ⋯   , n } , j ∈ { 1 , 2 , ⋯   , m } a_{ij}=a_{ij}^{+}-a_{ij}^{-},\quad i\in\{ 1,2,\cdots,n \}, j\in\{ 1,2,\cdots,m \} aij=aij+aij,i{ 1,2,,n},j{ 1,2,,m}

a i j + = { 1 , 若 . ( t i , s j ) ∈ F , 0 , 否则 , i ∈ { 1 , 2 , ⋯   , n } , j ∈ { 1 , 2 , ⋯   , m } a_{ij}^{+}=\left\{\begin{array}{ll}{1, \stackrel{.}{\textrm{若}}(t_{i},s_{j})\in F,}\\{0, \textrm{否则},}&{i\in\{ 1,2,\cdots,n \}, j\in\{ 1,2,\cdots,m \}}\\\end{array}\right. aij+={ 1,.(ti,sj)F,0,否则,i{ 1,2,,n},j{ 1,2,,m}

a i j − = { 1 , 若 ( s j , t i ) ∈ F , 0 , 否则 , i ∈ { 1 , 2 , ⋯   , n } , j ∈ { 1 , 2 , ⋯   , m } \left.a_{ij}^{-}=\left\{\begin{array}{ll}{1, \text{若} (s_{j},t_{i})\in F,}\\{0, \text{否则},}&{i\in\{ 1,2,\cdots,n \}, j\in\{ 1,2,\cdots,m \}}\\\end{array}\right.\right. aij={ 1,(sj,ti)F,0,否则,i{ 1,2,,n},j{ 1,2,,m}

A A A Σ \Sigma Σ(或网 N = ( S , T ; F ) N = (S, T; F) N=(S,T;F))的关联矩阵(incidence matrix)

矩阵信息:行名是每个变迁,列名是每个库所,其中中间的值为当前需要消耗或者产生几个token

对 Petri 网的关联矩阵,不少文献采用另一种定义方式:把 A A A转置矩阵定义为 Σ \Sigma Σ 的关联矩阵,并记为 C C C(见 [1, 6])。也就是说一个有 m m m 个库所和 n n n 个变迁的 Petri 网的关联矩阵是一个 m × n m \times n m×n 行列 0/1 矩阵。

易知,在纯网范围内,关联矩阵和网结构之间存在着一一对应关系。这是因为对纯网来说,任一个变迁和任一个库所之间最多有一个弧,不会出现 a i j + a^+_{ij} aij+ a i j − a^-_{ij} aij 相互抵消的情况。

今后我们用关联矩阵讨论 Petri 网的性质时,均假设所讨论的网为纯网

为讨论方便,我们引入两个 n × m n \times m n×m 矩阵

A + = [ a i j + ] n × m , A − = [ a i j − ] n × m A^+ = [a^+_{ij}]_{n \times m}, \quad A^- = [a^-_{ij}]_{n \times m} A+=[aij+]n×m,A=[aij]n×m

并分别称它们为 Σ \Sigma Σ 1(或网 N = ( S , T ; F ) N = (S, T; F) N=(S,T;F))的输出矩阵输入矩阵。分别用 A i ∗ A_{i*} Ai, A i ∗ + A^+_{i*} Ai+ A i ∗ − A^-_{i*} Ai 分别表示矩阵 A A A, A + A^+ A+ A − A^- A 的第 i i i 行形成的行向量,用 A ∗ j A_{*j} Aj, A ∗ j + A^+_{*j} Aj+ A ∗ j − A^-_{*j} Aj 表示矩阵 A A A, A + A^+ A+ A − A^- A 的第 j j j 列形成的列向量。 Σ \Sigma Σ 的标识 M M M 仍用 m m m 维非负整数向量来表示。不过在本节中,我们把 M M M 表示成一个列向量,即

M = [ M ( s 1 ) , M ( s 2 ) , … , M ( s m ) ] T M = [M(s_1), M(s_2), \ldots, M(s_m)]^T M=[M(s1),M(s2),,M(sm)]T

其中右上角的 T 为矩阵(向量)的转置。

+是输出,-是输入

i*表示第i行行向量

*j表示第j列列向量

A + = [ a i j + ] n × m A^+ = [a^+_{ij}]_{n \times m} A+=[aij+]n×m 表示整个图发生某一个变迁后他所需要增加token总信息表

A − = [ a i j − ] n × m A^- = [a^-_{ij}]_{n \times m} A=[aij]n×m 表示整个图发生某一个变迁后他所需要消耗的token总信息表

引理 3.4

Σ = ( S , T ; F , M ) \Sigma = (S, T; F, M) Σ=(S,T;F,M) 为一个 Petri 网, A A A Σ \Sigma Σ关联矩阵 t i ∈ T t_i \in T tiT,则 M [ t i ⟩ M[t_i \rangle M[ti 的充分必要条件是$ M \geq A^-_{i*} $

(3.12) 式是两个 m m m 维向量的比较,它的含义是 M ( j ) ≥ a i j ,   j = 1 , 2 , ⋯   , m M(j) \geq a_{ij}, \, j=1, 2, \cdots, m M(j)aij,j=1,2,,m

其中大于等于号表示只比较变迁i所需要消耗的,表明该状态token数不少于需要发生的 t i t_i ti所需要的token,所以可以发生

证明 由定义 1.9 及本节关于 A i ∗ A_{i*} Ai M M M 的定义可得。 □

引理 3.5

Σ = ( S , T ; F , M ) \Sigma = (S, T; F, M) Σ=(S,T;F,M) 为一个 Petri 网, A A A Σ \Sigma Σ 的关联矩阵。如果 M [ t i > M ′ M[t_i > M' M[ti>M<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值