www.wikidata.de-de.nina.az
Ein endlicher Automat EA auch Zustandsmaschine Zustandsautomat englisch finite state machine FSM ist ein Modell eines Verhaltens bestehend aus Zustanden Zustandsubergangen und Aktionen Ein Automat heisst endlich wenn die Menge der Zustande die er annehmen kann spater S genannt endlich ist Ein endlicher Automat ist ein Spezialfall aus der Menge der Automaten Abbildung 1 Beispiel eines EA der eine Tur beschreibtEin Zustand kann Information uber die Vergangenheit beinhalten da das System ihn ja auf dessen bisherigem Weg erreicht hat d h er reflektiert in gewissem Umfang die Anderungen der Eingabe seit dem Systemstart bis zum aktuellen Zeitpunkt Ein Zustandsubergang ist ein Ubergang aus dem aktuellen Zustand in einen neuen anderen Zustand Zu diesem Ubergang kommt es wenn die angegebenen logischen Bedingungen Eingaben vorliegen die erfullt sein mussen um den Ubergang zu ermoglichen Eine Aktion ist die Ausgabe des EA die in einer bestimmten Situation erfolgt Es gibt vier Typen von Aktionen Eingangsaktion Die Aktion wird ausgefuhrt ausgegeben beim Eintreten in einen Zustand egal uber welchen Zustandsubergang der Zustand erreicht wurde falls es mehrere gibt Ausgangsaktion Die Aktion wird beim Verlassen eines Zustandes generiert egal uber welchen Zustandsubergang der Zustand verlassen wird Eingabeaktion Die Aktion wird abhangig vom aktuellen Zustand und der Eingabe generiert Einem Zustand konnen also mehrere Aktionen zugeordnet sein die abhangig davon ausgefuhrt werden uber welchen Zustandsubergang er erreicht verlassen wird Ubergangsaktion Die Aktion wird abhangig wahrend eines Zustandsubergangs ausgefuhrt Ein EA kann als Zustandsubergangsdiagramm wie in Abbildung 1 dargestellt werden Zusatzlich werden mehrere Typen von Ubergangstabellen bzw Zustandsubergangstabellen benutzt Die folgende Tabelle zeigt eine sehr verbreitete Form von Ubergangstabellen Die Kombination aus dem aktuellen Zustand B und Eingabe Y fuhrt zum nachsten Zustand C Die komplette Information uber die moglichen Aktionen wird mit Hilfe von Fussnoten angegeben Eine Definition des EA die auch die volle Ausgabeinformation beinhaltet ist mit Zustandstabellen moglich die fur jeden Zustand einzeln definiert werden siehe auch virtueller EA Ubergangstabelle Momentaner Zustand Element des Eingabealphabets Element des Eingabealphabets 1 Element des Eingabealphabets 2 Element des Eingabealphabets 3Zustand A Zustand B Zustand C Zustand C Die Definition des EA wurde ursprunglich in der Automatentheorie eingefuhrt und spater in der Computertechnik ubernommen Zustandsmaschinen werden hauptsachlich in der Entwicklung digitaler Schaltungen Modellierung des Applikationsverhaltens Steuerungen generell in der Softwaretechnik sowie Wort und Spracherkennung benutzt Das Testen der Qualitat eines Systems umfasst die Uberprufung aller Zustande und Zustandsubergange indem alle potenziellen Eingaben in Betracht gezogen werden die eingegeben werden konnen In einigen Fallen wird der endliche Automat unter Verwendung einer Programmiersprache eingerichtet und Zustandsubergangsfunktionen werden ausgefuhrt Daruber hinaus kann kunstliche Intelligenz verwendet werden um Daten uber Systeme mit Mustererkennung und automatisierten Modellen zu sammeln Bei einfacheren Problemen konnen die gleichen Informationen in Tabellen Matrizen Abbildungen und Programmablaufplanen angezeigt werden aber mit endlichen Automaten konnen grossere und kompliziertere Szenarien modelliert werden 1 Inhaltsverzeichnis 1 Klassifizierung 1 1 Akzeptoren 1 2 Transduktoren Transducer 2 Die Logik des EA 3 Das mathematische Modell 4 Beispiel 5 Optimierung 6 Homing Folgen und UIO Folgen 6 1 Homing Folgen 6 2 UIO Folgen 7 Implementierung 7 1 Hardware 7 2 Software 7 3 Reale Computer als EA Server 8 Darstellung endlicher Automaten 9 Siehe auch 10 Literatur 11 Weblinks 12 EinzelnachweiseKlassifizierung BearbeitenGenerell werden zwei Gruppen von EA unterschieden Akzeptoren und Transduktoren Akzeptoren Bearbeiten nbsp Abbildung 2 EA vom Typ Akzeptor erkennt das Wort gut Sie akzeptieren und erkennen die Eingabe und signalisieren durch ihren Zustand das Ergebnis nach aussen In der Regel werden Symbole Buchstaben als Eingabe benutzt Das Beispiel in der Abbildung 2 zeigt einen EA der das Wort gut akzeptiert Akzeptoren werden vorwiegend in der Wort und Spracherkennung eingesetzt Transduktoren Transducer Bearbeiten Transduktoren generieren Ausgaben in Abhangigkeit von Zustand und Eingabe mit Hilfe von Aktionen Sie werden vorwiegend fur Steuerungsaufgaben eingesetzt wobei grundsatzlich zwei Typen unterschieden werden nbsp Abbildung 3 EA vom Typ Transduktor Moore ModellMoore Automat Im Moore Modell werden nur Eingangsaktionen benutzt d h die Ausgabe G displaystyle Gamma nbsp hangt nur vom Zustand S displaystyle S nbsp ab S G displaystyle S to Gamma nbsp Das Verhalten eines Moore Automaten ist dadurch verglichen mit dem Mealy Modell einfacher und leichter zu verstehen Das Beispiel in Abbildung 3 zeigt einen Moore Automaten der eine Aufzugtur steuert Die Zustandsmaschine kennt zwei Befehle aufmachen und zumachen die von einem Benutzer eingegeben werden konnen Die Eingangsaktion E im Zustand Aufgehend startet einen Motor der die Tur offnet und die Eingangsaktion im Zustand Zugehend startet den Motor in entgegengesetzter Richtung Die Eingangsaktionen in den Zustanden Auf und Zu halten den Motor an Sie signalisieren ausserdem die Situation nach aussen z B zu anderen EA nbsp Abbildung 4 EA vom Typ Transduktor Mealy ModellMealy Automat Im Mealy Modell werden Eingabeaktionen benutzt d h die Ausgabe G displaystyle Gamma nbsp hangt von Zustand S displaystyle S nbsp und Eingabe S displaystyle Sigma nbsp ab S S G displaystyle S times Sigma to Gamma nbsp Der Einsatz von Mealy Automaten fuhrt oft zu einer Verringerung der Anzahl zu berucksichtigender Zustande Die Funktion des EA ist dadurch komplexer und oft schwieriger zu verstehen Das Beispiel in der Abbildung 4 zeigt einen Mealy EA der das gleiche Verhalten wie der EA im Moore Beispiel aufweist Dabei gibt es zwei Eingabeaktionen I mit starte den Motor um die Tur zu schliessen wenn die Eingabe zumachen erfolgt und starte den Motor in entgegengesetzter Richtung um die Tur zu offnen wenn die Eingabe aufmachen erfolgt Sofern das zeitliche Verhalten unberucksichtigt bleiben kann sind Moore und Mealy Automaten gleichwertig Unter dieser Voraussetzung kann der eine in den jeweils anderen uberfuhrt werden oft werden in der Praxis Mischmodelle benutzt Im Bereich des synchronen Systemdesigns Digitalelektronik dagegen gibt es wichtige Unterschiede die nicht ausser Acht gelassen werden durfen Diese betreffen sowohl die unterschiedliche Zahl von Zustanden als auch die zeitliche Charakteristik der generierten Kontrollsignale 2 Eine weitere Klassifizierung der EA wird durch die Unterscheidung zwischen deterministischen DEA und nicht deterministischen NEA Automaten gemacht In den deterministischen Automaten existiert fur jeden Zustand genau ein Ubergang fur jede mogliche Eingabe Bei den nicht deterministischen Automaten kann es keinen oder auch mehr als einen Ubergang fur die mogliche Eingabe geben Ein EA der nur aus einem Zustand besteht wird als kombinatorischer EA bezeichnet Er benutzt nur Eingabeaktionen Die Logik des EA Bearbeiten nbsp Abbildung 5 Die Logik eines EA Moore Typ Der nachste Zustand und die Ausgabe des EA ist eine Funktion der Eingabe und des aktuellen Zustandes Abbildung 5 zeigt den Ablauf der Logik Das mathematische Modell BearbeitenEs gibt unterschiedliche Definitionen je nach Typ des DEA Ein Akzeptor ist ein 5 Tupel Q s S F d displaystyle Q s Sigma F delta nbsp wobei Q displaystyle Q nbsp ist die endliche Zustandsmenge q 0 q x displaystyle q 0 q x nbsp s displaystyle s nbsp ist der Startzustand s Q displaystyle s in Q nbsp S displaystyle Sigma nbsp ist das endliche Eingabealphabet F displaystyle F nbsp ist die Endzustandsmenge F Q displaystyle F subset Q nbsp d displaystyle delta nbsp ist die Ubergangsfunktion sie lasst sich als Automatentafel oder als Zustandsubergangsgraph darstellen Ein Transduktor ist ein 7 Tupel S G S s 0 F d w displaystyle Sigma Gamma S s 0 F delta omega nbsp wobei S displaystyle Sigma nbsp ist das Eingabealphabet eine endliche nicht leere Menge von Symbolen G displaystyle Gamma nbsp ist das Ausgabealphabet eine endliche nicht leere Menge von Symbolen S displaystyle S nbsp ist eine endliche nicht leere Menge von Zustanden F displaystyle F nbsp ist die Endzustandsmenge F S displaystyle F subset S nbsp s 0 displaystyle s 0 nbsp ist der Anfangszustand und ein Element aus S displaystyle S nbsp d displaystyle delta nbsp ist die Zustandsubergangsfunktion d S S S displaystyle delta S times Sigma to S nbsp w displaystyle omega nbsp ist die Ausgabefunktion w S S G displaystyle omega S times Sigma to Gamma nbsp Falls die Ausgabefunktion eine Funktion von Zustand und Eingabealphabet ist w S S G displaystyle omega S times Sigma to Gamma nbsp dann handelt es sich um ein Mealy Modell Falls die Ausgabefunktion nur vom Zustand abhangt w S G displaystyle omega S to Gamma nbsp dann ist es ein Moore Modell Beispiel Bearbeiten nbsp Abbildung 6 Beispiel eines EADer EA in Abbildung 6 hat die Zustandsmenge S q 1 q 2 q 3 displaystyle S q 1 q 2 q 3 nbsp den Startzustand q 1 displaystyle q 1 nbsp das Eingabealphabet S a b displaystyle Sigma a b nbsp das Ausgabealphabet G 0 1 displaystyle Gamma 0 1 nbsp die Zustandsubergangsfunktion d S S S displaystyle delta S times Sigma to S nbsp mit d q 1 a q 3 displaystyle delta q 1 a q 3 nbsp d q 1 b q 2 displaystyle delta q 1 b q 2 nbsp d q 2 a q 1 displaystyle delta q 2 a q 1 nbsp d q 2 b q 2 displaystyle delta q 2 b q 2 nbsp d q 3 a q 1 displaystyle delta q 3 a q 1 nbsp d q 3 b q 2 displaystyle delta q 3 b q 2 nbsp und die Ausgabefunktion w S S G displaystyle omega S times Sigma to Gamma nbsp mit w q 1 a 0 displaystyle omega q 1 a 0 nbsp w q 1 b 1 displaystyle omega q 1 b 1 nbsp w q 2 a 1 displaystyle omega q 2 a 1 nbsp w q 2 b 1 displaystyle omega q 2 b 1 nbsp w q 3 a 0 displaystyle omega q 3 a 0 nbsp w q 3 b 0 displaystyle omega q 3 b 0 nbsp Optimierung BearbeitenEin EA wird optimiert indem die Zustandsmaschine mit der geringsten Anzahl von Zustanden gefunden wird die die gleiche Funktion erfullt Dieses Problem kann zum Beispiel mit Hilfe von Farbungsalgorithmen gelost werden Siehe auch Minimierung eines DEAHoming Folgen und UIO Folgen BearbeitenHoming Folgen Bearbeiten Eine Homing Folge auch Homing Sequenz ist eine Folge von Eingaben sodass sich anhand der Ausgaben bestimmen lasst in welchem Zustand sich die Maschine danach befindet Dadurch kann bei stark zusammenhangenden Zustandsmaschinen sehr leicht eine Folge gefunden werden um wieder zum Initialzustand zuruckzukehren also nach Hause englisch home Jede minimale Zustandsmaschine besitzt eine Homing Folge Homing Folge zu Abbildung 6 Eingabe mogliche Zustandsmengen bei welcher Ausgabe e q 1 q 2 q 3 displaystyle q 1 q 2 q 3 nbsp a q 1 q 3 0 q 1 1 displaystyle q 1 q 3 0 q 1 1 nbsp aa q 1 q 3 00 q 3 10 displaystyle q 1 q 3 00 q 3 10 nbsp ab q 2 00 q 2 01 q 2 11 displaystyle q 2 00 q 2 01 q 2 11 nbsp b q 2 1 q 2 0 displaystyle q 2 1 q 2 0 nbsp UIO Folgen Bearbeiten Eine UIO Folge Unique Input Output Folge ist eine Folge von Eingaben um anhand der Ausgaben zu bestimmen aus welchem Zustand man gestartet ist Eine solche Folge existiert nicht immer das Problem eine zu finden ist PSPACE vollstandig Beispiel UIO Folgen zu Abbildung 6 q 1 displaystyle q 1 nbsp a 0 displaystyle a 0 nbsp a 0 displaystyle a 0 nbsp b 1 displaystyle b 1 nbsp q 2 displaystyle q 2 nbsp a 1 displaystyle a 1 nbsp q 3 displaystyle q 3 nbsp b 0 displaystyle b 0 nbsp Implementierung BearbeitenHardware Bearbeiten In digitalen Schaltungen werden EA mit Hilfe von speicherprogrammierbaren Steuerungen logischen Gattern Flip Flops oder Relais gebaut Eine Hardwareimplementation benotigt normalerweise ein Register um die Zustandsvariable zu speichern eine Logikeinheit die die Zustandsubergange bestimmt eine zweite Logikeinheit die fur die Ausgabe verantwortlich ist sowie einen Taktgeber oder ein Verzogerungsglied um zwischen vorherigem aktuellem und nachfolgendem Zustand weiterschalten unterscheiden zu konnen Software Bearbeiten In der Softwareentwicklung werden meist folgende Konzepte verwendet um Applikationen mit Hilfe von Zustandsmaschinen zu modellieren bzw implementieren Ereignisgesteuerter endlicher Automat Virtueller endlicher AutomatReale Computer als EA Server Bearbeiten Alle in der wirklichen Welt existenten digitalen Computer haben eine endliche Speichergrosse und konnen somit nur eine endliche wenn auch sehr hohe Zahl von digitalen Schaltzustanden annehmen Sie lassen sich daher als Teilmenge der endlichen Automaten betrachten Jedoch ist es fur theoretische Betrachtungen oft nutzlicher sie stattdessen als Teilmenge leistungsfahigerer Automatenmodelle wie etwa der Turingmaschine zu betrachten Darstellung endlicher Automaten BearbeitenDie allgemeinen Regeln fur das Zeichnen eines Zustandsubergangsdiagramms sind wie folgt Kreise stellen Zustande dar Im Kreis steht der Name des Zustands Pfeile zwischen Zustanden stellen die Transitionen dar Auf jedem Pfeil steht welche Bedingungen den Ubergang ermoglichen Siehe auch BearbeitenBehavior Tree Chomsky Hierarchie Ragel Zellularer AutomatLiteratur BearbeitenJohn E Hopcroft Jeffrey Ullman Einfuhrung in die Automatentheorie formale Sprachen und Komplexitatstheorie 2 Auflage Addison Wesley Bonn Munchen 1990 ISBN 3 89319 181 X englisch Originaltitel Introduction to automata theory languages and computation Peter Sander Wolffried Stucky Rudolf Herschel Automaten Sprachen Berechenbarkeit Teubner Stuttgart 1992 ISBN 3 519 02937 5 Ferdinand Wagner Modeling Software with Finite State Machines A Practical Approach Auerbach Boca Raton 2006 ISBN 0 8493 8086 3 Zvi Kohavi Switching and Finite Automata Theory McGraw Hill New York 1978 ISBN 0 07 035310 7 englisch Arthur Gill Introduction to the Theory of Finite state Machines McGraw Hill New York 1962 englisch Heinz Dietrich Wuttke Karsten Henke Schaltsysteme Eine automatenorientierte Einfuhrung Pearson Studium Munchen 2003 ISBN 3 8273 7035 3 Weblinks BearbeitenEndlicher Automat mit der Moglichkeit zum Ausprobieren hwlang de Formale Sprachen und Abstrakte Automaten Kurs von Tino Hempel Kara Programmieren mit endlichen Automaten Kurs Spielerisch den Marienkafer Kara als EA programmieren und Aufgaben losen JFLAP Java Programm zum Erstellen von Automaten aller Art englisch FSM Creator Programm zum Erstellen von endlichen Automaten englisch Sinelabore Erzeugt C C Java Code aus UML Zustandsdiagrammen Der Fokus liegt auf Embedded Systems englisch Automaton Java Quellcode Beispiel fur einen endlichen Automaten englisch deutsche Kommentare YAKINDU Statechart Tools Ein Open Source Werkzeug zur Spezifikation und Entwicklung von reaktiven ereignisgesteuerten Systemen mit Hilfe von Zustandsautomaten C Fsm Framework ein event getriebenes Zustandsmaschinen Framework fur C mit PERL script zur Generierung von PlantUML Dateien zur FSM Dokumentation Einzelnachweise Bearbeiten TechTarget finite state machine Pong P Chu RTL Hardware Design using VHDL Wiley Interscience 2006 ISBN 0 471 72092 5 Kapitel 10 insbesondere 10 4 Moore machine versus Mealy machine Abgerufen von https de wikipedia org w index php title Endlicher Automat amp oldid 237222523