<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Automat_%28Informatik%29</id>
	<title>Automat (Informatik) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Automat_%28Informatik%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Automat_(Informatik)&amp;action=history"/>
	<updated>2026-05-30T10:56:57Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Automat_(Informatik)&amp;diff=163990&amp;oldid=prev</id>
		<title>imported&gt;Geist, der stets verneint: Änderungen von 2A01:599:209:ACC4:F4EB:974A:919F:BBD2 (Diskussion) auf die letzte Version von Gustav von Aschenbach zurückgesetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Automat_(Informatik)&amp;diff=163990&amp;oldid=prev"/>
		<updated>2024-01-25T17:47:57Z</updated>

		<summary type="html">&lt;p&gt;Änderungen von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/2A01:599:209:ACC4:F4EB:974A:919F:BBD2&quot; title=&quot;Spezial:Beiträge/2A01:599:209:ACC4:F4EB:974A:919F:BBD2&quot;&gt;2A01:599:209:ACC4:F4EB:974A:919F:BBD2&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:2A01:599:209:ACC4:F4EB:974A:919F:BBD2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:2A01:599:209:ACC4:F4EB:974A:919F:BBD2 (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) auf die letzte Version von &lt;a href=&quot;/index.php?title=Benutzer:Gustav_von_Aschenbach&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Gustav von Aschenbach (Seite nicht vorhanden)&quot;&gt;Gustav von Aschenbach&lt;/a&gt; zurückgesetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Automat&amp;#039;&amp;#039;&amp;#039; oder eine &amp;#039;&amp;#039;&amp;#039;abstrakte Maschine&amp;#039;&amp;#039;&amp;#039; ist in der [[Informatik]], speziell in der [[Automatentheorie]], das [[Modell]] eines [[Digitalsignal|digitalen]], [[Diskretheit|zeitdiskreten]] [[Computer|Rechners]]. Ob es möglich oder sinnvoll ist, eine solche Maschine tatsächlich zu bauen, ist dabei zunächst unerheblich. Die Vereinfachung der Fähigkeiten erlaubt es, das Verhalten eines Automaten leichter zu verstehen und zu vergleichen.&lt;br /&gt;
