www.wikidata.de-de.nina.az
Ein Automat oder eine abstrakte Maschine ist in der Informatik speziell in der Automatentheorie das Modell eines digitalen zeitdiskreten Rechners Ob es moglich oder sinnvoll ist eine solche Maschine tatsachlich zu bauen ist dabei zunachst unerheblich Die Vereinfachung der Fahigkeiten erlaubt es das Verhalten eines Automaten leichter zu verstehen und zu vergleichen Der Automatenbegriff spielt eine zentrale Rolle in der theoretischen Informatik In der Berechenbarkeitstheorie und in der Komplexitatstheorie etwa stellen die Automaten den zugrunde liegenden Berechnungsbegriff Automaten spielen auch in der praktischen Informatik eine entscheidende Rolle zum Beispiel im Compilerbau In der Digitaltechnik werden Automaten zur Steuerung in digitalen und hybriden Systemen eingesetzt Solche Steuerungsautomaten haben Anwendungen unter anderem in der Rechnerarchitektur in Rechnernetzen und in Reaktiven Systemen Inhaltsverzeichnis 1 Verhalten eines Automaten 2 Deterministische und nichtdeterministische Automaten 3 Automaten mit und ohne Ausgabe 4 Klassen von Automaten 5 Erweiterte Automatenbegriffe 6 AnwendungenVerhalten eines Automaten BearbeitenDas grundsatzliche Verhalten eines Automaten ist immer gleich Dem Automaten wird von aussen eine Eingabe als Folge von Zeichen vorgelegt Der Automat befindet sich in einem bestimmten Zustand Jedes Mal wenn ein Eingabezeichen eintrifft kann sich abhangig vom Eingabezeichen und dem gegenwartigen Zustand ein neuer Zustand der Folgezustand einstellen Zustandsubergang oder Transition Man kann die Menge der moglichen Zustandsubergange die das Verhalten des Automaten definiert als das Programm des Automaten verstehen Deterministische und nichtdeterministische Automaten BearbeitenWenn der Folgezustand durch den gegenwartigen Zustand und das Eingabezeichen immer eindeutig gegeben ist dann spricht man von einem deterministischen Automaten Allgemein aber kann man auch einen Spielraum Freiheitsgrade fur die Zustandsubergange zulassen Der Automat darf dann auf dasselbe Paar von Zustand und Eingabezeichen unter mehreren moglichen Kandidaten einen Folgezustand willkurlich wahlen Dann spricht man von einem nichtdeterministischen Automaten Der Nichtdeterminismus ist dann willkommen wenn man das Verhalten der Umgebung modellieren mochte das man nicht vollig genau kennt don t know oder wenn man Moglichkeiten fur verschiedene Implementierungen offenlassen mochte don t care Meist lasst man zusatzlich zu nichtdeterministischen Zustandsubergangen noch spontane Zustandsubergange zu das sind solche die ohne Eingabezeichen stattfinden e Ubergange Automaten mit und ohne Ausgabe BearbeitenAutomaten die nur ihre Zustandsubergange abwickeln nennt man auch Transitionssysteme Daneben gibt es auch Automaten die eine gewisse Teilmenge ihrer Zustande als Endzustande auszeichnen Wenn ein Eingabewort den Automaten von einem ausgezeichneten Zustand dem Startzustand in einen der Endzustande fuhrt dann sagt man der Automat akzeptiert das Eingabewort Einen solchen Automaten nennt man deswegen einen Akzeptor Ein Akzeptor eignet sich dazu eine formale Sprache zu definieren namlich die Menge aller endlichen Worter die der Automat akzeptiert Schliesslich gibt es noch Automaten mit Ausgabe sogenannte Transduktoren Sie ordnen entweder jedem Zustand Moore Automaten oder jedem Paar aus Zustand und Eingabezeichen Mealy Automaten ein Ausgabezeichen zu Auf diese Weise bildet ein Automat eine Verarbeitungseinheit Klassen von Automaten Bearbeiten Turingmaschine Kellerautomat Endlicher Automat RegistermaschineNach den Mitteln die ein Automat zur Verfugung hat kann man die Automaten in Klassen einteilen Statt Klasse von Automaten sagt man auch Automatenmodell Den Akzeptoren der jeweiligen Klasse kann man ihre akzeptierte Sprache zuordnen Es stellt sich heraus dass jeder Klasse von Automaten auf diese Weise eine Klasse Formaler Sprachen entspricht Bekannte Klassen von Automaten sind jeweils mit Abkurzungen fur die deterministische und die nichtdeterministische Variante Turingmaschinen DTM NTM Eine Turingmaschine hat neben dem inneren Zustand auch Zugriff auf ein unendliches Band auf das ein beweglicher Schreib Lesekopf Zeichen schreiben und spater lesen kann Beide Klassen akzeptieren die Typ 0 Sprachen Rekursiv aufzahlbare Sprache Durch die Turingmaschine wird ausserdem der Begriff der Berechenbarkeit definiert Siehe Churchsche These Linear beschrankte Automaten DLBA LBA Die linear beschrankten Automaten unterscheiden sich von den Turingmaschinen nur dadurch dass der zugangliche Teil des Bandes durch die Grosse der Eingabe beschrankt ist Nichtdeterministische LBA akzeptieren genau die Typ 1 Sprachen kontextsensitive Sprachen die Frage ob das auch auf deterministische LBA zutrifft ist ein noch offenes Problem Kellerautomaten DPDA PDA Ein Kellerautomat hat neben einem von endlich vielen inneren Zustanden auch Zugriff zum Keller einem Stapel auf dem Zeichen zur spateren Verarbeitung zwischengespeichert werden konnen Die PDAs akzeptieren die Typ 2 Sprachen Kontextfreie Sprachen Die DPDAs akzeptieren die deterministisch kontextfreien Sprachen Endliche Automaten DFA NFA Ein endlicher Automat kennt nur endlich viele Zustande Beide Klassen akzeptieren die Typ 3 Sprachen Regulare Sprachen Die Menge der Automaten stehen wie folgt mit den Mengen der Sprachklassen und Grammatiken in Beziehung siehe auch Chomsky Hierarchie Chomsky Hierarchie Sprachklasse nicht deterministischer Automat deterministischer AutomatTyp 0 Grammatik R E displaystyle mathcal color blue RE displaystyle N T M displaystyle mathcal color blue NTM displaystyle D T M displaystyle mathcal color blue DTM Typ 1 Grammatik C S displaystyle mathcal color blue CS displaystyle L B A displaystyle mathcal color blue LBA displaystyle supseteq D L B A displaystyle mathcal DLBA Typ 2 Grammatik C F displaystyle mathcal color blue CF displaystyle P D A displaystyle mathcal color blue PDA displaystyle varsupsetneq D P D A displaystyle mathcal DPDA Typ 3 Grammatik R E G displaystyle mathcal color blue REG displaystyle N F A displaystyle mathcal color blue NFA displaystyle D F A displaystyle mathcal color blue DFA Ob LBA DLBA echt gilt oder ob die DLBAs die gleiche Sprachklasse akzeptieren wie die LBAs ist noch nicht bekannt Weitere Klassen von Automaten sind Zweikellerautomat Beim Zweikellerautomat hat man im Unterschied zum Kellerautomaten zwei Keller zur Verfugung Durch das Kellerpaar kann ein Turingband simuliert werden Die Zweikellerautomaten sind also den Turingmaschinen gleichwertig Syntaktische Beschrankungen dieses Modells fuhren zur Charakterisierung der Typ 1 und Typ 2 Sprachen Registermaschinen Eine Registermaschine hat zusatzlich zum inneren Zustand eine Folge von Registern das sind Speicherzellen fur naturliche Zahlen auf denen elementare Rechenoperationen ausgefuhrt werden konnen Registermaschinen sind genau so machtig wie Turingmaschinen Erweiterte Automatenbegriffe BearbeitenNichtdeterministische Automaten durfen nicht verwechselt werden mit Stochastischen Automaten Letztere ordnen den Zustandsubergangen Wahrscheinlichkeiten zu wahrend erstere nur uber Moglichkeiten reden Fur Wahrscheinlichkeitsaussagen sind nichtdeterministische Automaten daher nicht geeignet Daneben gibt es weitere Automatentypen die sich nicht am sequentiellen Einlesen einer Eingabe orientieren Einige der bekannteren Automaten sind Varianten der Turingmaschine mit zweidimensionalem Band oder mit mehreren Bandern Zellulare Automaten w Automaten fur unendliche Eingaben Neuronale Netze Petri Netze Algebraische RechenmodelleAnwendungen BearbeitenVon praktischer Relevanz fur die Programmierung sind vor allem Endliche Automaten und Kellerautomaten sie bieten eine einfache Struktur mit der sich viele komplexe Probleme ubersichtlich losen lassen Im Compilerbau werden sie beispielsweise zur Implementierung von Parsern eingesetzt die Umsetzungen von Netzwerkprotokollen benutzen haufig einen endlichen Automaten um ihren aktuellen Zustand zu modellieren Auch die Navigationsmoglichkeiten in einem Wizard lassen sich sehr gut als endlicher Automat ausdrucken und das Workflow Management benutzt diese Konzepte zur Modellierung von Arbeitsablaufen Auch bei der Realisierung sequenzieller Hardware wird das Modell des Endlichen Automaten genutzt dort meist als Finite State Machine FSM bezeichnet Abgerufen von https de wikipedia org w index php title Automat Informatik amp oldid 225913086