MINT lernen

Übung AFB I

Zustandsfolgen, Tabellen, Ausgabewörter: zehn Handgriffe zu endlichen Automaten, die in jeder Klausur sichere Punkte bringen.

Ihr Fortschritt:
0 / 0 Aufgaben
1

Aufgabenblock — AFB I

Zehn Standardaufgaben zum Reproduzieren: Graphen und Tabellen lesen, Wörter prüfen, Ausgaben bestimmen. Das sind die sicheren Punkte in jeder Klausur zu endlichen Automaten — bei jeder Aufgabe gibt es eine Erinnerung und die Lösung zum Aufklappen.

A1
Übergänge eines vollständigen DEA
AFB I

Ein vollständiger DEA hat die Zustände z0, z1, z2, z3 und den Fehlerzustand zF sowie das Eingabealphabet \(\Sigma=\{0,\,1,\,2\}\). Berechnen Sie, wie viele Übergänge (Pfeile einschließlich Schleifen) sein Zustandsgraph besitzt.

Übergänge
Vollständig: Aus jedem Zustand führt für jedes Zeichen genau ein Pfeil, also \(|Z|\cdot|\Sigma|\) Übergänge. Auch zF zählt mit — er hat Schleifen.
Lösung anzeigen

\(|Z|\cdot|\Sigma| = 5\cdot 3\) = 15 Übergänge

Davon sind die drei Schleifen an zF enthalten; ohne Fehlerzustand (mit Vermerk) würden alle Pfeile nach zF und von zF fehlen.

A2
Zustandsgraph lesen
AFB I

Ein Fahrstuhl in einem Haus mit drei Etagen wird durch den folgenden Zustandsgraphen modelliert: E0, E1, E2 sind die Etagen, h steht für die Taste „hoch“, r für „runter“.

E0 E1 E2 h r h r r h

Entnehmen Sie dem Graphen, in welcher Etage der Fahrstuhl nach der Eingabefolge h h r h h h steht.

Zustandsfolge: Beim Startpfeil beginnen und je Eingabe genau einem Pfeil folgen. Eine Schleife bedeutet: Der Zustand bleibt gleich.
Lösung anzeigen

E0 \(\xrightarrow{\text{h}}\) E1 \(\xrightarrow{\text{h}}\) E2 \(\xrightarrow{\text{r}}\) E1 \(\xrightarrow{\text{h}}\) E2 \(\xrightarrow{\text{h}}\) E2 \(\xrightarrow{\text{h}}\) E2 → Etage 2

Die letzten beiden h sind Schleifen: In E2 ändert „hoch“ nichts mehr.

A3
Wörter prüfen
AFB I

Der DEA prüft ganze Zahlen mit optionalem Vorzeichen, \(\Sigma=\{+,\,-,\,0,\,1,\,\dots,\,9\}\). Nicht eingezeichnete Übergänge führen in den Fehlerzustand zF.

z0 z1 z2 +, − Ziffer Ziffer Ziffer

Wenden Sie den Automaten auf die folgenden Wörter an. Wie viele davon akzeptiert er?

  • −7
  • 12
  • +
  • 3−4
  • +05
  • −+1
Wörter
Akzeptieren: Entscheidend ist nur der Zustand nach dem letzten Zeichen. Fehlt ein Pfeil, geht es in den Fehlerzustand zF — und von dort nie wieder heraus.
Lösung anzeigen
WortZustandsfolgeErgebnis
−7z0 · z1 · z2akzeptiert
12z0 · z2 · z2akzeptiert
+z0 · z1abgelehnt
3−4z0 · z2 · zF · zFabgelehnt
+05z0 · z1 · z2 · z2akzeptiert
−+1z0 · z1 · zF · zFabgelehnt

→ 3 Wörter (−7, 12, +05). + endet in z1, das kein Endzustand ist.

A4
Zustandsfolge bestimmen
AFB I

Ein DEA über \(\Sigma=\{0,\,1\}\) ist durch seine Übergangstabelle gegeben (→ Startzustand, doppelt unterstrichen: Endzustand).

Zustand01
z0z0z1
z1z2z0
z2z1z2

Bestimmen Sie die Zustandsfolge für das Wort 1101. Geben Sie die Nummer des Zustands an, in dem der Automat endet (z. B. 2 für z2).

Tabelle lesen: Zeile = aktueller Zustand, Spalte = gelesenes Zeichen, Feld = Folgezustand. Das Ergebnis eines Schritts ist die Zeile für den nächsten.
Lösung anzeigen

z0 \(\xrightarrow{\text{1}}\) z1 \(\xrightarrow{\text{1}}\) z0 \(\xrightarrow{\text{0}}\) z0 \(\xrightarrow{\text{1}}\) z1 → z1

z1 ist kein Endzustand, das Wort wird abgelehnt.

A5
Ausgaben eines Mealy-Automaten
AFB I

Ein Fahrkartenautomat verkauft Fahrkarten zu 2 €. Er nimmt 1-€- und 2-€-Münzen an und gibt, falls nötig, 1 € zurück. Die Tabelle gibt je Feld Folgezustand / Ausgabe an, \(\varepsilon\) heißt „keine Ausgabe“.

Zustand1 €2 €
0 €1 € / ε0 € / Fahrkarte
1 €0 € / Fahrkarte0 € / Fahrkarte, 1 €

Nennen Sie für die Eingabefolge 1 € · 2 € · 1 € · 1 € · 2 € die Anzahl der ausgegebenen Fahrkarten und das insgesamt zurückgegebene Geld.

