MINT lernen

Zusammenfassung

Vom DEA über Mealy und Keller bis zur kontextfreien Grammatik: das ganze Kapitel auf einen Blick.

1

Endliche Automaten

Ein DEA liest ein Wort Zeichen für Zeichen und entscheidet am Ende: angenommen oder abgelehnt. Sein ganzes Gedächtnis ist der aktuelle Zustand.

9.1.1

Der deterministische Automat

  • \(\Sigma\): Eingabealphabet; Wort, \(\varepsilon\) = leeres Wort.
  • Startpfeil, Endzustände als Doppelkreis.
  • Deterministisch und vollständig: je Zustand und Zeichen genau ein Pfeil.
  • Fehlerzustand zF darf fehlen — nur mit Vermerk.
Akzeptiert ⇔ Endzustand nach dem letzten Zeichen

9.1.2

Automaten analysieren

  • Für jeden Zustand die Bedeutung notieren.
  • Testwörter nach Länge: \(\varepsilon\), a, b, aa, …
  • Gegenprobe mit Grenzfällen.
\(L(A)=\{\,w\in\Sigma^*\mid A \text{ akzeptiert } w\,\}\)

9.1.3

Einen DEA entwickeln

  • Was muss sich der Automat merken? Jede Antwort ein Zustand.
  • Für jeden Zustand und jedes Zeichen einen Übergang.
  • Rückweg zum längsten noch passenden Ende.
Vollständig: \(|Z|\cdot|\Sigma|\) Übergänge

9.1.4

Automaten implementieren

  • Attribut int zustand, Schleife über die Zeichen.
  • switch über den Zustand oder Tabelle int[][] delta.
  • Am Anfang zustand = 0; — sonst erbt der nächste Aufruf den alten Zustand.
zustand = delta[zustand][spalte(c)];
Akzeptieren
Ein DEA akzeptiert ein Wort genau dann, wenn er nach dem letzten Zeichen in einem Endzustand ist.

Ein Endzustand unterwegs zählt nicht; aus zF führt kein Weg zurück.

Bedeutung vor Pfeilen

Wer zuerst jedem Zustand eine Bedeutung gibt, findet die Übergänge fast von selbst — und sammelt Begründungspunkte.

2

Mealy- und Kellerautomaten

Ein Mealy-Automat übersetzt statt zu entscheiden. Ein Kellerautomat bekommt zusätzlich einen Stapel — und kann damit beliebig weit zählen.

9.2.1

Der Mealy-Automat

  • \(\Sigma\) Eingabe-, \(\Omega\) Ausgabealphabet.
  • Pfeil e / a: e lesen, a ausgeben; \(\varepsilon\) = keine Ausgabe.
  • Keine Endzustände, aber vollständig.
Übergang \(e\,/\,a\) mit \(e\in\Sigma,\ a\in\Omega^*\)

9.2.2

Grenzen endlicher Automaten

  • \(k\) Zustände → höchstens \(k\) Vorgeschichten unterscheidbar.
  • Schubfach: \(a^i\), \(a^j\) im selben Zustand → \(a^ib^i\) und \(a^jb^i\) gleich behandelt.
  • Beschränkt zählen geht, unbeschränkt nicht.
\(\{a^nb^n\mid n\ge 0\}\) erkennt kein DEA

9.2.3

Der Kellerautomat

