Upload
hoangdan
View
221
Download
0
Embed Size (px)
Citation preview
Karin Haenelt, 2010 Seite 1 von 15
Endliche Automaten: Einführung
Einführung
Inhalt
Einführung ....................................................................................................................... 1
1 Informelle Einführung: Was sind endliche Automaten? ............................................. 1
1.1 Abstrakte Automaten ........................................................................................... 1
1.2 Endliche abstrakte Automaten ............................................................................. 2
2 Beispiele ................................................................................................................... 2
2.1 Beispiel: Kippschalter ........................................................................................... 2
2.2 Beispiel: Worterkennung ...................................................................................... 3
2.3 Beispiel: Lexikon .................................................................................................. 4
3 Typen endlicher Automaten ...................................................................................... 5
4 Definitionen ............................................................................................................... 6
4.1 Abstrakte Automaten als mathematische Strukturen ............................................ 6
4.2 Endliche abstrakte Automaten ............................................................................10
5 Einordnung in die Automatentheorie und die Theorie formaler Sprachen.................11
5.1 Klassifizierung von Algorithmen ..........................................................................11
5.1.1 Automatentheorie ............................................................................................12
5.1.2 Komplexitätstheorie .........................................................................................12
5.2 Theorie formaler Sprachen .................................................................................12
6 Anwendungsgebiete und Attraktivität endlicher Automaten ......................................13
6.1 softwaretechnische Vorteile ................................................................................14
6.2 Modellierung von Objekten .................................................................................15
1 Informelle Einführung: Was sind endliche Automate n?
1.1 Abstrakte Automaten
Ein abstrakter Automat ist ein mathematisches Modell für einfache Maschinen oder
Programme, die bestimmte Probleme lösen. Ein solches Modell beschreibt nicht
einen bestimmten Automaten, sondern gemeinsame Grundprinzipien einer Klasse
von Automaten. Abstrakte Automaten dienen als Muster, die für verschiedene
Modellierungen wiederverwendbar sind.
Grundlegende Komponenten abstrakter Automaten sind
- Zustände
Karin Haenelt, 2010 Seite 2 von 15
Endliche Automaten: Einführung
- Eingabesymbole
- Zustandsübergänge
D.h. ein Automat verfügt über innere Zustände und reagiert auf Eingaben, indem er
von einem Zustand in einen anderen übergeht. Eine mögliche Reaktion eines
Automaten ist die Erzeugung einer Ausgabe.
Abbildung 1 einfaches Modell eines Automaten
1.2 Endliche abstrakte Automaten
Ein abstrakter Automat ist ein „endlicher Automat“, wenn die Anzahl der Zustände,
der Eingaben und der Ausgaben endlich ist.
Die wesentlichen Komponenten dieser Modelle sind
- eine endliche Menge von Zuständen, die die internen Konfigurationen darstellen, in
denen sich ein System befinden kann
- eine zeitliche Ordnung, die die möglichen Sequenzen von Zuständen definiert
- eine endliche Menge von Eingaben,
- eine endliche Menge von Ausgaben (Reaktionen),
- Ein endlicher Automat arbeitet in Takten (Zeitintervallen): In jedem Takt befindet er
sich in genau einem Zustand. Durch Eingabe einer Einwirkung auf das System erfolgt
eine bestimmte Reaktion (Ausgabe) und der Übergang zum nächsten Takt.
2 Beispiele
2.1 Beispiel: Kippschalter
Ein einfacher endlicher Automat ist ein Kippschalter (Hopcroft/Motwani/Ullmann,
2001). Ein Beispiel ist in Abbildung 2 gezeigt. Der dargestellte Automat hat zwei
Zustände. Die Zustände werden standardmäßig durch Kreise symbolisiert. Im
Beispiel werden die Zustände mit „an“ und „aus“ bezeichnet. Der Automat hat
einen Startzustand, nämlich „aus“. Dieser Zustand ist durch einen Pfeil mit der
Beschriftung „Start“ gekennzeichnet. Ein Endzustand wurde nicht festgelegt. Die
Zustände
des
Automaten Eingabe Ausgabe
Karin Haenelt, 2010 Seite 3 von 15
Endliche Automaten: Einführung
Eingaben, die auf das System wirken, sind durch Pfeile zwischen den Zuständen
und Beschriftungen der Pfeile dargestellt. Die Pfeile zeigen an, in welchen Zustand
das System bei welcher Eingabe wechselt. Im Beispiel reagiert der Automat in
jedem Zustand auf die Eingabe „drücken“. Wenn der Automat im Zustand „aus“ ist,
gelangt er durch „drücken“ in den Zustand „ein“ und umgekehrt. Der Automat kann
eine unendliche Folge von Eingaben verarbeiten, braucht dafür aber nur eine
endliche Anzahl von Zuständen
Abbildung 2 Kippschalter als Beispiel eines einfachen endlichen Automaten
2.2 Beispiel: Worterkennung
Abbildung 3 zeigt ein weiteres Beispiel, und zwar die Modellierung der Erkennung
eines Wortes (Hopcroft/Motwani/Ullman, 2001: 14). In diesem Beispiel gibt es fünf
Zustände. Diese sind nach der Teilkette des Wortes benannt, die bei Erreichen des
Zustandes erkannt wurde. Eingaben in den Zuständen sind die einzelnen
Buchstaben des Wortes. Im Startzustand wurde noch kein Buchstabe erkannt.
Wird in diesem Zustand ein „t“ eingeben, geht der Automat in den Zustand ‚t’ über.
Wird in Zustand ‚t’ ein „h“ eingegeben, geht der Automat in den Zustand ‚th’ über.
Nach Eingabe aller Zeichen des Wortes „then“ erreicht der Automat schließlich den
Zustand ‚then’. Dieser Zustand ist durch einen Doppelkreis markiert. Das bedeutet,
dass es sich um einen Endzustand handelt. Endet die Betrachtung einer
Eingabekette in einem Endzustand, so gibt der Automat „accept“ aus. D.h. die
betrachtete Kette gehört zur Menge der Ketten, die der Automat akzeptiert. Die
Betrachtung des Wortes „the“ würde in Zustand ‚the’ enden, der aber im Beispiel
kein Endzustand ist. Damit wird „the“ in diesem Automaten nicht als ein Wort
akzeptiert. Die Betrachtung des Wortes „that“ würde im Zustand ‚th’ mit negativem
Resultat abgebrochen („reject“), weil in diesem Zustand eine Eingabe „a“ im
Beispielautomaten nicht definiert ist.
Eingabe Zustand drücken aus an an aus
Start
drücken
drücken
aus an
Karin Haenelt, 2010 Seite 4 von 15
Endliche Automaten: Einführung
Abbildung 3 Darstellung der Erkennung des Wortes „then“ als endlicher Automat (Hopcroft/Motwani/Ullman, 2001: 14)
2.3 Beispiel: Lexikon
Abbildung 4 zeigt ein Lexikon der deutschen Artikel „dem“, „den“, „der“, „des“ und
„dessen“ in der Modellierung als endlicher Automat. Der Automat hat drei
Endzustände, nämlich Zustand 3, Zustand 4 und Zustand 7. Der Automat
akzeptiert alle Zeichenreihen, die in einem dieser Zustände enden. Der Automat
kann verwendet werden, um Texte nach diesen Artikelwörtern abzusuchen. Wird
im Text ein „d“ gefunden geht der Automat von Zustand 0 in Zustand 1 über. Folgt
darauf ein „e“ geht der Automat in Zustand 2 über. Folgt darauf ein „m“, „n“ oder „r“,
geht er in Zustand 3 über, folgt ein „s“, geht er in Zustand 4 über. Bei jeder
anderen Eingabe bricht die Suche ergebnislos ab. Die Modellierung von Lexika mit
endlichen Automaten ist sehr Platz sparend, und sie erlaubt eine sehr effiziente
Verwendung. Im endlichen Automaten werden gleiche Wortanfänge nur einmal
gespeichert, in Textdateien hingegen mehrmals. Das Aufsuchen von Wörtern im
Lexikon erfolgt im endlichen Automaten durch einfaches Verfolgen von Pfaden, die
durch das Suchwort vorgegeben werden. In einer Textdatei müsste ein Suchwort
hingegen solange mit jedem Wort im Lexikon verglichen werden bis eine
Übereinstimmung gefunden würde oder bis das Ende des Lexikons ergebnislos
erreicht würde. Der Vergleich eines Textwortes mit einem Lexikonwort müsste
zeichenweise erfolgen. Jedes Textzeichen würde bei diesem Vorgang viele Male
mit einem Lexikonzeichen verglichen.
n
d 0 1
e 2
m 3
n
r
5 s
4 s
7 e
6
t th the then
Start t h e n
Karin Haenelt, 2010
Endliche Automaten: Einführung
Abbildung 4 Darstellung eines Lexikons ausgewählter Artikel des Deutschen als endlicher Automat
3 Typen endlicher Automaten
Man unterscheidet nach der Art der Ausgabe
endlicher Akzeptor ist ein endlicher Automat, der
oder reject ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur
Menge der für den Akzeptor gültigen Eingaben gehört oder nicht.
Transduktor ist ein endlicher
zuordnet.
Nach dem Grad der Übergangsmöglichkeiten
und nicht-deterministische
für jede Eingabe höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein
nicht-deterministischer Automat kann für eine Eingabe mehr als eine
Übergangsmöglichkeit in einen Folgezustand haben
Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine
Wahrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können
stochastische Automaten sein.
2010
Endliche Automaten: Einführung
Darstellung eines Lexikons ausgewählter Artikel des Deutschen als endlicher Automat
Typen endlicher Automaten
Man unterscheidet nach der Art der Ausgabe Akzeptoren und Transduktoren
ist ein endlicher Automat, der zu einer Eingabe lediglich
ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur
Menge der für den Akzeptor gültigen Eingaben gehört oder nicht.
in endlicher Automat, der einer Eingabe zusätzlich eine Ausgabe
Nach dem Grad der Übergangsmöglichkeiten unterscheidet man deterministische
deterministische endliche Automaten: Ein deterministischer Automat hat
höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein
deterministischer Automat kann für eine Eingabe mehr als eine
Übergangsmöglichkeit in einen Folgezustand haben
Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine
hrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können
stochastische Automaten sein.
Seite 5 von 15
Darstellung eines Lexikons ausgewählter Artikel des Deutschen
Transduktoren. Ein
zu einer Eingabe lediglich accept
ausgibt. Er dient nur der Feststellung, ob eine gegebene Eingabe zur
Menge der für den Akzeptor gültigen Eingaben gehört oder nicht. Ein endlicher
Automat, der einer Eingabe zusätzlich eine Ausgabe
rscheidet man deterministische
deterministischer Automat hat
höchstens eine Übergangsmöglichkeit in einen Folgezustand, ein
deterministischer Automat kann für eine Eingabe mehr als eine
Ein stochastischer Automat ordnet einem Zustandsübergang zusätzlich eine
hrscheinlichkeit zu. Sowohl Akzeptoren als auch Transduktoren können
Karin Haenelt, 2010
Endliche Automaten: Einführung
Die allgemeine Form ein
Transduktor. Alle anderen Formen können als Spezialfälle des stochastischen
Transduktors dargestellt werden. Im nichtdeterministischen Transduktor haben alle
Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor
betrachtet werden, der eine leere Zeichenkette ausgibt.
Abbildung 5 zeigt Beispiele der unterschiedlichen Automaten. D
modellieren eine Beziehung zwischen der Phonemfolge [
Wörtern „Stadt“ und „
Verschriftlichung von [
der Verschriftlichung durch „
Auswertung von Beispielsammlungen gewonnen. Der nicht
Transduktor ordnet alle
deterministische Transduktor ist die determinisierte Version des nicht
deterministischen Transduktors.
Abbildung 5 Akzeptoren und Transduktoren
4 Definitionen
4.1 Abstrakte Automaten als mathematische Strukturen
David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)
untersuchten Schaltkreise und beschreiben voneinander unabhängig den
2010
Endliche Automaten: Einführung
allgemeine Form eines endlichen Automaten ist ein stochastischer
Alle anderen Formen können als Spezialfälle des stochastischen
dargestellt werden. Im nichtdeterministischen Transduktor haben alle
Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor
betrachtet werden, der eine leere Zeichenkette ausgibt.
zeigt Beispiele der unterschiedlichen Automaten. Die
eine Beziehung zwischen der Phonemfolge [ʃtat] und den beiden
“ und „statt“. Der stochastische Transduktor ordnet der
Verschriftlichung von [ʃtat] durch „Stadt“ eine Wahrscheinlichkeit von 65% zu, und
der Verschriftlichung durch „statt“ von 35%. Solche Werte werden durch
Auswertung von Beispielsammlungen gewonnen. Der nicht-deterministische
Transduktor ordnet allen Varianten dieselbe Wahrscheinlichkeit zu. Der
deterministische Transduktor ist die determinisierte Version des nicht
deterministischen Transduktors.
Akzeptoren und Transduktoren
Abstrakte Automaten als mathematische Strukturen
David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)
untersuchten Schaltkreise und beschreiben voneinander unabhängig den
Seite 6 von 15
ein stochastischer
Alle anderen Formen können als Spezialfälle des stochastischen
dargestellt werden. Im nichtdeterministischen Transduktor haben alle
Übergänge dieselbe Wahrscheinlichkeit. Ein Akzeptor kann als ein Transduktor
ie Transduktoren
tat] und den beiden
net der
tat] durch „Stadt“ eine Wahrscheinlichkeit von 65% zu, und
“ von 35%. Solche Werte werden durch
deterministische
n Varianten dieselbe Wahrscheinlichkeit zu. Der
deterministische Transduktor ist die determinisierte Version des nicht-
David A. Huffman (1954), George H. Mealy (1955) und Edward F. Moore (1956)
untersuchten Schaltkreise und beschreiben voneinander unabhängig den
Karin Haenelt, 2010 Seite 7 von 15
Endliche Automaten: Einführung
konventionellen deterministischen Automaten auf ähnliche Weise. Huffman
entwickelte den Begriff des abstrakten Automaten, und Mealy und Moore führten
abstrakte Automaten als mathematische Strukturen ein.
Eine Struktur im mathematischen Sinne ist eine Zusammenfassung einer Menge
und ausgewählter interessanter Eigenschaften dieser Menge zu einem
gemeinsamen Objekt. Die Eigenschaften definieren eine Struktur auf der Menge.
Verkürzt kann man auch sagen; eine Struktur ist eine Menge, die durch bestimmte
Eigenschaften strukturiert ist. Als strukturbildende Eigenschaften von Mengen sind
in diesem Zusammenhang zugelassen: Relationen, Funktionen und
ausgezeichnete Elemente. Eine Struktur wird in der Form eines Tupels notiert.
Beispielsweise ist (ℕ, +,×, 0,1 eine Struktur. In der Betrachtungsweise dieses
Beispiels ist Menge der natürlichen Zahlen strukturiert durch die Verknüpfungen
der Addition (Nachfolgerelation) und der Multiplikation (iterative Addition) sowie
durch zwei Elemente, 0 und 1, die in bestimmter Weise ausgezeichnete Elemente
sind. Mit Strukturen beschäftigt sich die abstrakte Algebra. Diese abstrahiert von
spezifischen Mengen, Verknüpfungen und ausgezeichneten Elementen und
untersucht die abstrakten Eigenschaften von Strukturen. Im Sinne der abstrakten
Algebra handelt es sich bei der Struktur des Beispiels um einen Semiring. Ein
Semiring ist eine Struktur, die folgende Bedingungen erfüllt: Kommutativität der
ersten Verknüpfung (hier: Addition), Distributivität der zweiten Verknüpfung (hier:
Multiplikation) über die erste Verknüpfung (hier: Addition), neutrale Elemente (hier:
0 und 1), neutrales Element der ersten Verknüpfung (0 als neutrales Element der
Addition) ist nihilierendes Element der zweiten Verknüpfung (hier: Multiplikation; 0
x a = 0). Semiringe spielen in der Theorie der endlichen Automaten eine große
Rolle.
Definition 1 Struktur
Eine Struktur ist ein Tupel A, dessen erste Komponente eine nichtleere Menge A
ist, die Grundmenge oder Grundbereich von A genannt wird. Die weiteren
Komponenten repräsentieren eine Folge von Funktionen, Relationen und
Elementen von A. ■ (Schulz, 2004:156)
Starke (1969) gibt zunächst eine allgemeine Definition abstrakter Automaten, die
alle Klassen abstrakter Automaten umfasst (Turing-Maschine, Kellerautomat und
Karin Haenelt, 2010 Seite 8 von 15
Endliche Automaten: Einführung
endlicher Automat). Die einzelnen Automaten-Klassen werden dann jeweils durch
Angabe zusätzlicher Bedingungen spezifiziert. Die allgemeine Definition
unterscheidet die drei Arten abstrakter Automaten: determinierte, nicht-
determinierte und stochastische Automaten. Wir zitieren zunächst die Definitionen
für allgemeine Automaten und geben dann die Zusatzbedingungen für die hier
interessierenden endlichen Automaten an.
Definition 2 determinierter abstrakter Automat
A = (X, Y, Z, γ) heißt determinierter abstrakter Automat, falls
1. X, Y, Z beliebige nichtleere Mengen sind, und
2. γ eine auf Z × X definierte Funktion ist, deren Werte in Y × Z liegen. ■
(Starke 1969: 22)
„Interpretation. Die Elemente x aus der Menge X, dem Eingabealphabet von A
heißen Eingabesignale von A, die y aus dem Ausgabealphabet Y Ausgabesignale
von A und die z aus Z Zustände von A.“ (Starke 1969:22). Die Funktion γ liefert
also zu einem Paar aus einem Zustand und einem Eingabesignal ein Paar aus
einem Folgezustand und einem Ausgabebsymbol.
Abbildung 6 zeigt ein Beispiel zu dieser Definition.
Abbildung 6 Beispiel zur Definition des determinierten abstrakten Automaten
M
0 1
Z × X
m n
0 Y Z Y Z
M 1 N 1
m
N n
X Eingabealphabet des Automaten A
x ∈ X Eingabesignal, hier: {m,n}
Y Ausgabealphabet des Automaten A
y ∈ Y Ausgabesignal, hier: {M,N}
Z Zustandsmenge des Automaten A
z ∈ Z Zustände, hier {0,1}
Karin Haenelt, 2010 Seite 9 von 15
Endliche Automaten: Einführung
An Stelle der Funktion γ kann man den Automaten auch durch Angabe der
Funktionen δ und λ beschreiben. Man erhält dann die Form der Definition, in der
Mealy (1955) sie gegeben hat.
Definition 3 determinierter Mealy-Automat
Ein determinierter Automat A = (X, Y, Z, γ) heißt determinierter Mealy-Automat,
falls für alle x ∈X, z∈Z,
γ(z,x) = [λ(z,x),δ(z,x)] ist,
wobei λ die Ergebnis- und δ die Überführungsfunktion von A ist. ■ (Starke 1969:
22)
Abbildung 7 zeigt ein Beispiel zu dieser Definition.
Abbildung 7 Beispiel zur Definition des determinierten Mealy-Automaten
Definition 4 nicht-deterministischer Automat
B = (X, Y, Z, h) heißt nicht-deterministischer Automat, falls
1. X, Y, Z nichtleere Mengen sind, und
2. h eine eindeutige Abbildung von Z × X in P(Z × Y) ist. ■ (Starke 1969: 121)
P(Z × Y) ist die Potenzmenge von (Z × Y), also die Menge aller Teilmengen, die
sich aus Paaren von Z und Y bilden lassen. Im Beispiel der Abbildung 7 lassen
sich die folgenden 4 Paare bilden: (0,M), (0,N), (1,M), (1,N). Die Potenzmenge P(Z
× Y) umfasst alle 24 möglichen Teilmengen, die sich aus diesen Paaren bilden
lassen: {
{(0,M), (0,N), (1,M), (1,N)},
M
0 1
λ(z,x)
m n
0 M N
m
N n
δ(z,x)
m n
0 1 1
Karin Haenelt, 2010 Seite 10 von 15
Endliche Automaten: Einführung
{(0,M), (0,N), (1,M), (1,N)},
{(0,M), (0,N), (1,M), (1,N)},
{(0,M), (0,N), (1,M), (1,N)},
{(0,M),) (0,N, (1,M), (1,N)},
{(0,M), (0,N), (1,M), (1,N)},
…
∅ }
D.h. ein Eingabesymbol kann im nicht-deterministischen Automaten eine Menge
von Zustandsübergängen auslösen (beschrieben als eine Teilmenge der
Potenzmenge).
Definition 5 stochastischer Automat
C = (X, Y, Z, H) heißt stochastischer Automat, wenn
1. X, Y, Z beliebige nichtleere Mengen sind, und
2. H eine auf Z × X definierte Funktion ist, die diskrete Wahrscheinlichkeitsmaße
über Y × Z als Werte H(z,x) hat. ■ (Starke 1969: 211)
4.2 Endliche abstrakte Automaten
Definition 6 endlicher Automat
A heißt X-endlich, Y-endlich bzw. Z-endlich bzw. (X,Y)-endlich usw., wenn die
jeweils angegebenen Mengen endlich sind. (X,Y,Z)-endliche Automaten
bezeichnen wir schlechthin als endlich ■ (Starke 1969: 25)
Die Definitionen sind für allgemeine Mengen formuliert. D.h. alle Mengen, die auf
diese angegebene Art strukturiert sind, bilden eine Struktur, für die hier die Namen
„determinierter Automat“ „nicht-deterministischer Automat“ bzw. stochastischer
Automat festgelegt werden. Die Buchstaben für die Bezeichnungen sind nicht
festgelegt. Im Gebiet der endlichen Automaten findet man häufig auch die
folgenden Bezeichner:
Z (oft auch mit Q bezeichnet) Menge der Zustände
X (oft auch mit Σ bezeichnet) Menge der Eingabesymbole
Y (oft auch mit ∆ bezeichnet) Menge der Ausgabesymbole
Eine mögliche Notation ist also:
Karin Haenelt, 2010 Seite 11 von 15
Endliche Automaten: Einführung
5 Einordnung in die Automatentheorie und die Theori e formaler Sprachen
5.1 Klassifizierung von Algorithmen
Alan Turing hatte 1936 die Grenze zwischen dem, was eine abstrakte
Rechenmaschine berechnen kann und was nicht, untersucht. Er erfand die
Turingmaschine, das abstrakte Modell eines Rechners, der mit nur drei
Operationen (lesen, schreiben, Lesekopf bewegen) sämtliche berechenbare
Probleme lösen kann. Anfangs galt das Interesse der Mathematik der Bestimmung
der Grenze zwischen berechenbaren und nicht berechenbaren Problemen, d.h.
zwischen solchen, für deren Lösung Algorithmen möglich sind und solchen, für
deren Lösung es keine Algorithmen gibt. Die Tatsache, dass es einen Algorithmus
gibt, bedeutet auch, dass es möglich ist, ein Programm für die Lösung eines
Problems zu schreiben. Mit der Implementierung der Algorithmen auf Rechnern
kam die Frage hinzu, wie effizient die Programme sind, und Programme wurden
nach ihrer Effizienz klassifiziert. Zwei Ansätze zur Klassifizierung von Algorithmen
wurden entwickelt: Die Komplexitätstheorie klassifiziert Algorithmen nach ihrem
Laufzeitverhalten, die Automatentheorie klassifiziert Algorithmen nach der Art des
Speichers, die für die Implementierung zum Merken von Zwischenergebnissen
gebraucht wird.
Karin Haenelt, 2010 Seite 12 von 15
Endliche Automaten: Einführung
5.1.1 Automatentheorie
Die Theorie unterscheidet nach der Art des Speichers, der für das Merken von
Zwischenergebnissen gebraucht wird, u.a die folgenden Klassen von Automaten:
Automat Speicher
Turingmaschine unendlich großer Speicher
linear beschränkter Automat endlich großer Speicher
Kellerautomat (push down automaton) Kellerspeicher (stack)
endlicher Automat kein zusätzlicher Speicher
Nach der Art des Speichers ist der endliche Automat der einfachste Automat: er
hat nur endlich viele Zustände und darüberhinaus keinen zusätzlichen Speicher
zum Merken von Zwischenergebnissen. Er hat lediglich eine Variable zur
Speicherung des aktuellen Zustandes, aber keine Variable zur Speicherung
durchlaufener Zustände. Ein Übergang von einem Zustand zur Zeit t in einen
Zustand zur Zeit t+1 nur ist abhängig vom Zustand zur Zeit t und der Eingabe im
Zustand zur Zeit t. Vorhergehende Zustände sind nur dadurch wirksam, dass sie
über eine bestimmte Eingabe in den aktuellen Zustand geführt haben, und dieser
aktuelle Zustand ein bestimmtes Ergebnis repräsentiert. Man sagt auch: „endliche
Automaten haben kein Gedächtnis“.
5.1.2 Komplexitätstheorie
Zur Komplexität werden wir bei der Vorstellung der einzelnen Algorithmen etwas
sagen. Wir können hier jedoch vorwegnehmen, dass die Traversion
deterministischer endlicher Automaten in die Komplexitätsklasse O(n) gehört: d.h.
im schlechtesten Fall braucht der Algorithmus eine Anzahl von Rechenschritten,
die linear zur Länge der Eingabe (n) ist. D.h. deterministische endliche Automaten
haben ein sehr effizientes Laufzeitverhalten.
5.2 Theorie formaler Sprachen
Die Theorie der formalen Sprachen beschäftigt sich mit solchen Sprachen, für die
eine formale Definition existiert. Es handelt sich dabei primär um künstlich
t th the then
Start t h e n
Karin Haenelt, 2010 Seite 13 von 15
Endliche Automaten: Einführung
geschaffene Sprachen wie etwa Programmiersprachen. Noam Chomsky hat 1956
eine Hierarchie formaler Sprachen nach der Komplexität der Regeln ihrer
Grammatik erstellt (bekannt als Chomsky-Hierarchie). Die allgemeinste Form einer
Grammatik ist eine Typ-0 Grammatik, bei der es keinerlei Einschränkungen für
Regeln gibt. Die Klassen Typ-1-Grammatiken, Typ-2-Grammatiken und Typ-0-
Grammtiken werden von Ebene zu Ebene spezieller, d.h. es gelten zunehmende
Einschränkungen für die Regelformulierung. Jedem Grammatik-Typ entspricht ein
Automat, der die Sprache erkennen kann, die durch die jeweilige Grammatik
beschrieben wird.
Sprachklasse Hierarchie Grammatik Regelformat Automat
rekursiv
aufzählbare
Sprachen
Typ 0 allgemeine
Regelgrammatik
α→β
α ≠ε
Turing-Maschine
kontext-sensitive
Sprachen
Typ 1 kontextsensitive
Grammatik
α1Aα2→α1βα2
β ≠ε
linear
beschränkter
Automat
kontextfreie
Sprachen
Typ 2 kontextfreie
Grammatik
A→α
Kellerautomat
reguläre
Sprachen
Typ 3 reguläre
Grammatik
rechtslinear:
A → wB
A → w
linkslinear:
A → Bw
A → w
Endlicher
Automat
6 Anwendungsgebiete und Attraktivität endlicher Aut omaten
Endliche Automaten haben sich zur Beschreibung der Struktur und des Verhaltens
vieler Objekte aus unterschiedlichen Bereichen als nützlich erwiesen. Hierzu
gehören Systeme und Organismen verschiedener Art wie Roboter, Computer oder
Computerprogramme, Schaltkreise, Neuronen, Aspekte der menschlichen Sprache
oder auch Geschäftsprozesse.
Vorteile des Modells sind
Karin Haenelt, 2010 Seite 14 von 15
Endliche Automaten: Einführung
■ Das Modell ist mathematisch wohl-fundiert und daher systematisch und
kontrolliert handhabbar.
■ Für das Modell sind direkte Umsetzungen in Computerprogramme entwickelt
worden.
■ Das Arbeiten mit einer endlichen Anzahl von Zuständen ermöglicht die
Implementierung des Systems mit einer fixen Menge von Ressourcen.
■ Das Modell bietet eine Reihe softwaretechnischer Vorteile (s. 6.1)
6.1 softwaretechnische Vorteile
Aus softwaretechnischer Sicht gibt es mindestens vier attraktive Eigenschaften
endlicher Automaten:
■ Implementierungen mit endlichen Automaten zeichnen sich in der Regel durch
ein besonders effizientes Laufzeit- und Speicherplatzverhalten aus
■ Für endliche Automaten gibt es eine abstrakte Spezifikation, nämlich reguläre
Ausdrücke
■ Endliche Automaten lassen sich vielfältig komponieren. Dies erleichtert die
modulare Modellierung von Anwendungen
■ Für kleinere endliche Automaten kann man Visualisierungswerkzeuge
verwenden
Endliche Automaten zeichnen sich durch eine besondere Rechenzeit- und
Speicherplatz-Effizienz aus. Unabhängig von der Größe eines Automaten laufen
Traversionsalgorithmen in deterministischen Akzeptoren in linearer Zeit. Nicht-
deterministische Akzeptoren lassen sich in deterministische umformen. Auch
Transduktoren lassen sich häufig sequentialisieren oder auf einen geringen Grad
an Nicht-Determinismus reduzieren. Für die Speicherplatzoptimierung gibt es
Minimierungsalgorithmen.
Die Vielfalt der Umformungsmöglichkeiten erleichtert die praktische Handhabung:
Die mathematischen Darstellungsformen umfassen Funktionen, Relationen,
Graphen, reguläre Mengen und Matrizen.
Mit den regulären Ausdrücken steht eine abstrakte Notation zur Verfügung, die
eine kompositionelle und implizite Spezifikation ermöglicht. Meist sind reguläre
Ausdrücke als Beschreibungsmittel einfacher zu handhaben als die Automaten
selbst. Allerdings können auch reguläre Ausdrücke so komplex werden, dass sie
nicht mehr einfach zu handhaben sind. Ein weiterer Vorteil endlicher Automaten
ergibt sich aus ihrem kompositionellen Charakter: Den Bildungsprinzipien regulärer
Ausdrücke entsprechend können Modellierungen aus Teilkomponenten aufgebaut
Karin Haenelt, 2010 Seite 15 von 15
Endliche Automaten: Einführung
werden. Analog können größere Automaten aus den entsprechenden
Teilautomaten zusammengesetzt werden. Dies ermöglicht eine modulare und
inkrementelle Entwicklung größerer Systeme.
Die Äquivalenz endlicher Automaten mit Graphen ermöglicht die Darstellung
zumindest kleinerer Automaten mit Visualisierungswerkzeugen in einem leicht
überschaubaren Format.
6.2 Modellierung von Objekten
Die Automatentheorie gibt natürlich keine Antwort auf die Frage, mit welchen
Zuständen, Eingaben und Zustandsübergängen ein konkretes Objekt zu
modellieren ist, sie kann aber sehr wohl dem Erkenntnisgewinn über Objekte
dienen. Die Untersuchung, ob und wieweit ein Objekt (z.B. menschliche Sprache)
mit endlichen Automaten modelliert werden kann, führt zu nicht-trivialen
Erkenntnissen über die Natur des Objekts.
Das Modell stellt zum Beispiel das Inventar für Untersuchungen zur Verfügung,
wieweit bestimmte Objekte und ihre Eigenschaften als reguläre Objekte oder
Eigenschaften beschreibbar sind.