grundbegriffe der theoretischen informatik · bpps1,s2q,wq “ pδ˚ 1ps1,wq,δ˚ 2ps2,wqq ‚ es...

36
Grundbegriffe der Theoretischen Informatik Sommersemester 2016 - Thomas Schwentick Teil A: Reguläre Sprachen 5: Abschlusseigenschaften, Grenzen und Algorithmen Version von: 3. Mai 2016 (12:08)

Upload: others

Post on 29-Aug-2019

2 views

Category:

Documents


0 download

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