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.
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.
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.
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“.
Entnehmen Sie dem Graphen, in welcher Etage der Fahrstuhl nach der Eingabefolge h h r h h h steht.
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.
Der DEA prüft ganze Zahlen mit optionalem Vorzeichen, \(\Sigma=\{+,\,-,\,0,\,1,\,\dots,\,9\}\). Nicht eingezeichnete Übergänge führen in den Fehlerzustand zF.
Wenden Sie den Automaten auf die folgenden Wörter an. Wie viele davon akzeptiert er?
−712+3−4+05−+1
Lösung anzeigen
| Wort | Zustandsfolge | Ergebnis |
|---|---|---|
−7 | z0 · z1 · z2 | akzeptiert |
12 | z0 · z2 · z2 | akzeptiert |
+ | z0 · z1 | abgelehnt |
3−4 | z0 · z2 · zF · zF | abgelehnt |
+05 | z0 · z1 · z2 · z2 | akzeptiert |
−+1 | z0 · z1 · zF · zF | abgelehnt |
→ 3 Wörter (−7, 12, +05). + endet in z1, das kein Endzustand ist.
Ein DEA über \(\Sigma=\{0,\,1\}\) ist durch seine Übergangstabelle gegeben (→ Startzustand, doppelt unterstrichen: Endzustand).
| Zustand | 0 | 1 |
|---|---|---|
| z0 | z0 | z1 |
| z1 | z2 | z0 |
| z2 | z1 | z2 |
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).
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.
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“.
| Zustand | 1 € | 2 € |
|---|---|---|
| 0 € | 1 € / ε | 0 € / Fahrkarte |
| 1 € | 0 € / Fahrkarte | 0 € / Fahrkarte, 1 € |
Nennen Sie für die Eingabefolge 1 € · 2 € · 1 € · 1 € · 2 € die Anzahl der ausgegebenen Fahrkarten und das insgesamt zurückgegebene Geld.
Lösung anzeigen
| Schritt | Zustand | Eingabe | Ausgabe | Folgezustand |
|---|---|---|---|---|
| 1 | 0 € | 1 € | ε | 1 € |
| 2 | 1 € | 2 € | Fahrkarte, 1 € | 0 € |
| 3 | 0 € | 1 € | ε | 1 € |
| 4 | 1 € | 1 € | Fahrkarte | 0 € |
| 5 | 0 € | 2 € | Fahrkarte | 0 € |
Ausgabewort: Fahrkarte, 1 €, Fahrkarte, Fahrkarte → 3 Fahrkarten, 1 € Rückgeld
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.
| Zustand | Ziffer | Komma |
|---|---|---|
| z0 | z1 | zF |
| z1 | z1 | z2 |
| z2 | z3 | zF |
| z3 | z3 | zF |
| zF | zF | zF |
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?
Lösung anzeigen
Nicht eingezeichnete Übergänge führen in den Fehlerzustand zF. → 5 Pfeile
Startpfeil an z0, Doppelkreise an z1 und z3 nicht vergessen.
Der Mealy-Automat liest Bits, \(\Sigma=\Omega=\{0,\,1\}\).
Ermitteln Sie das Ausgabewort zum Eingabewort 1101.
Lösung anzeigen
| Schritt | Zustand | Eingabe | Ausgabe | Folgezustand |
|---|---|---|---|---|
| 1 | g | 1 | 1 | u |
| 2 | u | 1 | 0 | g |
| 3 | g | 0 | 0 | g |
| 4 | g | 1 | 1 | u |
Ausgabewort 1001 — jedes Ausgabezeichen gibt an, ob bisher eine ungerade Anzahl Einsen gelesen wurde.
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.
| zustand | 0: Buchstabe | 1: Ziffer | 2: _ |
|---|---|---|---|
| 0 | 1 | 2 | 1 |
| 1 | 1 | 1 | 1 |
| 2 | 2 | 2 | 2 |
Stellen Sie die Verarbeitung des Worts 7up in einer Tracetabelle dar (Zeichen, Spalte, neuer Wert von zustand). Welchen Wert hat zustand am Ende?
zustand = delta[zustand][spalte] — erst die Spalte des Zeichens bestimmen, dann in der Zeile des aktuellen Zustands nachsehen.Lösung anzeigen
| Zeichen | Spalte | zustand vorher | zustand nachher |
|---|---|---|---|
7 | 1 | 0 | 2 |
u | 0 | 2 | 2 |
p | 0 | 2 | 2 |
zustand = 2 (zF): Ein Bezeichner darf nicht mit einer Ziffer beginnen; aus zF gibt es kein Zurück.
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.
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.
Das Treppenhauslicht wird durch einen Mealy-Automaten gesteuert: T ist der Tastendruck, t meldet „eine Minute vergangen“.
Ordnen Sie die Zeichen T, t, an, aus und \(\varepsilon\) dem Eingabealphabet \(\Sigma\) oder dem Ausgabealphabet \(\Omega\) zu. Wie viele Elemente hat \(\Omega\)?
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.
