Einführung in die Theoretische Informatik Chomsky

Werbung
Zusammenfassung
Definition
Eine Grammatik G ist ein Quadrupel G = (V , Σ, R, S), wobei
Einführung in die Theoretische Informatik
Woche 8
1
V eine endliche Menge von Variablen (oder Nichtterminale)
2
Σ ein Alphabet, die Terminale, V ∩ Σ = ∅
3
R eine endliche Menge von Regeln
4
S ∈ V das Startsymbol von G
Definition
Eine formale Sprache L heißt
Harald Zankl
• regulär (vom Typ 3)
wenn ∃ rechtslineare Grammatik G mit L = L(G )
Institut für Informatik @ UIBK
Wintersemester 2014/2015
• kontextfrei (vom Typ 2)
wenn ∃ kontextfreie Grammatik G mit L = L(G )
• kontextsensitiv (vom Typ 1)
wenn ∃ kontextsensitive Grammatik G mit L = L(G )
• rekursiv aufzählbar (vom Typ 0) wenn ∃ Grammatik G mit L = L(G )
HZ (IFI)
ETI - Woche 8
123/217
Überblick
Zusammenfassung
Chomsky-Hierarchie
Inhalte der Lehrveranstaltung
Einführung in die Logik
L
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive und
Disjunktive Normalformen
L0
Einführung in die Algebra
L1
L2
{(E , s, t) | E 6` s ≈ t}
Boolesche Algebra, Universelle Algebra, Logische Schaltkreise
Einführung in die Theorie der Formalen Sprachen
{(E , s, t) | E ` s ≈ t}
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie Sprachen
L(G3 ) = {an bn cn | n > 1}
L3
Einführung in die Berechenbarkeitstheorie
L(G2 ) = ”Klammerausdrücke“
Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen
L(G1 ) = {0, 1}+
Einführung in die Programmverifikation
Prinzipien der Analyse von Programmen, Verifikation nach Hoare, Verschlüsselung
und Sicherheit
HZ (IFI)
ETI - Woche 8
124/217
HZ (IFI)
ETI - Woche 8
125/217
Deterministische endliche Automaten
Deterministische endliche Automaten
Zustandstabelle
Deterministische endliche Automaten
Reguläre Sprachen können durch
• . . . rechtslineare Grammatiken erzeugt werden
• . . . deterministische endliche Automaten akzeptiert werden
q1 ∈ Q
a1 ∈ Σ
δ(q1 , a1 )
q2 ∈ Q
..
.
δ(q2 , a1 )
..
.
a2 ∈ Σ
δ(q1 , a2 )
..
.
···
···
Definition (Deterministischer endlicher Automat (kurz: DEA))
Zustandsgraph
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, s, F ) sodass
Sei A = (Q, Σ, δ, s, F ) ein DEA. Der Zustandsgraph von A hat
1
Q eine endliche Menge von Zuständen
1
Ecken Q,
2
Σ eine endliche Menge von Eingabesymbolen (Σ wird auch
Eingabealphabet genannt)
2
eine Kante von p nach q (beschriftet mit a), wenn δ(p, a) = q.
3
δ : Q × Σ → Q die Übergangsfunktion
4
s ∈ Q der Startzustand
5
F ⊆ Q eine endliche Menge von akzeptierenden Zuständen
Konvention
• Den Startzustand markiert man mit einem Pfeil; die akzeptierenden
Zustände werden mit einem doppelten Kreis gekennzeichnet
Zu beachten: δ muss für alle möglichen Argumente definiert sein
HZ (IFI)
ETI - Woche 8
Deterministische endliche Automaten
126/217
HZ (IFI)
ETI - Woche 8
Deterministische endliche Automaten
Beispiel (DEA)
Beispiel (DEA)
DEA A = ({q0 , q1 , q2 }, {0, 1}, δ, q0 , {q2 })
mit δ gegeben durch Zustandstabelle
DEA A
q0
q1
q2
127/217
0 1
q1 q0
q2 q0
q0 q0
Zustandsgraph von A
1
0
0 1
→q0 q1 q0
q1 q2 q0
q2 ∗ q0 q0
q0
q1
1
0
0,1
q2
• ∈
/ L(A)
• 0∈
/ L(A)
• 00 ∈ L(A)
• 000 ∈
/ L(A)
• 101100 ∈ L(A)
HZ (IFI)
ETI - Woche 8
128/217
Deterministische endliche Automaten
Deterministische endliche Automaten
Definition (erweiterte Übergangsfunktion)
Beispiel
Sei δ eine Übergangsfunktion. Wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
Definiere DEA A, der alle aus Nullen und Einsen bestehenden Wörter
akzeptiert, welche die Folge 01 enthalten
L = {x01y | x, y sind beliebige Wörter aus Nullen und Einsen}
δ̂(q, ) := q
x ∈ Σ∗ , a ∈ Σ
δ̂(q, xa) := δ(δ̂(q, x), a)
Wir machen die folgende Hilfsüberlegung:
q0
A hat Sequenz 01 noch nicht gefunden
A wechselt in Zustand q1 , sobald 0 gelesen wird
Sonst verharrt A in Zustand q0
L(A) := {x ∈ Σ∗ | δ̂(s, x) ∈ F }
q1
A hat Sequenz 0 gelesen
A wechselt in Zustand q2 , sobald 1 gelesen wird
Sonst verharrt A in Zustand q1
Für jeden DEA A ist L(A) regulär. Umgekehrt existiert zu jeder regulären
Sprache L ein DEA A, sodass L = L(A).
q2
A hat Sequenz 01 gelesen
A akzeptiert jede weitere Eingabe
Definition
Sei A = (Q, Σ, δ, s, F ) ein DEA. Die von A akzeptierte Sprache ist
Satz
HZ (IFI)
ETI - Woche 8
129/217
Deterministische endliche Automaten
HZ (IFI)
ETI - Woche 8
130/217
Deterministische endliche Automaten
Abschlusseigenschaften von regulären Sprachen
Beispiel (Fortsetzung)
Der Automat kann durch den Zustandsgraphen angegeben werden:
Satz
1
q0
0
q1
Seien L, M reguläre Sprachen (über dem Alphabet Σ), dann gilt
0, 1
0
1
q2
Es ist auch eine Darstellung durch die Zustandstabelle denkbar, wobei der
Startzustand durch einen Pfeil gekennzeichnet ist und die akzeptierenden
Zustände durch ∗.
0 1
→q0 q1 q0
q1 q1 q2
q2 ∗ q2 q2
HZ (IFI)
ETI - Woche 8
131/217
1
Die Vereinigung L ∪ M ist regulär
2
Das Komplement ∼L ist regulär
3
Der Schnitt L ∩ M ist regulär
4
Die Mengendifferenz L \ M ist regulär
5
L∗ ist regulär
HZ (IFI)
ETI - Woche 8
132/217
Deterministische endliche Automaten
Endliche Automaten: Fallstudie
Anwendungen von regulären Sprachen
Beispiel
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
• Software zum Durchsuchen umfangreicher Texte
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
• Das Geschäft kann Geld einlösen
• Die Bank kann Geld überweisen
• Software zur Verifizierung aller Arten von Systemen, die eine
endliche Anzahl verschiedener Zustände besitzen
Wir treffen die folgenden Grundannahmen:
• Softwarebausteine eines Computerspiels:
• Der Kunde ist unverantwortlich
Kontrolle von Spielfiguren kann mit Hilfe eines endlichen Automaten
implementiert werden
2 erlaubt eine bessere Modularisierung des Codes
1
• Das Geschäft ist verantwortlich, aber gutgläubig
• Die Bank ist strikt
wir betrachten die Handlungen der Akteure als extern“; die Sequenz der
”
Handlungen ist wichtig, nicht wer sie initiiert
HZ (IFI)
ETI - Woche 8
133/217
Endliche Automaten: Fallstudie
Start
ETI - Woche 8
134/217
Endliche Automaten: Fallstudie
Beispiel (Fortsetzung)
Beispiel (Fortsetzung)
a
HZ (IFI)
Zahlen
b
Einlösen
Überw.
d
Lö, Z
Liefern
a
Z
E
b
c
Einlösen
e
Ü
d
f
Liefern
L
Geschäftsautomat G
Lö, Z
f
Start
Liefern
Lö, Z
Lö
Überw.
g
Lö, Z
L
E
c
L
Ü
e
g
Überw. . . . Ü
Zahlen
Start
Start
1
Einlösen
3
Überw.
L, E, Lö
Kundenautomat K
HZ (IFI)
Lö, Z
4
Start
Löschen
L, Z
Start
E
1
3
Zahlen. . . Z
Einlösen. . . E
Löschen. . . Lö
Liefern. . . L
Lö, Z
Ü
4
Löschen
2
ETI - Woche 8
Lö
Ü, Z
Bankautomat B
2
135/217
HZ (IFI)
E, L, Lö, Z E, L, Lö, Z
L, Z
ETI - Woche 8
136/217
Endliche Automaten: Fallstudie
Endliche Automaten: Fallstudie
Beispiel (Fortsetzung)
Beispiel (Fortsetzung)
Z
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
(1, a)
Z
L
Z
(1, c)
(1, d)
Lö
Lö
(2, c)
(2, d)
L
Z
Z
Z
(1, e)
(1, f )
L
(1, g )
wobei i ∈ {1, 2, 3, 4} und x ∈ {a, b, c, d, e, f , g }
Lö
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
(2, a)
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Lö
Z
L
Z
E
• in B gilt, dass aus Zustand 1 durch die Aktion Einlösen“
”
Einlösen
Zustand 3 wird, konzise: 1 −−−−−→ 3
(3, a)
• in G gilt, dass aus Zustand b mit Aktion Einlösen“ d wird,
• also gilt in B × G , dass aus Zustand (1, b) mit Aktion Einlösen“
Einlösen
Zustand (3, d) wird, konzise: (1, b) −−−−−→ (3, d)
(4, a)
”
Lö
ETI - Woche 8
137/217
Endliche Automaten: Fallstudie
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
ETI - Woche 8
Z
Lö
”
Einlösen
konzise: b −−−−−→ d
HZ (IFI)
(2, b)
Z
Betrachte B und G :
HZ (IFI)
(1, b)
Z
139/217
HZ (IFI)
(3, b)
L
Lö, Z
Z
(4, b)
Lö, Z
L
E
Z
E
(3, c)
(3, d)
Lö, Z
E
Lö, Z
E
(4, c)
(4, d)
Lö, Z
Lö, Z
ETI - Woche 8
Lö
L
E
L
L
Lö
(2, e)
(2, f )
Z
Lö, Z
Z
Lö, Z
(3, e)
Ü
(3, f )
Ü
(4, e)
(4, f )
Lö, Z
Lö, Z
Lö
L
(2, g )
Z
Lö, ZZ
L
L
(3, g )
(4, g )
Lö, Z
138/217
Herunterladen