Wenn

7

Ich möchte beweisen, dass regulär ist, wenn regulär ist, aber ich komme anscheinend nicht weiter. Wenn möglich, hoffte ich auf einen Hinweis, um mich in die richtige Richtung zu bringen. Danke für deine Hilfe.L={w:wwL}L

Meine Idee, um die Regelmäßigkeit der Quadratwurzelsprache zu demonstrieren, war es, zwei Maschinen zu betrachten, die zusammen laufen. Einer von ihnen akzeptiert die OriginalspracheLund der andere läuft die gleiche Maschine rückwärts (ich gehe davon aus, dass dies eine NFA sein wird). Ich wollte dann Wörter akzeptieren, die sich in der Mitte trafen (dh(q,q):qQ wo Q akzeptieren die Staaten des EDA L). Ich denke jedoch nicht, dass dies funktionieren wird.

user99163
quelle
2
Die beiden Maschinen müssen vorwärts laufen. Es ist nur so, dass der zweite dort beginnen muss, wo der erste endet. Daher muss der zweite eine Vermutung für seinen Ausgangszustand anstellen und sich an diese Vermutung erinnern.
Babou
@ PålGD Vielen Dank für Ihre Antwort. Das ist eine interessante Lösung, aber ich kann nicht scheinen, dass die Induktion im induktiven Schritt funktioniert. Was ich bekomme ist folgendes:
δ^(q0,wa)=δ(δ^(q0,w),a)=δ(f,a)=g
wo f(q)=δ^(q,w)durch die induktive Hypothese. Damit
g(q)=f(δ(q,b))=δ^(δ(q,b),w)=δ^(q,bw)
Wenn Sie mir vielleicht sagen könnten, wo ich falsch gelaufen bin, wäre ich Ihnen dankbar.
user99163
@babou Vielen Dank für Ihre Antwort. Schlagen Sie eine NFA vor, in der Sie an jedem Punkt des ursprünglichen DFA beginnen können, der akzeptiert wurdeL?
user99163
Ja. Dies geschieht mit einem nicht deterministischenϵ-Übergang am Anfang. Die Zustände sind Dreifache des ursprünglichen Maschinenzustands, einer für die erste Simulation, einer für die zweite Simulation und einer, der sich daran erinnert, wo die zweite Simulation begonnen hat, um sicherzustellen, dass der erste dort endet.
Babou

Antworten:

1

So implementieren Sie Ihre Lösung. LassenA=Q,q0,F,δ ein DFA für sein L. Wir werden eine NFA bauenA=Q,q0,F,δ wie folgt:

  • Q={q0}Q3. Der Staat(q1,q2,q3) bedeutet, dass wir das erraten haben, wann A beendet das Lesen der ersten Kopie von wwird es in Zustand sein q1;; die erste Kopie vonA, fing an bei q0ist im Zustand q2;; und die zweite Kopie vonA, fing an bei q1ist im Zustand q3.
  • F={(q1,q1,q2):q1Q,q2F}. Somit akzeptieren wir, wenn die erste Kopie vonA ist im erratenen Zustand und die zweite Kopie von A ist in einem akzeptierenden Zustand.
  • δ(q0,ϵ)={(q,q0,q):qQ}. Dies initialisiert die Simulation der beiden Kopien vonA.
  • δ((q1,q2,q3),a)={(q1,δ(q2,a),δ(q3,a))}. Dies simuliert beide Kopien vonAunter Beibehaltung des erratenen Zustands.

Wir überlassen dem Leser den formalen Beweis dafür L(A)=L(A).


Hier ist eine andere Lösung, die einen DFA erstellt. Wir rennen jetzt|Q| Kopien von A parallel, beginnend bei jedem Zustand von A::

  • Q=QQ.
  • q0=qq, die Identitätsfunktion.
  • δ(f,a)=qδ(q,a).
  • F={fQ:f(f(q0))F}.

Was ist die Bedeutung der Bedingung f(f(q0))F? Nach dem Lesen eines Wortesw, der Automat A ist in einem Zustand f gegeben durch f(q)=δ(q,w). Somitf(f(q0))=δ(δ(q0,w),w)=δ(q0,w2).

Yuval Filmus
quelle
Es kann viele Arten solcher Funktionen geben, wie z. B. SQRT (L), HALF (L) usw. Gibt es eine allgemeine Möglichkeit, alle Funktionen miteinander zu kombinieren? Ich dachte nach dem Myhill-Nerode-Theorem. Dies wird auch als Hälfte bezeichnet. sqrt isty st |y|=|x|2 und xyL
Benutzer nicht gefunden