www.wikidata.de-de.nina.az
Ein deterministischer endlicher Automat DEA englisch deterministic finite state machine oder deterministic finite automaton DFA ist in der theoretischen Informatik ein endlicher Automat der unter Eingabe eines Zeichens seines Eingabealphabetes den moglichen Eingaben von einem Zustand in dem er sich befindet in einen eindeutig bestimmten Folgezustand wechselt Von jedem Final Zustand q n F Q displaystyle q n in F cup Q muss fur jedes Zeichen des Eingabealphabets S displaystyle Sigma ein Ubergang in einen Folgezustand existieren 1 Er unterscheidet sich darin von nichtdeterministischen endlichen Automaten deren Zustandswechsel sich nicht immer deterministisch ereignen mussen Inhaltsverzeichnis 1 Definition 1 1 Automat 1 2 Verhalten 1 3 Verworfene Eingaben 1 4 Sprache eines DEA 2 Beispiele 2 1 Getrankeautomat 2 2 Regularer Ausdruck 3 Minimierung 4 Siehe auch 5 Literatur 6 Weblinks 7 EinzelnachweiseDefinition BearbeitenAutomat Bearbeiten Formal kann ein DEA A displaystyle mathfrak A nbsp als Quintupel 5 Tupel A Q S d q 0 F displaystyle mathfrak A left Q Sigma delta q 0 F right nbsp definiert werden Hierbei gilt Folgendes Q displaystyle Q nbsp ist eine endliche Zustandsmenge Weitere oft verwendete Symbole fur Q displaystyle Q nbsp sind Z displaystyle Z nbsp oder S displaystyle S nbsp S displaystyle Sigma nbsp ist das endliche Eingabealphabet also die Menge erlaubter Eingabesymbole d Q S Q displaystyle delta colon Q times Sigma rightarrow Q nbsp ist die Ubergangsfunktion oder Transitionsfunktion Sie ordnet jedem Paar bestehend aus einem Zustand q Q displaystyle q in Q nbsp und einem Eingabesymbol a S displaystyle a in Sigma nbsp einen Nachfolgezustand p Q displaystyle p in Q nbsp zu q 0 Q displaystyle q 0 in Q nbsp ist der Startzustand auch Anfangszustand oder Initalzustand F Q displaystyle F subseteq Q nbsp ist die Menge der akzeptierenden Zustande die sogenannten Finalzustande oder Endzustande Ein anderes ubliches Symbol fur F displaystyle F nbsp ist A displaystyle A nbsp Verhalten Bearbeiten Befindet sich der Automat A Q S d q 0 F displaystyle mathfrak A left Q Sigma delta q 0 F right nbsp in einem Zustand q Q displaystyle q in Q nbsp und liest das Eingabesymbol a S displaystyle a in Sigma nbsp wechselt er in einen neuen Zustand der durch die Ubergangsfunktion vorgegeben ist also in den Zustand d q a displaystyle delta q a nbsp Hat der Automat noch kein Eingabesymbol gelesen befindet er sich im Startzustand q 0 displaystyle q 0 nbsp Erhalt der Automat als Eingabe eine Folge von Eingabesymbolen in der theoretischen Informatik Wort genannt liest er von links nach rechts ein Symbol nach dem anderen und wechselt gemass der Ubergangsfunktion den Zustand Befindet sich der Automat nach dem Lesen des letzten Eingabesymbols in einem akzeptierenden Zustand q f F displaystyle q f in F nbsp akzeptiert er die Eingabe Man sagt dann dass sich das Eingabewort in der Menge der Worter befindet die vom Automaten akzeptiert werden kurz die vom Automaten akzeptierte Sprache siehe unten Verworfene Eingaben Bearbeiten Endet der Automat nach dem Lesen eines Eingabewortes in einem nicht akzeptierenden Zustand gilt die Eingabe als verworfen Wenn die Frage ob die Eingabe verworfen oder akzeptiert wird sich nicht erst mit dem letzten Eingabesymbol klart befindet sich ein minimaler Automat vorzeitig in einem Zustand den er nicht mehr verlasst Sprache eines DEA Bearbeiten Die Menge aller vom DEA A displaystyle mathfrak A nbsp akzeptierten Worter wird als Sprache L A displaystyle mathcal L mathfrak A nbsp von A displaystyle mathfrak A nbsp bezeichnet Die Menge aller Sprachen die von irgendeinem DEA akzeptiert werden ist die Klasse der regularen Sprachen Nichtdeterministische endliche Automaten NEA DEA und Typ 3 Grammatiken in der Chomsky Hierarchie beschreiben die gleiche Sprachklasse NEA lassen sich mittels Potenzmengenkonstruktion in aquivalente DEA wandeln Beispiele BearbeitenGetrankeautomat Bearbeiten Ein deterministischer endlicher Automat der einfache Ablaufe eines Getrankeautomaten nachbildet kann aus den Zustanden Q q 0 q 1 q 2 displaystyle Q q 0 q 1 q 2 nbsp bestehen welche folgende Zustande des Getrankeautomaten beschreiben Getrankeautomat wartet auf Munzeinwurf Getrankeautomat wartet auf Getrankewahl und Getrank wird ausgeschenkt Gultige Eingabesymbole konnten durch die Menge S Munze Getrank Abbruch Entnahme displaystyle Sigma text Munze text Getrank text Abbruch text Entnahme nbsp das Einwerfen einer Munze die Wahl eines Getranks das Abbrechen der Getrankewahl und die Entnahme eines Getranks beschreiben Ein Automat mit den Ubergangen d q 0 Munze q 1 displaystyle delta q 0 text Munze q 1 nbsp d q 1 Getrank q 2 displaystyle delta q 1 text Getrank q 2 nbsp d q 2 Entnahme q 0 displaystyle delta q 2 text Entnahme q 0 nbsp und d q 1 Abbruch q 0 displaystyle delta q 1 text Abbruch q 0 nbsp beschreibt dann dass zunachst mit einer Munze bezahlt wird anschliessend ein Getrank gewahlt wird welches entnommen werden muss bevor wieder von vorne begonnen werden kann Hat man die Munze eingeworfen aber noch kein Getrank ausgewahlt kann man auch noch abbrechen Verlangt man fur die Ubergange eine totale Funktion muss unter anderem auch ein Zustand angegeben werden in den der Automat bei Abbruch wechselt wenn ein Getrank bereits gewahlt aber noch nicht entnommen wurde nbsp Grafische Darstellung des DEA aus dem Beispiel nbsp Der entsprechende DEA mit totaler UbergangsfunktionRegularer Ausdruck Bearbeiten Der regulare Ausdruck a b c b a e displaystyle ab c ba mid varepsilon nbsp kann als folgender DEA dargestellt werden Zustandsmenge Q q 0 q 1 q 2 q 3 q 4 q 5 displaystyle Q q 0 q 1 q 2 q 3 q 4 q 5 nbsp Eingabealphabet S a b c displaystyle Sigma a b c nbsp partielle Ubergangsfunktion d Q S Q displaystyle delta colon Q times Sigma rightarrow Q nbsp mit d q 0 a q 1 displaystyle delta q 0 a q 1 nbsp d q 0 c q 3 displaystyle delta q 0 c 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 c q 3 displaystyle delta q 2 c q 3 nbsp d q 3 a q 1 displaystyle delta q 3 a q 1 nbsp d q 3 b q 4 displaystyle delta q 3 b q 4 nbsp d q 4 a q 5 displaystyle delta q 4 a q 5 nbsp d q 5 a q 1 displaystyle delta q 5 a q 1 nbsp Finalzustande F q 3 q 5 displaystyle F q 3 q 5 nbsp nbsp Grafische Darstellung des DEA aus dem BeispielMinimierung BearbeitenZu jedem DEA existiert ein bis auf die Benennung der Zustande eindeutiger minimaler Automat der dieselbe Sprache akzeptiert Da die Zustande des Minimalautomaten den Aquivalenzklassen der vom endlichen Automaten A displaystyle mathfrak A nbsp akzeptierten Sprache unter der Nerode Relation entsprechen spricht man auch vom Aquivalenzklassenautomat u L A v w S u w L A v w L A displaystyle u sim L mathfrak A v Longleftrightarrow forall w in Sigma uw in L mathfrak A Leftrightarrow vw in L mathfrak A nbsp Sei A Q S d q 0 F displaystyle mathfrak A Q Sigma delta q 0 F nbsp ein deterministischer endlicher Automat Dann ist B Q S d q 0 F displaystyle mathfrak B Q Sigma delta q 0 F nbsp mit Q w L A w S displaystyle Q Big w L mathfrak A mid w in Sigma Big nbsp q 0 ϵ L A displaystyle q 0 epsilon L mathfrak A nbsp d u L A a u a L A displaystyle delta u L mathfrak A a ua L mathfrak A nbsp F u L A u L A displaystyle F Big u L mathfrak A mid u in L mathfrak A Big nbsp der Aquivalenzklassenautomat zu A displaystyle mathfrak A nbsp Die Minimierung eines deterministischen Automaten kann algorithmisch durch fortwahrende Verfeinerung der Aquivalenzklassen gelost werden Man beginnt mit den Zustandsmengen F displaystyle F nbsp und Q F displaystyle Q F nbsp Fur jeden Buchstaben aus dem Alphabet wird nun jede Zustandsmenge dahingehend aufgeteilt dass die Uberfuhrungsfunktion die Zustande jeder neuen Menge den Buchstaben in eine jeweils eindeutige Menge abbildet Dies wird so oft wiederholt bis sich keine Anderung mehr ergibt Es besteht ausserdem die Moglichkeit minimale deterministische endliche Automaten inkrementell aufzubauen Inkrementell bedeutet hier dass die zu akzeptierenden Worte einzeln dem Automaten hinzugefugt werden Nach jedem Einfugen eines solchen Wortes ist der deterministische endliche Automat minimal Dieses Verfahren ist vor allem dann erfolgversprechend wenn die Worte haufig gemeinsame Pra und Suffixe teilen dies ist z B bei Worten aus naturlichen Sprachen der Fall Siehe auch BearbeitenZweiwege DFA Potenzautomat Eindeutiger endlicher AutomatLiteratur BearbeitenJohn E Hopcroft Rajeev Motwani Jeffrey D Ullman Einfuhrung in die Automatentheorie Formale Sprachen und Komplexitatstheorie 2 Auflage Pearson Studium Reading 2002 ISBN 3 8273 7020 5 Gottfried Vossen Kurt Ulrich Witt Grundkurs Theoretische Informatik 3 Auflage ISBN 3 528 23147 5 Peter Sander Wolffried Stucky Rudolf Herschel Automaten Sprachen Berechenbarkeit Teubner Stuttgart 1992 ISBN 3 519 02937 5 Uwe Schoning Ideen der Informatik Grundlegende Modelle und Konzepte Oldenbourg Munchen 2006 ISBN 3 486 57833 2 Jan Daciuk Bruce W Watson Richard E Watson Ul G Narutowicza Incremental Construction of Minimal Acyclic Finite State Automata and Transducers 1998 Weblinks BearbeitenAutomatonsimulator ein webbasierter grafischer Editor und Simulator englisch Einzelnachweise Bearbeiten Hans Werner Lang Konstruktion eines deterministischen endlichen Automaten Hochschule Flensburg 2007 abgerufen am 9 September 2018 Abgerufen von https de wikipedia org w index php title Deterministischer endlicher Automat amp oldid 238359980