• 検索結果がありません。

ペトリネットの状態数の多項式時間計算について~有界性と入れ子構造を活用したアプローチ~

N/A
N/A
Protected

Academic year: 2021

シェア "ペトリネットの状態数の多項式時間計算について~有界性と入れ子構造を活用したアプローチ~"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report. ペトリネットの状態数の多項式時間計算について ∼有界性と入れ子構造を活用したアプローチ∼ 洲崎 武史1,a). 山口 真悟1,b). 概要:ペトリネットの振舞いに関する問題は,その状態空間を調べることにより解くことができる.状態 空間そのものを求めることは,そのサイズがペトリネットのサイズの指数関数オーダーになる場合がある ので,手に負えない.しかしながら,状態空間のサイズ(状態数)であれば,多項式時間で求められる可 能性がある.状態数を求めることができれば,状態空間を求めるために必要な時間やメモリを見積もるこ とが可能となる.本稿ではペトリネットの状態数計算問題を定式化し,その複雑さを明らかにする.さら にサブクラスに対して多項式時間の計算法を提案する.. p. 1. はじめに ペトリネットは離散事象システムをモデル化し解析する. p1. t1. ためのグラフィカルで数学的なツールである [1].ペトリ. p. t3 p. p. t2. 2. 4. t5. p. 7. t8. t6. 5. p. 3. ネットの強みはトークンに由来する.トークンを使用する. t4. p. 6. p. 9. 8. t7. ことにより,ペトリネットはシステムの構造だけでなく振 図 1. 舞いも表現することができる.システムの振舞いは,それ. ペトリネット (N1 , [p1 ]).. をモデル化したペトリネットの状態を調べることにより解 析できるが,ペトリネットがとりうる状態の数は,ペトリ. ネットの構造を代数式として表す体系的な方法は与えられ. ネットのサイズの指数関数オーダーになる場合がある.こ. ておらず,提案方法の計算量は明らかにされていない.. の問題は状態空間爆発と呼ばれており,状態空間そのもの. 本稿ではペトリネットの状態数計算問題を定式化し,そ. を求めることは手に負えない.一方,状態空間のサイズ(状. の複雑さを明らかにする.さらにサブクラスに対して多項. 態数)であれば,状態を列挙することなしに,効率よく求. 式時間の解法を提案する.まず 2 章では,準備としてペ. めることができる可能性がある.状態数を求めることがで. トリネットの定義と性質を紹介する.3 章では状態数計算. きれば,状態空間を求めるために必要な時間やメモリを見. 問題を定式化し,その可解性や計算複雑さについて,ペト. 積もることが可能となる.しかしながら,そのような可能. リネットの性質の一つである有界性を用いて明らかにす. 性に対する検討は,これまで積極的に行われてこなかった.. る.そして 4 章では,ペトリネットのサブクラスの一つ. Chao ら [2] はペトリネットの基本的なサブクラスに対. であるアサイクリック Well-Structured ワークフローネッ. して,状態数を計算する方法を提案している.対象のサブ. ト [3] に対して多項式時間の解法を提案する.この解法は. クラスは状態機械とマークグラフである.ただしマークグ. Well-Structured ワークフローネットが入れ子構造を有す. ラフはブリッジ*1 がないものに限定されている.Chao ら. るという特徴を活用する.最後に 5 章で,まとめと今後の. の方法は,まずペトリネットの構造を代数式として表し,. 課題を示す.. その代数式から状態数を計算する.しかしながら,ペトリ 1. a) b) *1. 山口大学大学院理工学研究科 〒 755–8611 宇部市常盤台 2 丁目 16–1 [email protected] [email protected] ブリッジとは,ペトリネットのサイクル c,c とは端点以外では 交わらないパス h に関して,c と h 上のノードをそれぞれ端点と し,それら以外では c や h と交わらないパスである.. c 2012 Information Processing Society of Japan ⃝. 2. ペトリネット (正規)ペトリネットは 3 項組 N =(P, T, A) であり,P はプレースの有限集合,T (∩P ̸= ∅)はトランジション の有限集合,A(⊆ (P ×T )∪(T ×P ))はアークの有限集合 である.ペトリネットの一例を図 1 に示す.プレース p の 入力トランジションの集合 •p と出力トランジションの集. 1.

