Theorie: Allgemeine Theorie
Grundlegender Aufbau eines Automaten

Automaten trifft man in den unterschiedlichsten Funktionen im täglichen Leben an - vom Getränkeautomaten bis zum Computer. Dabei unterscheiden sich diese Automaten nur hinsichtlich der Komplexität ihres spezifischen Abarbeitungsvorgangs. Unabhängig von dessen Komplexität gibt es einen grundlegenden Aufbau, der in allen Varianten eines Automaten besteht (nach [Stu95], S.27) :

1. Eingabe

Ein Automat wird von aussen bedient, d.h. er muss mit Eingabedaten (Input) versorgt werden. Bei einem Getränkeautomaten wäre dies beispielsweise die Bedienung einer Wahltaste für ein Getränk oder der Einwurf eines Münzbetrages. Die Eingabe löst gewisse Aktionen aus, d.h. der Automat verlässt seinen ursprünglichen Zustand.

2. Interne Zustände

Ein Automat befindet sich grundsätzlich zu jedem Zeitpunkt in einem bestimmten Zustand (State). Unter der Einwirkung der Eingabe kann er eine Reihe von Zuständen durchlaufen. Dabei wird die Eingabe (=Information) verarbeitet , evtl. auch gespeichert. Ein Getränkeautomat hat beispielsweise die Zustände "kein Geld eingeworfen",  "1 Franken eingeworfen" und "Zuviel Geld eingeworfen".

3. Ausgabe (nicht zwingend)

Üblicherweise produziert ein Automat während der Verarbeitung Informationen, d.h. er gibt Ausgabedaten aus. Eine Ausgabe ist jedoch nicht zwingend.

Ein Automat ohne Ausgabe verarbeitet die Eingabe und erreicht einen Endzustand (Final state). Er akzeptiert somit die Eingabe bloss. Diese Form der Automaten wird "Akzeptor" genannt.
Ein Automat mit Ausgabe liefert zusätzlich Informationen, die während der Verarbeitung generiert wurden. Diese Form der Automaten werden als  "Transducer" bezeichnet.

-> Im JFLAP können nur Akzeptoren konstruiert werden.



Ein nicht ganz ernstzunehmendes Beispiel eines Automaten: Die Mausfalle

Ein Beispiel für einen einfachen Automaten mit Ausgabe ist eine Mausfalle, mit den Zuständen "gespannt" (G+) und "nicht gespannt" (G-):
(nach [Stu95], S.28)


 

Beide Zustände sind prinzipiell als Startzustand möglich, wobei man üblicherweise animmt, dass eine Mausfalle gespannt ist. Nur wenn eine Maus kommt und die Falle gespannt ist, wird vom Zustand G+ in den Zustand G- gewechselt. Ansonsten bleibt der Zustand unverändert, d.h. es kommt keine Maus. Das Resultat dieser "Verarbeitung" ist die Information, dass die Maus tot ist. Ist die Falle zu Beginn nicht gespannt, wird als Resultat "Maus nicht tot" ausgegeben.

Bei diesem Beispiel hat es somit folgende Zustände, Ein- und Ausgaben:

Zustände: gespannt, nicht gespannt
Eingabe: Maus kommt, Maus kommt nicht
Ausgabe: Maus tot, Maus nicht tot
 

Dieses Beispiel zeigt auch die Vielfältigkeit von Automaten. Grundsätzlich beschreibt ein Automat einen Algorithmus, d.h. eine vorgegebene Anzahl abzuarbeitender Schritte in einer festgelegten zeitlichen Abfolge. Die Verwendung von Automaten in der Sprachverarbeitung bildet daher nur einen Teil der "Welt der Automaten". Spezifische Info zu Automaten und Sprache findest Du hier.