MINT lernen

Übungen: Der DEA

Zehn Übungen zu Alphabet, Zustandsfolge und akzeptierten Wörtern — mit Graph und Tabelle.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn Übungen zum Ablesen, Verfolgen, Übersetzen und Zählen — von AFB I bis AFB III. Jede Übung gibt sofort Rückmeldung; wenn Sie nicht weiterkommen, helfen die gestuften Tipps.

A1
Was macht einen DEA aus?
AFB I

Nennen Sie alle Aussagen, die für jeden deterministischen endlichen Automaten gelten.

Mehrere Antworten sind richtig. Markieren Sie alle zutreffenden und klicken Sie dann auf „Prüfen“.
Ein DEA ohne Endzustand ist erlaubt — er akzeptiert eben kein einziges Wort. ε ist ein Wort (das Wort der Länge 0), kein Zeichen. Typischer Fehler: zwei a-Pfeile aus einem Zustand zulassen. Dann wäre der Folgezustand nicht mehr eindeutig — genau das verbietet „deterministisch“.
Ansatz: Gehen Sie die Bausteine durch: Σ, Zustände, Startzustand, Endzustände, Übergänge. Was sagt die Definition jeweils genau?
Weiter: „Genau ein Folgezustand“ schließt zwei Dinge aus: gar keinen Pfeil und mehrere Pfeile mit demselben Zeichen.
A2
Ganze Zahlen mit Vorzeichen
AFB I

Ordnen Sie jedes Wort zu: Nimmt der Automat es an oder lehnt er es ab?

Ganze Zahlen: Σ = {+, −, 0, 1, …, 9}, d steht für eine beliebige Ziffer
z0z1z2+, −ddd

Nicht eingezeichnete Übergänge führen in einen Fehlerzustand zF.

Ziehen Sie jede Karte in den passenden Korb — oder wählen Sie sie mit Enter aus und drücken dann die Ziffer des Korbs (0 legt sie zurück).
1akzeptiert
2abgelehnt
0815 wird angenommen — der Automat verbietet führende Nullen nicht. − allein endet in z1, ε bleibt in z0: beides keine Endzustände. 4−2 und +−3 laufen in den nicht gezeichneten Fehlerzustand. Typischer Fehler: nach dem eigenen Zahlgefühl entscheiden statt nach dem Graphen.
Ansatz: Verfolgen Sie jedes Wort Zeichen für Zeichen ab z0. Fehlt ein Pfeil, landet das Wort im Fehlerzustand.
Weiter: Nur z2 ist Endzustand. Wo steht der Automat nach dem leeren Wort?
A3
Automat als Tabelle
AFB I

Der Automat über \(\Sigma=\{0,\,1\}\) ist als Übergangstabelle gegeben (→ Startzustand, doppelt unterstrichen: Endzustand). Lesen Sie der Tabelle ab, ob die Aussagen stimmen.

Zustand01
z0z0z1
z1z1z2
z2z2z2
5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann starten Sie die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Die Tabelle enthält dieselbe Information wie ein Graph: Zeile = aktueller Zustand, Spalte = gelesenes Zeichen, Feld = Folgezustand. Typischer Fehler: jeden Zustand, den man nicht mehr verlassen kann, für einen Fehlerzustand halten. Es kommt darauf an, ob er Endzustand ist.
Ansatz: Lesen Sie Zeile für Zeile: In welcher Zeile stehen Sie gerade, in welcher Spalte steht das nächste Zeichen?
Weiter: Doppelt unterstrichen ist nur z2. Eine „Falle“ kann gut (Endzustand) oder schlecht (Fehlerzustand) sein.
A4
Ein Wort Zeichen für Zeichen
AFB I

Geben Sie die Zustandsfolge an, die der Automat beim Lesen von abbaba durchläuft, und entscheiden Sie über das Wort.

Σ = {a, b}
z0z1z2z3ababbaa, b
Wählen Sie in jedem Menü den passenden Eintrag und prüfen Sie dann alle auf einmal.

Wort: abbaba

Nach Zeichen 1 (a):

Nach Zeichen 2 (b):

Nach Zeichen 3 (b):

Nach Zeichen 4 (a):

Nach Zeichen 5 (b):

Nach Zeichen 6 (a):

Ergebnis: Das Wort wird .

z0 → z1 → z2 → z0 → z1 → z2 → z3: akzeptiert. Typischer Fehler beim dritten Zeichen: nach abb in z1 bleiben oder in z2 verharren. Der b-Pfeil aus z2 führt zurück nach z0 — das angefangene Muster ist zerstört.
Ansatz: Beginnen Sie im Startzustand z0 und folgen Sie für jedes Zeichen genau einem Pfeil.
Weiter: Aus z2 gibt es zwei Pfeile: a nach z3 und b zurück nach z0.
A5
Vom Graphen zur Tabelle
AFB II

Erstellen Sie die vollständige Übergangstabelle zum Graphen — einschließlich des Fehlerzustands.

Binärzahlen ohne führende Null, Σ = {0, 1}
z0z1z2010, 1

Nicht eingezeichnete Übergänge führen in einen Fehlerzustand zF.

Tragen Sie in jedes Feld den Folgezustand ein (z. B. z2 oder zF). Enter in einem Feld prüft ebenfalls.
Zustand01
z0
z1
z2
zF
Aus z1 fehlen beide Pfeile: Nach der Zahl 0 darf nichts mehr kommen, also δ(z1, 0) = δ(z1, 1) = zF. Der Fehlerzustand selbst braucht ebenfalls eine vollständige Zeile — er führt immer in sich selbst. Typischer Fehler: die zF-Zeile weglassen oder die Felder von z1 leer lassen. Eine vollständige Tabelle hat |Z| · |Σ| = 4 · 2 = 8 Einträge.
Ansatz: Übertragen Sie zuerst jeden gezeichneten Pfeil in die Tabelle. Welche Felder bleiben leer?
Weiter: Jedes leere Feld gehört laut Vermerk zu zF. Und aus zF heraus führt jedes Zeichen wieder nach zF.
A6
Wo landet das Wort?
AFB II

