Es ist bekannt , dass das Komplement kontextfrei ist. Aber was ist das Komplement ?
fl.formal-languages
context-free
domotorp
quelle
quelle
Antworten:
Ich glaube immer noch CFL, mit einer Anpassung des klassischen Beweises. Hier ist eine Skizze.
Betrachten SieL={xyz:|x|=|y|=|z|∧(x≠y∨y≠z)} , das ist das Komplement von {www} , wobei die Wörter der Länge nicht 0 mod 3 entfernt werden.
SeiL′={uv:|u|≡3|v|≡30∧u2|u|/3≠v|v|/3} . Es ist klar, dass L′ CFL ist, da Sie eine Position p erraten und berücksichtigen können, dass u p/2 endet . Wir zeigen, dass L=L′ .
Daher ist dies inw Position:
|u|+|v|/3=3p/2+|w|/3−p/2=|w|/3+p,
oder, mit anderen Worten, die Position p in y . Dies zeigt, dass u2|u|/3=xp≠yp=v|v|/3 .
Wennyp≠zp , dann sei u die erste 32(|w|/3+p) Zeichen vonw , so dassu2|u|/3 istyp ; v ist der Rest vonw . Dann:
|u|+|v|/3=2|w|/3+p
daher ähnlichv|v|/3=zp .
quelle
So denke ich über die Lösung dieses Problems mit einem PDA nach. Meiner Meinung nach ist es intuitiv klarer.
Wir verwenden den üblichen Trick, den Stapel zu verwenden, um eine ganze Zahl beizubehalten, indem wir ein neues " unteren Ende des Stapels" -Symbol , das den absoluten Wert speichert als Anzahl der Zähler auf dem Stapel und sgn ( ) durch den Status des PDA. Somit können wir erhöhen oder verringern, indem wir die entsprechende Operation ausführen.t Z |t| t t
Das Ziel besteht darin, mithilfe des Nichtdeterminismus die Positionen der beiden zu vergleichenden Symbole zu erraten und mit dem Stapel , wobei der Abstand zwischen diesen beiden Symbolen ist.t:=|x|−3d d
Wir erreichen dies wie folgt: Erhöhen Sie für jedes Symbol, das angezeigt wird, bis das erste erratene Symbol ausgewählt ist, und zeichnen Sie im Zustand auf. Verringern Sie für jedes nachfolgende Eingabesymbol, bis Sie feststellen, dass Sie gesehen haben , um ( für die Eingabelänge und für die Entfernung). Erraten Sie die Position des zweiten Symbols und notieren Sie, ob . Erhöhen Sie für nachfolgende Eingabesymbole weiter. Akzeptiere, wenn (oben durch erkennbar ) und .t a a b t 2 1 −3 b a≠b t t=0 Z a≠b
Das Schöne daran ist, dass klar sein sollte, wie dies auf willkürliche Befugnisse ausgedehnt werden kann.
quelle
Nur eine andere ("grammatikalisch orientierte") Perspektive, um zu beweisen, dass das Komplement von für jedes feste Verwendung von Schließungseigenschaften CF ist .{wk} k
Beachten Sie zunächst, dass es im Komplement von immer so dass . Wir konzentrieren uns auf und beginnen mit einer einfachen CF-Grammatik, die generiert:{wk} i wi≠wi+1 w1≠w2
Zum Beispiel haben wir für ,k=3 L={ab0,a0b000,a00b00000,...} GL={S→ab0|aX00,X→0X00|0b0}
Wenden Sie dann den Verschluss unter inversem Homomorphismus und Vereinigung an :
Erster Homomorphismus:φ(1)→a,φ(0)→b,φ(1)→0,φ(0)→0
Zweiter Homomorphismus:φ′(0)→a,φ′(1)→b,φ′(1)→0,φ′(0)→0
Wenden Sie den Verschluss unter zyklischen Verschiebungen auf an, um den Satz von Saiten der Länge nicht die Form :L′ kn wk
Fügen Sie schließlich den regulären Satz von Zeichenfolgen hinzu, deren Länge nicht durch teilbar ist , um genau das Komplement von :k {wk}
quelle