(2) Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report p. [ p1 ]. t1. p1. [p ,p ] 2 3. t2 [ p , p4 ] 3. t5 [p ,p ] 3 7. t3 [ p5 , p 7 ]. t6. t3 t4 t3 t4 t5 t7. p. t2 [ p ,p 5 ] 4. [p ,p ] 6 7. t6. t6 t5. p. [ p2 , p 6 ]. t2. t7. [ p , p6 ] 4. t7. t2. t1. t4 [ p2 , p 5 ]. 2. 3. 4. t3. t4 [ p2 , p8 ]. 図 4. t2. ペトリネット (N2 , [p1 ]).. [ p 4 , p8 ]. t5. ( 1 ) 状態機械(State Machine; SM)は全てのトランジショ. [p ,p ] 7 8. ン t が高々1つの入力プレースと高々1つの出力プ. t8. レースをもつペトリネットである.. [p9 ]. 図 2. (N1 , [p1 ]) の可達グラフ. ( 2 ) マークグラフ(Marked Graph; MG)は全てのプレー ス p が高々1つの入力トランジションと高々1つの出 力トランジションをもつペトリネットである.. acyclic Petri net. ( 3 ) ワークフローネット(WF ネット)は次の二つの条件 を満たすペトリネットである:(i) 唯一のソースプレー. WS WF-net. ス pI と唯一のシンクプレース pO を持つ;(ii) 全ての ノードが pI から pO へのパス上にある.. SM WF-net. MG WF-net. ( 4 ) Well-Structured WF ネット(WS WF ネット)は pO から pI へ追加のトランジション t∗ を通じて接続した ペトリネットに PT-ハンドルや TP-ハンドル*2 が存在. 図 3. しない WF ネットである.. アサイクリックペトリネットのサブクラス間の関係. アサイクリックペトリネットのサブクラス間の関係をベン 合 p• をそれぞれ次のように定義する:•p={t|(t, p)∈A};. 図の形式で図 3 に示す.アサイクリック WS WF ネットは. p•={t|(p, t)∈A}.トランジション t の入力プレースの集合. アサイクリック SM WF ネットとアサイクリック MG WF. •t と出力プレースの集合 t• も同様に定義される.マーキン. ネットのスーパークラスであることに注意されたい.. グはプレースから非負整数への写像 M : P →{0, 1, 2, · · · } であり,多重集合の形式で [pM (p) |p∈P, M (p) > 0] と表記. 3. 状態数計算問題とその複雑さ. する.マーキングの初期値を初期マーキングと呼び,M0. 状態数計算問題を以下のように定式化する.. と表記する.マーキング M のペトリネット N を (N, M ). 定義 1. (状態数計算問題). と表記する.また M0 から可達な全てのマーキングの集合. 入力: ペトリネット (N, M0 ). を R(N, M0 ) と表記する.. 出力: 状態数 |R(N, M0 )|. 2. 例として,図 1 のペトリネット N1 について考えよう.. M0 から発火可能なトランジションを 1 回発火すること により,発火可能なトランジションと同数の新しい可達. 初期マーキングは [p1 ] である.このペトリネット (N1 , [p1 ]). マーキングを得ることができる.それぞれの新しいマーキ. の状態数計算問題は以下のように記述される.. ングから,またさらに新しい可達マーキングを得ることが. [(N1 , [p1 ]) の状態数計算問題]. できる.このプロセスは,マーキングのグラフ表現に帰着. 入力: ペトリネット (N1 , [p1 ]). する.そのようにして得られたグラフが,M0 から可達な. 出力: 状態数 |R(N1 , [p1 ])|. (N1 , [p1 ]) の可達グラフは図 2 のようになる.ノードの. 全てのマーキングを含むならば,可達グラフと呼ばれる. 可達グラフのノードは M0 とそれから可達なマーキングを. 数を数えることによって,|R(N1 , [p1 ])| = 14 と求めること. 表し,各アークはトランジションの発火を表す.例として. ができる. もう一つの例として,図 4 のペトリネット N2 について. 図 1 のペトリネット (N1 , [p1 ]) の可達グラフを図 2 に示す. ペトリネットの初期マーキング M0 から可達な任意の. 考えよう.初期マーキングは [p1 ] である.このペトリネッ. マーキングにおいて,各プレース内のトークンの数がある. ト (N2 , [p1 ]) の状態数計算問題は以下のように記述される.. 有限な数 k を超えなければ,k-有界あるいは単に有界であ. [(N2 , [p1 ]) の状態数計算問題]. るという.. *2. ペトリネットにはグラフ的な構造に制約を加えたサブク ラスがある.. c 2012 Information Processing Society of Japan ⃝. TP-ハンドルとは,ペトリネットのサイクル c に関して,c 上の トランジションとプレースをそれぞれ始点と終点とし,それら以 外では c と交わらないパスである.PT-ハンドルも同様に定義さ れる.. 2.

(3) Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report. 入力: ペトリネット (N2 , [p1 ]). ρ. 出力: 状態数 |R(N2 , [p1 ])|. pI. p1 ρ. (N2 , [p1 ]) の可達グラフは無限に大きくなる.これは,た. ρ. I. とえばトランジション t1 t3 t4 が順に繰り返し発火すると,. ρ. プレース p2 にトークンが無限に増えるからである.. 図 5. このようにペトリネットが有界でなければ,その状態空. 1. p2. n. pO ρ. 2. O. n. 基本的な RASM WF ネット.. 間は無限に大きくなってしまう.このため非有界なペトリ ネットの状態数は一見すると,計算できないように思わ れるが,記号 ∞ を使うと,その状態数は ∞ 個とみなし. ρ. pI. t1 ρ. て計算することができる.ここで ∞ は任意の整数 n に対. ρ I ρ. し,∞±n=∞,∞≥∞ という性質を満たす.したがって,. |R(N2 , [p1 ])| = ∞ と求めることができる.. 図 6. 1. t2. n. pO ρ. 2. O. n. 基本的な RAMG WF ネット.. 状態数計算問題の可解性について考えよう. 性質 1. ペトリネット (N, M0 ) の状態数計算問題は可解. 2. (solvable)である.. 証明:ペトリネットの有界性問題は決定可能である [4], [5].. (N, M0 ) が有界である場合,状態数は有限なので,可達グ ラフをつくることができる.そのノードの数を数えれば,. も,多項式時間でその状態数を求めることができる可能性 がある.次節では,そのようなクラスに対する状態数計算 問題を考察する.. 4. 状態数計算問題の多項式時間解法. 状態数を求めることができる.ペトリネットが有界でない. 有界であることが多項式時間で検証できるクラスの一つ. 場合,その状態数は上述のように ∞ とみなす.以上から. にアサイクリック WS WF ネットがある.アサイクリッ. 状態数計算問題は可解である.. ク WS WF ネットは常に有界であることが知られている.. 証明終わり. 状態数計算問題の複雑さについて考えよう. 性質 2. またアサイクリック WS WF ネットはアサイクリック SM. ペトリネット (N, M0 ) の状態数計算問題は手に. 2. 負えない(intractable).. 証明:状態数計算問題を以下のような決定問題に変換. WF ネットやアサイクリック MG WF ネットを真に含む比 較的大きなクラスである.さらにアサイクリック WS WF ネットは入れ子構造を有する.具体的には,アサイクリッ. する:. ク SM WF ネットやアサイクリック MG WF ネットはア. [状態数有限性問題]. サイクリック WS WF ネットである.さらに,アサイク. 入力: ペトリネット (N, M0 ). リック WS WF ネットの任意のプレースをアサイクリック. 出力: 状態数 |R(N, M0 )| は有限か?. SM WF ネットやアサイクリック MG WF ネットに置き換. この決定問題は有界性問題そのものである.有界性問題. えたネットもアサイクリック WS WF ネットである.そこ. は手に負えないことが知られている.有界性問題は状態数. で本稿ではアサイクリック WS WF ネットの入れ子構造に. 有限性問題に多項式時間帰着できるので,状態数有限性問. 注目し,それを活用した解法を提案する.. 題は手に負えないといえる.オリジナルの状態数計算問題. まず本解法で取り扱うネットを以下のように定義する.. は,それ以上に難しいので,手に負えないといえる.. 定義 2. 証明終わり 一般的なペトリネットに対して状態数計算問題は手に負. ( 制 約 付 き ア サ イ ク リ ッ ク WS WF ネ ッ ト. (RAWS WF ネット)). • 図 5 のネット(基本的な制約付きアサイクリック SM WF. えないが,サブクラスに限定すれば多項式時間で計算でき. ネット(RASM WF ネット)と呼ぶ)は RAWS WF ネッ. る可能性がある.. トである.. 非有界であることが多項式時間で検証できるクラス. • 図 6 のネット(基本的な制約付きアサイクリック MG WF. は,多項式時間でその状態数を ∞ として求めることが. ネット(RAMG WF ネット)と呼ぶ)は RAWS WF ネッ. できる.そのようなクラスの一つに MG でない無競合. トである.. (conflict-free; CF)ネットがある.CF ネットは各プレー. • N を RASM WF ネットまたは RAMG WF ネット,N ′ を. スが高々 1 つの出力トランジションをもつペトリネッ. RAWS WF ネット,p を N のプレースとすると,N ⊗p N ′. トである.図 4 のネット N2 は,|•p4 |>1 なので MG で. は RAWS WF ネットである.ここで N ⊗p N ′ は N 中の p. なく,|p1 •|=|p2 •|=|p3 •|=|p4 •|=1 なので CF ネットであ. を N ′ で置き換える(リファインメント)操作である. 2. る.したがって,(N2 , [p1 ]) は非有界であり,前述のように. RAWS WF ネットの制約とは,リファインメント操作をプ. |R(N2 , [p1 ])|=∞ である.. レースに限定していることと,ブリッジがないことである.. 一方,有界であることが多項式時間で検証できるクラス. c 2012 Information Processing Society of Japan ⃝. RAWS WF ネットの一例を図 7 に示す.このネットは. 3.

