190 likes | 477 Views
Informatik JgSt. 13, Abitur 2009. Endliche Automaten. Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel. Informatik JgSt. 13, Abitur 2009. Was versteht man unter einem endlichen Automaten ?.
E N D
Informatik JgSt. 13, Abitur 2009 Endliche Automaten Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009 Was versteht man unter einem endlichen Automaten ? 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". Ein endlicher Automat wird auch Zustandsmaschine genannt. Sie ist ein Modell des Verhaltens, bestehend aus Zuständen, Zustandsübergängen und Aktionen Hans-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 Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009 Definition eines endlichen Automaten • Ein endlicher Automat ist ein Quintupel • M = ( Q, S, d, q0, E ) mit: • Q: endliche Menge von Zuständen • S: Eingabealphabet, Q Ç S = Æ • d: Überführungsfunktion Q x S Q • q0: einem Startzustand, q0Î Q • E: endliche Menge von Endzuständen Hans-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 d wird in diesem Fall durch Pfeile dargestellt. Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009 Man kann d 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. Hans-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}, d, q0,{q1, q2, q4, q6}) Wobei d als Tabelle angegeben werden muss. Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009 Determiniertheit eines endlichen Automaten Wird 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. Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel
Informatik JgSt. 13, Abitur 2009 Zurück zum Eingangsbeispiel: Das Eingangswort aaaab liefert den Endzustand q4. • Wohin führen die Eingabeworte: • aaaaab • abbbb • abababab • aab ? Fehlerquelle: Bei dem Eingabewort abaaaba hängt sich der Automat auf. Hans-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 S, die Überführungsfunktion d auch als Tabelle an, sowie den Startzustand q0 und die Menge der Endzustände. Hans-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. Hans-Detmar Pelz, Willy-Brandt-Gesamtschule, Castrop-Rauxel