fls hformale sprachen - logic
TRANSCRIPT
![Page 1: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/1.jpg)
F l S hFormale SprachenReguläre Sprachen
Rudolf FREUND, Marian KOGLER
![Page 2: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/2.jpg)
Endliche Automaten - Kleene
STEPHEN KLEENE (1909 1994)STEPHEN KLEENE (1909 - 1994)
1956: Representation of events in nerve nets and finite automata.I C E Sh d J M C h ( d ) A diIn: C.E. Shannon und J. McCarthy (eds.), Automata studies, Princeton Univ. Press, 3-42
2
![Page 3: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/3.jpg)
Endliche Automaten0 10
1
10Zustandsdiagramm:
q1 q2 q3
0,1Drei Zustände: q1 q2 q3Drei Zustände: q1 , q2 , q3Startzustand : q1Endzustand : q22Transitionen (Übergänge): Pfeile
Eingabe: WortEingabe: WortAusgehend vom Startzustand liest der Automat M von links nachrechts Symbol für Symbol. Nach dem Lesen eines Symbols geht M inden nächsten Zustand über indem er entlang der mit diesem Symbolden nächsten Zustand über, indem er entlang der mit diesem Symbolmarkierten Kante geht. Nach dem Lesen des letzten Symbols wird der„Output“ erzeugt: Befindet sich M in einem Endzustand, wird das Wortk ti t t i d d W t i ht k ti t
3
akzeptiert; ansonsten wird das Wort nicht akzeptiert.
![Page 4: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/4.jpg)
Endliche Automaten: Beispiel
Eingabewort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Starte in Zustand q1.Sta te usta d q1
4
![Page 5: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/5.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante.es u d o ge de t a e te a te
5
![Page 6: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/6.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante zum Zustand q2.g q2
6
![Page 7: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/7.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante. g
7
![Page 8: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/8.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante zum Zustand q2.g q2
8
![Page 9: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/9.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 0 und folge der mit 0 markierten Kante.g
9
![Page 10: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/10.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 0 und folge der mit 0 markierten Kante zum Zustand q3.g q3
10
![Page 11: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/11.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante.g
11
![Page 12: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/12.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Lies 1 und folge der mit 1 markierten Kante zum Zustand q2.g q2
12
![Page 13: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/13.jpg)
Endliche Automaten: Beispiel
Wort: 1101
0 10
q q q
1
0
q1 q2 q3
0,1
Das Wort 1101 wird akzeptiert, da sich der Automat amEnde des Eingabewortes in einem Endzustand befindet.
13
![Page 14: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/14.jpg)
Endliche Automaten: Beispiel0 1
0
q1 q2 q3
1
0,1
Akzeptierte Wörter: 1, 01, 11, 01010101, ... Wörter, die mit 1 endenAber auch: Wörter, die mit einer geraden 100, 0100, 110000, ... Anzahl von 0en nach der
letzten 1 enden.Ni ht k ti t Wö tNicht akzeptierte Wörter: 0, 10, 101000, ...
14Akzeptierte Sprache: {0}*{1}({1}*{00,01})*{1}*
![Page 15: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/15.jpg)
Endliche Automaten: formale Definition
Ein deterministischer endlicher Automat (DEA) ist ein5 T l5-Tupel
(Q,Σ,δ,q0,F)wobei
• Q eine endliche Menge von Zuständen,
• Σ das Alphabet,
• δ: Q × Σ → Q die Transitionsfunktion,
• q0 der Startzustand und
F Q eine Menge von Endzuständen ist• F ⊆ Q eine Menge von Endzuständen ist.
15
![Page 16: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/16.jpg)
Endliche Automaten: Falle0,1
Akzeptierte Sprache:
q1 q2 q3 q4
0,1 0,1 0,1Akzeptierte Sprache:{ε,00,01,10,11}
Sei M = (Q Σ δ q0 F) ein DEA und q ∈ Q - F mit δ(q a)=q für
q1 q2 q3 q4
Sei M = (Q,Σ,δ,q0,F) ein DEA und q ∈ Q - F mit δ(q,a)=q füralle a ∈ Σ; dann heißt q Falle.
Um die Übersichtlichkeit zu erhöhen, können Fallen beider Beschreibung endlicher Automaten weggelassender Beschreibung endlicher Automaten weggelassenwerden (allerdings nur, wenn ausdrücklich erlaubt).
16
![Page 17: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/17.jpg)
Endliche Automaten: formale Definition (2)
Um das Verhalten eines DEA auf einer Zeichenkette formalzu beschreiben, erweitern wir die Übergangsfunktion δ auf
Sei M = (Q Σ δ q0 F) ein DEA Dann definieren wir die
g gbeliebige Wörter aus Σ*:
Sei M (Q, Σ, δ, q0 , F) ein DEA. Dann definieren wir dieerweiterte Übergangsfunktion δ*: Q × Σ* → Qfolgendermaßen:δ*(q,ε) = q,δ*(q,aw) = δ*(δ(q,a),w) für alle q ∈ Q, w ∈ Σ*, a ∈ Σ.
Eine Zeichenkette w ∈ Σ* heißt vom DEA M = (Q,Σ,δ,q0,F)akzeptiert, falls δ*(q0,w) = p für einen Zustand p ∈ F gilt.akzeptiert, falls δ (q0,w) p für einen Zustand p ∈ F gilt.Die von M akzeptierte Sprache, bezeichnet mit L(M), istdie Menge { w ∈ Σ* | δ*(q0,w) ∈ F } .
17
![Page 18: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/18.jpg)
Endliche Automaten: Beispiel0
1
10
Beispiel:
q1 q2 q3
1
0,1M = (Q Σ δ q F) mit ,M = (Q, Σ, δ, q1 , F) mitQ = { q1, q2 , q3 },Σ = { 0,1 },
δ 0 1q1 q1 q2Σ { 0,1 },
δ (gegeben durch die Übergangsmatrix),q1 Startzustand,
q1 q1 q2
q2 q3 q2
q q qF = {q2}.q3 q2 q2
δ*(q1,1101) = δ*(δ(q1,1),101) = δ*(q2,101) = δ*(δ(q2,1),01) =δ*(q2,01) = δ*(δ(q2,0),1) = δ*(q3,1) = δ*(q2,ε) = q2
L(M) = {0}*{1}({1}*{00 01})*{1}*18
L(M) = {0} {1}({1} {00,01}) {1}
![Page 19: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/19.jpg)
Nondeterminismus
MICHAEL O. RABIN (*1931) DANA SCOTT (*1932)
1959: Finite Automata and Their Decision ProblemIBM J. Research and Development, 3:114-125
1976: Turing-Preis für Informatik19
1976: Turing Preis für Informatik
![Page 20: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/20.jpg)
Nondeterminismus0 10
1
10
DEAq1 q2 q3
0,1
DEA
Von einem Zustand aus gibt es mit ein und demselbenEingabesymbol genau einen Folgezustand.
0,1
1 10 ε
0,1
NEAq1 q2 q3
1 10, εq4
Übergänge sind auch mit ε möglich (ε-Übergänge).Von einem Zustand aus kann es mit ein und demselbenEi b b l h F l tä d b
20Eingabesymbol mehrere Folgezustände geben.
![Page 21: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/21.jpg)
NEA
Ein nichtdeterministischer endlicher Automat (NEA) i t i 5 T l (Q Σ δ F)ist ein 5-Tupel (Q,Σ,δ,q0,F)
wobei
• Q eine endliche Menge von Zuständen,
• Σ das Alphabet,
• δ: Q × (Σ ∪ {ε} ) → 2Q die Transitionsfunktion
• q0 der Startzustand und
F Q eine Menge von Endzuständen ist• F ⊆ Q eine Menge von Endzuständen ist.
21
![Page 22: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/22.jpg)
Äquivalenz von NEA und DEA - BeweisZu jedem nicht-deterministischen endlichen Automatengibt es einen äquivalenten deterministischen endlichenA t tAutomaten.
NEA: M = (Q, Σ, δ , q0, F)( , , , q0, )
DEA: M = (Q‘, Σ, δ‘, q‘0, F‘) wobei
∪ δ*(q,a) für alle q‘ ∈ Q‘, a ∈ Σ=δ‘(q‘,a)
2Q=Q‘
{ q0 }=q‘0
(q, ) q ,(q , )q∈q‘
{q‘ ∈ Q‘ | q‘ ∩ F ≠ 0 } sonst {q‘ ∈ Q‘ | q‘ ∩ F ≠ 0 } ∪ {q‘0 } falls ε ∈ L(A)=F‘
22
![Page 23: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/23.jpg)
vom NEA zum DEA: Beispiel - Konstruktion(für NEAs ohne ε Übergänge)
L(M) = { waa | w ∈ {a,b}* }(für NEAs ohne ε-Übergänge)
a,b
q1 q2 q3
a a
q1 q2 q3
{q q } {q1}{q1}δ‘ a b
SZWICHTIG:Bei Beispielen nur die
{q1,q2}{q1,q2,q3}
{q1,q2} {q1}{q1,q2,q3} {q1}{q1,q2,q3} {q1}
{q1}SZ
EZ
Bei Beispielen nur dienotwendigen Zuständeeinführen nicht alle!!
{q1 q2 q3} {q1 q2 q3} {q1}
b a
einführen, nicht alle!!
{q1} {q1,q2} {q1,q2,q3}
a a
b
23b
![Page 24: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/24.jpg)
NEA mit einem Endzustand
Zu jedem NEA M gibt es einen äquivalenten NEA M‘ mit card(F) = 1card(F) 1.
M
ε
ε
M‘ε
24
![Page 25: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/25.jpg)
EA und reguläre Sprachen
Zu jeder regulären Sprache R gibt einen endlichen Automaten M sodass R = L(M)Automaten M sodass R L(M)
L = { }
aL = {a} für a ∈ Σ
a
25
![Page 26: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/26.jpg)
EA und reguläre Sprachen
L = L1 ∪ L2
N1
εN1
ε
N2
ε
N
26
![Page 27: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/27.jpg)
EA und reguläre SprachenL = L1⋅L2
(O.B.d.A. besitzt N1 nur einen Endzustand !)(O.B.d.A. besitzt N1 nur einen Endzustand !)
N1 N2N1 2
ε
N
27
![Page 28: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/28.jpg)
EA und reguläre SprachenL = (L1)*(O B d A besitzt N1 nur einen Endzustand !)(O.B.d.A. besitzt N1 nur einen Endzustand !)
N1N1
Nε
28
![Page 29: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/29.jpg)
DEA und reguläre Grammatik
Zu jedem DEA M gibt es eine reguläre Grammatik Gsodass L(M) = L(G) und umgekehrt.( ) ( ) g
M = (Q, Σ, δ, q0, F) G = (Q, Σ, P, q0)
ap → aq
p,q ∈ Q und a ∈ Σ
p q p → aq
p qδ (p,a) = q
pp → ε
29
![Page 30: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/30.jpg)
Von DEA zu REG
Wird eine Sprache von einem DEA akzeptiert, dann ist sieregulär.g
M = ({ qi | 1 ≤ i ≤ n}, Σ, δ, q0, F)Rk
ij Menge aller Wörter, mit denen man von qi nach qjgelangt, ohne einen Zwischenzustand mit Indexgrößer als k zu durchlaufengrößer als k zu durchlaufen.
R0ij = {a ∈ Σ | δ(qi,a) = qj } für i ≠ j
{a ∈ Σ | δ(q a) = q } ∪ {ε} für i = j{a ∈ Σ | δ(qi,a) = qj } ∪ {ε} für i = j
Rkij = Rk-1
ij ∪ Rk-1ik ⋅ (Rk-1
kk)* ⋅ Rk-1kj für k > 0
L(M) = ∪ Rn1jqj∈F
30
![Page 31: FlS hFormale Sprachen - Logic](https://reader036.vdocuments.pub/reader036/viewer/2022062605/62b544ec13fbb80d5e50e072/html5/thumbnails/31.jpg)
Reguläre Sprachen: Zusammenfassung
Beschreibungsmethoden für reguläre Sprachen:
Reguläre MengenReguläre GrammatikenReguläre GrammatikenDEANEA
31