vonÜbergangnach
z0(#,a):A#z1
z1(A,a):AAz1
z1(A,b):εz2
z2(A,b):εz2
z2(#,ε):#z3 (Ende)
  • Kelleralphabet \(\Gamma\), Vorbelegungszeichen #.
  • Übergang (X,e):W: oberstes Zeichen X entfernen, W ablegen — rechtes Zeichen zuerst.
  • Akzeptiert: Eingabe gelesen und Endzustand erreicht.
(#,a):A# → A liegt oben

9.2.4

Kellerautomaten entwickeln

  • Erst den Kellerplan: Was legt welches Zeichen ab, was entfernt es?
  • Je Abschnitt des Worts ein Zustand (Phasen).
  • (#,ε):# in den Endzustand prüft „Keller leer“.
  • ε-Übergang nie neben einem Übergang mit demselben obersten Zeichen.
Keller = offene Verpflichtungen
Kellernotation
(oberstes Kellerzeichen, Eingabezeichen) : abgelegte Zeichen

Das gelesene Kellerzeichen wird entfernt; bei mehreren abgelegten Zeichen wird das rechte zuerst abgelegt, das linke liegt danach oben.

ε ist nicht 0

\(\varepsilon\) heißt: nichts ausgeben, nichts lesen oder nichts ablegen. 0 ist ein echtes Zeichen.

3

Formale Sprachen und Grammatiken

Grammatiken erzeugen Wörter mit Regeln. Reguläre Grammatiken passen zum DEA, kontextfreie zum Kellerautomaten.

9.3.1

Formale Sprachen

  • Wort = endliche Zeichenfolge über \(\Sigma\); Länge \(|w|\).
  • \(\Sigma^*\): alle Wörter; Sprache = Teilmenge von \(\Sigma^*\).
  • Syntax (Aufbau) vs. Semantik (Bedeutung).
\(|\Sigma^n| = |\Sigma|^n\)

9.3.2

Grammatiken und Ableitungen

N = {S, A}
T = {a, b}
Startsymbol: S
Produktionsregeln:
S → aA
A → bS | ε
  • N (Nichtterminale), T (Terminale), Startsymbol, Produktionsregeln.
  • Ableitung \(S\Rightarrow\dots\Rightarrow w\); Satzform = Zwischenschritt.
  • Ableitungsbaum: Blätter von links nach rechts = Wort.
\(L(G)=\{w\in T^*\mid S\Rightarrow^* w\}\)

9.3.3

Reguläre Grammatiken

  • Nur Regeln \(A\to aB\), \(A\to a\), \(A\to\varepsilon\).
  • Nichtterminal immer ganz rechts in der Satzform.
  • Entwurf: je Information ein Nichtterminal, ε-Regel wo das Wort enden darf.
Satzform = Terminale + höchstens ein Nichtterminal

9.3.4

Reguläre Grammatik und DEA

  • Zustand = Nichtterminal, Start = Startsymbol.
  • Pfeil \(z\xrightarrow{a}z'\) = Regel \(Z\to aZ'\).
  • Endzustand = ε-Regel; \(A\to a\) → neuer Endzustand zE.
DEA ⇔ reguläre Grammatik

9.3.5

Kontextfreie Grammatiken

  • Links genau ein Nichtterminal, rechts beliebig.
  • \(S\to aSb\mid\varepsilon\) erzeugt \(\{a^nb^n\}\).
  • Linksableitung; mehrdeutig = zwei Bäume für ein Wort.
Kellerautomat ⇔ kontextfreie Grammatik

Überblick

Welches Modell für welche Sprache?

SprachklasseAutomatGrammatik
regulärDEAregulär
kontextfreiKellerautomatkontextfrei
  • Regulär ⊂ kontextfrei.
  • \(\{a^nb^nc^n\}\) ist nicht kontextfrei.
  • Endliche Sprachen sind immer regulär.
DEA ⊂ Kellerautomat
Regelformen
regulär: A → aB | a | ε · kontextfrei: A → beliebiges Wort

Ob eine Sprache regulär ist, entscheidet nicht eine einzelne Grammatik — sondern ob es irgendeine reguläre Grammatik (bzw. einen DEA) für sie gibt.

→ ist nicht ⇒

Der Pfeil → steht in Regeln, der Doppelpfeil ⇒ zwischen Satzformen einer Ableitung.

4

Die Regeln, an denen die Punkte hängen

Was in Klausuren zu Automaten und Sprachen am häufigsten Punkte kostet:

Regel 1 — vollständig oder Vermerk

Beim DEA braucht jeder Zustand für jedes Zeichen einen Pfeil. Wer den Fehlerzustand weglässt, schreibt dazu: „Nicht eingezeichnete Übergänge führen in den Fehlerzustand zF.“

Regel 2 — Notation der Anlage

Grammatik mit N, T, Startsymbol und Produktionsregeln; Kellerübergänge als (X,e):W mit # als Vorbelegung; Mealy-Übergänge als e / a. Genau so steht es in der Anlage — und so wird bewertet.

Regel 3 — Testen und begründen

Zu jedem Entwurf gehören Testwörter mit Grenzfällen (\(\varepsilon\), kürzeste Wörter, knapp falsche Wörter) und bei Grenzen ein vollständiges Schubfach-Argument: Annahme, Schubfach, gleicher Zustand, Widerspruch.

1AFB I — Reproduzieren10 Aufgaben› ?Selbsttest40 Fragen mit Auswertung›