文脈自由言語の補完とは何ですか?


11


2
私は答えとしてこれを投稿するつもりだったが、それはあなたの全体の質問に答えていない:任意のCFLの補数は、R(再帰的)で、再帰的な言語は補体の下で閉じているので、すべてのCFLのはR.です
エリック・

CFLが補完の下でクローズされないということは、「L」がCFLにあるということは、その補完がCFLにないことを意味するわけではありません。これは、CFLに「L」が存在し、その補数がCFLにないことを意味するだけです
SHREYANSHU THAKUR

@Eric質問者は、CFLの補集合が再帰的であることをすでに知っています。彼らは、どんなCFLの補完もPにあるというはるかに強い声明を出しました。
David Richerby

回答:


17

「CFLの補足」の定義に従って、2つの方法で質問を理解できます。

ケースA: CFLの補完は、CFLにないすべての言語のクラスです。正式には、 その場合、はよりもはるかに大きく、にない言語も含まれます。¯ C F L PR

CFL¯={LLCFL}.
CFL¯PR

ケースB:補数CFLクラスをとして定義 します。つまり、の補数が文脈自由になるように、すべての言語セットです。。LのL

coCFL={L¯LCFL},
LL

その場合、あなたが書いたものは理にかなっています: (CYKアルゴリズムによる)、また(同じアルゴリズムを実行し、反対の答えを出力する)、そして場合、そのがすぐにわかるはずですよね?C O C F LP C F L C O C F Lの C O C F LPCFLPcoCFLPCFLcoCFLcoCFLP


私が理解する限り、CFKの定義:Lの補数がCFKにある場合に限り、言語LはcoCFKにあります。LIの補数とは、Lの文字列を除くすべての可能な文字列を意味します。問題は、補数を「同じアルゴリズムを実行して答えを逆にする」と定義できないことです。例:L =(x ^ iy ^ iz ^ i)は、 CFLですが、(負の)答えを得るために実行できるアルゴリズムがわかりません。
user432 2012

1
あなたはCFLの補数というケースB.注を参照している CFLではないかもしれませんが、それはCYKアルゴリズムがその上に仕事がないことを意味するものではありません同じ..私は意味、私たちがCYKを実行であるを上書きし、かどうかに関係なく、すべてのについて回答を取得します。その反対はそれかどうかの質問への答えであるであるにもかかわらず、非CFLかもしれません。¯ Lの XLL¯xL¯xLL
Ran G.

1
@ user432!coCFLCFL¯
ラファエル

1
@RanGはここでの表記基準ですか?および言語クラス、ことを期待します。¯ C F L = L L C F LcoCFL={L:L¯CFL}CFL¯=LLCFL
usul

1
実際、あなたの提案に従って表記を変更させてください、それはもっと理にかなっています。
Ran G.

3

CFLとcoCFLの両方を含む堅牢なクラスはLOGCFLです。LOGCFLには、コンテキストフリー言語にログスペース削減可能なすべての言語が含まれています。このクラスはNLとAC1の中間にあり、いくつかの自然な完全な問題があります。また、制限付きAC1回路で定義することもできます。LOGCFLは補足の下で閉じられます(これは、NL = coNLを示すために使用される引数の拡張です)。


-1

CFLの補完はCFLである可能性がありますが、必ずしもそうではありません。CFLの補集合は、再帰(R)と再帰的に列挙可能(RE)の両方です。どうして?すべてのCFLはRとREの両方です。R言語は補完の下で閉じられます(しかしREはそうではありません)。そのコンテキストでは、CFLの補数は本質的にREであるRです。


質問者はすでに、CFPの補数がPであることを知っていると述べています。これは、再帰的またはREよりもはるかに強力なステートメントです。歩行者が歩けない人を言ったようで、あなたは彼が音速で走ることができないという証拠で応答しました。
David Richerby
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.