2008.09.27
ペトリネット
ウィキペディア - ペトリネット
http://ja.wikipedia.org/wiki/%E3%83%9A..

<ペトリネット(Petri Net)とは、カール・アダム・ペトリが1962年に発表した離散分散システムを数学的に表現する手法である。モデリング言語としては分散システムを注釈付の有向2部グラフとして視覚的に表現する>。

「ペトリネット」っていう言葉は聞いたことがあったが、こういうものだったのか。「ペトリ」って人名だったんだな。

このウィキペディアの解説だけだとよくわからなかったので、他の解説ページを調べてみた。

ORWiki - ペトリネット
http://www.orsj.or.jp/~wiki/wiki/index.php/%E3%83%9A..

<ペトリネットの実行はプレースに置かれたマーク(これをトークンと呼ぶ)の位置とその動きによって制御される. トークンは黒丸で表し, プレースの中に置く. プレースにトークンを割り当てることをマーキングという. 一般にペトリネットでは, システムの初期の状態を表すのに初期マーキングが割り当てられている. トークンの動きは発火規則に従っている. 図1にはペトリネットの要素と発火規則の適用例を示す>.



図も説明も詳しくて、ウィキペディアのページよりわかりやすい。ちなみに、これはオペレーションズ・リサーチの用語解説を集めた「ORWiki」の一部で、他にも充実した解説ページがたくさんある。

具体例で説明している解説がないか調べて、いいページを2つ見つけた。

広島大学 アルゴリズム論研究室 - ペトリネットとは?
http://www.infonets.hiroshima-u.ac.jp/research/petri/

<例として図1に示すサンドイッチ製造システムについて考える。機械Aはパンにバターを塗る。機械Bは大きなハムを5枚にカットする。機械Cは大きなチーズを4枚にカットする。機械Dは1枚のハムと1枚のチーズをパンで挟む。以上の工程で一つのサンドイッチが完成するものとする>。



これはわかりやすい。このサンドイッチ製造システムがペトリネットで記述されて、バター、パン、ハム、チーズが「トークン」としてペトリネット上を動いていき、数が変わっていく。

信州大学工学部情報工学科基礎研究室 - ペトリネットおよびLCペトリネットについて
http://markun.cs.shinshu-u.ac.jp/kiso/projects/petrinet/pds/LCPN/index-j.html

<おみやげのなすの漬け物を梱包している作業所を例にとる.一人の作業者(A)はポリの袋に商品名を印刷している.もう一人(B)は印刷の終わった袋に5個の漬け物のなすを入れている.3人目の作業者(C)はその袋の口をシールして閉じている.これで出来上がりである(下図)>.



こちらは「なすの漬け物の梱包」を例にとった説明。単純な線だけで構成されたこの図がいい。トークンに数が書ける「LCペトリネット」というものを考えると、コンピュータのプログラムが記述できるという解説もある。


関連:
Wikipedia - Petri net
http://en.wikipedia.org/wiki/Petri_net
Scholarpedia - Petri net
http://www.scholarpedia.org/article/Petri_net