Eine Sprache mit irrationaler Zahl ist keine CFL

10

Ich arbeite an einer harten Übung in einem Lehrbuch und kann einfach nicht herausfinden, wie ich vorgehen soll. Hier ist das Problem. Angenommen, wir haben die Sprache wobei eine irrationale Zahl ist. Wie würde ich beweisen, dass keine kontextfreie Sprache ist?L={aibj:ijγ,i0,j1}γL

In dem Fall, in dem rational ist, ist es ziemlich einfach, eine Grammatik zu erstellen, die die Sprache akzeptiert. Aber weil irrational ist, weiß ich nicht wirklich, was ich tun soll. Es sieht nicht so aus, als würde eines der pumpenden Deckspelzen hier funktionieren. Vielleicht würde der Satz von Parikh hier funktionieren, da es intuitiv so aussieht, als hätte diese Sprache kein semilineares Parikh-Bild.γγ

Diese Übung stammt aus "Ein zweiter Kurs in formalen Sprachen und Automatentheorie" von Jeffrey Shallit, Übung 25 von Kapitel 4.

Ich würde mich über jede Hilfe oder einen Anstoß in die richtige Richtung sehr freuen. Vielen Dank!

DW
quelle
Haben Sie versucht, den Satz von Parikh anzuwenden?
Yuval Filmus
Warum nicht zeigen, dass es nicht direkt semilinear ist? Verwenden Sie die Definition.
Yuval Filmus
4
Pünktlich zu meinen Hausaufgaben! Vielen Dank. CS 462/662 Formale Sprachen und Analyse Winter 2019, Problemstellung 9, Übung 3. Fällig am Freitag, 22. März 2019.
Hendrik
@HendrikJan Ich lerne selbst aus dem Lehrbuch "Ein zweiter Kurs in formalen Sprachen und Automatentheorie" von Jeffrey Shallit. Es ist Übung 25 von Kapitel 4 fyi. Wäre es möglich, diesen Beitrag zu verbergen, bis die Aufgabe fällig ist?
Ich weiß zu schätzen, was Sie versucht haben und welche guten Absichten Sie haben, aber bitte zerstören Sie die Frage nicht, indem Sie sie bearbeiten, um die Frage zu verbergen (auch nicht für einige Tage). Vielen Dank. PS: Vielen Dank, dass Sie die Ursache des Problems angegeben haben!
DW

Antworten:

7

Nach dem Satz von Parikh wäre die Menge semilinear , wenn kontextfrei wäre, dh es wäre die Vereinigung endlich vieler Mengen der Form , für einige .LM={(a,b):aγb}S=u0+Nu1++Nuui=(ai,bi)

Offensichtlich , und darüber hinaus für jedes , da sonst für groß genug , um . Daher ist (da rational ist). Dies bedeutet, dass jedes erfüllt .u0MuiMi>0u0+NuiMNg(S):=max(a0/b0,,a/b)<γg(S)(a,b)Sa/bg(S)

Nehmen wir nun an, dass die Vereinigung von , und definieren Sie . Das Vorstehende zeigt, dass jedes in der Vereinigung erfüllt , und wir erhalten einen Widerspruch, da .MS(1),,S(m)g=max(g(S(1)),,g(S(m)))<γ(a,b)a/bg<γsup{a/b:(a,b)M}=γ


Wenn rational ist, schlägt der Beweis fehl, und tatsächlich ist semilinear: Tatsächlich erfüllt konstruktionsbedingt jedes Paar auf der rechten Seite (da ). Nehmen wir umgekehrt an, dass . Während und , subtrahieren Sie von . Schließlich (da impliziertγM

{(a,b):astb}=a=0s1(a,tsa)+N(s,t)+N(0,1).
(a,b)astbs=sttastbasbt(s,t)(a,b)a<sb<tastb<s). Da , muss . Daher können wir von subtrahieren bis wir .astbbtsa(0,1)(a,b)(a,tsa)

Yuval Filmus
quelle
Gute Antwort. Nur eine Klarstellung, die Logik hinter "jedes erfüllt " ist, dass wir sonst bauen könnten, wenn es ein gäbe ein so dass so groß wie gewünscht und daher größer als ? a / b g ( S ) ( a , b ) > g ( S ) ( x , y ) S x /(a,b)Sa/bg(S)(a,b)>g(S)(x,y)Sγx/yγ
Nein, dies folgt direkt aus der Definition von . Ihr Argument erklärt, warum . g ( S ) < γg(S)g(S)<γ
Yuval Filmus
6

Jede Variable außer in dieser Antwort steht für eine positive ganze Zahl. Es ist bekannt, dass es bei einem irrationalen eine Folge von rationalen Zahlen gibt so dass näher an als jede andere rationale Zahl kleiner als deren Nenner kleiner als .γγ>0a1b1<a2b2<a3b3<<γaibiγγbi


Es stellt sich heraus, dass das Pump-Lemma funktioniert!

Aus Gründen des Widerspruchs sei die Pumplänge von als kontextfreie Sprache. Sei , ein Wort, das aber "kaum". Beachten Sie, dass . Betrachten Sie , wobei und für alle .pLs=aapbbpL|s|>bpps=uvwxy|vx|>1sn=uvnwxnyLn0

Sei und die Anzahl von s und s in .tatbabvx

  • Wenn oder für groß genug ist, ist das Verhältnis der Anzahl von s zu der von s in größer als , dh .tb=0tatb>γnabsnγsnL
  • Andernfalls . Da , . Daher ist Da , was besagt, dass .tatb<γtb<bptatb<apbpaptabptb>apbpbptb<bpaptabptb>γ,s0L

Der obige Widerspruch zeigt, dass nicht kontextfrei sein kann.L


Hier sind zwei verwandte einfachere Übungen.

Übung 1. Zeigen Sie, dass nicht kontextfrei ist, wenn eine irrationale Zahl ist.Lγ={aiγ:iN}γ

Aufgabe 2. Zeigen Sie, dass kontextfrei ist, wobei eine rationale Zahl ist.Lγ={aibj:ijγ,i0,j0}γ

John L.
quelle
Die Eigenschaft in der Antwort kann einfach bewiesen werden, indem alle rationalen Zahlen ausgewählt werden, die näher an als alle vorherigen Zahlen in der Liste aller rationalen Zahlen, die kleiner als in der Reihenfolge zunehmender Nenner und bei gleichen Nennern. in aufsteigender Reihenfolge. γγγ
John L.
Die übliche Konstruktion besteht darin, Konvergenzien der fortgesetzten Fraktion zu nehmen.
Yuval Filmus
@ YuvalFilmus Ja, ich stimme zu. Auf der anderen Seite ist dieser fast einzeilige Beweis viel einfacher und zugänglicher. (Die "aufsteigende Reihenfolge" in meiner letzten Nachricht sollte "absteigende Reihenfolge" sein.)
John L.