文脈自由言語とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 文脈自由言語の意味・解説 

文脈自由言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/03/10 07:44 UTC 版)

文脈自由言語(ぶんみゃくじゆうげんご)とは、次のような再帰的な生成規則をもつ文脈自由文法によって、与えられた言語の長さ n に対して O(n3) の時間で認識される形式言語プッシュダウン・オートマトンで受理可能な言語と等価である。

  • S → E.
  • E → T | E - T | E + T | (E).
  • T → T * E | T / E | id | num.

ある言語が文脈自由言語でないことを証明するために文脈自由言語の反復補題が使われることがある。

基本的な文脈自由言語 は、偶数個の文字から成る文字列で構成され、各文字列の前半は a で、後半は b で構成される。L を生成する文法は であり、プッシュダウン・オートマトン に受容される。ここで は以下のように定義される。






ここで z は初期スタック記号、x はポップ動作を意味する。

例えば、数式など(プログラミング言語などにおける)の括弧の対応は というような規則になる。数式などはだいたい文脈自由言語である。

閉包属性

LP を文脈自由言語、D正規言語としたとき、以下も全て文脈自由言語である(閉じている)。

  • Lクリーネ閉包
  • L準同型 φ(L)
  • LP の連結
  • LP和集合
  • L と(正規言語) D積集合

しかし、積集合や差集合に関しては閉じていない。これらの操作の具体的な内容については形式言語の情報工学的定義を参照されたい。

積集合操作で閉じていないことの証明

文脈自由言語は積集合において閉じていない。この証明は参考文献にある Sipser 97 の練習問題となっている。まず、2つの文脈自由言語 を用意する。これらの積集合 に対して文脈自由言語の反復補題を用いることで、それが文脈自由言語でないことを示すことができる。

決定性属性

文脈自由言語についての以下の問題は決定不能である。

  • 等価性: 2つの文脈自由文法 A と B が与えられたとき、 か?
  • か?
  • か?
  • か?

文脈自由言語についての以下の問題は決定可能である。

  • か?
  • L(A) は有限か?
  • メンバーシップ: ある単語 w を与えたとき か?(メンバーシップ問題は多項式時間で決定可能である。CYK法を参照されたい)

参考文献

  • Michael Sipser (1997年). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X.  Chapter 2: Context-Free Languages, pp.91–122.



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「文脈自由言語」の関連用語

文脈自由言語のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



文脈自由言語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの文脈自由言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS