Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:automaten:dea:start [23.05.2022 16:26] – [Die Übergangsmatri x] sbel | faecher:informatik:oberstufe:automaten:dea:start [11.03.2025 14:24] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Deterministische endliche Automaten ====== | ====== Deterministische endliche Automaten ====== | ||
- | DEA ist die deutsche Abkürzung für // | + | DEA ist die deutsche Abkürzung für // |
===== Definition ===== | ===== Definition ===== | ||
- | Eine DEA ist ein 5-Tupel '' | + | Ein DEA ist ein 5-Tupel '' |
* '' | * '' | ||
Zeile 14: | Zeile 14: | ||
Den **Übergang** von einem Zustand zum nächsten bezeichnet man auch als **Transition** oder **Zustandsübergang**. | Den **Übergang** von einem Zustand zum nächsten bezeichnet man auch als **Transition** oder **Zustandsübergang**. | ||
+ | |||
+ | <WRAP center round tip 90%> | ||
+ | Ein **deterministischer** endlicher Automat (deterministisch = klar definierte Zustände & Übergänge, | ||
+ | * Von einem Zustand q1 kann es keine 2 möglichen Übergänge geben, die beide dasselbe Alphabetzeichen verarbeiten. -> Pro Alphabetzeichen gibt es nur einen möglichen Weg! | ||
+ | * Ebenso darf es nur einen einzigen Startzustand geben. | ||
+ | |||
+ | Das Wort **endlich** bezieht sich darauf, dass es eine endliche Menge von Zuständen gibt (also nicht // | ||
+ | </ | ||
+ | |||
===== Darstellung ===== | ===== Darstellung ===== | ||
- | Ein DEA wir häufig durch seinen <color green/ | + | Ein DEA wird häufig durch seinen <color green/ |
{{ : | {{ : | ||
Zeile 30: | Zeile 39: | ||
==== Die Übergangsmatrix==== | ==== Die Übergangsmatrix==== | ||
- | Die Übergangsfunktion δ kann auch als <color green/ | + | Die Übergangsfunktion δ kann auch als <color green/ |
In den Tabellenzellen wird vermerkt, zu welchem Zustand der Automat wechselt, wenn er zuvor im Zustand der ersten Spalte war und dann die Eingabe der ersten Zeile erfolgt. Die Übergangstabelle für das obige Beispiel sieht also so aus: | In den Tabellenzellen wird vermerkt, zu welchem Zustand der Automat wechselt, wenn er zuvor im Zustand der ersten Spalte war und dann die Eingabe der ersten Zeile erfolgt. Die Übergangstabelle für das obige Beispiel sieht also so aus: | ||
Zeile 40: | Zeile 49: | ||
| q3 | | | | | q3 | | | | ||
- | Das bedeutet im Beispiel: Wenn der Automat sich im Zustand **q1** befindet, und es Erfolgt | + | Das bedeutet im Beispiel: Wenn der Automat sich im Zustand **q1** befindet, und es erfolgt |
Nun fällt auf, dass die Tabelle unvollständig ist: Wenn der Automat sich im Zustand **q1** befindet, und die Eingabe **b** erfolgt, ist kein Ziel angegeben, denn der Automat akzeptiert an dieser Stelle die Eingabe **b** überhaupt nicht. Das liegt daran, dass im Übergangsdiagramm der Fehlerzustand der Übersichtlichkeit halber weggelassen wurde. Das vollständige Diagramm sieht so aus: | Nun fällt auf, dass die Tabelle unvollständig ist: Wenn der Automat sich im Zustand **q1** befindet, und die Eingabe **b** erfolgt, ist kein Ziel angegeben, denn der Automat akzeptiert an dieser Stelle die Eingabe **b** überhaupt nicht. Das liegt daran, dass im Übergangsdiagramm der Fehlerzustand der Übersichtlichkeit halber weggelassen wurde. Das vollständige Diagramm sieht so aus: | ||
Zeile 64: | Zeile 73: | ||
=== (A1) === | === (A1) === | ||
- | Gegeben ist der folgende DEA: M = ({z0, | + | Gegeben ist der folgende DEA: M = ({z0, |
- | ^ δ | + | ^ δ |
- | | z0 | z1 | z3 | | + | | z0 | z1 |
- | | z1 | z2 | z0 | | + | | z1 | z2 |
- | | z2 | z3 | z1 | | + | | z2 | z3 |
- | | z3 | z0 | z2 | | + | | z3 | z0 |
* Welches sind die Zustände des DEA, was der Start, was gültige Endzustände? | * Welches sind die Zustände des DEA, was der Start, was gültige Endzustände? | ||
- | * Welche Eingaben akzeptiert der Automat? | ||
* Erstelle ein Zustandsübergangsdiagramm für den DEA | * Erstelle ein Zustandsübergangsdiagramm für den DEA | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | Entwickle einen DEA, der als Eingabemenge | ||
+ | |||
+ | * Gib einen Übergangsgraphen an | ||
+ | * Gib eine Darstellung als Übergangsmatrix an | ||
+ | |||
+ | == Beispieleingaben: | ||
+ | |||
+ | 1000111110110 wird akzeptiert | ||
+ | 1011101000111 wird nicht akzeptiert | ||
+ | |||
+ | ++++ Hilfestellung | | ||
+ | Betrachte zunächst besondere Wörter wie etwa | ||
+ | '' | ||
+ | diese akzeptiert werden oder nicht. | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Es soll ein DEA entworfen werden, der alle Worte der Form a< | ||
+ | |||
+ | * Gib einen Übergangsgraphen an | ||
+ | * Gib eine Darstellung als Übergangsmatrix an | ||
+ | |||
+ | == Beispieleingaben: | ||
+ | |||
+ | aaa wird akzeptiert | ||
+ | aaaa wird akzeptiert | ||
+ | aaaaa wird nicht akzeptiert | ||
+ | aaaaaa | ||
+ | |||
+ | |||
+ | ++++ Hilfestellung 1 | Welche Eingaben akzeptiert der folgende Automat? | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Wie würde ein Automat aussehen, der allen Eingaben akzeptiert, bei denen die Anzahl der a's durch 4 teilbar ist? | ||
+ | |||
+ | |||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++ Hilfestellung 2 - Antwort auf die Frage aus Hilfestellung 1 | | ||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ++++ Hilfestellung 3 | Welches ist die erste Anzahl von a's, bei denen beide Kriterien zutreffen? Welche Zustände zuvor sind gültige Endzustände? | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | ++++ Lösung | | ||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | ==== Material ==== | ||
+ | |||
+ | {{simplefilelist> | ||
+ | |||
+ | {{tag> DEA Übergangsmatrix Übergangsgraph}} |