Beweisen Sie, dass reguläre Sprachen unter dem Zyklusoperator geschlossen sind


8

Ich habe in ein paar Tagen eine Prüfung und habe Probleme, diese Aufgabe zu lösen.

Sei eine reguläre Sprache über dem Alphabet Σ . Wir haben den Betrieb Zyklus ( L ) = { x y | x , y & Sgr; *  und  y x L } Und nun sollten wir das zeigen Zyklus ( L ) ist auch regelmäßig.LΣcycle(L)={xyx,yΣ and yxL}cycle(L)

Die Referenz ist, dass wir aus einem DFA mit L ( D ) = L a ϵ -NFA N mit L ( N ) = Zyklus ( L ) und 2 · konstruieren könnten | Q | 2 + 1 Zustände.D=(Q,Σ,δ,q0,F)L(D)=LϵNL(N)=cycle(L)2·|Q|2+1


Übung 5.4 , fällig am 24. Mai.
Raphael

Antworten:


15

Die Idee ist, zu Beginn nicht deterministisch zu entscheiden, wie viel das Wort getaktet wird, und für jeden Fall eine Kopie des Automaten zu haben. In Bezug auf den Automaten bedeutet dies, dass wir erraten, in welchem ​​Zustand sich nach dem Konsumieren des Präfixes eines Wortes (das ein Suffix unserer Eingabe ist) befunden hätten, und in diesem Zustand beginnen.D

Nun zum Bau. Trennen Sie D für jeden Zustand in zwei Teile A 1 und A 2 . A 1 enthält die Zustände, von denen aus q erreichbar ist, und A 2 die Zustände, von denen aus q erreichbar ist :qQDA1A2A1qA2q

Geben Sie hier die Bildbeschreibung ein
[ Quelle ]

A1A2

q

Geben Sie hier die Bildbeschreibung ein
[ Quelle ]

|Q|εcycle(L)|Q|(2|Q|+1)+1|Q|

2|Q|2+1q0ε(q1,ε,q0),(q0,a,q2)(q1,a,q2)

Strenge Konstruktion und Korrektheitsnachweis bleiben als Übung.


aber wie kannst du beweisen, dass du gerade eine nfa gebaut hast?
Sad Golduhren

3
q0qqqFqFqqqFq0qqFϵq0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.