(4) Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report p2. 1. p1. p3. t2. 2. 3. p. t3. 4. 4. 5. t4. 6. t 11 p 13 t 12. t1. 1. 1 p 11. 2. p. t5. 5. 7. 8 9 t13 p15. t6. 10 t14. p 14. p7. t7. 11. 12. p 17 t 17 1 t15. 2 p. 3 t 16. 1. 2. 3. 16. 3. 1. p8. t8. 13. p. 14. p9. 15. 18. 1. 2. 3. p. t21. 20. 4. 5. p. 21. 6. t 22. p 22. t 23. 2. 7. 8. 9. p. 23. 16. p. である.. 10. • N を基本的な RASM WF ネット,N ′ を RASM WF ネッ. 17. ト,p を N のプレースとすると,(N ⊗p N ′ , [pI ]) の状態数 t 26. p 26. は,(N ′ , [pI ]) の状態数を S ′ とすると. |R(N ⊗p N ′ , [pI ])| = 式 (1) + S ′ − 1. 1. 3 24. 2 t 19 p 19 t 20. t9. t 18. p. t 10 p 12. 1. p6. t 25. p. 1. 2. 25. (2) 2. である.. t 24. 10. 4.2 RAMG WF ネットの状態数計算法. 11. 定義 4. 図 7 RAWS ワークフローネット N3. RAMG WF ネット. • 図 6 のネット(基本的な RAMG WF ネット)は RAMG p2. N31. t2. p3. p4. t3. t4. p5. t5. p6. t6. p7. t7. p. 8. t8. p. 9. t9. p. WF ネットである.. 10. 2. p1. t 26 p 26. t1 p. • N を基本的な RAMG WF ネット,N ′ を RAMG WF ネッ ト,p を N のプレースとすると,N ⊗p N ′ は RAMG WF. 11. ネットである.. 2. RAMG WF ネットの状態数は以下の性質を満たす. p 13. t 11. N32 p. 11. t 18. 性質 4 p. t 10 p 12 t 19. p 19 t 20. p. t21. 20. p. 21. t 22. p 22. t 23. 24. t 25. p. 25. (RAMG WF ネットの状態数). • 基本的な RAMG WF ネット(図 6 参照)(N, [pI ]) の状態 数は. p 23 t 24. |R(N, [pI ])| = ⌈|ρI |/2⌉ + Πni=1 ⌈|ρi |/2⌉ + ⌈|ρO |/2⌉ (3) t13 p15. N33 p 13 t 12. である.. t14 p 17 t 17. p 14 t15. p. 16. p. • N を基本的な RAMG WF ネット,N ′ を RAMG WF ネッ. 18. ト,p を N のプレースとすると,(N ⊗p N ′ , [pI ]) の状態数. t 16. は,(N ′ , [pI ]) の状態数を S ′ とすると 図 8. N3 の入れ子構造:N31 ⊗p11 (N32 ⊗p13 N33 ). – p∈ρI , ρO の場合 |R(N ⊗p N ′ , [pI ])| = 式 (3) + S ′ − 1. 次のような入れ子構造を成している(図 8 参照) :. – p∈ρj ∈{ρ1 , ρ2 , · · · , ρn } の場合. N3 = N31 ⊗p11 (N32 ⊗p13 N33 ) この構造によって,状態数の計算を効率良く行うことが期 待される.まず RASM WF ネット,RAMG WF ネット の計算法を示し,それから RAWS WF ネットの計算法を 示す.. (5) 2. である.. RAWS WF ネットの状態数は以下の性質を満たす. 性質 5. RASM WF ネット. • 図 5 のネット(基本的な RASM WF ネット)は RASM WF ネットである. • N を基本的な RASM WF ネット,N ′ を RASM WF ネッ ト,p を N のプレースとすると,N ⊗p N ′ は RASM WF ネットである.. 2. RASM WF ネットの状態数は以下の性質を満たす. 性質 3. ⌈|ρI |/2⌉+(⌈|ρj |/2⌉+(S ′ −1))Πni=1,i̸=j ⌈|ρi |/2⌉+⌈|ρO |/2⌉. 4.3 RAWS WF ネットの状態数計算法. 4.1 RASM WF ネットの状態数計算法 定義 3. (4). (RASM WF ネットの状態数). • 基本的な RASM WF ネット(図 5 参照)(N, [pI ]) の状態 数は. • 基本的な RASM WF ネット(図 5 参照)(N, [pI ]) の状態 数は式 (1) である.. • 基本的な RAMG WF ネット(図 6 参照)(N, [pI ]) の状態 数は式 (3) である.. • N を基本的な RASM WF ネット,N ′ を RAWS WF ネッ ト,p を N のプレースとすると,(N ⊗p N ′ , [pI ]) の状態数 は,(N ′ , [pI ]) の状態数を S ′ とすると式 (2) である.. • N を基本的な RAMG WF ネット,N ′ を RAWS WF ネッ ト,p を N のプレースとすると,(N ⊗p N ′ , [pI ]) の状態数 は,(N ′ , [pI ]) の状態数を S ′ とすると,. |R(N, [pI ])| = ⌊|ρI |/2⌋ + (Σni=1 ⌊|ρi |/2⌋ + 2) + ⌊|ρO |/2⌋ (1). c 2012 Information Processing Society of Japan ⃝. (RAWS WF ネットの状態数). – p∈ρI , ρO の場合,式 (4) である. – p∈ρj ∈{ρ1 , ρ2 , · · · , ρn } の場合,式 (5) である. 2. 4.

