あいまいな文脈自由文法(CFG)の漸近密度


9

すべてのCFGに対するあいまいな CFG の比率はどのくらいですか?

両方のセットは無限に無限であるため、比率は明確に定義されていません。しかし、何についての漸近密度

limn# ambiguous CFG of size<n# CFG of size<n

ここで、終端記号と非終端記号は、固定の可算セットから来ています。

文法のサイズは、文法のサイズの合理的な概念です。たとえば、

  1. プロダクションルール内の変数と端子の出現の総数、または
  2. 変数の出現回数の合計、または
  3. 生産ルールの総数、または
  4. 個別の変数の数。

(サイズの定義は回答に影響しないと想定しています。)


3
余談ですが、CFGサイズの次の概念が文献で検討されています。文法サイズの概念に関しては、以下が文献に出てきました。(1)文法内のすべてのプロダクションの両側にある変数とターミナルの出現の総数。(2)文法内のすべてのプロダクションの両側の変数の出現回数。(3)文法内のプロダクションの数。(4)文法内の異なる変数の数。
マーティンベルガー

1
例:S.ギンズバーグ、N。リンチ、文脈自由文法形式のサイズの複雑さ。J. Gruska、文脈自由文法のサイズについて。J. Gruska、文脈自由文法と言語の複雑さと明確さ。A. Kelemenova、正規形文法の複雑さ。
Martin Berger

1
@Martin、注意しないと、指定されたサイズの文法的に異なる文法が無限に存在する可能性があり、比率は意味をなさなくなります。安全な方法は、文法のいくつかの固定エンコーディングのビット長をカウントすることです。
Kaveh

1
両方の量は指数であり、おそらく底が異なるため、おそらく漸近密度をそれぞれの量の対数の比として定義する必要があります。
メビウス餃子2014

1
@MartinBerger同じこと、つまり定義していると仮定すると、これは明らかに密度に影響します。明確なCFGの数がでCFGの数がであるとすると、漸近密度が0のときに対数密度がになります。漸近密度は0または1のいずれかですが、漸近対数密度は興味深い数値である可能性があります。1.5 N 2 N L O G 1.5 2logdesty=logあなたaメートルbgあなたoあなたsCFGs/logCFGs1.52log1.52
メビウス餃子2014

回答:


4

問題は、正確なエンコーディングによって異なります。ただし、多くの合理的なエンコーディングでは、長さが無限大になる傾向があるため、プロダクションルール(開始シンボルと終端適切な解釈のため)の数は、1つ以上の確率で高くなります。ここで私は、文字通り意味同じターミナル。これをあいまいさだと考えると、「ほとんどの」文法があいまいになると思います。また、やのルールなど、同様の状況を少なくとも1回出現させることもできます。S a a S S S aSaSaaSSSa

この一般的な仮説を想定すると、考えられるすべての(固定された)ルールは長さが無限大になる傾向があるため、高い確率で現れるはずであり、「ほとんどの」文法はあいまいな方法で生成することがわかります。Σ

例として、超える文法の次のエンコーディングを考えます。文法アルファベットはの記号で構成されます。非終端記号には、少なくとも2の長さのバイナリ文字列によってインデックスが付けられます。ルールは完全なストップで区切られます。各ルールは、セミコロンで区切られた一連のバイナリ文字列です。最初のバイナリ文字列は左側の非終端記号であり、残りは(もしあれば)右側を構成します。最初のバイナリ文字列が非終端文字でない場合(つまり、、0,1)、最初の非終端文字が想定されます。開始の非終端記号は常に00です。Σ={01}{01;}ε

このエンコーディングでは、すべての文字列が文法を説明します。ランダムな文法には、高い確率で多くのコピーが含まれますおよび、特にあいまいになります。{01;}.00;00。.00;0。


はい、文法内のや(複数回出現)などのルールは有効と見なします。実際、これは文法を明らかにあいまいにします。乾杯。SSSa
user18064 2014

しかし、size(CFG)が増加すると、通常、端子と非端子の数が増えるため、それらを表すためにさらに多くのビットが必要になるため、個々のルールを表すためにより多くのビットが必要になります。そのため、ささいな理由(たとえば、1つのルールのみがサイズの範囲に収まる)で明確なCFGの数も増加します。
Martin Berger

@Martinエンコーディングに依存します。たとえば、アルファベットのサイズが文法のサイズとともに大きくなる場合など、主張をサポートするエンコーディングを考え出すことができます。私のエンコーディングでは一定のアルファベットサイズを使用しているため、この影響は発生しません。
Yuval Filmus 2014年

@MartinBergerこれは、文法サイズを大きくするにつれて、終端記号と非終端記号の数を増やすことについての有効なポイントです。プログラミング言語などのユースケースでは、それは理にかなっています。
user18064 2014年

@ user18064プログラミング言語は通常、一定サイズのアルファベットを使用します。ほとんどの場合、ASCIIのサブセットです。アルファベットのサイズが無制限の実用的な言語はわかりませんが、簡単に定義できます。
Yuval Filmus 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.