Beweisen, dass die Sprache regelmäßig oder nicht regelmäßig ist

8

Sei eine reguläre Sprache. Beweise das:L

  1. L+={w:u|u|=2|w|wuL}

  2. L++={w:u2|u|=|w|wuL}

  3. L+={w:u,v|u|=|w|=|v|uwvL}

sind regelmäßig und:

  1. L++={uv:w|u|=|w|=|v|uwvL}

ist nicht regelmäßig.

Scheint mir sehr schwer zu sein. Ich nehme an, 1-3 sind ähnlich (aber ich kann mich irren), aber ich weiß nicht, wie ich mich nähern soll. Die allgemeine Idee besteht normalerweise darin, die endliche Zustandsmaschine so zu modifizieren, dass eine andere Sprache akzeptiert. Aber diese Konstruktionen sind oft sehr raffiniert und ich kann sie mir immer noch nicht alleine einfallen lassen.L

xan
quelle
mögliches Duplikat von Wie kann man beweisen, dass eine Sprache nicht regelmäßig ist?
Bartosz Przybylski
Ich bin mir nicht sicher, ob Ihre Aussagen richtig sind, da nach dem Myhill-Nerode-Theorem die ersten drei Sprachen unendlich viele Äquivalenzklassen haben! für das erste: nimm das i-te in und das (i + 1) -te Wort, dann kann man für jedes i wählen, um zu zeigen, dass es a gibt Wort, das die Klassen von undL + - - w i + 1 u i w i w i + 1wiL+wi+1uiwiwi+1
trennt
@Fayez Was ist, wenn zum Beispiel ? Dann hat nur eine Äquivalenzklasse. Gehen Sie Ihren Beweis durch und sehen Sie, was schief geht. L + - - = Σ *L=ΣL+=Σ
Yuval Filmus
@Bartek und jeder andere, der zum Abschluss abstimmt: Bei der Hälfte der Frage geht es tatsächlich darum zu beweisen, dass bestimmte Operationen an Sprachen die Eigenschaft bewahren, regelmäßig zu sein.
Yuval Filmus

Antworten:

5

Hier ist ein Beweis dafür, dass die Sprache ist regulär. Es kann geändert werden, um anzuzeigen, dass die ersten drei auf Ihrer Liste regelmäßig sind. (Beachten Sie, dass ich in geändert .) Bei einem DFA für erstellen wir einen NFA für . Das erste, was die NFA tut, ist , einen Zustand erraten (einen Zug zu machen) , dessen beabsichtigte Semantik der Zustand ist, in dem der DFA für nach dem Lesen von endet . Es werden dann gleichzeitig zwei Kopien des DFA für , eine beginnend mit dem Startzustand und die andere beginnend mit . Beim Lesen eines Symbolsw u u w L L 0 ϵ q L u L q a a qL0={w:u|u|=|w|uwL}wuuwLL0ϵqLuLqabewegt es sich nach einem beliebigen Symbol im ersten und nach im zweiten. Ein Zustand akzeptiert, wenn sich die erste Kopie im Zustand und die zweite in einem akzeptierenden Zustand befindet.aq

Betrachten Sie für die letzte die Sprache und schneiden Sie mit .L=a+b+c+L++a+c+

Yuval Filmus
quelle
Das sehe ich nicht. , welche ist eindeutig eine reguläre Sprache. Aber ich nehme an, ich liege falsch :) Kannst du mir die richtige Richtung zeigen? L=a+b+c+L++a+c+={ancm:n+m20}
Xan
Ich habe es geschafft, Ihre Konstruktion von zu ändern und sogar Bewegungen zu entfernen, damit es eleganter wird (meiner Meinung nach). Also die ersten drei Probleme gelöst und danke dafür! :) Aber das einzige, worum ich Sie bitte, ist, das letzte und meine Bedenken im obigen Kommentar zu klären. Ich wäre sehr dankbar. L0ε
Xan
Wenn ich berechne, bekomme ich etwas anderes. Beachten Sie, dass jedes Wort in ein enthalten muss . L++a+c+Lb
Yuval Filmus
Entschuldigung, aber ich weiß nicht, wie ich berechnen soll . Ich nehme an, das Ergebnis ist , was uns das gibt, was wir wollen, aber ich weiß einfach nicht, wie ich das rechtfertigen soll. { a n c n : n N }L++a+c+{ancn:nN}
Xan
Ok, ich kann jetzt sehen :-)
xan