Endliche Automaten
Einführung in den Themenbereich
Karin Haenelt
18.04.2010
1
Inhalt
Informelle Einführung: Was sind endliche Automaten?
Abstrakte Automaten
Endliche abstrakte Automaten
Beispiele
T ypen endlicher Automaten
Akzeptoren, Transduktoren
deterministisch, nicht-deterministisch, stochastisch
Definitionen
Abstrakte Automaten als mathematische Strukturen
Endliche abstrakte Automaten
Einordnung endlicher Automaten
Automatentheorie: Art des Speichers
Theorie formaler Sprachen: Strukturelle Komplexität
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
2
Informelle Einführung
Abstrakter Automat
ein abstrakter Automat ist ein mathematisches Modell für
einfache Maschinen/Programme, die bestimmte Probleme lösen
beschreibt nicht einen bestimmten Automaten, sondern
gemeinsame Grundprinzipien einer Klasse von Automaten
Grundlegende Komponenten
Zustände
Eingabesymbole
Zustandsübergänge: reagiert auf Eingaben durch Übergang
in einen anderen Zustand
Zustände
3
des
Eingabe
Ausgabe
Automaten
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
Informelle Einführung
Endlicher abstrakter Automat
Ein abstrakter Automat ist ein „endlicher Automat“, wenn die
Anzahl der Zustände, der Eingaben u. der Ausgaben endlich ist
Komponenten der Modelle
endliche Menge von Zuständen (Q)
interne Konfigurationen, in denen sich ein System
befinden kann
zeitliche Ordnung (δ)
definiert die möglichen Sequenzen von Zuständen
endliche Menge von Eingaben (Σ)
endliche Menge von Ausgaben (Reaktionen) (Δ)
System zeigt abhängig vom aktuellen Zustand eine bestimmte
Reaktion und geht in einen Folgezustand über
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
4
Endliche Automaten: Beispiele
Kippschalter und Lexikon
drücken
aus an
an aus
drücken
Schalter
Start
aus
an
drücken
Lexikon
0
d
1
e
2
m
n
r
s
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
3
4
s
5
e
6
n
7
0
1
2
3f
4f
5
6
7f
d e m n r s
1
2
3 3 3 4
5
6
7
5
Typen endlicher Automaten
i
p
q
Akzeptoren
Automaten ohne Ausgabe
Transduktoren
Automaten mit Ausgabe
deterministisch
jedem Paar [p,i] ist ein Paar [o,q]
eindeutig zugeordnet
nicht-deterministisch
einem Paar [p,i] können mehrere
mögliche Paare [o,q] zugeordnet sein
stochastisch
jedem Paar [p,i] ist für ein Paar [o,q]
ein Wahrscheinlichkeitsmaß zugeordnet
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
i:o
p
q
p
o
i
p
o1
i
o2
i
p
q
q1
q2
o1/w1
q1
i
o2/w2
q2
i
6
Typen endlicher Automaten
Beispiele
Akzeptor
d
0
0
S 1
t q
2
S 1
t
2
S
t
7
6
a 3
t
deterministisch
4 t 5
6
t
7
Transduktor
0 S 1 t
[t]
[ʃ]
q
2
a 3 4
[a]
[t]
nicht-deterministisch
a 3 d 4 t
d 4 t
5
[t]
0 S 1 t q
2 a 3
[t]
[a]
[ʃ]
a 8 t 9 t 10
t 6 t
[t]
dt
tt
5
7
stochastisch
d/.65 4 t/1 5
d/.65 4 t/1 5
[t]
0 S/1 1 t/1 q
0 S/1 1 t/1 q
2 a/1 3
2 a/1 3
[t]
[a]
[ʃ]
t/.35 6 t/1 7
t/.35 6 t/1 7
[t]
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
7
Inhalt
Informelle Einführung: Was sind endliche Automaten?
Abstrakte Automaten
Endliche abstrakte Automaten
Beispiele
T ypen endlicher Automaten
Akzeptoren, Transduktoren
deterministisch, nicht-deterministisch, stochastisch
Definitionen
Abstrakte Automaten als mathematische Strukturen
Endliche abstrakte Automaten
Einordnung endlicher Automaten
Automatentheorie: Art des Speichers
Theorie formaler Sprachen: Strukturelle Komplexität
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
8
Definitionen Abstrakte Automaten als
mathematische Strukturen: Historie
David A. Huffman (1954), George H. Mealy (1955) und Edward
F. Moore (1956)
untersuchten Schaltkreise
beschrieben voneinander unabhängig den konventionellen
deterministischen Automaten in ähnlichen Varianten
Huffman entwickelte den Begriff des abstrakten Automaten
Mealy und Moore führten abstrakte Automaten als
mathematische Strukturen ein.
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
9
Definitionen
Mathematische Struktur
Eine Struktur ist eine Zusammenfassung einer Menge und
ausgewählter interessanter Eigenschaften dieser Menge
Relationen, Funktionen und/oder
ausgezeichnete Elemente
die Eigenschaften definieren eine Struktur auf der Menge
Darstellung als Tupel = (Menge,
Relation1, …, Relationo,
ausgezeichnetes Element1, .., Ep)
Beispiel (ℕ, +,×, 0,1)
Name dieser Beispielstruktur in der abstrakten Algebra: Semiring
Semiringe spielen in der Theorie endlicher Automaten eine
grundlegende Rolle
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
10
Definitionen
Determinierter abstrakter Automat
Mengentheoretische Definition (Version: Starke 1.1)
determinierter abstrakter Automat (Starke 1969: 22)
A = (X, Y, Z, γ) heißt determinierter abstrakter Automat, falls
a) X, Y, Z beliebige nichtleere Mengen sind, und
b) γ eine auf Z X definierte Funktion ist, deren Werte in Y
Z liegen. ■
Interpretation
X Menge der Eingabesymbole
Y Menge der Ausgabesymbole
Z Menge der Zustände
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
Z×X
0
a
b
Y×Z
Y×Z
A
B
1
1
11
Definitionen
Determinierter abstrakter Automat
Mengentheoretische Definition
(Version: Starke 1.2 = Version Mealy 1955)
determinierter Mealy-Automat (Starke 1969: 22)
Ein determinierter Automat A = (X, Y, Z, γ) heißt determinierter
Mealy-Automat, falls für alle x X, zZ,
γ(z,x) = [λ(z,x),δ(z,x)] ist,
wobei λ die Ergebnis und δ die Überführungsfunktion von A
ist. ■
Interpretation
X Menge der Eingabesymbole
Y Menge der Ausgabesymbole
Z Menge der Zustände
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
λ(z,x )
δ(z,x )
a
b
a
b
0 A
B
0 1
1
12
Defintionen
Nichtdeterministischer und stochastischer Automat
Mengentheoretische Definition
nichtdeterministischer Automat (Starke 1969: 121)
B = (X, Y, Z, h) heißt nicht-deterministischer Automat, falls
a) X, Y, Z nichtleere Mengen sind, und
b) h eine eindeutige Abbildung von Z X in *(Z Y) ist. ■
(Starke 1969: 121)
stochastischer Automat (Starke 1969: 211)
C = (X, Y, Z, H) heißt stochastischer Automat, wenn
a) X, Y, Z beliebige nichtleere Mengen sind, und
b) H eine auf Z X definierte Funktion ist, die diskrete
Wahrscheinlichkeitsmaße über Y Z als Werte H(z,x) hat
■
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
13
Definitionen
Endlicher Automat
Mengentheoretische Definition
endlicher determinierter Automat (Starke 1969: 25)
Ein determinierter Automat A = [X,Y,Z,δ,λ] heißt X-endlich, Yendlich 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 ■
(X,Y,Z)-endliche nichtdeterministische Automaten …endlich.
(X,Y,Z)-endliche stochastische Automaten … endlich.
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
14
Definitionen
Mengentheoretische Notation endlicher Automaten
– eine Standardnotation
EA = (Q,q0,F,Σ,Δ,,δ,σ,ρ)
p,q Q
q0 Q
FQ
i Σ
o Δ
w
δ(p,i) = q
Zustände
Startzustand
Endzustände
Gewicht
Ausgabesymbol
w/ o
p
q
Eingabesymbole
i
Ausgabesymbole Zustand
Folgezustand
Eingabesymbol
Gewichte
Zustandsübergangsfunktion
σ(p,i,q) = o Ausgabefunktion
ρ(p,i,o,q) = w Gewichtungsfunktion
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
15
Inhalt
Informelle Einführung: Was sind endliche Automaten?
Abstrakte Automaten
Endliche abstrakte Automaten
Beispiele
T ypen endlicher Automaten
Akzeptoren, Transduktoren
deterministisch, nicht-deterministisch, stochastisch
Definitionen
Abstrakte Automaten als mathematische Strukturen
Endliche abstrakte Automaten
Einordnung endlicher Automaten
Automatentheorie: Art des Speichers
Theorie formaler Sprachen: Strukturelle Komplexität
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
16
Einordnung endlicher Automaten
Automatentheorie
Klassifikation von Algorithmen nach der Art des Speichers
• klassifiziert Algorithmen nach der Art des Speichers, der für die
Implementierung zum Merken von Zwischergebnissen
gebraucht wird
Automat
Speziali- Turingmaschine
sierungen linear beschränkter Automat
Kellerautomat (Push Down
Automaton)
endlicher Automat
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
Speicher
unendlich großer Speicher
endlich großer Speicher
Kellerspeicher (Stack)
kein zusätzlicher Speicher
17
Einordnung endlicher Automaten
Automatentheorie
Endliche Automaten haben kein Gedächtnis
Mengen der Zustände, der Eingabesignale, der Ausgabesignale sind
endlich
kein Gedächtnis zur Speicherung durchlaufener Zustände:
Übergang von Zustand zur Zeit t in Zustand zur Zeit t+1 nur
abhängig von
Zustand zur Zeit t und
Eingabe im Zustand zur Zeit t
Vorhergehende Zustände 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.
Start
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
B
B
u
Bu
c
Buc
h Buch
18
Einordnung endlicher Automaten
Theorie formaler Sprachen
mit endlichen Automaten ist die Klasse der regulären
Sprachen erkennbar und generierbar
Sprachklassen nach struktureller Komplexität (Chomsky-Hierarchie)
Sprachklasse
rekursiv
aufzählbare
Sprachen
kontextsensitive
Sprachen
kontextfreie
Sprachen
reguläre
Sprachen
Hierarchie Grammatik
Regelformat
Typ 0
allgemeine
Regelgrammatik
Automat
TuringMaschine
Typ 1
kontextsensitive 1 A 2 1 2
Grammatik
Typ 2
kontextfreie
Grammatik
reguläre
Grammatik
Typ 3
A
A wB
Aw
Endlicher
rechtsline ar Automat
A Bw
Aw
linkslinea r
A, B nonterminale Symbole
Ketten aus Terminalen und Non Terminalen
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
linear
beschränkter
Automat
Kellerautomat
w terminale Ketten
19
Äquivalenzen: Endliche Automaten, reguläre
Sprachen, reguläre Ausdrücke
Reguläre Ausdrücke
de([mnrs]|“ssen“)
sind äquivalent
spezifizieren
Reguläre Sprachen
Endliche Automaten
0
d
1
e
2
m
3
n
r
s
e
s
n
5
7
4
6
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
akzeptieren
{dem, den, der, des, dessen}
20
Literatur
Hopcroft, John E. Rajeev Motwani und Jeffrey D. Ullman (2001). Einführung in die
Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium
engl. Original: Introduction to Automata Theory, Languages and Computation. AddisonWesley.
Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie,
formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 (engl.
Original Introduction to automata theory, languages and computation). [Anm.: Diese
Fassung enthält die Beweise]
Huffman, D. A. (1954). The synthesis of sequential switching circuits. J. Franklin
Inst. 257: 3-4, S. 161-190 und 275-303
Lawson, Mark V. (2005). Finite automata. In: Hritsu-Varsakelis, D. und W.S.Levine (Hg).:
Handbook of networked and embedded Control Systems.
Lawson, Mark V. (2004). Finite Automata. In: D. Hristu-Varsakelis and W. S. Levine (eds.):
Handbook of networked and embedded control systems
Mealy, George H. (1955). A method for synthesizing sequential circuits. Bell
System Technical Journal 34:5, 1045-1079
Moore, Edward F. (1956). Gedanken experiments on sequential machines. In: Automata
Studies, S. 129-153, Princeton: Princeton University Press
Starke, Peter H. (1969). Abstrakte Automaten. VEB Deutscher Verlag der Wissenschaften:
Berlin (ältere, aber sehr gute mathematische Darstellung)
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
21
Copyright
© 2009 Karin Haenelt.
All rights reserved. The German Urheberrecht shall be applied to these slides. In
accordance with these laws these slides are a publication which may be quoted and used
for non-commercial purposes, if the bibliographic data is included as described below.
Please quote correctly. If you use the presentation or parts of it for educational and scientific
purposes, please include the bibliographic data (author, title, date, page, URL) in your
publication (book, paper, course slides, etc.).
Deletion or omission of the footer (with name, data and copyright sign) is not permitted
Bibliographic data. Karin Haenelt (2010). Endliche Automaten. Einführung in den
Themenbereich. Kursfolien 18.4.2010
http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_FSA-IntroV4.pdf
Any further use requires the prior permission in writing from the author.
For commercial use: No commercial use is allowed without written permission from the
author. In case you are interested in commercial use please contact the author.
Court of Jurisdiction is Darmstadt.
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
22
Versionen
v 4.1- 18.04.2010, v 4.0 – 30.03.2009
V03.01 – 16.04.2008
V03.00 – 12.04.2008
V02.03 - 14.04.2007
V02.02 - 11.04.2007
V02.01 - 15.04.2006
© Karin Haenelt,
Endliche Automaten, Einführung,
V 4.1, 18.04.2010
23