&lt;br /&gt;
Der Automatenbegriff spielt eine zentrale Rolle in der [[Theoretische Informatik|theoretischen Informatik]]. In der [[Berechenbarkeitstheorie]] und in der [[Komplexitätstheorie]] etwa stellen die Automaten den zugrunde liegenden Berechnungsbegriff. Automaten spielen auch in der [[Praktische Informatik|praktischen Informatik]] eine entscheidende Rolle, zum Beispiel im [[Compilerbau]].&lt;br /&gt;
In der [[Digitaltechnik]] werden Automaten zur [[Steuerungstechnik|Steuerung]] in &amp;#039;&amp;#039;digitalen&amp;#039;&amp;#039; und &amp;#039;&amp;#039;[[hybrid]]en Systemen&amp;#039;&amp;#039; eingesetzt. Solche Steuerungsautomaten haben Anwendungen unter anderem in der [[Rechnerarchitektur]], in [[Rechnernetz]]en und in [[Reaktives System|Reaktiven Systemen]].&lt;br /&gt;
&lt;br /&gt;
== Verhalten eines Automaten ==&lt;br /&gt;
&lt;br /&gt;
Das grundsätzliche Verhalten eines Automaten ist immer gleich: Dem Automaten wird von außen eine Eingabe als Folge von [[Zeichen]] vorgelegt. Der Automat befindet sich in einem bestimmten Zustand. Jedes Mal, wenn ein Eingabezeichen eintrifft, kann sich abhängig vom Eingabezeichen und dem gegenwärtigen Zustand ein neuer Zustand, der &amp;#039;&amp;#039;Folgezustand&amp;#039;&amp;#039;, einstellen (&amp;#039;&amp;#039;Zustandsübergang&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Transition&amp;#039;&amp;#039;). Man kann die Menge der möglichen Zustandsübergänge, die das Verhalten des Automaten definiert, als das [[Computerprogramm|Programm]] des Automaten verstehen.&lt;br /&gt;
&lt;br /&gt;
== Deterministische und nichtdeterministische Automaten ==&lt;br /&gt;
&lt;br /&gt;
Wenn der Folgezustand durch den gegenwärtigen Zustand und das Eingabezeichen immer [[eindeutig]] gegeben ist, dann spricht man von einem [[Determinismus (Algorithmus)|deterministischen]] Automaten. Allgemein aber kann man auch einen Spielraum ([[Freiheitsgrad]]e) für die Zustandsübergänge zulassen. Der Automat darf dann auf dasselbe Paar von Zustand und Eingabezeichen unter mehreren möglichen Kandidaten einen Folgezustand willkürlich wählen. Dann spricht man von einem [[Nichtdeterminismus|nichtdeterministischen]] Automaten. Der Nichtdeterminismus ist dann willkommen, wenn man das Verhalten der Umgebung modellieren möchte, das man nicht völlig genau kennt (&amp;#039;&amp;#039;don’t know&amp;#039;&amp;#039;), oder wenn man Möglichkeiten für verschiedene Implementierungen offenlassen möchte (&amp;#039;&amp;#039;don’t care&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
Meist lässt man zusätzlich zu nichtdeterministischen Zustandsübergängen noch spontane Zustandsübergänge zu, das sind solche, die ohne Eingabezeichen stattfinden (ε-Übergänge).&lt;br /&gt;
&lt;br /&gt;
== Automaten mit und ohne Ausgabe ==&lt;br /&gt;
&lt;br /&gt;
Automaten, die nur ihre Zustandsübergänge abwickeln, nennt man auch [[Transitionssystem]]e.&lt;br /&gt;
&lt;br /&gt;
Daneben gibt es auch Automaten, die eine gewisse Teilmenge ihrer Zustände als &amp;#039;&amp;#039;Endzustände&amp;#039;&amp;#039; auszeichnen. Wenn ein Eingabewort den Automaten von einem ausgezeichneten Zustand, dem &amp;#039;&amp;#039;Startzustand&amp;#039;&amp;#039;, in einen der Endzustände führt, dann sagt man, der Automat &amp;#039;&amp;#039;akzeptiert&amp;#039;&amp;#039; das Eingabewort. Einen solchen Automaten nennt man deswegen einen [[Akzeptor (Informatik)|Akzeptor]]. Ein Akzeptor eignet sich dazu, eine [[formale Sprache]] zu definieren, nämlich die Menge aller endlichen Wörter, die der Automat akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Schließlich gibt es noch Automaten mit Ausgabe, sogenannte [[Transduktor (Informatik)|Transduktoren]]. Sie ordnen entweder jedem Zustand ([[Moore-Automat]]en) oder jedem Paar aus Zustand und Eingabezeichen ([[Mealy-Automat]]en) ein Ausgabezeichen zu. Auf diese Weise bildet ein Automat eine Verarbeitungseinheit.&lt;br /&gt;
&lt;br /&gt;
== Klassen von Automaten ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:Turingmaschine.svg|mini|[[Turingmaschine]]]]&lt;br /&gt;
[[Datei:Kellerautomat.svg|mini|[[Kellerautomat]]]]&lt;br /&gt;
[[Datei:Nichtdeterministischer endlicher Automat 2.svg|mini|[[Endlicher Automat]]]]&lt;br /&gt;
[[Datei:Registermaschine.svg|mini|[[Registermaschine]]]]&lt;br /&gt;
&lt;br /&gt;
Nach den Mitteln, die ein Automat zur Verfügung hat, kann man die Automaten in Klassen einteilen.&lt;br /&gt;
Statt Klasse von Automaten sagt man auch &amp;#039;&amp;#039;&amp;#039;Automatenmodell&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
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.&lt;br /&gt;
Bekannte Klassen von Automaten sind (jeweils mit Abkürzungen für die deterministische und die nichtdeterministische Variante):&lt;br /&gt;
&lt;br /&gt;
; [[Turingmaschine]]n (DTM/NTM)&lt;br /&gt;
: Eine Turingmaschine hat neben dem inneren Zustand auch Zugriff auf ein unendliches Band, auf das ein beweglicher Schreib-/Lesekopf Zeichen schreiben und später lesen kann. Beide Klassen akzeptieren die Typ-0-Sprachen ([[Rekursiv aufzählbare Sprache]]). Durch die Turingmaschine wird außerdem der Begriff der [[Berechenbarkeit]] definiert. Siehe [[Churchsche These]].&lt;br /&gt;
; [[Linear beschränkter Automat|Linear beschränkte Automaten]] (DLBA/LBA)&lt;br /&gt;
: Die linear beschränkten Automaten unterscheiden sich von den Turingmaschinen nur dadurch, dass der zugängliche Teil des Bandes durch die Größe der Eingabe beschränkt ist. Nichtdeterministische LBA akzeptieren genau die Typ-1-Sprachen ([[Kontextsensitive Sprache|kontextsensitive Sprachen]]); die Frage, ob das auch auf deterministische LBA zutrifft, ist ein noch offenes Problem.&lt;br /&gt;
; [[Kellerautomat]]en (DPDA/PDA)&lt;br /&gt;
: Ein Kellerautomat hat neben einem von endlich vielen inneren Zuständen auch Zugriff zum Keller, einem [[Stapelspeicher|Stapel]], auf dem Zeichen zur späteren Verarbeitung zwischengespeichert werden können. Die PDAs akzeptieren die Typ-2-Sprachen ([[Kontextfreie Sprache]]n). Die DPDAs akzeptieren die [[Deterministisch kontextfreie Sprache|deterministisch kontextfreien Sprachen]].&lt;br /&gt;
; [[Endlicher Automat|Endliche Automaten]] (DFA/NFA)&lt;br /&gt;
: Ein endlicher Automat kennt nur endlich viele Zustände. Beide Klassen akzeptieren die Typ-3-Sprachen ([[Reguläre Sprache]]n).&lt;br /&gt;
&lt;br /&gt;
Die Menge der Automaten stehen wie folgt mit den Mengen der [[Sprachklasse]]n und [[Formale Grammatik|Grammatiken]] in Beziehung (siehe auch [[Chomsky-Hierarchie]]):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Chomsky-Hierarchie&lt;br /&gt;
! Sprachklasse&lt;br /&gt;
|&lt;br /&gt;
! nicht deterministischer Automat&lt;br /&gt;
|&lt;br /&gt;
! deterministischer Automat&lt;br /&gt;
|-&lt;br /&gt;
| Typ-0-Grammatik&lt;br /&gt;
| [[Rekursiv aufzählbare Sprache|&amp;lt;math&amp;gt;\mathcal{\color{blue}RE}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Nichtdeterministische Turingmaschine|&amp;lt;math&amp;gt;\mathcal{\color{blue}NTM}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Turingmaschine|&amp;lt;math&amp;gt;\mathcal{\color{blue}DTM}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|-&lt;br /&gt;
| Typ-1-Grammatik&lt;br /&gt;
| [[Kontextsensitive Sprache|&amp;lt;math&amp;gt;\mathcal{\color{blue}CS}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Linear beschränkter Automat|&amp;lt;math&amp;gt;\mathcal{\color{blue}LBA}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\supseteq&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;\mathcal{DLBA}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Typ-2-Grammatik&lt;br /&gt;
| [[Kontextfreie Sprache|&amp;lt;math&amp;gt;\mathcal{\color{blue}CF}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Kellerautomat|&amp;lt;math&amp;gt;\mathcal{\color{blue}PDA}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
| &amp;lt;math&amp;gt;\varsupsetneq&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;\mathcal{DPDA}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Typ-3-Grammatik&lt;br /&gt;
| [[Reguläre Sprache|&amp;lt;math&amp;gt;\mathcal{\color{blue}REG}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Nichtdeterministischer endlicher Automat|&amp;lt;math&amp;gt;\mathcal{\color{blue}NFA}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|style=&amp;quot;font-size:larger&amp;quot;| &amp;lt;math&amp;gt;=&amp;lt;/math&amp;gt;&lt;br /&gt;
| [[Deterministischer endlicher Automat|&amp;lt;math&amp;gt;\mathcal{\color{blue}DFA}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ob LBA ⊃ DLBA echt gilt, oder ob die DLBAs die gleiche Sprachklasse akzeptieren wie die LBAs, ist noch nicht bekannt.&lt;br /&gt;
&lt;br /&gt;
Weitere Klassen von Automaten sind:&lt;br /&gt;
; [[Zweikellerautomat]]&lt;br /&gt;
: Beim Zweikellerautomat hat man im Unterschied zum Kellerautomaten zwei Keller zur Verfügung. Durch das Kellerpaar kann ein Turingband simuliert werden. Die Zweikellerautomaten sind also den Turingmaschinen gleichwertig. Syntaktische Beschränkungen dieses Modells führen zur Charakterisierung der Typ-1- und Typ-2-Sprachen.&lt;br /&gt;
; [[Registermaschine]]n&lt;br /&gt;
: Eine Registermaschine hat zusätzlich zum inneren Zustand eine Folge von Registern, das sind Speicherzellen für natürliche Zahlen, auf denen elementare Rechenoperationen ausgeführt werden können. Registermaschinen sind genau so mächtig wie Turingmaschinen.&lt;br /&gt;
&lt;br /&gt;
== Erweiterte Automatenbegriffe ==&lt;br /&gt;
&lt;br /&gt;
Nichtdeterministische Automaten dürfen nicht verwechselt werden mit [[Stochastischer Automat|Stochastischen Automaten]]. Letztere ordnen den Zustandsübergängen Wahrscheinlichkeiten zu, während erstere nur über Möglichkeiten reden. Für Wahrscheinlichkeitsaussagen sind nichtdeterministische Automaten daher nicht geeignet.&lt;br /&gt;
&lt;br /&gt;
Daneben gibt es weitere Automatentypen, die sich nicht am sequentiellen Einlesen einer Eingabe orientieren. Einige der bekannteren Automaten sind:&lt;br /&gt;
* Varianten der [[Turingmaschine]] mit zweidimensionalem Band oder mit mehreren Bändern&lt;br /&gt;
* [[Zellulärer Automat|Zelluläre Automaten]]&lt;br /&gt;
* [[ω-Automat]]en für unendliche Eingaben&lt;br /&gt;
* [[Künstliches neuronales Netz|Neuronale Netze]]&lt;br /&gt;
* [[Petri-Netz]]e&lt;br /&gt;
* [[Algebraische Rechenmodelle]]&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
Von praktischer Relevanz für die [[Programmierung]] sind vor allem Endliche Automaten und Kellerautomaten: sie bieten eine einfache Struktur, mit der sich viele komplexe Probleme übersichtlich lösen lassen. Im Compilerbau werden sie beispielsweise zur [[Implementierung]] von [[Parser]]n eingesetzt, die Umsetzungen von [[Netzwerkprotokoll]]en benutzen häufig einen endlichen Automaten, um ihren aktuellen Zustand zu [[Modellierung|modellieren]]. Auch die Navigationsmöglichkeiten in einem [[Assistent (Datenverarbeitung)|Wizard]] lassen sich sehr gut als endlicher Automat ausdrücken, und das [[Workflow-Management]] benutzt diese Konzepte zur Modellierung von Arbeitsabläufen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Realisierung sequenzieller [[Hardware]] wird das Modell des Endlichen Automaten genutzt, dort meist als [[Finite State Machine]] (FSM) bezeichnet.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Automatentheorie|!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- entspricht eigentlich [[Automatentheorie]] aber es gibt noch keinen 1:1-Artikel --&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Geist, der stets verneint</name></author>
	</entry>
</feed>