Union der regulären Sprachen, die nicht regelmäßig ist

12

Ich bin auf folgende Frage gestoßen : "Geben Sie Beispiele für zwei reguläre Sprachen an, deren Vereinigung keine reguläre Sprache ausgibt."

Das ist ziemlich schockierend für mich, weil ich glaube, dass reguläre Sprachen unter Union geschlossen sind. Das bedeutet für mich, dass ich eine reguläre Sprache bekommen muss , wenn ich zwei reguläre Sprachen nehme und sie verbinde .

Und ich glaube, ich verstehe den Beweis dafür: In meinen Worten gibt es, wenn die Sprachen regelmäßig sind, Automaten, die sie erkennen. Wenn wir alle Zustände (Vereinigung) annehmen, einen neuen Zustand für den Eintrittspunkt hinzufügen und die Übergangsfunktion für den neuen Zustand mit epsilon ändern, sind wir in Ordnung. Wir zeigen auch, dass es einen Weg von jedem Staat usw. gibt.

Kannst du mir sagen, wo ich falsch liege oder wie ich mich der Frage nähern kann?

Quelle der Frage, Übung 4, in französischer Sprache.

Dieselbe Frage wird auch bei der Kreuzung gestellt.

Dave
quelle
Eine andere Art, es zu sehen. Angenommen, eine solche unendliche Vereinigung ergibt eine reguläre Sprache. Betrachten Sie jede nicht-reguläre Sprache . Sie können seine Elemente in eine unendliche Anzahl von Teilsprachen L i unterteilen, wobei jedes der L i endlich (und daher regelmäßig) ist. Jetzt mache die Vereinigung aller L i . Unter der Annahme, dass dies eine reguläre Sprache ist, haben wir angenommen, dass L eine nicht reguläre Sprache ist, daher ein Widerspruch. Das Zulassen einer Schließung unter unendlicher Vereinigung würde alle Sprachen regelmäßig machen. LLiLiLiL
Bakuriu
Für unendliche Vereinigung: Nehmen Sie eine beliebige nicht reguläre Sprache und betrachten Sie jedes L i = { w i } . Offensichtlich L i ist regulär. L={w1,w2,w3,}Li={wi}Li
Pål GD

Antworten:

26

Es gibt einen signifikanten Unterschied zwischen der Frage, wie Sie sie stellen, und der Frage, die in der Übung gestellt wird. Die Frage fragt nach einem Beispiel für eine Menge regulärer Sprachen so dass ihre Vereinigung L = i = 1 L i nicht regulär ist. Beachten Sie den Bereich der Union: 1 bis . Reguläre Sprachen sind unter geschlossen endlicher Vereinigung, und die Beweise verlaufen entlang der Linien , die Sie in der Frage skizzieren, was jedoch auseinander fallen unter unendlicher Vereinigung. Wir können dies zeigen, indem wir L i = nehmenL1,L2,

L=i=1Li
1 für jedes i (mit Σ = { 0 , 1 } ). Die unendliche Vereinigung dieser Sprachen ergibt natürlich die kanonische nicht-reguläre (kontextfreie) Sprache L = { 0 i 1 ii N } .Li={0i1i}iΣ={0,1}L={0i1iiN}

Abgesehen davon können wir leicht erkennen, wo der normale Beweis fehlschlägt. Stellen Sie sich dieselbe Konstruktion vor, bei der wir einen neuen Startzustand und Übergänge zu den alten Startzuständen hinzufügen . Wenn wir dies mit einer unendlichen Menge von Automaten tun, haben wir Automaten mit einer unendlichen Anzahl von Zuständen erstellt, was offensichtlich der Definition einer endlichen Automaten widerspricht .ε

Zuletzt schätze ich, dass die Verwirrung durch die Formulierung der ursprünglichen Frage entstehen kann, die "Donner deux exemples des suites de langages ..." beginnt, was ( grob gesagt , mein Französisch ist ein bisschen verrostet, aber äußerlich verifiziert!) „geben Sie zwei Beispiele für Sequenzen von Sprachen ...“, sondern als „Nennen Sie zwei Beispiele für Sprachen ...“. Bei einer nicht vorsichtigen Lesart wird die zweite möglicherweise mit der ersten verwechselt.

Luke Mathieson
quelle
1
Und wenn man als das Mengenkomplement von L i definiert , wäre deren Schnittpunkt ebenfalls nicht regelmäßig. Ihre französische Lesart stimmt, nicht nur grob . MiLi
Laurent LA RIZZA
Sie haben Recht mit dem französischen Übersetzungsteil. Ich dachte, dieser Sequenzteil war nicht wichtig. Haha. Danke für die Antwort, der Unterschied ist mir jetzt klar.
Dave
3

Ihre zweite Frage, sollten Sie die Sprachen , die durch Beachten Sie, dass für jedes n 1 , M n regulär Da (1) die linke Menge endlich und damit regulär ist, (2) wird die rechte Menge durch den regulären Ausdruck a n a a ∗ bezeichnet

Mn={ak21kn}{ajj(n+1)2}
n1Mnanaa Das ist regulär, und (3) reguläre Sprachen sind, wie Sie bereits wissen, unter endlichen Vereinigungen geschlossen.

Es ist nicht allzu schwer , dass für jede ganze Zahl zu zeigen , haben wir M n + 1M n und somit M nM n + 1 = M n + 1 so induktiv haben wir n i = 0 M i = M n (was wir hier eigentlich nicht brauchen, aber es ist zu schön, um es auszulassen).n1Mn+1MnMnMn+1=Mn+1

i=0nMi=Mn

Nun beobachten , dass enthält keine ein n 2 + 1 , ein n 2 + 2 , ... , a ( n + 1 ) 2 - 1 , so dass keiner dieser Zeichenfolge in dem Vollschnittpunkt sein wird. Als Konsequenz haben wir i = 0 M i = { a n 2n 1 }Mnan2+1,an2+2,,a(n+1)21

i=0Mi={an2n1}
Das ist bekanntlich keine reguläre Sprache. (Wenn Sie diese Tatsache nicht wussten, ist es in vielen theoretischen Texten und der Beweis ist die Mühe wert, gelesen zu werden.)
Rick Decker
quelle
1

Warum komplizierte reguläre Sprachen wählen, um zu zeigen, dass reguläre Mengen nicht unter unendlicher Vereinigung geschlossen sind? Singleton-Sprachen reichen aus, um zu zeigen, dass jede RE-Sprache eine unendliche Vereinigung regulärer Mengen ist.

LwLi=index(w)Li={wi=index(w)}LiL=i=1Li ist RE.

Mi=ΣLiMii=1Mi=ΣLL

Daher ist jede rekursive Sprache eine unendliche Vereinigung von regulären Mengen und auch eine unendliche Schnittmenge von regulären Mengen (nicht die gleichen, sondern deren Komplemente :).

Die Unendlichkeit steckt voller Überraschungen, und was für willkürlich große Werte gilt, gilt möglicherweise nicht für die Unendlichkeit.

babou
quelle
1

{ϵ}{a}{b}{aa}{bb}{aaa}{aba}{bab}{bbb} ...

Σ{pi}pii

Andres
quelle