(5) Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report. 4.4 RAWS WF ネットの状態数計算アルゴリズム 性質 5 に基づいて,RAWS WF ネットの状態数を計算す. 8. Push(S, 0). 9. CalPathLen(m, S). るアルゴリズムを構築する.このアルゴリズムは深さ優先. 10 else. 探索をベースにしている.ただし,未発見の入力ノードが. 11. ある場合,バックトラックする.このアルゴリズムは二つ. if(|•n|≥2). ▷ n が複数の入力ノードを持つ場合. のサブアルゴリズムを使う.直観的に,CalPathLen は. 12. m を n の入力ノードとする. ネットをパスに分割し,それぞれの長さを求める.Cal-. 13. if(n∈P ). StateNum は,それらを性質 5 に当てはめていくことで 状態数を計算する.. ≪RAWS WF ネットの状態数計算 ≫. ▷ 式(1)の右辺第 2 項 14. Push(S, ⌊len[m]/2⌋ + Pop(S)). 15. if(n の全ての入力ノードが発見済みか). 入力: RAWS WF ネット (N, [pI ]).. 16. Push(S, Σi=1 Pop(S) + 2+Pop(S)). |•n|. 出力: 状態数 |R(N, [pI ])|.. 17. m を n の出力ノードとする. CalStateRAWS(N, pI ). 18. CalPathLen(m, S). 1. CalPathLen(pI , 1). 19. 2. Push(S, 0). 3. CalStateNum(pI , S). 20. Push(S, ⌈len[m]/2⌉ + Pop(S)). 4. Output Pop(S) and stop. 21. if(n の全ての入力ノードが発見済みか). if(n∈T ). ▷ 式(3)の右辺第 2 項. |•n|. 22. Push(S, Πi=1 Pop(S)+Pop(S)). ▷ ネットを構成する各パスの長さを求める. 23. m を n の出力ノードとする. CalPathLen(n, l). 24. CalPathLen(m, S). 1. 25. if(|n•|≥2) ▷ n が複数の出力ノードを持つ場合. 2. for each m∈n•. 3. CalPathLen(m, 1). 4. 26. else if(n = pO ). ▷ 式(1)または式(3)の右辺第 3 項 27. Push(S, ⌈len[n]/2⌉ + Pop(S)). else. 5. if(|•n|≥2) ▷ n が複数の入力ノードを持つ場合. このアルゴリズムは深さ優先探索をベースにしており, 多項式時間で動作する.. if(n の全ての入力ノードが発見済みか). 6 7. m を n の出力ノードとする. 8. CalPathLen(m, 1). 9. else ▷ n が高々 1 つの入出力ノードを持つ場合. 4.5 計算例 提案したアルゴリズムを次の問題に適用し,その動作を 説明する.. [(N3 , [p1 ]) の状態数計算問題]. 10. len[n] ← l. 入力: RAWS WF ネット (N3 , [p1 ])(図 7 参照). 11. if(n ̸= pO ). 出力: 状態数 |R(N3 , [p1 ])|. 12. m を n の出力ノードとする. 13. CalPathLen(m, l + 1). CalPathLen は pI から各ノード n を順に深さ優先探索 していき,分岐ノードや合流ノードの間にあるノードの数 を len[n] としてラべリングする.その結果を図 7 に示す.. ▷ ネットの長さを性質 5 に当てはめて状態数を計算する. len[n] の値は各ノードの下に図示される.分岐ノードや合. CalStateNum(n, S). 流ノードの直前のノードの値がパスの長さになる.. 1. if(|n•|≥2). CalStateNum は pI から各ノード n を順に深さ優先探. ▷ n が複数の出力ノードを持つ場合. 索していき,各パスの長さを性質 5 に当てはめていくこと. 2. m を n の入力ノードとする. で状態数を計算していく.スタック S は初期値 0 をもつ.. 3. if(n∈P ) ▷ 式(1)の右辺第 1 項. 4 5 6 7. Push(S, ⌊len[m]/2⌋ + Pop(S)) if(n∈T ) ▷ 式(3)の右辺第 1 項 Push(S, ⌈len[m]/2⌉ + Pop(S)) for each m∈n•. c 2012 Information Processing Society of Japan ⃝. トランジション分岐 t1 が発見されたとき,その入力プ レース p1 の長さ len[p1 ] = 1 を式 (3) の第 1 項に当てはめ, その値 ⌈len[p1 ]/2⌉ + P op(S)= 1 を S にプッシュする(図. 9(a)参照). トランジション合流 t26 が最初に発見されたとき,その. 5.

