文脈自由文法について


前回はプッシュダウン・オートマトン (pushdown automaton)について見てみた。プッシュダウン・オートマトンの特徴は「スタック」という構造のおかげで複雑な表現が可能になるということであった。このプッシュダウン・オートマトンのレベルで表現可能になる文法レベルを文脈自由文法 (context-free grammar, CFG)と言う。

今回はこの文脈自由文法についてまとめる。

文脈自由文法は下記の形を取る。(厳密にはチョムスキー標準形と呼ばれる型である。)

A → BC (A, B, C は非終端記号)

A → b (Aは非終端記号, b は終端記号)

非終端記号とはそれ以上の分解が可能な構造を表すための記号である。例えば、NounやVerbという要素等はさらに具体的な要素 (a boy, walk)に分解が可能だ。他方、終端記号とはそれ以上の分解が不可能な構造を表すための記号である。例えば、boy, walk はこれ以上の分解ができない、つまり終端の要素だと考えることができる。

このような表現を行うことでアルゴリズム等の記述を簡素化できるというメリットがある。

参考文献

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です