文字列書き換え系

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

文字列書き換え系: String rewriting system)は、与えられた文字列に所定の書き換え規則を適用して変換を行う置換系の一種であり、ポスト正準系の特殊な型である。

基本的な文字列書き換え系の等価性[編集]

文字列書き換え系の基本的形式は項書き換え系と本質的に等価である。あるアルファベット A による文字列があり、次のような形式の部分文字列置換規則のみがあるとする。

 x_0x_1\cdots x_n \rightarrow y_0y_1\cdots y_m,\quad x_i, y_i \in A

この規則は、任意の部分文字列 x0x1...xny0y1...ym に置換されることを意味する。

このような文字列書き換え系は項書き換え系に再定式化することができ、そのときの置換規則は以下のようになる。

 x_0(x_1(\cdots ( x_n(x) )) \cdots ) \rightarrow y_0(y_1(\cdots (y_m(x)) \cdots)

ここで、xiyi は項書き換え系の関数シンボルである。

すなわちこの項書き換え系における文字列は、基底項である。

[編集]

決定性の文字列書き換えに基づいた計算モデルの例として、マルコフアルゴリズム、各種形式文法L-system などがある。L-system はカントール集合メンガーのスポンジといったある種のフラクタルの生成に適している。

関連項目[編集]