文脈自由文法としての通常言語の共通部分の複雑さ


20

正規表現R1,,Rnが与えられた場合、の最小の文脈自由文法のサイズに重要な境界がありますか?R1Rn


??? これを視覚化しようとしています。トリックはありますか?の交差Rnは規則的です。CFGでもある標準的な方法で、最小限のDFA(wrt状態カウント)を見つけることができます。
vzn

@vzn:その通りです。問題は、このDFA、したがってCFGが非常に大きくなる可能性があることです。交差点のより簡潔な説明を取得するためにCFGの追加のパワーを使用できるかどうか疑問に思っています。
マックス14

推測ではありません。RLを認識する(つまり、同等の)すべてのCFLがそのスタックを使用しないか、状態の増加なしにスタックに変換できる可能性があり、そのような最小のPDA(wrt state count)は最小と同じサイズDFA。この証拠を聞いたことがありませんでした。たぶん難しくない?より簡単な質問ですが、DFAよりも小さいRLを認識するPDA はありますか?考えないで。
vzn 14

@vzn:便利な推測、ただし偽:、最大の入れ子の深さがkである2種類の括弧のDyck言語のサブセットとします。サイズO k )のL kにはCFGがありますが、最小DFA(最小NFAでさえも)のサイズはO 2 kです。LkkLkO(k)O(2k)
マックス14

Dyck言語はCFLですが、RLではありません...?しかし、最大のネストの深さを制限していることを確認してください...それでは、RL交差点で同じ言語を構築できますか?最小限のDFAがこれほど大きいという証拠はどこにありますか?すなわちの状態?あなたは最小限の基準や他の場所を定義せず、州を自然なケースとみなしましたが、それだけではありません。O(2k)
vzn 14

回答:


6

これはすばらしい質問であり、本当に私の興味の範囲内にあります。マックスに聞いてくれてうれしいです。

してみましょう DFAので高々O N 与えられ、それぞれが述べています。DFAの言語の共通部分を受け入れる準指数的に多くの状態を持つPDAが存在した場合、それは素晴らしいでしょう。ただし、このようなPDAは必ずしも存在するとは限らないことをお勧めします。nO(n)

コピー言語を検討してください。次に、長さnの文字列のコピーに制限します。

正式には、 -copyを考慮してください= { x xn:= {xx|x{0,1}n}

最大でO n )のサイズのn個の DFAの共通部分としてコピーを表すことができます。受け入れしかし、最小DFA N -copyが有する2 Ω N 状態。nnO(n)n2Ω(n)

同様に、バイナリスタックアルファベットに制限すると、コピーを受け入れる最小のPDAには指数関数的に多くの状態があると思われます。n

PSさらに議論したい場合は、私にメールを送ってください。:)


5

自明でない下限や上限があるとは思わない。
下限については、固定kの言語を考慮してください。最小文脈自由文法のサイズは、サイズの対数であり、L 1「の最小オートマトンの大きさに対し、複数の正規表現L 1の大きさに線形であるL 1の正規表現」。L 1を他のそのような言語と交差させても、この指数関数的な差は変わりません。 上限については、1つだけで構成される言語L 2を考えますL1={a2k}kL1L1L1L1
L2deBruijn-長さシーケンスL 2の最小文法のサイズは最悪の場合、つまりO nnL2であるため、L2の「最小」オートマトンとの差は、単に対数係数であり、O(nlogn)L2

言語の共通部分に当てはまることは1つの言語の共通部分に当てはまるので、非自明な一般的な下限または上限はこれらの結果と矛盾します。n1


単一のdeBruijn-Sequenceの最小文法のサイズに関する注意は非常に興味深いものです。参考にしてください。ありがとうございました。
マイケルウェハ14年

また、私は誤解される可能性がありますが、(正規表現の製品ではなく)単一の正規表現の問題だけに対処したようです。
マイケルウェハ14年

@MichaelWeharうん、私はただ一つの正規表現を考えました。なぜなら、言語の交差点に当てはまる場合、些細な交差点にも当てはまるに違いないからです。これらのケースを除外するために質問を再定式化する方法がわかりません。私は参照を追加しました、すぐにそれを行うべきでした、ごめんなさい。n
john_leo 14年

1
ありがとうございました!特定の例を説明することができました。このような例の存在につながる簡単なコメントを次に示します。nを与えます。長さnの2 ^ n文字列があります。また、最大でn / log(n)状態の2 ^ n個のチューリングマシンはありません。したがって、n / log(n)状態より少ないチューリングマシンが言語{x}を受け入れないような長さnの文字列x。したがって、{x}は、n個の状態を持つDFAで受け入れられ、n / log(n)個未満の状態を持つPDAでは受け入れられません。
マイケル・ウェハ

5

マイケルの第二の判断を聞かせてください。これは確かに興味深い質問です。マイケルの主なアイデアは、文献の結果と組み合わせることができます。したがって、同様の下限に厳密な証拠を提供します。

正規表現のアルファベット記号の総数という観点から、CFGサイズの境界を参照します。この数をkで示します。(john_leoが指摘したように、交差点に参加している正規表現の数の点で有用な境界は見つかりません。)nk

OPもMichaelもこれを言及する必要はありませんでしたが、正規表現の共通部分をNFAに変換するための(状態の数)の上限は簡単に証明できます。記録のために、ここにあります:正規表現をGlushkovオートマトンに変換します。次に、製品構成を適用して、これらの言語の共通部分のNFAを取得します。(境界を2 k + 1程度に改善できると思います。)s状態の NFAは、サイズO s 2)の右線形文法(CFGの特殊なケース)に変換できます。2k+12k+1sO(s2)(プロダクションの左側と右側のシンボルの総数として文法サイズを測定する場合)、サイズを与えます。もちろん、実用的なアプリケーションを考えているなら、この限界は恐ろしいことに聞こえます。NFAのサイズを推定するために、非決定性の状態の複雑さの代わりに非決定性の遷移の複雑さを使用して、より良い境界を証明しようとすることは、努力する価値があるかもしれません。O(4k)

他の部分は、正規表現の共通部分として簡潔に表現できるが、CFGで記述するのは必然的に面倒な証言言語を見つけることです。(ここでは下無限に多く存在することができたの言語を生成するすべてのCFGのサイズにバインドを確立する必要があります。)は、次の引数が与えられる下限。2Ω(k/logk)

有限言語Ln={wwRw{a,b}|w|=n}wRwLn2n+1

  • ri=(a+b)ia(a+b)2(ni1)a(a+b)+(a+b)ib(a+b)2(ni1)b(a+b), for 1in;
  • si=(a+b)a(a+b)2(ni1)a(a+b)i+(a+b)b(a+b)2(ni1)b(a+b)i, for 1in;
  • =(a+b)3n

The total number k of alphabetic symbols in this intersection of expressions is in O(n2).

Using an argument given in the proof of Theorem 13 in (1), one can prove that every acyclic CFG that generates Ln must have at least 2n/(2n)=2Ω(k/logk) distinct variables, if the right-hand side of each rule has length at most 2. The latter condition is necessary for arguing about the number of variables, since we can generate a finite language with a single variable. But from the perspective of grammar size, this condition is not really a restriction, since we can transform a CFG into this form with only a linear blowup in size, see (2). Notice that the language used by Arvind et al. is over an alphabet of size n, and this yields a bound of nn/(2n); but the argument carries over with obvious modifications.

Still, a large gap remains between O(4n) and the abovementioned lower bound.

References:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.