Upload
amalric-redmer
View
109
Download
4
Embed Size (px)
Citation preview
1
Endliche Automaten
Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
2Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Ein endlicher Automat ist ein (mathematisches) Modell eines Systems mit diskreten Ein- und Ausgaben.
Das System befindet sich in einem aus einer endlichen Anzahl von inneren Konfigurationen - sogenannten "Zuständen".
Was versteht man unter einem
endlichen Automaten ?
Ein endlicher Automat wird auch Zustandsmaschine genannt.
Sie ist ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen
3Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Wozu dient ein endlicher Automat?
Ein endlicher Automat dient als Werkzeug zur Modellierung von Problemen aus der Wirklichkeit.
Er ist ein mathematisches Modell für viele Vorgänge wie z. B.
•Vorgänge beim Telefonieren
•Durchführung von Additionen
•Bedienung einer Kaffeemaschine
•Steuerung von Fahrstühlen
•Bedienung eines Fahrkartenautomaten
4Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Definition eines endlichen Automaten
Ein endlicher Automat ist ein Quintupel
M = ( Q, , , q0, E ) mit:
• Q: endliche Menge von Zuständen
• : Eingabealphabet, Q S = • : Überführungsfunktion Q x Q
• q0: einem Startzustand, q0 Q
• E: endliche Menge von Endzuständen
5Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Symbolische Darstellung eines
endlichen Automaten
Dabei wird der Anfangszustand zusätzlich durch einen Pfeil gekennzeichnet
Alle Endzustände kennzeichnet man durch einen doppelten Rand.
Die Überführungsfunktion wird in diesem Fall durch Pfeile dargestellt.
6Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Man kann auch durch eine Tabelle darstellen.
Da die nebenstehende Tabelle vollständig ausgefüllt ist, liegt hier eine totale Funktion vor.Das bedeutet:
Jeder Zustand besitzt einen Folgezustand.
Dieser kann auch wieder der Zustand selber sein.
Übrigens:
In einer solchen Tabelle kann man nicht erkennen, welches die Endzustände sind.
7Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Darstellung als Quintupel
Damit ist M:
M : ({q0, q1, q2, q3, q4, q5, q6},{a, b}, , q0,{q1, q2, q4, q6})
Wobei als Tabelle angegeben werden muss.
8Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009Determiniertheit eines endlichen AutomatenWird der Startzustand durch die Eingabe eines Wortes auf einem eindeutig festgelegten Weg in einen Endzustand überführt, handelt es sich um einen deterministischen Automaten.
Das heißt: jeder Zustand liefert genau einen Folgezustand.Beispiele dafür: Fahrkartenautomat, Getränkeautomat, Aufzug, etc.
Stehen einem oder mehreren Zuständen mehrere Folgezustände zur Verfügung, die nur durch Zufall bestimmt werden können, handelt es sich um einen nichtdeterministischen Automaten.
Beispiele dafür: alle Spielautomaten.
9Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Zurück zum Eingangsbeispiel:
Das Eingangswort aaaab liefert den Endzustand q4.
Fehlerquelle:
Bei dem Eingabewort abaaaba hängt sich der Automat auf.
Wohin führen die Eingabeworte:
• aaaaab
• abbbb
• abababab
• aab ?
10Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Schriftlicher Auftrag:
Zeichne für Deinen Fahrkartenautomaten die symbolische Darstellung eines endlichen Automaten.
Gib dazu die Menge der Zustände Q, das Eingabealphabet , die Überführungsfunktion auch als Tabelle an, sowie den Startzustand q0 und die Menge der Endzustände.
11Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009
Auftrag 2:
Schreibe ein Programm, welches den größten gemeinsamen Teiler (ggT) zweier Zahlen a und b findet.
Tipp:
Man ersetzt so lange die größere der beiden Zahlen durch ihre Differenz, bis beide auf diese Weise behandelten Zahlen gleich sind.