(6) Vol.2012-AL-142 No.3 2012/11/2. 情報処理学会研究報告 IPSJ SIG Technical Report. 入力プレース p10 の長さ len[p10 ] = 17 を式 (3) の第 2 項に. p2. t2. p3. t3. 当てはめ,その値 ⌈len[p10 ]/2⌉+Pop(S) = 9 を S にプッ. 1. 2. 3. 4. p. 4. 5. t4. p. 6. 7. 5. シュする(図 9(b)参照).入力プレース p25 はまだ発見 されていないので,バックトラックする. プレース分岐 p12 が発見されたとき,その入力トランジ. p1. t 11 p 13 t 12. t1. 1. 1 p 11. ション t10 の長さ len[t10 ] = 2 を式 (1) の第 1 項に当ては め,その値 ⌊len[t10 ]/2⌋+Pop(S) = 1 を S にプッシュする. 1. t 19 p 19 t 20 1 stack S. 1. 項に当てはめ,その値 ⌊len[t16 ]/2⌋+Pop(S) = 1 を S に. p3. t3. プッシュする.全ての入力トランジションが発見済み. 1. 2. 3. 4. p1. 2. 3. p. 4. p. 20. 4. 5. t4. p. 6. 7. t 11 p 13 t 12. t1. 1. 1 p 11. トランジション合流 t26 が最後に発見されたとき,その入力. 1. プレース p25 の長さ len[p25 ] = 2 を式 (3) の第 2 項に当ては め,その値 ⌈len[p25 ]/2⌉+Pop(S) = 1 を S にプッシュする. 全ての入力プレースが発見済みなので,CalStateNum の |•t. 5. p 14. 2. 3 t 16. 1. 2. 3. 16. 12. p 17 t 17. p8. 13. p. 18. 2. t8. p9. t9. p. 14. 15. 16. 17. t21. 5. p. 21. 6. p. t 22. p 22. t 23. 7. 8. 9. 10. t7. p8. 23. 10. t 26 p 26. t 18. 1. 3 24. t 25. p. 1. 2. 25. t 24. 11. t5. p6. t6. 8 9 t13 p15. 10 t14. 1 t15. 2 p. 3 t 16. 1. 2. 3. 16. p7. 11. 12. p 17 t 17. 1. 13. p. 18. 2. t8. p9. t9. p. 14. 15. 16. 17. t 26 p 26. t 18. 1. 3 p. 24. 2 p. 20. t21. p. 21. t 22. p 22. t 23. 7. 8. 9. p. 23. 10. t 25. p. 1. 2. 25. t 24. 9 1 stack S. 1. 2. 3. 4. 5. 6. 10. 11. (b)t26 が最初に発見された時. |. を S にプッシュする(図 9(e)参照).. p2. t2. p3. t3. 1. 2. 3. 4. p. 4. 5. t4. p. 6. 7. 5. シンクプレース p26 が発見されたとき,len[p26 ] = 1 を式. 137 を S にプッシュする.. 2 p. 3. t 10 p 12. t 19 p 19 t 20. 22 行目以降の処理として,Πi=126 Pop(S)+Pop(S) = 136. (3) の第 3 項に当てはめ,その値 ⌈len[p26 ]/2⌉+Pop(S) =. 1 t15. 11. 1. Σi=117 Pop(S) + 2+Pop(S) = 5 を S にプッシュする(図 9(d)参照). 10 t14. t7. (a)t1 が発見された時 t2. |. 8 9 t13 p15. p7. 2. p2. |•p. t6. p. トランジション t16 の長さ len[t16 ] = 3 を式 (1) の第 2. なので,CalStateNum の 16 行目以降の処理として,. p6. 3. t 10 p 12. (図 9(c)参照). プレース合流 p17 が最後に発見されたとき,その入力. 2. p 14. t5. p1. t 11 p 13 t 12. t1. 1. 1 p 11. 最後に S の値 137 を |(N3 , [p1 ])| として出力する.. 1. 5. おわりに. 2. p 14. t5. p6. t6. 8 9 t13 p15. 10 t14. 1 t15. 2 p. 3 t 16. 1. 2. 3. 16. p7. 11. t7. 12. p 17 t 17. 3. 1. p8. 13. p. 18. 2. t8. p9. t9. p. 14. 15. 16. 17. t 26 p 26. t 18. 1. 3 p. t 10 p 12. 24. 2 t 19 p 19 t 20. 1. p. 20. t21. p. 21. p. t 22. p 22. t 23. 7. 8. 9. 10. t7. p8. 23. 10. t 25. p. 1. 2. 25. t 24. 9. 本稿では,まず状態数計算問題を定式化し,それは可解. 1 stack S. 1. であるが,手に負えないことを示した.また RAWS WF. 3. 4. 5. 6. 11. (c)p12 が発見された時. ネットに対する多項式時間の解法を与えた.今後の課題と して,より一般的なクラスに対する解法を提案すること, ならびに計算した状態数の活用法を考案することなどが挙. 2. p1. p2. t2. p3. t3. 1. 2. 3. 4. p. 4. 5. t4. p. 6. 7. t 11 p 13 t 12. t1. 5. p 14. げられる. 1. 1 p 11. 2. 1. 5 1. p6. t6. 8 9 t13 p15. 10 t14. 1 t15. 2 p. 3 t 16. 1. 2. 3. 16. p7. 11. 12. p 17 t 17. 3. 1. 13. p. 18. 2. t8. p9. t9. p. 14. 15. 16. 17. t 26 p 26. 1. 3 24. 2 t 19 p 19 t 20. p. 20. t21. p. 21. p. t 22. p 22. t 23. 7. 8. 9. 10. t7. p8. 23. 10. t 18. p. t 10 p 12. 謝辞 本研究の一部は(株)インタフェース社の援助を受け たことを記して謝意を表する.. t5. t 25. p. 1. 2. 25. t 24. 9. 参考文献 [1] [2] [3]. [4] [5]. T. Murata, “Petri nets: properties, analysis and applications,” Proc. IEEE, vol.77, no.4, pp.541–580, 1989. D.Y. Chao, “Number of reachable states for simple classes of Petri nets” Proc. IECON 2011, pp.3788–3791, 2011 W.M.P. van der Aalst, “The application of Petri nets to workflow management,” J. Circuits, Systems, Computers, vol.8, no.1, pp.21–65, 1998. J. Esparza and M. Nielsen, “Decidability issues for Petri nets,” Bulletin of the EATCS 52, pp.244–262, 1994. R.M. Karp and R.E. Miller, “Parallel program schemata,” Journal of Computer and System Sciences vol.3, issue.2, pp.147–195, 1969.. 1 stack S. 1. 2. 3. 4. 5. 6. 11. (d)p17 が発見された時. p1. p2. t2. p3. t3. 1. 2. 3. 4. p. 4. 5. t4. p. 6. 7. t 11 p 13 t 12. t1. 1. 1 p 11. 1. 2. 5. p 14. t5. p6. t6. 8 9 t13 p15. 10 t14. 1 t15. 2 p. 3 t 16. 1. 2. 3. 16. p7. 11. 12. p 17 t 17. 3. 1. 13. p. 18. 2. t8. p9. t9. p. 14. 15. 16. 17. t 26 p 26. t 18. 1. 3 p. t 10 p 12. 24. 2 t 19 p 19 t 20. 136 stack S. 1. 2. 3. p. 20. 4. t21. 5. p. 21. 6. t 22. p 22. t 23. 7. 8. 9. p. 23. 10. 10. t 25. p. 1. 2. 25. t 24. 11. (e)t26 が最後に発見された時 図 9 c 2012 Information Processing Society of Japan ⃝. (N3 , [p1 ]) に対する提案アルゴリズムの動作. 6.

(7)

参照

関連したドキュメント

23mmを算した.腫瘤は外壁に厚い肉芽組織を有して

その後、時計の MODE ボタン(C)を約 2 秒間 押し続けて時刻モードにしてから、時計の CONNECT ボタン(D)を約 2 秒間押し続けて

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

 支援活動を行った学生に対し何らかの支援を行ったか(問 2-2)を尋ねた(図 8 参照)ところ, 「ボランティア保険への加入」が 42.3 % と最も多く,

セキュリティパッチ未適用の端末に対し猶予期間を宣告し、超過した際にはネットワークへの接続を自動で

夫婦間のこれらの関係の破綻状態とに比例したかたちで分担額

子どもは大人と比べて屋外で多くの時間を過ごし、植物や土に触れた手をな

ƒ 、または Arduinoのリセットボタン”oƒ、2 }~x してか らコマンド @2 しま Q*した Arduino す。 プログラムを Arduino に…き:む Äsについては「