David Schirrmeister 596770dc3b update
2025-04-29 16:22:25 +02:00

2.9 KiB

Grenzen & Größen endlicher Automaten

Nerode-Index einer Sprache

  • Sei L=\{w ∈ \{x,y,z\}^*\}\space | \space \#_z(w) ∈ \{2,3\}\}

  • betrachte die Wörter aus \{x, y, z\}^*

    • Gruppiere sie hinsichtlich des "Grad der Zugehörigkeit" zu L
      • image_780.png
  • Beobachtung:

    • zwei Worte u ∈ L und v \not\in L sind sicherlich nicht sehr ähnlich
    • zwei Worte u,v ∈ L können ähnlich sein
      • ähnlich: zz und yzxxzy
      • nicht ähnlich: zz und zzz
    • zwei Worte u,v \not\in L können ähnlich sein
      • ähnlich: ε und xxy
      • nicht ähnlich: ε und yzxxxy
  • u,v ∈ Σ^* sind ähnlich bezüglich L, wenn:

    • durch anhängigen des gleichen, beliebigen Wortes
      • in beiden Fällen ein Wort aus L entsteht
      • in beiden Fällen ein Wort aus Σ \backslash L entsteht

Rechtsäquivalenz

  • gegebene Sprache L über Alphabet Σ
  • u,v ∈ Σ^* heißen rechtsäquivalent bezüglich L, wenn
    • ∀s ∈ Σ^*: u*s ∈ L ↔ v*s ∈ L
  • wir schreiben auch: (u,v) ∈ R_L oder u \space R_L \space v

Nerode-Klassen und -Index

  • gegebene Sprache L über Alphabet Σ und Wort u ∈ Σ^*
  • Nerode-Klasse $N(u)$: Menge der zu u rechtsäquivalenten Wörter:
    • N(u) := \{v ∈ Σ^* \space | \space (u,v) ∈ R_L\}
  • Nerode-Index von L: Anzahl Nerode-Klassen

Beispiel

  • ist v ∈ N(u) so gilt N(v)=N(u)

  • beliebiges u ∈ N heißt Repräsentant der Nerode-Klasse N

  • Wie lauten die Nerode-Klassen von der Sprache L_1 = \{w ∈ \{x,y,z\}^* \space | \space \#_Z(w) ∈ \{2,3\}\}?

    • image_781.png
  • Wie viele Nerode-Klassen hat L_2=\{0^n*1^n \space | \space n ∈ N_0\}

    • bspw. N_i=N(0^i) für i ∈ N_0

Eigenschaften von Nerode-Klassen

Nützliche Eigenschaften

Alles-oder-nichts

Sei L eine Sprache und N eine Nerode Klasse von L.
Dann gilt entweder N ⊆ L oder N \not ⊆ L := Σ^* \backslash L

Beweis:

  • wähle beliebiges, festes u ∈ N
  • für jedes v ∈ N gilt: u und v sind rechtsäquivalent
  • insbesondere: u = u * ε ∈ L ↔ v * ε = v ∈ L
  • also entweder sind alle solche Wörter v aus L (wenn u ∈ L)
  • oder es sind alle solche Wörter v nicht aus L (wenn u \not ∈ L)

Mitgegangen-Mitgefangen

Sei L eine Sprache und u,v ∈ Σ^* Wörter aus der gleichen Nerode-Klasse.
Dann gilt für alle s ∈ Σ^*: N(u*s)=N(v*s)

Beweis:

  • zu zeigen: (u*s, v*s) ∈ R_{L(A)}
  • sei dazu w ∈ Σ^* beliebig, dann gilt:
    • image_782.png

Gemeinsame Reise

Sei A = (Σ, Q, q_s, Q_A, δ) ein DEA.
Betrachte zwei Worte u,v ∈ Σ^* die A in den gleichen Zustand überführen.
Dann sind u und v rechtsäquivalent bzgl. L(A)

image_783.png

Der Satz von Myhill-Nerode

Reaping the Fruits!

Minimierungsalgorithmus