grundbegriffe der theoretischen informatik · bpps1,s2q,wq “ pδ˚ 1ps1,wq,δ˚ 2ps2,wqq ‚ es...
TRANSCRIPT
Grundbegriffe der Theoretischen InformatikSommersemester 2016 - Thomas Schwentick
Teil A: Reguläre Sprachen
5: Abschlusseigenschaften, Grenzen und Algorithmen
Version von: 3. Mai 2016 (12:08)
Einleitung (1/2)‚ Das Verhalten von vielen
praktischen Systemen kanndurch DFAs oder NFAs abstra-hiert/beschrieben werden
Kaffeemaschine als DFA
warte
knopf?
tee kaffee
becher
mün
ze
kaffeeknopfteeknopf
brüh
eka
ffeebrühe tee
gieße
‚ Oft möchten wir Eigenschaftensolcher Systeme automatischüberprüfen
Beispiel
‚ Die Maschine soll nur Kaffee ausgießen, wenn (seitdem letzten Kaffee) eine Münze eingeworfen wurde
‚ Diese Eigenschaft lässt sich durch einen RE aus-drücken:
– Rdef“
`
S˚ münze S˚ gieße S˚q˚
(Mit S “ Σ ´ tmünze,gießeu)
‚ Lässt sich automatisch überprüfen, ob der Automatdie Eigenschaft R erfüllt?
‚ Formal führt das zur Frage: Ist LpAq Ď LpRq?
– Äquivalent: Ist LpAq X pΣ˚ ´ LpRqq “ H?
‚ Es wäre also praktisch, eine Toolbox für Automatenzu haben
– Schnitt, Vereinigung, Komplement, etc.
– Testalgorithmen...
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 1
Einleitung (2/2)‚ Wir setzen in diesem Kapitel die Untersuchung der
Klasse der regulären Sprachen fort
‚ Wir betrachten
– algorithmische Methoden, mit denen sich re-guläre Sprachen kombinieren und modifizierenlassen
– eine weitere, einfache Methode zum Nachweis,dass eine Sprache nicht regulär ist
– Algorithmen zum Testen von Eigenschaften ei-ner durch einen Automaten gegebenen Sprache
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 2
Inhalt
✄ 5.1 Abschlusseigenschaften und Synthese von Automaten
5.2 Grenzen der Regulären Sprachen
5.3 Weitere Algorithmen für Automaten
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 3
Größenmaße für Automaten‚ Der Aufwand der folgenden Algorithmen
wird in Abhängigkeit von der Größe derEingabe beschrieben
‚ Wenn Die Eingabe aus Automaten besteht,stellt sich also die Frage:
– Wie „groß“ ist ein endlicher AutomatA “ pQ,Σ, δ, s, F q ?
‚ Es können verschiedene Größenmaßedefiniert werden:
– Anzahl der Zustände: |Q|
– Anzahl der Transitionen: |δ|– Größe der Kodierung des Automaten
als Bitstring
‚ Wir verwenden hier nur die ersten beidenMaße und geben das verwendete Maßjeweils explizit an
‚ Für reguläre Ausdrücke α bezeichnet |α|einfach die Länge des Strings
– Also: |pabq˚cpd ` ǫq| “ 11
✎ Ob Konkatenationssymbole und Klammernfür die Größe eines RE gezählt werden, istfür das Folgende nicht so wichtig
– Wir interessieren uns nur für asymptoti-sche Abschätzungen
– |α| (nach unserer Definition) ist linearin der Anzahl der Symbolvorkommenund der Vorkommen des ˚-Operators(sofern doppelte Klammerpaare ((...))nicht vorkommen)
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 4
Synthese endlicher Automaten: Boolesche Operationen (1/3)‚ Wir betrachten jetzt, auf welche Weisen
aus regulären Sprachen neue reguläreSprachen gewonnen werden können
‚ Uns interessiert also:
– Unter welchen Operationen ist dieKlasse der regulären Sprachen abge-schlossen ist?
– Mit welchen Algorithmen lassen sichsolche Operationen ausführen?
✎ Wichtig: es geht im Folgenden nicht umAbschlusseigenschaften von einzelnenSprachen sondern um Abschlusseigen-schaften der Klasse aller regulären Spra-chen
‚ Wir beginnen mit Booleschen Operationen
‚ Reguläre Ausdrücke haben einen Operatorfür die Vereinigung
➨ Die Vereinigung zweier regulärer Spra-chen ist regulär
‚ Um reguläre Sprachen algorithmisch gut„verarbeiten“ zu können, ist es wichtig,dass auch der Durchschnitt zweier regu-lärer Sprachen und das Komplement einerregulären Sprache wieder regulär sind
‚ Außerdem sollten diese Booleschen Ope-rationen auf der Ebene endlicher Automa-ten möglichst effizient ausgeführt werdenkönnen
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 5
Synthese endlicher Automaten: Boolesche Operationen (2/3)Satz 5.1
‚ Seien A1 “ pQ1,Σ, δ1, s1, F1q undA2 “ pQ2,Σ, δ2, s2, F2q DFAs
‚ Dann lassen sich Automaten für die folgenden Sprachen konstru-ieren:
(a) für LpA1q X LpA2qmit |Q1||Q2| Zuständen in Zeit Op|Q1||Q2||Σ|q
(b) für LpA1q Y LpA2qmit |Q1||Q2| Zuständen in Zeit Op|Q1||Q2||Σ|q
(c) für Σ˚ ´ LpA1q mit |Q1| Zuständen in Zeit Op|Q1|q
Folgerung 5.2
‚ Die regulären Sprachen sind unter Durchschnitt, Vereinigung undKomplementbildung abgeschlossen
✎ (a) und (b) gelten auch für NFAs
‚ Für den Beweis von (a) und (b) verwenden wir das Konzept desProduktautomaten
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 6
Produktautomat: Beispiel‚ Ein Automat für die Menge aller Strings, die 010 als Teilstring ent-
halten und gerade viele Nullen haben:
a
b
c d e f0 1 0
1 0 0,1
1
00
1
1
ac ad ae af
bc bd be bf
0
011
1
1
00
0
0
1
11
1
00
0110100‚ Um einen Automaten für die oben genannte Sprache zu erhalten,
muss af als akzeptierender Zustand gewählt werden
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 7
Synthese endlicher Automaten: Boolesche Operationen (3/3)Definition
‚ Seien A1 “ pQ1,Σ, δ1, s1, F1q,A2 “ pQ2,Σ, δ2, s2, F2q DFAs
‚ Sei F Ď Q1 ˆ Q2
‚ Der Produktautomat zu A1 und A2
mit akzeptierender Menge F ist derAutomat B
def“
pQ1ˆQ2,Σ, δB, ps1, s2q, F q,wobei δB komponentenweise definiertist, d.h.:
– Für q1 P Q1 und q2 P Q2 sei
δBppq1, q2q, σqdef“
pδ1pq1, σq, δ2pq2, σqq
✎ Wir schreiben manchmal A1 ˆ A2
für den Produktautomaten, ohne ei-ne akzeptierende Zustandsmenge zuspezifizieren
Beweis von Satz 5.1
‚ Wir beweisen zunächst Teil (a): Durchschnitt
‚ Sei B der Produktautomat zu A1 und A2 mitakzeptierender Menge F1 ˆ F2
‚ Durch Induktion lässt sich leicht zeigen, dassfür alle w P Σ
˚ gilt:δ˚B
pps1, s2q, wq “pδ˚
1ps1, wq, δ˚
2ps2, wqq
‚ Es folgt:w P LpA1q X LpA2q
ðñ δ˚
1ps1, wq P F1 und δ˚
2ps2, wq P F2
ðñ pδ˚
1ps1, wq, δ˚
2ps2, wqq P F1 ˆ F2
ðñ δ˚
Bpps1, s2q, wq P F1 ˆ F2
ðñ w P LpBq
‚ Teil (b) kann analog bewiesen werden, mit ak-zeptierender Menge F1 ˆ Q2 Y Q1 ˆ F2
‚ Teil (c) ist noch einfacher: WählepQ1,Σ, δ1, s1, Q1 ´ F1q als DFA
!GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 8
Zum Verständnis des ProduktautomatenPINGO-Frage: pingo.upb.de
‚ Wie muss die akzeptierende Menge F des Produk-tautomaten gewählt werden, damit er die Mengealler Strings akzeptiert, die von einem der Automa-ten A1 und A2 akzeptiert wird, aber nicht vomanderen?
(A) pF1 ´ F2q Y pF2 ´ F1q
(B) pQ1 ˆ Q2q ´ pF1 ˆ F2q
(C) pQ1 ˆ F2q Y pF1 ˆ Q2q
(D) pQ1 ˆ pQ2 ´ F2qq Y ppQ1 ´ F1q ˆ Q2q
(E) pF1 ˆ pQ2 ´ F2qq Y ppQ1 ´ F1q ˆ F2q
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 9
Synthese endlicher Automaten: Konkatenation und Iteration‚ Die Definition regulärer Ausdrücke garantiert auch
den Abschluss unter Konkatenation und Stern
Satz 5.3
‚ Seien A1 und A2 DFAs (oder NFAs) für SprachenL1 und L2
‚ Dann lassen sich NFAs (oder DFAs) für L1 ˝ L2
und L˚1
konstruieren
Beweisidee
‚ Ein DFA für L1 ˝L2 kann in zwei Schritten gewon-nen werden:
1. Verknüpfung von A1 und A2 durch ǫ-Übergänge von der akzeptierenden Zuständenvon A1 zum Startzustand von A2
– Wie bei der Umwandlung von REs in ǫ-NFAs
2. Determinisierung des entstandenen ǫ-NFAs
‚ L˚1
: analog
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 10
Abschlusseigenschaften: Homomorphismen (1/3)‚ Wir betrachten nun weitere Abschlusseigen-
schaften der Klasse der regulären Sprachen,die vor allem für theoretische Zwecke hilfreichsind:
– Abschluss unter Homomorphismen
– Abschluss unter inversen Homomorphis-men
Definition
‚ Eine Funktion h : Σ˚ Ñ Γ
˚ ist ein Ho-momorphismus, wenn für alle Stringsu, v P Σ
˚ gilt: hpuvq “ hpuqhpvq
‚ Aus der Definition folgt: hpǫqdef“ ǫ
‚ Zur Definition eines Homomorphismus vonΣ
˚ nach Γ˚ genügt es, hpσq für alle σ P Σ
festzulegen
‚ Dadurch ist hpwq auch für beliebige Stringsw “ σ1 ¨ ¨ ¨ σn eindeutig festgelegt:
hpwq “ hpσ1q ¨ ¨ ¨ hpσnq
Beispiel
‚ h : ta, b, c, du˚ Ñ t0, 1u˚
‚ Definiert durch:
– hpaqdef“ 00
– hpbqdef“ 1
– hpcqdef“ ǫ
– hpdqdef“ 0110
‚ Dann: hpabdcq “ 0010110
‚ Für L Ď Σ˚ sei
hpLqdef“ thpwq | w P Lu
‚ Für L Ď Γ˚ sei
h´1pLqdef“ tw | hpwq P Lu
‚ Wir werden sehen: aus einem DFA fürL lassen sich leicht konstruieren:
– ein DFA für h´1pLq und
– ein NFA für hpLq
➨ hpLq und h´1pLq regulärGTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 11
Abschlusseigenschaften: Homomorphismen (2/3)
z
y
1
1
0 0
Automat für L
‚ h1:a ÞÑ 00
b ÞÑ 1
c ÞÑ ǫ
d ÞÑ 0100
ðh´1
1
z
y
Automat für h´1
1pLq
a, b, c
d
a, b, c
d
‚ h2:0 Ñ abc
1 Ñ aa
ñh2
z
y
Automat für h2pLq
w
v
a
b
c
x
a a
u
t
s
aa
a
b
c
!!GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 12
Abschlusseigenschaften: Homomorphismen (3/3)Satz 5.4
‚ Ist L eine reguläre Sprache über Σ und ist Γ ein Alphabet, sosind die folgenden Sprachen regulär:
(a) hpLq, für jeden Homomorphismus h : Σ˚ Ñ Γ
˚,
(b) h´1pLq, für jeden Homomorphismus h : Γ˚ Ñ Σ
˚,
Beweisidee
(b) Sei A “ pQ,Σ, δ, s, F q DFA für L
– Wir definieren A1 def“ pQ,Γ, δ1, s, F q durch:
δ1pq, σqdef“ δ˚pq, hpσqq
– Dann gilt: δ1˚ps, wq “ δ˚ps, hpwqq
– Also: w P LpA1q ðñ hpwq P LpAq
(a) Idee:
– Ersetze die Transition δpq, σq durch eine Folge von Transitio-nen für hpσq
➞ neue Zustände einfügen
!GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 13
Synthese endlicher Automaten: Größe‚ Die folgende Tabelle gibt eine Übersicht über die Größe der Zielautomaten (An-
zahl Zustände) für die betrachteten Operationen
‚ Dabei spielt es eine Rolle, ob die gegebenen Automaten und der ZielautomatDFAs oder NFAs sind
‚ Q1 und Q2 bezeichnen jeweils die Zustandsmengen für Automaten für L1 undL2
‚ |h| und |S| bezeichnen jeweils die Größe der Repräsentation von h und S
DFA Ñ DFA DFA Ñ NFA NFA Ñ NFA
L1 X L2 O(|Q1| ˆ |Q2|q Op|Q1| ˆ |Q2|q Op|Q1| ˆ |Q2|q
L1 Y L2 Op|Q1| ˆ |Q2q| Op|Q1| ` |Q2q| Op|Q1| ` |Q2|q
L1 ´ L2 Op|Q1| ˆ |Q2|q Op|Q1| ˆ |Q2|q |Q1| ˆ 2Op|Q2|q
L1 ˝ L2 |Q1| ˆ 2Op|Q2|q Op|Q1| ` |Q2|q Op|Q1| ` |Q2|q
L˚1
2Op|Q1|q Op|Q1|q Op|Q1|q
hpL1q 2Op|Q1|`|h|q Op|Q1| ` |h|q Op|Q1| ` |h|q
h´1pL1q Op|Q1|q Op|Q1|q Op|Q1|q
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 14
Inhalt
5.1 Abschlusseigenschaften und Synthese von Automaten
✄ 5.2 Grenzen der Regulären Sprachen
5.3 Weitere Algorithmen für Automaten
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 15
Pumping-Lemma: Einleitung‚ Wir haben mit dem Satz von Myhill und Nerode bereits
eine Methode kennen gelernt, mit der wir überprüfen kön-nen, ob eine Sprache regulär ist
‚ Damit haben wir gezeigt, dass die SpracheLab “ tambm | m ě 0u nicht regulär ist
‚ Wir werden jetzt mit dem Pumping-Lemma eine weitereMethode kennen lernen, mit der sich nachweisen lässt,dass eine gegebene Sprache nicht regulär ist
‚ Vorteile:
– Recht einfach und anschaulich
– Lässt sich verallgemeinern für kontextfreie Sprachen
– Liefert interessante Einsicht über reguläre Sprachen
‚ Nachteile:
– Funktioniert nicht immer
– Lässt sich nicht zum Nachweis von Regularität verwen-den
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 16
Pumping-Lemma: Grundidee (1/2)Beispiel
a b c d
e f g h
11
0
1
0
110 010 010 10110 010 010 010 10
...
110 10
x y z
x yy zx yyy z
x yk z
x z
110 010 10
‚ Beobachtung: Ein „Kreis“ in einer akzeptierenden Berechnung lässtsich beliebig oft wiederholen
‚ Der akzeptierte String wird dabei „aufgepumpt“ (oder „abgepumpt“)
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 17
Pumping-Lemma: Grundidee (2/2)Beispiel
a b c d
e f g h
0
1 0
0
0
1
1
11
0
1
0
0
10
‚ Etwas formaler:
– Wenn |w| ě |Q| gilt, muss es einenZustand geben, den der DFA beim Le-sen von w (mindestens) zweimal be-sucht
– Wenn der DFA beim Lesen einesStrings w P LpAq einen Zustandzweimal besucht, lässt w sich so inxyz zerlegen, dass gelten:∗ y “ ǫ und∗ für alle k ě 0 ist xykz P LpAq
➨ Wenn L regulär ist, gibt es ein n, so dasssich jedes w P L mit |w| ě n in xyzzerlegen lässt, so dass gelten:
– y “ ǫ und
– für alle k ě 0 ist xykz P LpAq
✎ n ergibt sich hier als Größe |Q| der Zu-standsmenge eines DFAs für L
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 18
Pumping-Lemma: Aussage und BeweisSatz 5.5
‚ Sei L regulär
‚ Dann gibt es ein n, so dass jeder Stringw P L mit |w| ě n auf mindestens eineWeise als w “ xyz geschrieben wer-den kann, so dass die folgenden Aussagengelten:
(1) y “ ǫ
(2) |xy| ď n
(3) für alle k ě 0 ist xykz P L
✎ Die Aussage des Pumping-Lemmas giltauch in der Form:
w R L . . . ñ . . . xykz R L
Beweisskizze
‚ L regulär ñL “ LpAq für einen DFA A
‚ Sei n die Anzahl der Zustände von A
‚ Sei w P L mit |w| ě n
➨ Beim Lesen der ersten n Zeichen von wmuss sich ein Zustand wiederholen
➨ δ˚ps, xq “ δ˚ps, xyq für gewissex, y, z mit w “ xyz und (1) und (2)
‚ Sei qdef“ δ˚ps, xq
➨ δ˚pq, yq “ q
➨ δ˚ps, xykzq “ δ˚ps, xyzq P F , füralle k ě 0
➨ (3)
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 19
Pumping-Lemma: Anwendung (1/2)‚ Für den Nachweis, dass eine gegebene
Sprache nicht regulär ist, ist die folgendeäquivalente Formulierung des Pumping-Lemmas besser geeignet
Korollar 5.6
‚ Sei L eine Sprache
‚ Angenommen, für jedes n ą 0 gibt eseinen String w P L mit |w| ě n, sodass für jede Zerlegung w “ xyz mit
(1) y “ ǫ und
(2) |xy| ď n
ein k ě 0 existiert, so dass xykz R L
‚ Dann ist L nicht regulär
‚ Da Korollar 5.6 die Kontraposition von Satz5.5 ist, folgt es direkt aus Satz 5.5
Beispiel
‚ Sei wieder Labdef“ tambm | m ě 0u
‚ Sei n beliebig
‚ Wir wählen w “ anbn P Lab
(wichtig: w hängt von n ab!)
‚ |w| “ 2n ě n
‚ Seien nun x, y, z beliebige Strings, diew “ xyz und die folgenden Bedingun-gen erfüllen:
(1) y “ ǫ
(2) |xy| ď n
‚ Wegen (2) enthält y kein b, wegen (1) ent-hält es mindestens ein a
➨ xz hat mehr b als a
‚ Wähle k “ 0:
➨ xy0z “ xz R Lab
➨ Lab ist nicht regulär
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 20
Pumping-Lemma: Anwendung (2/2)Beispiel
‚ Sei wiederLab
def“ tambm | m ě 0u
‚ Sei n beliebig
‚ Wir wählen w “ anbn P Lab
(wichtig: w hängt von n ab!)
‚ |w| “ 2n ě n
‚ Seien nun x, y, z beliebige Strings,die w “ xyz und die folgendenBedingungen erfüllen:
(1) y “ ǫ
(2) |xy| ď n
‚ Wegen (2) enthält y kein b, wegen(1) enthält es mindestens ein a
➨ xz hat mehr b als a
‚ Wähle k “ 0:
➨ xy0z “ xz R Lab
➨ Lab ist nicht regulär
‚ Bemerkungen zur Anwendung des PumpingLemmas
– n dürfen Sie nicht wählen∗ Der Beweis muss für beliebiges n funktio-
nieren
– w P L dürfen Sie selbst (geschickt) wählen∗ Es muss in Abhängigigkeit von n gewählt
werden (|w| ě n)· Dabei ist n für den Beweis eine Variable
– x, y, z dürfen Sie nicht wählen∗ Wir wissen aber (und verwenden), dass (1)
und (2) gelten
– Zuletzt muss ein k gefunden werden, für dasxykz R L gilt∗ Sehr oft ist hier eine Fallunterscheidung
nötig:· nach den Möglichkeiten, wie x, y, z den
String w unterteilen
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 21
Das Pumping-Lemma als Spiel‚ Das Pumping-Lemma ist zwar im Kern recht anschaulich,
der Wechsel zwischen Existenz- und Allquantoren kannjedoch durchaus zu Verwirrung führen
‚ Es kann deshalb hilfreich sein, die Aussage des Pumping-Lemmas in ein 2-Personen-Spiel zu fassen
‚ Spiel für Sprache L:
– Person 1 wählt n
– Person 2 wählt ein w P L mit |w| ě n
– Person 1 wählt x, y, z mitw “ xyz, y “ ǫ, |xy| ď n
– Person 2 wählt k
‚ Falls xykz R L, hat Person 2 gewonnen, andernfallsPerson 1
‚ Es gilt: falls Person 2 eine Gewinnstrategie hat, ist Lnicht regulär
‚ Wenn Sie nachweisen wollen, dass L nicht regulär ist,sind Sie Person 2
!GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 22
Grenzen des Pumping-Lemmas‚ Sei L die Sprache
tambncn | m,n ě 1uYtbmcn | m,n ě 0u
‚ Klar: L ist nicht regulär
– Das lässt sich durch eine leichte Ab-wandlung des Beweises aus Kapitel 4für Lab zeigen
‚ Aber: L erfüllt die Aussage des Pumping-Lemmas:
– Jeder String w, lässt sich als xyz zer-legen, mit x “ ǫ und |y| “ 1
➨ dann lässt sich y beliebig wiederholen:∗ falls y “ a: klar, dann ist das Wort
in der ersten Menge und es dürfenbeliebig viele a’s kommen
∗ falls y “ a: klar, dann ist das Wortin der zweiten Menge und das Zei-chen darf beliebig wiederholt werden
‚ Es gilt aber die folgende Verallgemeine-rung des Pumping-Lemmas
Satz 5.7 [Jaffe, 78]
‚ Eine Sprache L ist genau dann regulärwenn es ein n gibt, so dass jeder Stringw P L mit |w| ě n auf mindestens eineWeise als w “ xyz geschrieben wer-den kann, so dass die folgenden Aussagengelten:
(1) y “ ǫ
(2) |xy| ď n
(3’) für alle k ě 0 gilt: xykz „L xyz
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 23
Reguläre Sprachen: Grenzen‚ Woran lässt sich erkennen, ob eine Sprache regu-
lär ist?
‚ Intuitiv: wenn es genügt, sich beim Lesen einesEingabewortes nur konstant viel Information zumerken, unabhängig von der Eingabelänge
‚ Beispiel: Lab “ tambm | m ě 0u ist nicht
regulär, da nach Lesen von ai „das i gemerkt seinmuss“
‚ Insbesondere darf der Wertebereich, in dem ge-zählt wird, nicht mit der Eingabelänge größer wer-den
‚ Aber: es gibt auch reguläre Sprachen, die mit Zah-len zu tun haben, zum Beispiel: Ldrei
def“
tw | w ist die Binärdarstellungeiner Zahl, die durch drei teilbar istu
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 24
Reguläre Sprachen: Zählen modulo ...‚ Ziel: Automat für Ldrei “ tw | w ist die
Binärdarstellung einer Zahl, die durch dreiteilbar istu
‚ Ansatz: was passiert, wenn an eine Binär-zahl eine 0 oder 1 angehängt wird?
‚ Notation:
– Für w P t0, 1u˚ sei Bpwq die Zahl,die von w repräsentiert wird
– Also: Bp1100q “ 12
‚ Es gelten:
– Bpu0q “ 2Bpuq
– Bpu1q “ 2Bpuq ` 1
‚ Also: wenn Bpuq ”3 0, dannBpu0q ”3 0 und Bpu1q ”3 1
➞ Grundidee des Automaten: der Zustand(0,1, oder 2) gibt den Rest der bisher ge-lesenen Binärzahl bei Division durch 3an
0 1 21
1
0
0
0 1
!GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 25
Inhalt
5.1 Abschlusseigenschaften und Synthese von Automaten
5.2 Grenzen der Regulären Sprachen
✄ 5.3 Weitere Algorithmen für Automaten
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 26
Umwandlungsalgorithmen (Wdh.)
NFANichtdeterministischeendliche Automaten
DFADeterministische
endliche Automaten
REReguläre
Ausdrücke
ǫ-NFANichtdeterministische
endliche Automaten mitǫ-Transitionen
Potenzmenge
2Op|Q|q
Zustandseliminationoder Lk
i,j
4Op|Q|q
Potenz-menge
2Op|Q|q
ǫ-AbschlüsseOp|Q|3q
„Baukasten“Op|α|q
‚ Die Laufzeiten der Umwandlungsalgorithmen entsprechen im Wesentlichen den Grö-ßen der Zielobjekte
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 27
Algorithmen: Leerheitstest‚ Für Anwendungen (nicht nur) im Bereich
des Model Checking ist das folgende Pro-blem wichtig:
Definition: Leerheits-Problem für DFAs
Gegeben: DFA A
Frage: Ist LpAq “ H?
Beispiel
a
b
c
d
e
f
g
h
i
t
c
t
Algorithmus:
1. Vergiss die Kantenmarkierungen
2. Füge einen Zielknoten t ein und Kanten vonallen akzeptierenden Knoten zu t
3. Teste, ob es einen Weg von s nach t gibt
4. Falls ja: Ausgabe „LpAq “ H“
‚ Das Leerheitsproblem für DFAs lässt sichalso auf das Erreichbarkeitsproblem in ge-richteten Graphen zurückführen
– Aufwand: Op|δ|q
‚ Der Algorithmus funktioniert auch fürNFAs
‚ Der Leerheitstest für reguläre Ausdrücke αist (fast) trivial:
– falls kein H vorkommt, ist Lpαq “ H– Ansonsten lässt sich α gemäß der
Regeln aus Kapitel 2 vereinfachen– Lpαq “ H ðñ
am Schluss bleibt nicht H übrigGTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 28
Algorithmen: WortproblemDefinition: Wortproblem für Reguläre Sprachen
Gegeben: Wort w P Σ˚, reguläre Sprache L,
repräsentiert durch DFA A, NFA A1 oder REα
Frage: Ist w P L?
‚ Der Algorithmus für das Wortproblem und damitder Aufwand hängen von der Repräsentationder Sprache ab:
– DFA: Simuliere den AutomatenAufwand: Op|w| ` |δ|q
– NFA: Simuliere den Potenzmengenautoma-ten, ohne ihn explizit zu konstruieren∗ Speichere dabei immer nur die aktuell
erreichte ZustandsmengeAufwand: Op|w| ˆ |δ|q
– RE: Wandle den RE in einen ǫ-NFA um undsimuliere dann den Potenzmengenautoma-ten Aufwand: Op|w| ˆ |α|q
Erläuterungen:
‚ Für die Simulation wird jeweils zuerstdie Transitionsfunktion δ in ein Arraygeschrieben
‚ Aufwand Op|δ|q
‚ Die einzelnen Übergänge könnendann durch Nachschauen in der Ta-belle ausgeführt werden
‚ Bei der Simulation von NFAs sind dieTabelleneinträge jeweils Mengen vonZuständen
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 29
Algorithmen: Äquivalenztest für DFAs (1/3)Definition: Äquivalenzproblem für DFAs
Gegeben: DFAs A1 und A2
Frage: Ist LpA1q “ LpA2q?
‚ Wir betrachten zwei Lösungsmethoden:
(1) Mit Minimalautomaten
(2) Mit dem Produktautomaten
(1) Mit Minimalautomaten:
– Konstruiere die Minimal-Automaten: A11
und
A12
zu A1 und A2
– Teste, ob A11
und A12
isomorph sind:∗ Konstruiere dazu schrittweise eine Bijek-
tion π von (den Zuständen von) A11
auf
A12
∗ Initialisierung: π bildet Startzustand aufStartzustand ab
∗ Dann: Setze π gemäß der Transitionenvon A1
1und A1
2fort
– Aufwand: Op|Σ|p|Q1|2 ` |Q2|2qq
(2) Mit dem Produktautomaten:
– Konstruiere den ProduktautomatenA “ A1 ˆ A2 mit der akzeptie-rende Menge F
def“
tpp1, p2q | pp1 P F1, p2 RF2q
oder pp1 R F1, p2 P F2qu
➨ δ˚A
pps1, s2q, wq P F genaudann, wenn w genau von einemder beiden Automaten akzeptiertwird
– Also: LpA1q “ LpA2q genaudann, wenn LpAq “ H
– Die Frage „IstLpA1q “ LpA2q?“ kanndann also durch den Leerheitstestfür A entschieden werden
➞ Aufwand:Op|Q1| ˆ |Q2| ˆ |Σ|q
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 30
Algorithmen: Äquivalenztest für DFAs (2/3)Beispiel
‚ Sind diese beiden DFAs äquivalent?
a
b
c d e
0
0
0 0 0
11
1 1
1
ac ae
bd
00 00
00
1
1
1
1
‚ Berechnung des Produktautomaten‚ Nicht erreichbare Zustände entfernen‚ Die Sprache des Automaten ist leer
➨ Die Automaten sind äquivalentGTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 31
Algorithmen: Äquivalenztest für DFAs (3/3)Beispiel
‚ Sind diese beiden DFAs äquivalent?
a
b
c d e
0
0
0 0 0
11
1 1
1
Beispiel (Forts.)
‚ Minimierung des oberen Automatenliefert:
c d
0 0
1
1
‚ Beide Automaten sind nun isomorphgemäß
– a ÞÑ c
– b ÞÑ d
‚ Noch eine weitere Methode:
– Führe den Markierungsalgorithmusauf „A1 Y A2“ aus und überprü-fe, ob ps1, s2q markiert wird
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 32
Algorithmen: Äquivalenztest für NFAs und REs‚ Äquivalenztests für NFAs und REs sind zwar auch
automatisierbar, aber die Komplexität ist erheblichgrößer
‚ Genauer: Zu testen, ob zwei reguläre Ausdrücke(oder zwei NFAs) äquivalent sind ist vollständig fürdie Komplexitätsklasse PSPACE
– Das gilt sogar, wenn einer der REs gleich Σ˚ ist
– Intuitiver Grund: Die REs müssen zuerst inDFAs umgewandelt werden
‚ Was „vollständig für PSPACE“ bedeutet, werden wirim letzten Teil der Vorlesung sehen
‚ Hier lässt sich schon sagen: das Problem ist (wohl)noch schwieriger als NP-vollständige Probleme wiedas Traveling Salesman Problem
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 33
Algorithmen: EndlichkeitstestDefinition: Endlichkeitsproblem für DFAs
Gegeben: DFA A
Frage: Ist LpAq endlich?
‚ Hier hilft uns die Grundidee desPumping-Lemmas weiter:
Beispiel
a b c d
e f g h
0
101
1
0
1
0
Satz 5.8
‚ Die Sprache eines DFA A ist genau dann un-endlich, wenn A einen Zustand q mit den fol-genden Eigenschaften hat:
(a) q ist von s aus erreichbard.h.: Dx P Σ
˚: δ˚ps, xq “ q
(b) q liegt auf einem Kreisd.h.: Dy P Σ
˚: y “ ǫ und δ˚pq, yq “ q
(c) Von q aus ist ein akzeptierender Zustand er-reichbar d.h. Dz P Σ
˚: δ˚pq, zq P F
Beweisidee
„ð“ Dann werden die unendlich vielen Stringsxy0z, xy1z, xy2z, . . . von dem DFA ak-zeptiert
„ñ“ Die Existenz eines solchen Zustandes q folgt wieim Beweis des Pumping Lemmas
‚ Aufwand: Op|δ|q (Doppelte DFS-Suche)‚ Funktioniert auch für NFAs
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 34
Zusammenfassung‚ Um Automaten und reguläre Ausdrücke an-
wenden zu können (zum Beispiel im ModelChecking), benötigen wir Algorithmen fürdie Synthese und zum Testen von Eigen-schaften regulärer Sprachen
‚ Synthese:
– Die regulären Sprachen sind untervielen Operationen abgeschlossen
– In vielen Fällen lassen sich die ent-sprechenden Zielautomaten effizientberechnen
– Für Boolesche Operationen spielenProduktautomaten eine wichtige Rolle
‚ Test von Eigenschaften:
– Leerheit und Endlichkeit der Spra-che eines NFA können effizient getestetwerden - dabei wird im Wesentlichenein Erreichbarkeitsproblem für gerichte-te Graphen gelöst
– Äquivalenz zweier DFAs kann eben-falls effizient getestet werden
– Äquivalenz von NFAs und REs ist imallgemeinen (wohl) erheblich schwieri-ger zu testen
‚ Das Pumping-Lemma liefert ein weite-res Verfahren zum Nachweis, dass eineSprache nicht regulär ist
GTI / Schwentick / SoSe 16 A: 5. Abschlusseigenschaften, Grenzen und Algorithmen . ✁✄ Folie 35