✖

Kleene-Stern einer regulären Sprache

Sei L eine reguläre Sprache. Wir beweisen, dass der Kleene-Stern der Sprache L wieder eine reguläre Sprache ist.

Was ist der Kleene-Stern einer Sprache

Den Kleene-Stern der Sprache L bezeichnen wir mit L∗. Er enthält alle Wörter, die sich durch Verkettung endlich vieler Wörter aus der Sprache L zusammensetzen lassen. Den Kleene-Stern können wir so definieren:

L∗={a1∘a2∘⋯∘an|ai∈L,n∈N0},

wobei ∘ die Operation der Konkatenation bezeichnet. Der Kleene-Stern enthält auch das leere Wort, also ϵ.

Formales Vorgehen

Wir gehen sehr ähnlich vor wie bei der Konkatenation von Sprachen. Nur verbinden wir nicht zwei verschiedene Automaten, sondern einen einzigen Automaten – von den Endzuständen des Automaten führen wir ε-Übergänge in seinen Startzustand. Der Kleene-Stern muss aber auch das leere Wort enthalten. Wie lässt sich das erreichen? Wir könnten aus dem Startzustand einen Endzustand machen. Dann würde der Automat das leere Wort akzeptieren, aber möglicherweise auch weitere Wörter. Deshalb erzeugen wir stattdessen einen neuen Startzustand und führen von diesem neuen Startzustand einen ε-Übergang in den ursprünglichen Startzustand.

Wir haben eine reguläre Sprache L1 und einen Automaten, der diese Sprache akzeptiert:

A1=⟨Q1,Σ1,δ1,q0,F1⟩

Wir konstruieren einen nichtdeterministischen Automaten A = ⟨Q, Σ, δ, qs, F⟩, für den gilt:

  • Q = Q1 ∪ {qs}
  • Σ= Σ1
  • F = F1 ∪ {qs}

Die Übergangsfunktion δ definieren wir so:

δ(q,a)={δ1(q,a)fallsq∈Q1∧q∉F1δ1(q,a)fallsq∈F1∧a≠ϵδ1(q,a)∪{q0}fallsq∈F1∧a=ϵ{q0}fallsq=qs∧a=ϵ∅fallsq=qs∧a≠ϵ

Beispiel

Gegeben sei dieser Automat A1, der die Wörter 00 oder 11 akzeptiert:

Der Kleene-Stern der Sprache L(A1) ist also die Sprache aller Wörter, die sich aus den Paaren 00 und 11 zusammensetzen, zum Beispiel 0000, 110011, 11110000 usw. Den Automaten, der diesen Kleene-Stern akzeptiert, würden wir so konstruieren, dass wir einen neuen Startzustand qs mit einem ε-Übergang in den ehemaligen Startzustand q0 erzeugen und ε-Übergänge von den Zuständen q3 und q4 in den Zustand q0 hinzufügen:

Wir können überprüfen, dass dieser Automat tatsächlich die Wörter 0000, 110011, 11110000 akzeptiert, aber zum Beispiel das Wort 1010 nicht.

Quellen

Kapitel: Abgeschlossenheit regulärer Sprachen, Vereinigung regulärer Sprachen, Schnitt regulärer Sprachen, Differenz regulärer Sprachen, Komplement einer regulären Sprache, Konkatenation regulärer Sprachen, Kleene-Stern einer regulären Sprache