Wie ist das Verhältnis von mehrdeutigen CFGs zu allen CFGs ?
Da beide Sätze zählbar unendlich sind, ist das Verhältnis nicht genau definiert. Aber was ist mit der asymptotischen Dichte :
wobei Terminal- und Nicht-Terminal-Symbole aus einem festen zählbaren Satz stammen.
Die Größe einer Grammatik ist ein vernünftiger Größenbegriff für Grammatiken, z
- die Gesamtzahl der Vorkommen von Variablen und Terminals in den Produktionsregeln oder
- die Gesamtzahl der Vorkommen von Variablen oder
- die Gesamtzahl der Produktionsregeln oder
- die Anzahl der verschiedenen Variablen.
(Ich gehe davon aus, dass die Definition der Größe die Antwort nicht beeinflusst.)
fl.formal-languages
grammars
context-free
user18064
quelle
quelle
Antworten:
Die Frage hängt von der genauen Kodierung ab. Es scheint jedoch, dass in vielen vernünftigen Codierungen, da die Länge gegen unendlich tendiert, die Anzahl der Produktionsregeln (für eine geeignete Interpretation des Startsymbols und des Terminals ) mit hoher Wahrscheinlichkeit mehr als eins sein wird; hier meine ich wörtlich das gleiche terminal . Wenn wir dies als Mehrdeutigkeit betrachten, erwarte ich, dass "die meisten" Grammatiken mehrdeutig sind. Wir können auch ähnliche Situationen erfinden, wie die Regeln und jeweils mindestens einmal auftreten.S.→ a a a S → S S → aS. ein ein S.→ S. S.→ a
Unter der Annahme dieser allgemeinen Hypothese, dass jede (feste) denkbare Regel mit hoher Wahrscheinlichkeit erscheinen sollte, wenn die Länge gegen unendlich tendiert, stellen wir fest, dass "die meisten" Grammatiken auf mehrdeutige Weise erzeugen .Σ∗
Betrachten Sie als Beispiel die folgende Codierung für Grammatiken über . Das Grammatikalphabet besteht aus den Symbolen . Nicht-Terminals werden durch binäre Zeichenfolgen mit einer Länge von mindestens 2 indiziert. Regeln werden durch Punkte getrennt. Jede Regel ist eine Folge von binären Zeichenfolgen, die durch Semikolons getrennt sind. Die erste binäre Zeichenfolge ist das Nicht-Terminal auf der linken Seite, und der Rest (falls vorhanden) bildet die rechte Seite. Wenn die erste binäre Zeichenfolge kein Nicht-Terminal ist (dh , 0,1), wird das beginnende Nicht-Terminal angenommen. Das Start-Nicht-Terminal ist immer 00.{ 0 , 1 , ; , . } ϵΣ = { 0 , 1 } { 0 , 1 , ; , . }} ϵ
Unter dieser Codierung beschreibt jede Zeichenfolge in Grammatik. Eine zufällige Grammatik enthält mit hoher Wahrscheinlichkeit viele Kopien vonundund wird insbesondere mehrdeutig sein. .00 ; 00. .00 ; 0.{ 0 , 1 , ; , . }}∗ .00 ; 00. .00 ; 0.
quelle