1 endliche automaten akzeptoren karin haenelt 2.5.2010

52
1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

Upload: vreni-bluth

Post on 05-Apr-2015

109 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

1

Endliche Automaten

Akzeptoren

Karin Haenelt

2.5.2010

Page 2: 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

Page 3: 1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

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

Page 4: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 5: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 6: 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

6© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 7: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 8: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 9: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 10: 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

10© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 11: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 12: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 13: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 14: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 15: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 16: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 17: 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

17© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 18: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 19: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 20: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 21: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 22: 1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

Erweiterte Zustandsübergangsfunktion im nicht-deterministischen Automaten

Basis

Induktion oder

Erläuterung

22

qq ),(ˆ

),(),(ˆ aqaq

Qq

awqwaq

)),,(ˆ(),(ˆ

Qq

waqawq

)),,((ˆ),(ˆ

Qq

waq

)),,((ˆ angenommen ,dann ist

},,{),( 321 qqqaq

),(ˆ),(ˆ),(ˆ),(ˆ 321 wqwqwqawq

© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 23: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 24: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 25: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 26: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 27: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 28: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 29: 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

29© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 30: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 31: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 32: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 33: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 34: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 35: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 36: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 37: 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

37© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 38: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 39: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 40: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 41: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 42: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 43: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 44: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 45: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 46: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 47: 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

47© Karin Haenelt,Endliche Automaten, Akzeptoren, 2.5.2010

Page 48: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 49: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 50: 1 Endliche Automaten Akzeptoren Karin Haenelt 2.5.2010

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

Page 51: 1 Endliche Automaten Akzeptoren Karin Haenelt 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

Page 52: 1 Endliche Automaten Akzeptoren Karin Haenelt 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