19.11.2014 Aufrufe

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>und</strong> füge B ′ in die Warteschlange ein.<br />

Ausgabe: B.<br />

Wie groß wird der von der Potenzmengenkonstruktion erzeugte DFA M ′ ? Gr<strong>und</strong>sätzlich<br />

gibt es nur die obere Schranke |Q ′ | = 2 |Q| . Lässt man überflüssige Zustände weg, wird<br />

Q ′ u. U. kleiner. Jedoch zeigt es sich, dass in manchen Fällen der exponentielle Blow-up<br />

unvermeidbar ist.<br />

1.2.8 Beispiel Sei n ≥ 1 fest, <strong>und</strong> sei L = {0, 1} ∗ {0}{0, 1} n−1 , die Menge aller<br />

Binärstrings der Länge mindestens n, die an der n-ten Stelle von rechts eine 0 haben. Ein<br />

NFA für L mit n + 1 Zuständen sieht aus wie folgt:<br />

0,1<br />

Start<br />

0 0,1 0,1...<br />

0 1 2 n-1<br />

0,1<br />

n<br />

Die pure Potenzmengenkonstruktion liefert einen DFA mit 2 n+1 Zuständen. Von diesen<br />

sind 2 n nicht erreichbar, nämlich die B mit 0 /∈ B, wie man sich leicht überlegt. Durch<br />

Weglassen dieser Zustände erhalten wir einen DFA mit 2 n Zuständen. Andererseits hat<br />

jeder DFA M = (Q, Σ, q 0 , F, δ) mit L = L M mindestens 2 n Zustände. Dies sieht man<br />

folgendermaßen ein: Angenommen, |Q| < 2 n . Dann existieren zwei verschiedene Wörter<br />

a 1 · · · a n , b 1 · · · b n ∈ {0, 1} n mit δ(q 0 , a 1 · · · a n ) = δ(q 0 , b 1 · · · b n ). Wähle ein i mit a i ≠ b i ,<br />

z. B. a i = 0 <strong>und</strong> b i = 1. Dann gilt a 1 · · · a i · · · a n 0 i−1 ∈ L <strong>und</strong> b 1 · · · b i · · · b n 0 i−1 ∉ L, also<br />

Andererseits ist nach 1.1.2<br />

ein Widerspruch.<br />

δ(q 0 , a 1 · · · a n 0 i−1 ) ∈ F <strong>und</strong> δ(q 0 , b 1 · · · b n 0 i−1 ) ∉ F.<br />

δ(q 0 , a 1 · · · a n 0 i−1 ) = δ(q 0 , b 1 · · · b n 0 i−1 ),<br />

1.3 Reguläre Ausdrücke<br />

Bisher haben wir <strong>Sprachen</strong> immer nur abstrakt oder durch zugehörige Maschinen beschrieben.<br />

Reguläre Ausdrücke stellen eine andere Art dar, <strong>Sprachen</strong> zu spezifizieren. Reguläre<br />

Ausdrücke formalisieren den folgenden induktiven Ansatz zur Konstruktion immer komplizierterer<br />

<strong>Sprachen</strong>:<br />

• Starte mit den ”<br />

trivialen <strong>Sprachen</strong>“ ∅, {ε}, {a}, für a ∈ Σ;<br />

• Wende die Operationen<br />

24

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!