グラフ文法を語り尽くす
■ このスレッドは過去ログ倉庫に格納されています
00451
2006/10/11(水) 22:21:29ちょっと連結関係の方は>>20と違う書き方になってしまうけど・・・
G = (Σ, Δ, P, C, M) ただしCは連結関係で、C⊆Σ×(2^Σ)で表す。
アルファベットは、Σ = {M, X, Y, Z, s, g, c, d}, Δ = {s, g, c, d}
規則の集合Pは以下の通り。
M := s-g
M := s-X-g
X := X-Y # sとgの間を s-X-Y-Y-Y-・・・-Y-g という形で伸ばす
X := X-Z # sのすぐ隣のXから複数方向にZをにょきっと出す
X := c # sのすぐ隣のXは袋小路にならないのでcに変える
Y := Y-Z # Yの部分を複数方向にZをにょきっと出す
Y := c # Yは袋小路にならないのでcに変える
Z := Y-Z # 分岐したZを、Y-Y-Y-・・・-Y-Z という形で伸ばす
Z := d # Zは常に末端(袋小路)なので、dに変える
で、最後に連結関係
C = {
(X, {s}), (Y, {X, Y, Z, g, c, d}), (Z, {}),
(s, {}), (g, {}), (c, {X, Y, Z, s, g, c, d}), (d, {Y, c})
}
となります。
あ〜〜〜、ごちゃごちゃしすぎて説明不能w
連結関係の部分だけ、注釈つけときます。
(X, {s})というのは、Xが右辺に現れた場合、規則を適用する際に、左辺の近傍に出現するsは、全て右辺中のXにつなげる、という意味です。
ややこしい・・・。
NCEで書いたらもっとすっきり書けたのかも。
■ このスレッドは過去ログ倉庫に格納されています