€
Mealy-Automat: Jeder Übergang liefert seine Ausgabe sofort. Das Ausgabewort ist die Folge aller Ausgaben, \(\varepsilon\) fällt weg.
Lösung anzeigen
SchrittZustandEingabeAusgabeFolgezustand
10 €1 €ε1 €
21 €2 €Fahrkarte, 1 €0 €
30 €1 €ε1 €
41 €1 €Fahrkarte0 €
50 €2 €Fahrkarte0 €

Ausgabewort: Fahrkarte, 1 €, Fahrkarte, Fahrkarte → 3 Fahrkarten, 1 € Rückgeld

A6
Graph aus einer Tabelle
AFB I

Der folgende DEA prüft Dezimalzahlen wie 12,5 oder 0,25. Dabei steht die Spalte „Ziffer“ für jedes der Zeichen 0 bis 9.

ZustandZifferKomma
z0z1zF
z1z1z2
z2z3zF
z3z3zF
zFzFzF

Zeichnen Sie den Zustandsgraphen. Den Fehlerzustand dürfen Sie mit Vermerk weglassen. Wie viele Pfeile (Schleifen mitgezählt, ohne Startpfeil) enthält Ihr Graph dann?

Pfeile
Fehlerzustand weglassen: Alle Pfeile, die nach zF führen, und die Schleifen an zF entfallen. Dafür steht unter dem Graphen der Vermerk.
Lösung anzeigen
z0 z1 z2 z3 Ziffer Ziffer , Ziffer Ziffer

Nicht eingezeichnete Übergänge führen in den Fehlerzustand zF. → 5 Pfeile

Startpfeil an z0, Doppelkreise an z1 und z3 nicht vergessen.

A7
Ausgabewort ermitteln
AFB I

Der Mealy-Automat liest Bits, \(\Sigma=\Omega=\{0,\,1\}\).

g u 0 / 0 1 / 1 1 / 0 0 / 1

Ermitteln Sie das Ausgabewort zum Eingabewort 1101.

Beschriftung e / a: Eingabe e lesen, Ausgabe a schreiben, dem Pfeil folgen. Je Eingabezeichen entsteht hier genau ein Ausgabezeichen.
Lösung anzeigen
SchrittZustandEingabeAusgabeFolgezustand
1g11u
2u10g
3g00g
4g11u

Ausgabewort 1001 — jedes Ausgabezeichen gibt an, ob bisher eine ungerade Anzahl Einsen gelesen wurde.

A8
Tabelle als Feld
AFB I

Ein Automat prüft Bezeichner (Variablennamen). Ein Programm speichert seine Übergänge als zweidimensionales Feld delta: Zeile = Zustandsnummer (z0 → 0, z1 → 1, zF → 2), Spalte = Zeichenklasse (Buchstabe → 0, Ziffer → 1, Unterstrich → 2). Start ist 0, Endzustand ist 1.

zustand0: Buchstabe1: Ziffer2: _
0121
1111
2222

Stellen Sie die Verarbeitung des Worts 7up in einer Tracetabelle dar (Zeichen, Spalte, neuer Wert von zustand). Welchen Wert hat zustand am Ende?

Ein Schritt: zustand = delta[zustand][spalte] — erst die Spalte des Zeichens bestimmen, dann in der Zeile des aktuellen Zustands nachsehen.
Lösung anzeigen
ZeichenSpaltezustand vorherzustand nachher
7102
u022
p022

zustand = 2 (zF): Ein Bezeichner darf nicht mit einer Ziffer beginnen; aus zF gibt es kein Zurück.

A9
Endliches Gedächtnis
AFB I

Ein DEA mit 6 Zuständen liest nacheinander die Vorgeschichten ε, a, aa, aaa, … Geben Sie die kleinste Zahl \(n\) an, für die unter den Vorgeschichten \(a^0,\,a^1,\,\dots,\,a^n\) garantiert zwei im selben Zustand enden.

Schubfachprinzip: \(k\) Zustände können höchstens \(k\) Vorgeschichten unterscheiden. Die Liste \(a^0,\dots,a^n\) enthält \(n+1\) Wörter.
Lösung anzeigen

\(n+1\) Vorgeschichten, 6 Zustände: Eine Wiederholung ist sicher, sobald \(n+1>6\), also \(n\ge 6\) → n = 6

Für \(n=5\) können die sechs Wörter \(a^0,\dots,a^5\) noch in sechs verschiedenen Zuständen enden.

A10
Eingabe- und Ausgabealphabet
AFB I

Das Treppenhauslicht wird durch einen Mealy-Automaten gesteuert: T ist der Tastendruck, t meldet „eine Minute vergangen“.

aus an2 an1 T / an t / ε T / ε t / aus t / ε T / ε

Ordnen Sie die Zeichen T, t, an, aus und \(\varepsilon\) dem Eingabealphabet \(\Sigma\) oder dem Ausgabealphabet \(\Omega\) zu. Wie viele Elemente hat \(\Omega\)?

Beschriftung e / a: Links vom Schrägstrich steht das Eingabezeichen aus \(\Sigma\), rechts die Ausgabe aus \(\Omega\). \(\varepsilon\) ist das leere Wort — kein Zeichen.
Lösung anzeigen

\(\Sigma=\{T,\,t\}\), \(\Omega=\{\text{an},\,\text{aus}\}\) → |Ω| = 2

\(\varepsilon\) gehört zu keinem Alphabet: Es bedeutet nur, dass ein Übergang nichts ausgibt.