1 endliche automaten akzeptoren karin haenelt 2.5.2010
TRANSCRIPT
1
Endliche Automaten
Akzeptoren
Karin Haenelt
2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
2
Automatentheorie:endliche Automaten haben kein Gedächtnis zum Speichern von Zwischenergebnissen
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.
3
B Bu Buc BuchStart B u c h
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Definition: Endlicher Akzeptor
Ein endlicher Akzeptor wird formal spezifiziert durch das Quintupel A = (Q,q0,F,Σ,δ)
Q endliche Menge von N Zuständenq0, q1, ... qN-1
q0 Startzustand, q0 Q F Menge der Endzustände, F Q Σ endliche Menge von M Eingabesymbolen
a1, a2, ... aM
δ (q, a) Zustandsübergangsfunktion
4© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Formen der Darstellung eines Akzeptors, Beispiele
5Hopcroft/Motwani/Ullmann 2001:48,49
Startzustand Endzustand
Transitionsgraphq1 q2 q3 q4 q5
Startu r c h
q0
d
10 ),( qdq
QQ :
Transitionstabelle /Zustandsübergangs-matrix
Transitions-funktion
43 ),( qcq 54 ),( qhq
21 ),( quq
32 ),( qrq
(0,d,1)(1,u,2)(2,r,3)(3,c,4)(4,h,5)
Tripel
c d h r u →q0 q1
q1 q2 q2 q3 q3 q4 q4 q5
*q5
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
6© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Definitionen
Korrespondenz Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M
in N (bzw. zwischen M und N) genannt,wenn K M × N ist. ■ (Starke, 2000: 20)
rechtseindeutige Korrespondenz Eine Korrespondenz ist rechtseindeutig, wenn zu jedem Element
aus M höchstens ein Element aus N in Korrespondenz steht. ■ Funktion
Eine Funktion ist eine rechtseindeutige Korrespondenz ■ Relation
Korrespondenzen aus einer Menge A in diese Menge A werden als Relationen bezeichnet. ■
7© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Definitionen: Korrespondenz, Funktion, Relation
Es seien M, N Mengen. Dann wird K eine Korrespondenz aus M in N (bzw. zwischen M und N) genannt, wenn K M × N ist. ■1)
Eine Korrespondenz ist rechtseindeutig, wenn zu jedem Element aus M höchstens ein Element aus N in Korrespondenz steht. ■
Eine Funktion ist eine rechtseindeutige Korrespondenz ■
Korrespondenzen aus einer Menge A in diese Menge A werden als Relationen bezeichnet. ■
81) Starke, 2000: 20
L = {(s,f) | die Stadt s S liegt am Fluss f F}
K = (l,h) | h H ist die Hauptstadt von l L.
f(l) = h) | h H ist die Hauptstadt von l L.
P = {(p,s) | p,s S und p ist eine Partnerstadt von s }.
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Definition: Zustandsübergangsfunktion
Unter einer Zustandsübergangsfunktion δ (q, a)versteht man in der Informatik eine mathematische Funktion oder eine mathematische Relation, die einem Zustand q Q eines Automaten bei Eingabe eines Symbols a Σ keinen, einen oder mehrere Folgezustände zuweist. ■
Eine totale Zustandsübergangsfunktion ist für jede Situation (q,a) definiert. ■
Eine partielle Zustandsübergangsfunktion ist nicht für jede Situation (q,a) definiert. ■
9© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
10© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren
11
A = (Q, q0, F, Σ, δ)
Typ δ
deterministisch
DEA totale Funktion
Q × Σ → Q für jede Situation (q,a) genau ein Zielzustand
partielle Funktion
Q × Σ → Q falls (q,a) definiert ist
für jede Situation (q,a) höchstens ein Zielzustand
nicht-deterministisch
NEA totale Relation Q × Σ → 2Q \ für eine Situation (q,a) - ein oder mehrere
(gilt für totale R.) - kein, ein oder mehrere
(gilt für partielle R.) Zielzustände
partielle R. Q × Σ → 2Q
nicht-deterministisch mit ε-Übergängen
ε-NEA totale Relation Q × (Σ ε) → 2Q \
partielle R. Q × (Σ ε) → 2Q
2Q Potenzmenge von Q: Menge aller Teilmengen von Q
Beispiel: Q = {1,2}, 2Q = {{1,2}, {1}, {2},{}}
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren: Beispiele
12
DEA-t Q adje dete nomn 0 4 1 3 1 2 4 3 2 4 4 3
3 F 4 4 3
4 4 4 4
DEA-p Q adje dete nomn 0 1 3 1 2 3 2 3
3 F
DEA, totale Übergangsfunktion DEA, partielle Übergangsfunktion
ε-NEA Q adje dete nomn ε 0 {1} {2} 1 {2} {2} 2 {3}
3 F
NEA Q adje dete nomn 0 {1,2} {3} 1 {2} {3} 2 {3}
3 F
NEA Epsilon-NEA
QQ :
QQ 2: QQ 2)(:
QQ :
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren: Beispiele
13
0dete
1adje
2nomn
3
nomnnomn0
dete
adje
dete, adje,nomn
1adje
2nomn
3nomn
nomn
4dete
dete, adje,nomn
dete,adje
0dete
1adje
2nomn
3
0dete
1adje
2nomn
3
nomnnomn
dete
DEA, totale Übergangsfunktion DEA, partielle Übergangsfunktion
NEA Epsilon-NEA
L = {(dete,adje,nomn), (dete,nomn),(nomn)}
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren: Bedeutung
die verschiedenen Varianten erweitern endliche Automaten erweitern nicht die Klasse der Sprachen, die von einem
endlichen Automaten akzeptiert werden erweitern den Programmierkomfort
Achtung! Die Definitionen von Operationen auf Automaten werden oft für bestimmte Automaten gegeben;häufig für DEA mit totaler Übergangsfunktion(Definitionen stets genau betrachten!)
14© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren: Verwendungsbeispiele
15
Fall: - Nicht-Determinismus diente dem Spezifikationskomfort
0dete
1adje
2nomn
3
nomnnomn
dete
0dete
1adje
2nomn
3
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Varianten endlicher Akzeptoren: Verwendungsbeispiele
16
b ha
w l da
10 11 12 14
15 16 17
13
n
b ua
l c ha
20 21 22 23
24 25 26
0100
Fall: NEA entstanden durch Vereinigung zweier DEA
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
17© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Zustandsübergangsfunktionen für Zeichenfolgen
Zweck Definition des Akzeptierens einer Eingabezeichenfolge Bestimmung der von einem Akzeptor akzeptierten Sprache
Anwendung Traversionsalgorithmen Überführung der einzelnen Akzeptorvarianten ineinander
18© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Zustandsübergangsfunktionen für ZeichenfolgenErweiterte Zustandsübergangsfunktion
Einführung einer Funktion und Festlegung ihrer Bedeutung
Es sei A = (Q, Σ, δ) ein beliebiger deterministischer Automat, dann gilt für alle q Q, w Σ*, a Σ Basis
Induktion oder 1)
19
qq def),(ˆ
),()),,((ˆ))),,(ˆ(),(ˆ aqaqaqaq
)),,(ˆ(),(ˆ awqwaq def
)),,((ˆ ),(ˆ waqawq
Quellen: Hopcroft/Motwani/Ullman (2002: 58f) Lawson (2004: 16f) 1) Beweis der Herleitung: Starke (1969: 23/24)
es gilt
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
)),,(ˆ(),(ˆ awqwaq def
Zustandsübergangsfunktionen für ZeichenfolgenBeispiel
20
( q0 , dete adje nomn ) = δ ( ( q0 , dete adje ) , nomn ) = δ ( δ ( ( q0 , dete ) , adje ) , nomn ) = δ ( δ ( δ ( ( q0 , ε ) , dete ) , adje ) , nomn ) = δ ( δ ( δ ( q0 , dete ) , adje ) , nomn ) = δ ( δ ( q1 , adje ) , nomn ) = δ ( q2 , nomn ) =
q3
)),(,(ˆ)),(),,((ˆ)),,(,(ˆ 100 nomnadjeqnomnadjedeteqnomnadjedeteq ))(,(ˆ)),,((ˆ)),(,(ˆ 211 nomnqnomnadjeqnomnadjeq ),(ˆ)),,((ˆ))(,(ˆ 322 qnomnqnomnq
33 ),(ˆ qq
Form 1 Form 2
Form 2
0dete
1adje
2nomn
3
)),,((ˆ ),(ˆ waqawq
( q0 , dete adje nomn ) = ( δ ( q0 , dete ) , adje nomn ) = ( δ ( δ ( q0 , dete ) , adje ) , nomn ) =
( δ ( δ ( δ ( q0 , dete ) , adje ) , nomn ) , ε ) = ( δ ( δ ( q1 , adje ) , nomn ) , ε ) = ( δ ( q2 , nomn ) , ε ) = ( q3 , ε ) =
q3
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Sprache eines deterministischen endlichen Automaten
Sei DEA A = (Q, q0,F,Σ,δ), dann ist L(A), die Sprache, die durch A erkannt wird, und diese Sprache wird wie folgt definiert:
die Sprache L(A), die von A akzeptiert wird, ist die Menge der Zeichenfolgen w, die vom Startzustand q0 zu einem akzeptierenden Zustand führen.
Die leere Zeichenfolge wird dann von einem Automaten akzeptiert, wenn der Startzustand ein akzeptierender Zustand ist.
21
}),(ˆ|{)( 0 FwqwAL
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Erweiterte Zustandsübergangsfunktion im nicht-deterministischen Automaten
Basis
Induktion oder
Erläuterung
22
qq ),(ˆ
),(),(ˆ aqaq
awqwaq
)),,(ˆ(),(ˆ
waqawq
)),,((ˆ),(ˆ
waq
)),,((ˆ angenommen ,dann ist
},,{),( 321 qqqaq
),(ˆ),(ˆ),(ˆ),(ˆ 321 wqwqwqawq
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Sprache eines nicht-deterministischen endlichen Automaten
ein NEA akzeptiert alle Zeichenfolgen, die mindestens einem Pfad durch den Automaten entsprechen, der am Ende der Zeichenfolge einen akzeptierenden Zustand erreicht
23
}),(ˆ|{)( 0 FwqwAL
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Übergangsfunktion im NEA mit ε-Transitionen
schließt ε-Transitionen ein ist also eine Funktion über Zeichenfolgen Berechnung über ε-Hüllen Beispiel:
24
q0 dete
q1 advb
q2 nomn
q3
prpo q4
temp q5
adje
das richtig gutes Beispiel von heute
dete advb adje nomn prpo temp
},{),(ˆ 530 qqnomnq
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
ε-Hülle
ε-Hülle(q), d.h. alle von q aus rekursiv durch Eingabe von ε erreichbaren Zustände
Basis
Induktion und
25
),(ˆ q
)(qHülleq
)(qHüllep ),( pr
)(qHüller
Grahne, 2002: 46© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
ε-Hülle
26
das richtig gute Beispiel von heute
dete advb adje nomn prpo temp
q0 dete
q1 advb
q2 nomn
q3
prpo q4
temp q5
adje
},,{)( 2100 qqqqHülle
},{)( 211 qqqHülle
}{)( 22 qqHülle
},{)( 533 qqqHülle
}{)( 44 qqHülle
}{)( 55 qqHülle
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Erweiterte Zustandsübergangsfunktion im nicht-deterministischen Automaten mit ε-Transitionen
Basis
Induktion
Erläuterung
27
)(),(ˆ qHülleq
))),(((),(ˆ aqHülleHülleaq
das richtig gute Beispiel von heute
dete advb adje nomn prpo temp
q0 dete
q1 advb
q2 nomn
q3
prpo q4
temp q5
adje
))),(((
),(ˆ),(ˆaqHülleHüllep
wpawq
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Sprache eines nicht-deterministischen endlichen Automaten mit ε-Transitionen
ein ε-NEA akzeptiert alle Zeichenfolgen, die mindestens einem Pfad durch den Automaten entsprechen, der am Ende der Zeichenfolge einen akzeptierenden Zustand erreicht
28
}),(ˆ|{)( 0 FwqwAL
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
29© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Erkennung mit einem DEA
30
function D-RECOGNIZE(tape, machine) returns accept or reject current-state initial state of machine index beginning of tape loop if end of input has been reached then if current-state is an accept state then return accept else return reject elseif transition-table[current-state,tape[index]] is empty then return reject else current-state transition-table[current-state,tape[index]]
index index + 1 end
Jurafsky/Martin 2000:37
Ergänzungfür partielleÜbergangs-funktion
d a s 0 1 2
indextape
q0 q1 q2
currentstate
Zustand Eingabesymbol a d s
0 start 1 1 2 2 final
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
function ND-RECOGNIZE(tape, machine) returns accept or reject agenda {(Initial state of machine, beginning of tape)} current-search-state NEXT(agenda) loop if ACCEPT-STATE?(current-search-state) returns true then return accept else agenda agenda GENERATE-NEW-STATES(current-
search-state) if agenda is empty then return reject else current-search-state NEXT(agenda) end
Algorithmus zur Erkennung mit einem NEA mit Agenda 1/3
31© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Algorithmus zur Erkennung mit einem NEA mit Agenda 2/3
32
NEA
Q adje dete nomn
0 {1,2} {3}
1 {2} {3}
2 {3}
3 f
function GENERATE-NEW-STATES(current-state) returns a set of search-states current-node the node the current search-state is in index the point on the tape the current search-state is looking at return a list of search-states from transition table as follows: (transition-table[current-node, ],index)
(transition-table[current-node,tape[index]], index+1)
Jurafsky/Martin 2000:44
0 1 2 dete adje nomn
//für -Transitionen
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Algorithmus zur Erkennung mit einem NEA mit Agenda 3/3
33
function ACCEPT-STATES?(search-state) returns true or false current-node the node the current search-state is in index the point on the tape the current search-state is looking
at if index is at the end of the tape and current-node is an accept
state of machine then return true
else return false
Jurafsky/Martin 2000:44
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Behandlung alternativer Erkennungspfade im NEA
Klassische Suchverfahren Lookahead (nicht geeignet für Mehrfach-Lösungen) Verfolgen der Alternativen mit Agenda
Paralleles Verfolgen (Agenda als queue, breadth-first) Sequentielles Verfolgen / Backtracking (Agenda als stack,
depth-first)
34
Transitionen ErkennungswegeEingabebeispiel „dete,adje,nomn“
0dete
1adje
2nomn
3nomn
nomn
dete
nichtfortsetzbar
0dete
1adje
2nomn
3
2
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
NEA: Erkennung mit Agenda:Queue: paralleles Verfolgen
35
Agenda - Queue - parallel - breadth first remove task Eingabe-
zeichen add task erkannte
Eingabe-zeichenkette
# Zustand q
Eingabe-Position
# Ziel-zustand q’
nächste Eingabe-Position
init 0 0 dete #1 1 1 dete #2 2 1 dete #1 1 1 adje #3 2 2 dete, adje #2 2 1 adje - #3 2 2 nomn #4 3 3 dete, adje,
nomn #4 3 3 - accept Aufgabe: ein Paar aus
[Zielzustand, nächste Eingabeposition]
Aufgaben werden - hinten angefügt- vorne entfernt
0d
1a
2n
3nn
d
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
NEA: Erkennung mit Agenda:Stack: sequentiell / backtracking
36
Agenda - Stack - sequentiell - depth-first pop task Eingabe-
zeichen push task erkannte
Eingabe-zeichenkette
# Zustand q
Eingabe-Position
# Ziel-zustand q’
nächste Eingabe-Position
init 0 0 dete #1 1 1 dete #2 2 1 dete #2 2 1 adje - - - #1 1 1 adje #3 2 2 dete, adje #3 2 2 nomn #4 3 3 dete, adje,
nomn #4 3 3 - accept
Aufgabe: ein Paar aus[Zielzustand, nächste Eingabeposition]
Aufgaben werden - oben angefügt- oben entfernt
0d
1a
2n
3nn
d
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
37© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Vervollständigung eines DEA mit partieller Übergangsfunktion
ein DEA mit partieller Zustandsübergangsfunktion kann vervollständigt werden
Ergebnis dieser Konstruktion: zusätzlicher „Fangzustand“
38
DEA-t Q adje dete nomn 0 4 1 3 1 2 4 3 2 4 4 3 3 F 4 4 3 4 4 4 4
0dete
adje
dete, adje,nomn
1adje
2nomn
3nomn
nomn
4dete
dete, adje,nomn
dete,adje
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von DEA und NEA
Für jeden NEA lässt sich ein äquivalenter DEA konstruieren (d.h. einer, der dieselbe Sprache akzeptiert)
Beweis durch Konstruktion eines äquivalenten Automaten DEA → NEA: Verfahren: Potenzmengenkonstruktion (auch
Teilmengenkonstruktion)
39© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von DEA und NEA
40
Sei ),,,,( 0 FqQM ein NEA, der L akzeptiert wir definieren )',',',,'(' 0 FqQM ein DEA: 2'
QQ Potenzmenge von Q, Menge aller Teilmengen
von Q [q1,q2, … , qi] - Repräsentant eines Zustandes aus 'Q ,
wobei q1, q2, …, qi aus Q sind. - ein einziger Zustand des DEA,
der einer Menge von Zuständen des NEA entspricht
0'q ][ 0q )],,...,,([' 21 aqqq i ],...,[ 21 ippp , genau dann, wenn
},...,,{)},,...,,({ 2121 ii pppaqqq - Anwendung von auf jeden Zustand aus Q,
der durch [q1,q2, … , qi] dargestellt wird - Vereinigung der Ergebnismenge 'F Menge aller Zustände aus 'Q , die einen
Endzustand aus M enthalten. Hopcroft/Ullmann 1988:22
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von DEA und NEA: Beispiel
41
Q NEA
a b
0 {1} 1 {1,2} 2 fs
q0
bq1
aq1q2
a
q0
bq1
aq2
a
Q’ DEA
a b
[q0,q1,q2] [q1,q2] [q1] [q0,q1 ] [q1,q2] [q1] [q0, q2] [q1] [q0 ] [q1] [ q1,q2] [q1,q2] [ q1 ] [q1,q2] [ q2] [ø ]
aqq )],,([ 21 ),(),( 21 aqaq },{ 21 qq
},{ 21 qq
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von DEA und NEA
42
Abhilfe:
Konstruktion mit Zustand [q0] beginnen Nur dann Zustände hinzufügen, wenn sie
Ergebnis einer Transition sind, die von einem bereits hinzugefügten Zustand ausgeht
q0
bq1
aq1,2
a
Q’ DEA
a b
[q0,q1,q2] [q1,q2] [q1] [q0,q1 ] [q1,q2] [q1] [q0, q2] [q1] [q0 ] [q1] [ q1,q2] [q1,q2] [ q1 ] [q1,q2] [ q2] [ø ]
in der Praxis oft viele Zuständevom Anfangszustand [q0] aus nicht erreichbar
Hopcroft/Ullmann 1988:24
lazy implementation
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von DEA und NEA
43
Q’ DEA
a b
qA qC qB qB qC qB
q0
bq1
aq1,2
a
Q’ DEA
a b
[q0,q1,q2] [q1,q2] [q1] [q0,q1 ] [q1,q2] [q1] [q0, q2] [q1] [q0 ] [q1] [ q1,q2] [q1,q2] [ q1 ] [q1,q2] [ q2] [ø ]
qA
bqB
aqC
a
Umbenennung der resultierenden Zustände
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von NEA mit und ohne ε- Transitionen bzw. Eliminierung von ε-Transitionen
44
Sei ),,,,( 0 FqQM ein NEA mit -Transitionen, der L akzeptiert
wir definieren )',,',,(' 0 FqQM ein NEA ohne -Transitionen, der L
akzeptiert: 'F falls die )( 0qHÜLLE einen Zustand
aus F enthält
F
qF }{ 0
sonst
),(' aq ),(ˆ aq für Qq und a
Hopcroft/Ullmann 1988:26
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenz von NEA mit und ohne ε- Transitionen bzw. Eliminierung von ε -Transitionen
45
Q -NEA
adj a
adv x
det d
nom n
0 {1} {1} 1 {2} {2} {2} 2 {2} {3} 3 fs
0det
1x
2n
3
a , , )det,(ˆ 0q
det)qHülle- ),,(ˆ(( 0 det)qqqHülle- },,,({( 210
det))qdet)qdet)qHülle- ,(,(,(( 210 )}({ 1qHülle-
0d
1a,x
2n
3
a
n
n
det,a,x
},{ 21 qq
))(( det),HÜLLE(q-HÜLLE- 0
Q’ NEA
adj adv det nom
0 {2} {2} {1,2} {3} 1 {2} {2} {3} 2 {2} {3} 3 fs
),(ˆ),(' aqaq
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Äquivalenzen NEA mit und ohne ε- Transitionen und DEA
46
Q -NEA
a d n x
0 {1} {1} 1 {2} {2} {2} 2 {2} {3} 3 fs
0d
1x
2n
3
a , ,
Q’ NEA
a d n x
0 {2} {1,2} {3} {2} 1 {2} {3} {2} 2 {2} {3} 3 fs
0d
1a,x
2n
3
a
n
n
d,a,x
Q’’ DEA
a d n x
0 2 12 3 2 12 2 3 2 2 2 3 3 fs
0d
12a,x
2n
3
a
n
n
a,x
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Inhalt
Endliche Akzeptoren Definitionen Definitionen: Zustandsübergangsfunktionen
Varianten endlicher Akzeptoren: DEA, NEA, ε-NEA Zustandsübergangsfunktionen für Zeichenfolgen und die von
Akzeptoren akzeptierten Sprachen Erkennungsalgorithmen Äquivalenzen Effizienz
47© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Effizienz endlicher Automaten
Zeit Am besten: deterministische Automaten Allgemein: linear
Platz schlechtester Fall eines DEA, der zu einem NEA mit n
Zuständen äquivalent ist: 2n Zustände optimierbar mit klassischen Minimierungsalgorithmen
48© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Vielen Dank
Für das Aufspüren von Fehlern in früheren Versionen und für Verbesserungsvorschläge danke ich
Hamdiye Arslan
© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
49
Literatur
Grahne, Gosta (2002): Introduction to Theoretical Computer Science. Course Slides. http://www.cs.concordia.ca/~teaching/comp335/2002F
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. Addison-Wesley.
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)
Lawson, Mark V. (2004). Finite Automata. Boca Raton, London, New York, Washington D.C.: Chapman&Hall/CRC.
Starke, Peter H. (2000). Logische Grundlagen der Informatik. Skript zur Vorlesung Theoretische Informatik I. Humboldt Universität zu Berlin.http://www2.informatik.huberlin.de/lehrstuehle/automaten/logik/skript.pdf
Starke, Peter H. (1969). Abstrakte Automaten. VEB Deutscher Verlag der Wissenschaften: Berlin (ältere, aber sehr gute mathematische Darstellung)
50© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
Versionen
Haenelt_FSA_Akzeptoren 3.1 2.5.2010, 3.0 21.04.2009 Haenelt_FSA-Basis 2.6 27.04.2008, 2.5 05.05.2007, 2.4: 29.04.2007, 2.3: 28.04.2007, 2.2:
23.05.2006, 2.1: 19.05.2006; 2.0: 13.05.2006 24.08.,04.05.,30.04.,24.04.,26.03.2005 04.05.2004 15.01.2003
51© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010
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 (20089. Endliche Automaten. Einführung in den
Themenbereich. Kursfolien 30.03.2009 http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_FSA-Akzeptoren.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.
52© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010