Bestimmen Sie für jedes Wort den Zustand nach dem letzten Zeichen und verbinden Sie beide.

Σ = {0, 1}
z0z1z2z300111100
Ansatz: Arbeiten Sie jedes Wort ab z0 Zeichen für Zeichen ab und notieren Sie die Zustände.
Weiter: Beobachten Sie: 0 wechselt immer zwischen linker und rechter Spalte, 1 zwischen oberer und unterer Zeile.
A7
Fehlersuche: Ist das ein DEA?
AFB II

Max prüft, ob der Graph einen DEA darstellt. Überprüfen Sie seine Notizen — drei Zeilen sind falsch.

Σ = {a, b} — ohne Vermerk zu einem Fehlerzustand
z0z1z2abaaba
In diesem Text stecken Fehler. Klicken Sie genau die falschen Zeilen an — die richtigen müssen stehen bleiben.
Zwei Mängel machen den Graphen zu „keinem DEA“: der doppelte a-Pfeil aus z1 und der fehlende b-Pfeil aus z2. Typischer Fehler: „unterwegs einen Endzustand erreichen“ mit Akzeptieren verwechseln — entschieden wird erst nach dem letzten Zeichen.
Ansatz: Prüfen Sie jede Zeile gegen die Definition: genau ein Folgezustand je Zustand und Zeichen, Entscheidung nach dem letzten Zeichen.
Weiter: Endzustände sind ganz normale Zustände mit Doppelkreis — sie dürfen Pfeile nach außen haben.
A8
Der DEA als Algorithmus
AFB II Mix

Verbinden Sie den DEA mit dem Kapitel Algorithmen. Erläutern Sie, wie ein Automat ein Wort abarbeitet, indem Sie die Lücken füllen. Drei Begriffe bleiben übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Ein DEA lässt sich direkt als Algorithmus ausführen: Eine liest das Wort Zeichen für Zeichen. In jedem Durchlauf bestimmt eine aus aktuellem Zustand und Zeichen den Folgezustand. Bei einem Wort der Länge n gibt es genau n Durchläufe — die Laufzeit wächst mit der Wortlänge. Als Speicher genügt eine einzige für den aktuellen Zustand, egal wie lang das Wort ist. Zurückgegeben wird am Ende ein : wahr genau dann, wenn der letzte Zustand ein Endzustand ist.

Eine Zählschleife über die Zeichen, darin eine Fallunterscheidung (in Java etwa switch) — jedes Zeichen wird genau einmal angefasst: lineare Laufzeit. Der Speicherbedarf bleibt konstant, denn der Automat merkt sich nur seinen Zustand, nie die gelesenen Zeichen. Genau das bedeutet „endlich“. Typischer Fehler: eine Reihung aller gelesenen Zeichen anlegen. Die braucht ein DEA nie.
Ansatz: Überlegen Sie, wie Sie die Verarbeitung in Pseudocode schreiben würden: Welche Kontrollstrukturen kommen vor?
Weiter: Wie oft wird jedes Zeichen gelesen? Was muss zwischen zwei Durchläufen gespeichert bleiben?
A9
Wie viele Übergänge wirklich?
AFB III Trick

Der Graph aus A2 zeigt nur sechs Pfeilbeschriftungen. Berechnen Sie, wie viele Übergänge der vollständige DEA zu \(\Sigma=\{+,\,-,\,0,\,1,\,\dots,\,9\}\) hat — mit Fehlerzustand.

Überlegen Sie selbst und tragen Sie das Ergebnis ein — Enter prüft direkt.
Zustände: z0, z1, z2 und zF — also 4. Das Alphabet hat 12 Zeichen: +, − und die zehn Ziffern. Vollständig heißt: für jeden Zustand und jedes Zeichen genau ein Übergang, also \(4\cdot 12=48\). Typischer Fehler: die Abkürzung d als ein Zeichen zählen (\(4\cdot 3=12\)) oder den Fehlerzustand vergessen (\(3\cdot 12=36\)).
Ansatz: Ein vollständiger DEA hat |Z| · |Σ| Übergänge. Zählen Sie Z und Σ sorgfältig.
Weiter: Das Kürzel d steht für zehn verschiedene Zeichen — und zF ist ein Zustand wie jeder andere.
A10
Die Sprache des Automaten aus A4
AFB III

Analysieren Sie die Sprache \(L(A)\) des Automaten aus A4, indem Sie Wörter systematisch zählen.

Arbeiten Sie die Kette Schritt für Schritt ab: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Anzahl aller Wörter der Länge 4 über Σ = {a, b}
  2. Davon akzeptiert
  3. Akzeptierte Wörter der Länge 5
  4. Länge des kürzesten akzeptierten Worts, das mit bb beginnt
Der Automat akzeptiert genau die Wörter, die aba enthalten. Länge 4: abaa, abab, aaba, baba. Länge 5: 11 von 32 Wörtern. Das kürzeste mit bb beginnende ist bbaba. Typischer Fehler: Wörter mit aba doppelt zählen, wenn das Muster zweimal vorkommt (z. B. ababa) — jedes Wort zählt nur einmal.
Ansatz: Über einem Alphabet mit zwei Zeichen gibt es \(2^n\) Wörter der Länge n. Suchen Sie das Muster aba an jeder möglichen Position.
Weiter: Länge 5: aba kann an Position 1, 2 oder 3 beginnen; zählen Sie die Wörter, nicht die Vorkommen.