Petri Net 定義
定義 1.1 如果三元組 (S, T, W) 稱為一個 Petri 網圖,那麼
- S 是庫所的有限集合
- T 是變遷的有限集合
- S ∪ T ≠ Φ,且 S ∩ T = Φ
- W: (S × T) ∪ (T × S) → N 為弧的多重集
流關係是弧的集合:F = {(x, y) | W(x, y) > 0}。在一些介紹 Petri 網相關文獻中,弧的重度只定義為 1,並在定義 Petri 網圖時使用 F 代替了 W。
定義 1.3 設 N = (S, T, F) 為一個 Petri 網圖,∑ = (S, T, F, M) 稱為一個標記網,其中
- M ⊆ S,稱為 N 的一個標記或一個瞬態
- 若 S ∈ T,且 .x ⊆ M,x. ∩ M = Φ,稱事件 x 為可觸發的
- 若事件 x 被觸發(稱為點火),則標記網 ∑ 轉化為 ∑' = (S, T, F, M'),其中 M' = (M - .x) ∪ x.,M' 也是 N 的一個標記,∑' 也是一個標記網
定義 1.2 設 N = (S, T, F) 為一個 Petri 網圖,x ∈ S ∪ T,則
- .x = {y ∈ S ∪ T | (y, x) ∈ F}
- x. = {y ∈ S ∪ T | (x, y) ∈ F}
- .x. = .x ∪ x.
其中,.x 稱為 x 的前提,x. 稱為 x 的後提,.x. 稱為 x 的前後提。
定義 1.4 六元組 ∑ = (S, T, F, K, W, M) 稱為一個庫所 / 變遷系統,簡稱為 P / T 系統,如果下列條件成立
- (S, T, F) 是一個 Petri 網圖,S 是庫所的有限集合,T 是變遷的有限集合,F 是有向弧的有限集合
- K: S → N ∪ {ω} 是一個映射,使 S 中的每個元素 x 與一個自然數或無窮大值相對應,稱為 x 的容量
- W: F → N - {0} 是一個映射,使 F 中的每條弧 f 與一個正整數對應,稱為 f 的流量
- M: S → N ∪ {ω} 是一個映射,使 S 中的每個元素與一個有窮或無窮的初始標碼數相對應,整個 M 稱為 ∑ 的初始標記,滿足 M(x) ≤ K(x)
定義 1.5 P / T 系統 ∑ = (S, T, F, K, W, M) 的運行規則如下:
- T 中任一變遷 t 被允許發生的條件是:
∀ s ∈ .t,M(s)
≥ W(s, t)
∀ s ∈ t.,M(s) ≤ K(s) - W(t, s)
其中 W(s, t) 表示從 s 到 t 的弧的流量
- 如果變遷發生前的標記為 M,則變遷發生後的標記 M' 是
M(s) - W(s, t), 若 s ∈ .t - t.
M'(s) = { M(s) + W(t, s),若 s ∈ t. - .t }
M(s), 其他
注意,這裡恒要求 .t ∩ t. = Φ
- 初始標記是標記,任一標記經過變遷以後仍然變為標記
參考
[1] 李彤, 孔兵, 王黎霞等. 軟體並行開發過程. 北京:科學出版社, 2003
[2] http://en.wikipedia.org/wiki/Petri_net
well-formatted doc:
http://docs.google.com/Doc?id=ddrm6c35_512f45hshcz