Formale Systeme, Automaten, Prozesse

The Peergroup Inc. smashnet.de Formale Systeme, Automaten, Prozesse Zusammenfassung der Vorlesung RWTH Aachen Sommersemetser 2009 Autoren: Lucas Doh...
3 downloads 0 Views 180KB Size
The Peergroup Inc. smashnet.de

Formale Systeme, Automaten, Prozesse Zusammenfassung der Vorlesung RWTH Aachen Sommersemetser 2009

Autoren: Lucas Dohmen

[email protected]

Simon Grubert

[email protected]

Michael Hackstein

[email protected]

Letzte Aktualisierung: 13. August 2009

Dieses Dokument erhebt keinen Anspruch auf Vollständigkeit und Korrektheit!

Inhaltsverzeichnis 1 Einführung 1.1

5

Alphabete, Wörter, Sprachen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Reguläre Sprachen

5 7

2.1

Reguläre Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.2

Strukturelle Induktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.3

Determinische endliche Automaten (DFA) . . . . . . . . . . . . . . . . . . . . . .

8

2.4

Nichtdeterministische endliche Automaten (NFA) . . . . . . . . . . . . . . . . .

8

2.5

Minimale DFAs und der Satz von Myhill Nerode . . . . . . . . . . . . . . . . . .

8

2.6

Berechnung des minimalen DFA . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.7

Umwandlung eines Automaten in einen regulären Ausdruck II . . . . . . . . .

9

2.8

Das Pumping-Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.9

Entscheidbarkeitsprobleme für reguläre Sprachen . . . . . . . . . . . . . . . . .

10

3 Kontextfreie Sprachen 3.1

11

Kontextfreie Sprachen und Grammatiken (CFG) . . . . . . . . . . . . . . . . . . pre∗ -Operation

11

3.2

Die

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.3

Entscheidungsprobleme für CFGs . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.3.1

Das Wortproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.3.2

Unproduktive Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.3.3

Das Leerheitsproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.3.4

Unerreichbare Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.3.5

Nullierbare Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.3.6

Das Endlichkeitsproblem für CFG . . . . . . . . . . . . . . . . . . . . . .

14

3.3.7

Post’sches Korrespondenzproblem . . . . . . . . . . . . . . . . . . . . . .

14

3.3.8

Das Schnittleerheitsproblem für CFG . . . . . . . . . . . . . . . . . . . .

14

3.3.9

Das Eindeutigkeitsproblem für CFG . . . . . . . . . . . . . . . . . . . . .

14

3.3.10 Das Universalitätsproblem für CFG . . . . . . . . . . . . . . . . . . . . .

15

3.3.11 Das Sprachäquivalenzproblem für CFG . . . . . . . . . . . . . . . . . . .

15

3.3.12 Das Inklusionsproblem für CFG . . . . . . . . . . . . . . . . . . . . . . .

15

Normalformen für CFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

Entfernen von -Produktionen . . . . . . . . . . . . . . . . . . . . . . . .

15

3.4

3.4.1

3

3.4.2

Chomsky-Normal-Form . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.4.3

Greibach-Normalform . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.5

Pumping-Lemma für CFGs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.6

Kellerautomaten (PDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.6.1

Deterministische Kellerautomaten (DPDA) . . . . . . . . . . . . . . . . .

17

3.6.2

Deterministische Kontextfreie Grammatik (DCFG) . . . . . . . . . . . . .

17

4 Chomsky Hierarchy

19

5 Prozesse

21

5.1

Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

5.2

Petrinetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1 Einführung 1.1 Alphabete, Wörter, Sprachen Halbgruppe Eine Halbgruppe (H, ◦) besteht aus einer Menge H und einer assoziativen Verknüpfung ◦ : H × H → H. Monoid Ein Monoid ist eine Halbgruppe mit einem neutralen Element. Erzeugendensystem Sei (M, ◦) ein Monoid und E ⊆ M. E ist ein Erzeugendensystem falls jedes m ∈ M als m = e1 ◦e2 ◦· · ·◦en mit ei ∈ E dargestellt werden kann. Freies Erzeugendensytem Ein Erzeugendensystem E für ein Monoid (M, ◦) ist frei, falls jedes m ∈ M auf nur eine (eindeutige) Art als m = e1 ◦ · · · ◦ en mit ei ∈ E dargestellt werden kann. Falls E ein freies Erzeugendensystem für (M, ◦) ist, dann sagen wir, daß (M, ◦) das von E frei erzeugte Monoid ist. Homomorphismus Seien (M1 , •) und (M2 , ◦) Halbgruppen und h : M1 → M2 eine Abbildung. h heißt Homomorphismus, falls gilt: h(u • v) = h(u) ◦ h(v)) für alle u, v ∈ M1 Isomorphismus Sei h ein Homomorphismus. h wird als Isomorphismus bezeichnet, wenn h bijektiv ist. Wörter und Sprache Es sei Σ ein Alphabet. • Dann ist (Σ∗ , ·) das von Σ frei erzeugte Monoid, welches bis auf Isomorphismus eindeutig ist. • Die Elemente von Σ∗ nenen wir Wörter. • Falls L ⊆ Σ∗ , dann ist L eine Sprache (über Σ). • Falls u, v ∈ Σ∗ , dann schreibt man auch uv statt u · v. • Das neutrale Element (Σ∗ , ·) bezeichnen wir mit . Satz Es seien Σ und Γ Alphabete. Jede Abbildung Σ → Γ∗ läßt sich eindeutig auf einen Homomorphismus Σ∗ → Γ∗ erweitern. Dieser Satz findet praktische Anwendung in der konstruktion eines Homomorphismus Σ∗ → Γ∗ , denn nach diesem Satz genügt es, für jedes Symbol a ∈ Σ das Bild von a anzugeben. Man muss also nicht für jedes Wort aus Σ∗ das Bild angeben.

5

2 Reguläre Sprachen 2.1 Reguläre Ausdrücke P und w ∈ ∗ P • Falls u, v ∈ ∗ , dann schreibt man auch uv statt u · v P • Das neutrale Element ( ∗ , ·) bezeichnen wir mit  P • ∅,  und a (falls a ∈ ) sind regulärer Ausdruck

Es seien A, B ⊆

P∗

• rs, r + s und r∗ sind reguläre Ausdrücke, wenn r und s reguläre Ausdrücke sind • AB := {uv|u ∈ A und v ∈ B} • wA :={w}A und Aw := A{w}  {} falls i = 0     i • A :=  A falls i = 1    AAi−1 falls i > 1 • A∗ := ∪n≥0 An • A+ := ∪n≥1 An Eine Sprache L ⊆

P∗

ist regulär, falls es einen regulären Ausdruck r über

P

gibt mit L = L(r).

Wir ordnen jedem regulären Ausdruck r seine Sprache L(r) zu. Es gibt nur abzählbar viele reguläre Sprachen, da es nur abzählbar viele reguläre Ausdrücke gibt - die “meisten” Sprachen sind also nicht regulär. Ein Automat ist ein 5-Tupel M = (Q,

P

, δ, q0 , F) (endliche Menge der Zustände, Eingabealpha-

bet, Übergansfunktion, Anfangszustand, Endzustände). Es wird dabei zwischen Determinisitschen (DFA) und Nicht-Deterministischen (NFA) unterschieden. Dabei gilt: M ist ein NFA/DFA ⇒ L(M) regulär.

2.2 Strukturelle Induktion Beweisen, dass die Aussage für „Atome“(also kleinste Einheiten) funktioniert. Danach beweist man das die Aussage auch für Verknüpfungen von Atomen (also Beispielsweise a + b oder ab) gilt.

7

Formale Systeme, Automaten und Prozesse

The Peergroup Inc.

2.3 Determinische endliche Automaten (DFA) • Lkij : Von Zustand i zu Zustand j mit Zwischenschritten über die Zustände von q1 bis qk . Bemerkung: Eventuell statt q1 q0 ? • Komplementärautomat: Es sei M ein DFA, dann ist

P∗

−L(M) regulär:

P∗

−L ist das

Komplement von L. Einfach die Endzustände zu Nicht-Endzustände und andersherum. • Produktautomat: M’ und M” seien DFAs; M = M’ × M” – Dann L(M) = L(M’) ∩ L(M”) – Erstellen mit Hilfe einer Tabelle • Vorteile: Im Computer schnell simulierbar, wenig Speicher, schön visualierbar und automatisch generierbar

2.4 Nichtdeterministische endliche Automaten (NFA) • Vorteile: Oft kleiner und einfacher zu entwerfen als DFA • NFAs mit -Übergängen ergänzen NFAs mit -Übergängen (wer hätte es gedacht?) • Jedes NFA mit -Übergängen lässt sich als NFA ohne -Übergängen darstellen • Der Potenzautomat (auch Potenzmengenkonstruktion) ist ein DFA der aus einem NFA erzeugt wird. Aufschreiben der Zustände jeweils mit dem Alphabet, auf rechte Seite der Tabelle somit erreichbare Zustände. • Die Thompson-Konstruktion erstellt einen NFA mit -Übergängen aus einer RegEx, schrittweise mit Umwandeln der einzelnen Elemente (Details auf Folie 2009-05-05) DFAs, NFAs, NFAs mit -Übergängen und reguläre Ausdrücke charakterisieren jeweils eine reguläre Sprache Die Reguläre Sprachen sind abgeschlossen unter (in Klammern jeweils die einfachste Beweismethode): Vereinigung (RegEx), Schnitt (DFA, Produktautomat), Konkatenation (RegEx), Kleenscher Hülle (RegEx), Komplement (DFA), Differenz (Komplement und Schnitt) und Homomorphismen (RegEx). • Welche Konstruktionen funktionieren auch für NFAs? – Komplementärautomat: Nein – Produktautomat, Lkij -Konstruktion: Ja • Was ist besser? – NFA: Vereinigung zweier Sprachen, Konstruktion aus einer RegEx, Größe – DFA: Schnitt zweier Sprachen, Komplementieren, Simulieren – Beide: Verwandeln in eine RegEx

2.5 Minimale DFAs und der Satz von Myhill Nerode Die Myhill-Nerode-Relation ≡L

Seite: 8 / 21

smashnet.de

13. August 2009

The Peergroup Inc.

Formale Systeme, Automaten und Prozesse

• a ≡L b: Wenn a und b in oder nicht in der Sprache L sind, wenn man die selbe (aber jede beliebige) Zeichenkette anhängt - sonst a .L b • Eine Äquivalenzklasse besteht aus allen Elementen a,b für die gilt a ≡L b • Der Index ist die Anzahl der Äquivalenzklassen P • Satz von Myhill-Nerode: L ⊆ ∗ regulär ⇔ ≡L hat endlichen Index ˆ 0 , u) = δ(q ˆ 0 , v) – u ∼ v ⇔ δ(q – (u ∼ v) ⇒ (u ≡L v), also: Index von ∼ ≥ Index von ≡L – Da Index von ∼ endlich muss auch Index von ≡L endlich sein • Die Anzahl der Zustände des minimalen Automaten ist der Index von ≡L

2.6 Berechnung des minimalen DFA Minimierung von DFAs: Über die Unterscheidbarkeit von Zuständen, Markierung in einer Tabelle

2.7 Umwandlung eines Automaten in einen regulären Ausdruck II Umwandeln von einem DFA in eine RegEx: Knoten eliminieren und Übergangskanten durch RegEx ersetzen bis man nur noch Start- und Endzustand hat. Zuvor Automat so umbauen, dass man nur noch einen Endzustand hat (z.B. neuen Endzustand und -Übergänge von alten Endzuständen).

2.8 Das Pumping-Lemma ¨ Pumping-Lemma Das Pumpinglemma besagt, dass für jedes Wort aus einer regulären Sprache eine Zerlegung w = xyz mit |xy| ≤ n und |y| > 0 existieren muss, so dass xyi z ∀i∈N0 wieder in der Sprache ist. Wichtiger ist hier jedoch der Umkehrschluß: Wenn ∃w ∈ L mit w = xyz mit |xy| ≤ n und |y| > 0, so dass xyi z < L ∃i∈N0 dann ist die Sprache nicht regluär. Oder auf Deutsch: Es gibt ein Wort aus der Sprache, dass bei allen Zerlegungen xyz, welche die gegebene Vorraussetzung erfüllen, ein i ∈ N0 existiert, so dass xyi z nicht in der Sprache liegt, dann ist die Sprache nicht regulär. Wenn eine solche Aufgabe gestellt wird, wird das Problem immer folgendermaßen geläöst: Alice und Bob Wir spielen nur Bob, was Alice macht ist unbekannt. • Alice: Wählt ein n. • Bob: Bestimmt ein Wort aus der Sprache.

13. August 2009

smashnet.de

Seite: 9 / 21

Formale Systeme, Automaten und Prozesse

The Peergroup Inc.

• Alice: Wählt eine Zerlegung w = xyz mit |xy| ≤ n und |y| > 0 • Bob: Zeigt für jede mögliche Zerlegung, dass für dieses Wort ein solches i existiert, so dass xyi z nicht in der Sprache ist.

2.9 Entscheidbarkeitsprobleme für reguläre Sprachen • Leerheitsproblem: Gibt es Wörter in der Grammatik? ⇒ In DFA und NFA mit Tiefensuche • Wortproblem: Gehört das Wort zur Sprache? ⇒ In DFA und NFA gibt es einen Algorithmus • Universalitätsproblem: DFA für L ⊆

P∗

- ist L =

P∗

? ⇒ DFA mit Tiefensuche

• Endlichkeitsproblem: Hat die Sprache endlich viele Wörter? ⇒ NFA/DFA: Gelöst mit Zusammenhangskomponenten - für uns eher fraglich • Äquivalenzproblem: Zwei NFA/DFA/RegExes - sind sie gleich? ⇒ DFA minimieren, sind sie isomorph?

Seite: 10 / 21

smashnet.de

13. August 2009

3 Kontextfreie Sprachen 3.1 Kontextfreie Sprachen und Grammatiken (CFG) Eine CFG (N,T,P,S) besteht aus Nonterminalen in Großbuchstaben, Terminalen in Kleinbuchstaben, Produktionen und einem Startsymbol • Eine Ableitung ist eine Linksableitung, falls in jedem Schritt das am weitesten links stehende Nonterminal ersetzt wird. (Rechtsableitung analog). • Eine andere Darstellung ist der Ableitungsbaum (Nerd-Baum: Wurzel oben :P) - Wurzel ist das Startsymbol - die Kinder sind die Symbole durch die ersetzt wird. Blätter sind Terminalsymbole. • Eindeutigkeit: Es gibt nur eine Linkableitung für jedes Wort • Das Schnittleerheitsproblem, das Eindeutigkeitsproblem, das Universalitätsproblem, das Äquivalenzproblem, das Leerheitsproblem, das Wortproblem und das Inklusionsproblem (ist eine Sprache in einer anderen inkludiert) sind für CFG nicht berechenbar. All dies ist über das Post’sche Korrespondenzproblem lösbar. Aber was genau ist das? • Eine CFG ist in Chomsky Normalform (CNF), wenn sie nur aus Produktionen der Art A → a, A → BC und A →  besteht. • Eine CFG ist in Greibach-Normalform (GNF), wenn sie nur aus Produktionen der Art A → aBCD.. (also ein Nonterminal bildet auf ein Terminal gefolgt von beliebig vielen Nonterminalen ab)

3.2 Die pre∗ -Operation Definition Es sei G = (N, T, P, S) eine CFG und L ⊆ (N ∪ T)∗ eine beliebige Sprache. Wir definieren ∗

pre∗G (L) = { α ∈ (N ∪ T)∗ | α ⇒G β für ein β ∈ L } pre∗G (L) besteht damit also aus allen α, sodass man aus α ein β ableiten kann, welches in L enthalten ist. Theorem Falls L regulär ist, dann ist auch pre∗G (L) regulär. Die pre∗ -Operation kann unter anderem dazu genutzt werden, das Wortproblem für kontextfreie Grammatiken zu entscheiden. Wenn man beispielsweise als Sprache L eine reguläre

11

Formale Systeme, Automaten und Prozesse

The Peergroup Inc.

Sprache in Form eines NFAs nimmt, dann kann man durch "Rückwärtsanwendung"der Produktionen A → γ jeweils ein A an eine Kante schreiben, die einen im Automaten bereits über die Satzform γ vom Zustand qi zu q j bringt. Man fängt also mit einem NFA an, der die Sprache L erkennt. Dann schauen wir uns immer jeweils zwei Zustände an und gucken, ob es möglich ist, dass der Automat von dem einen Zustand zum anderen geht und dabei die rechte Seite einer Produktion ließt. Ist dies möglich, dann wird eine neue Transition zwischen den beidne Zuständen eingefügt, die mit der linken Seite der Produktion markiert ist. Wenn man dies solange durchführt, bis man keine weiteren Nonterminale aus G hinzufügen kann, dann schaut man, ob das Startsymbol (von G) vom Startzustand des Automaten zum Endzustand führt. Ist dies der Fall, dann sind alle Wörter aus L auch in G enthalten.

3.3 Entscheidungsprobleme für CFGs Problem

Lösbarkeit

Lösung

Wortproblem

lösbar

w ∈ L(G) ⇔ S ∈ pre∗ ({w})

Unproduktive Symbole

lösbar (linear)

N ∩ pre∗ (T∗ )

Leerheitsproblem

lösbar (linear)

L(G) = ∅ ⇔ S < pre∗ (T∗ )

Unerreichbare Symbole

lösbar

A unerreichbar ⇔ S < pre∗ ((N ∪ T)∗ A(N ∪ T)∗ )

Nullierbare Symbole

lösbar

N ∩ pre∗ ({})

Endlichkeitsproblem

lösbar

siehe unten

Schnittleerheitsproblem

nicht berechenbar

-

Eindeutigkeitsproblem

nicht berechenbar

-

Universalitätsproblem

nicht berechenbar

-

Sprachäquivalenzproblem

nicht berechenbar

-

Inklusionsproblem

nicht berechenbar

-

3.3.1 Das Wortproblem Definition Das Wortproblem für CFG: • Eingabe: Eine CFG G = (N, T, P, S) und ein Wort w ∈ T∗ • Frage: Gilt w ∈ L(G)? Theorem Das Wortproblem für CFG läßt sich in polynomieller Zeit lösen. ∗

Beweis w ∈ L(G) gdw. S ∈ pre∗ ({w}) = {α | α ⇒ w}.

3.3.2 Unproduktive Symbole Definition Finden von unproduktiven Symbolen einer CFG: • Eingabe: Eingabe: Eine CFG G = (N, T, P, S)

Seite: 12 / 21

smashnet.de

13. August 2009

The Peergroup Inc.

Formale Systeme, Automaten und Prozesse

• Ausgabe: Eine Liste der unproduktiven Symbole von G: ∗

{A ∈ N | es gibt kein w ∈ T∗ mit A ⇒ w} Bemerkung Ein unproduktives Symbol ist also ein Symbol, das kein Terminalsymbol ableiten kann. Theorem Unproduktive Symbole einer CFG lassen sich in polynomieller Zeit finden. Bemerkung Dieses Problem ist sogar in linearer Zeit lösbar. Beweis Die Menge der produktiven Symbole ist N ∩ pre∗ (T ∗ ).

3.3.3 Das Leerheitsproblem Definition Das Leerheitsproblem für CFG: • Eingabe: Eingabe: Eine CFG G = (N, T, P, S) • Frage: Ist L(G) = ∅? Theorem Das Leerheitsproblem für CFG läßt sich in polynomieller Zeit lösen. Bemerkung Dieses Problem ist sogar in linearer Zeit lösbar. Beweis Es ist L(G) = ∅ gdw. S < pre∗ (T ∗ ). Bemerkung Man überprüft also, ob das Startsymbol S ein produktives Symbol ist.

3.3.4 Unerreichbare Symbole Definition Finden von unerreichbaren Symbolen einer CFG: • Eingabe: Eingabe: Eine CFG G = (N, T, P, S) • Ausgabe: Eine Liste der unerreichbaren Symbole von G: ∗

{ A ∈ N | es gibt kein αAβ ∈ (N ∪ T)∗ mit S ⇒ αAβ } Bemerkung Ein unerreichbares Symbol ist also ein Symbol, das in keiner Satzform vorkommt, die vom Startsymbol aus ableitbar ist. Theorem Unerreichbare Symbole einer CFG lassen sich in polynomieller Zeit finden. Beweis A unerreichbar gdw. S < pre∗ ((N ∪ T)∗ A(N ∪ T)∗ ) Bemerkung A ist also unerreichbar, wenn es kein α und kein β gibt, so dass man von αAβ ∗

vom Startzustand S ableiten kann (S ⇒ αAβ also nicht möglich ist). Bemerkung Wir sagen ein Symbol ist unnütz, dann wenn es unerreichbar oder unproduktiv ist

13. August 2009

smashnet.de

Seite: 13 / 21

Formale Systeme, Automaten und Prozesse

The Peergroup Inc.

3.3.5 Nullierbare Symbole Definition Finden von nullierbaren Symbolen einer CFG: • Eingabe: Eingabe: Eine CFG G = (N, T, P, S) • Ausgabe: Eine Liste der nullierbaren Symbole von G: ∗

{A∈N|A⇒} Bemerkung A ist also nullierbar, wenn man das leere Wort ableiten kann. Theorem Nullierbare Symbole einer CFG lassen sich in polynomieller Zeit finden. Bemerkung Dieses Problem ist sogar in linearer Zeit lösbar. Beweis Die Menge der nullierbaren Symbole ist N ∩ pre∗ ({}).

3.3.6 Das Endlichkeitsproblem für CFG Definition Das Endlichkeitsproblem für CFG: • Eingabe: Eingabe: Eine CFG G = (N, T, P, S) • Frage: Ist L(G) endlich? Theorem Das Endlichkeitsproblem für CFG läßt sich in polynomieller Zeit lösen. Beweis Ersetze G durch G0 mit L(G0 ) = L(G) {}, aber G0 enthält keine unproduktiven, unerreichbare oder nullierbare Symbole. |L(G)| = ∞ gdw. es gibt A ∈ N mit A ∈ pre∗ 0 (((N ∪ T)+ A(N ∪ T)∗ ) ∪ ((N ∪ T)∗ A(N ∪ T)+ )) G

Wdhl. Reg. Sprachen Gibt es einen Kreis, der erreichbar ist und von dem aus man einen Endzustand erreichen kann? Wenn ja ist die Sprache sicherlich unendlich.

3.3.7 Post’sches Korrespondenzproblem Das Postsche Korrespondenzproblem ist nicht entscheidbar - dies wird in der Vorlesung Berechenbarkeit und Kompexität bewiesen. Es wird benutzt um mehrere Entscheidbarkeitsprobleme zu lösen.

3.3.8 Das Schnittleerheitsproblem für CFG Nicht berechenbar (18.06.). Kann man mit Post’schem Korrespondenzproblem zeigen.

3.3.9 Das Eindeutigkeitsproblem für CFG Nicht berechenbar (18.06.). Kann man mit Post’schem Korrespondenzproblem zeigen.

Seite: 14 / 21

smashnet.de

13. August 2009

The Peergroup Inc.

Formale Systeme, Automaten und Prozesse

3.3.10 Das Universalitätsproblem für CFG Nicht berechenbar (18.06.). Kann man mit Post’schem Korrespondenzproblem zeigen.

3.3.11 Das Sprachäquivalenzproblem für CFG Nicht berechenbar (23.06.). Kann mit Unlösbarkeit des Universalitätsproblems gezeigt werden.

3.3.12 Das Inklusionsproblem für CFG Nicht berechenbar (23.06.). Kann mit Unlösbarkeit des Universalitätsproblems gezeigt werden.

3.4 Normalformen für CFG 3.4.1 Entfernen von -Produktionen Theorem Es sei G = (N, T, P, S) eine CFG mit  < L(G). Dann gibt es eine CFG G0 ohne -Produktionen, die dieselbe Sprache wie G erzeugt. Beweis Idee: • Finde alle nullierbaren Symbole Z ⊆ N. • Für jede Produktion A → αBγ mit B ∈ Z, erzeuge zuätzlich eine neue Produktion A → αγ (wiederhole dies rekursiv). • Streiche alle Produktionen der Form A → . Beispiel

• S → AaS | b A → Sb | aAA |  B → AA | AB | BAa | b

• Welche Symbole sind nullierbar? ⇒ A und B. • Also erhält man noch obiger Konstruktion folgende Grammatik: S → AaS | aS | b A → Sb | aAA | aA | a B → AA | AB | A | B | BAa | Ba | Aa | a | b

3.4.2 Chomsky-Normal-Form Nur Regeln der Form: • Non-Terminal bildet auf zwei Non-Terminale ab • Non-Terminal bildet auf ein Terminal ab. Um die Chomsky-Normal-Form zu bilden.. • Die -Produktionen entfernen

13. August 2009

smashnet.de

Seite: 15 / 21

Formale Systeme, Automaten und Prozesse

The Peergroup Inc.

• Für jedes Terminal Symbol (a ∈ T) ein neues Non-Terminal Ra • Ersetze A → aBbC durch A → Ra BRb C • Neue Regel Ra → a für jedes a ∈ T • Ersetzte A → B1 B2 B3 ...Bk durch A → B1 B23...k Danach noch Anwenden der Kettenregel für Produktionen der Art A → B. Intuitiv: A → B und B → C wird zu A → C

3.4.3 Greibach-Normalform Eine Links-rekursive Regel ist eine Regel der Form: • A → Aα1 • A → β1 Dies lässt sich ersetzten durch Regeln der Form: • A → β1 Z • Z → α1 Z Die Greiback Normalform besteht nur aus Regeln der Form: • A → TN∗ (mit T ein Terminalsymbol, N beliebig viele Non-Terminale) Umwandlung auf den Folien 168 und 169 (Foliensatz vom 25.6.)

3.5 Pumping-Lemma für CFGs Pumping-Lemma Das Pumpinglemma besagt, dass für jedes Wort aus einer kontextfreien Gramatik eine Zerlegung w = uvxyz mit |vxy| ≤ n und |vy| > 0 existieren muss, so dass uvi xyi z ∀i∈N0 wieder in der Sprache ist. Wichtiger ist hier jedoch der Umkehrschluß: Wenn ∃w ∈ L mit w = uvxyz mit |vxy| ≤ n und |vy| > 0, so dass uvi xyi z < L ∃i∈N0 dann ist die Sprache nicht kontextfrei. Oder auf Deutsch: Es gibt ein Wort aus der Sprache, dass bei allen Zerlegungen uvxyz, welche die gegebene Vorraussetzung erfüllen, ein i ∈ N0 existiert, so dass uvi xyi z nicht in der Sprache liegt, dann ist die Sprache nicht kontextfrei. Wenn eine solche Aufgabe gestellt wird, wird das Problem immer folgendermaßen geläöst: Alice und Bob Wir spielen nur Bob, was Alice macht ist unbekannt. • Alice: Wählt ein n. • Bob: Bestimmt ein Wort aus der Sprache. • Alice: Wählt eine Zerlegung w = uvxyz mit |vxy| ≤ n und |vy| > 0 • Bob: Zeigt für jede mögliche Zerlegung, dass für dieses Wort ein solches i existiert, so dass uvi xyi z nicht in der Sprache ist.

Seite: 16 / 21

smashnet.de

13. August 2009

The Peergroup Inc.

Formale Systeme, Automaten und Prozesse

3.6 Kellerautomaten (PDA) Ein PDA (Q,

P

, Γ, δ, q0 , Γ0 , F) besteht aus Zuständen, Eingealphabet, Kelleralphabet, Übergansfunk-

tionen, Startzustand, Kellerbodensymbol und Endzustände Ein Übergang a,b|c besteht dabei aus der Eingabe a, dem obersten Element des Kellers davor (b) und danach (c). Jeder Kellerautomat lässt sich auch als CFG realisieren.

3.6.1 Deterministische Kellerautomaten (DPDA) Ein PDA bei dem für jedes Tripel (Kombination von Zustand, Eingabe und Kellerinhalt) öchstens eine Transition gegeben ist.

3.6.2 Deterministische Kontextfreie Grammatik (DCFG) DCFG ist die Sprache die von einem DPDA gebildet wird. Sie ist im Gegensatz zu CFGs unter Vereinigung, Schnitt und Komplement abgeschlossen.

13. August 2009

smashnet.de

Seite: 17 / 21

4 Chomsky Hierarchy Chomsky Chomsky-0

Grammatik

Nicht Lösbar

Erzeugt durch

Allgemeine/ Re-

Wortproblem

Turing

kursiv

Aufzähl-

KSV*

Maschine/2-

bare Chomsky-1

Abgeschlossenheit

Keller-Automat

Kontext Sensitive

Leerheitsproblem

?

CKSV*

(kein A → ) Chomsky-2

Kontext (A



Freie

Schnittleerheit

Kellerautomat

KV*

BC,

B → bCaAb) Chomsky-3

Linkslineare

Alles Entscheidbar

(A → a, B → bC,

Endliche

Auto-

CKSV*

maten/RegEx

D → ) Legende: • C = Komplementbildung • K = Konkatenation • S = Schnittmenge • V = Vereinigungsmenge • * = Kleenescher Abschluss Bemerkung: • Linkslineare Grammatiken ≡ regulären Sprachen. • Chomsky-3 ⊂ Chomsky-2 ⊂ Chomsky-1 ⊂ Chomsky-0

19

5 Prozesse 5.1 Einführung Variablen und Kontrollstrukturen lassen sich als Automaten darstellen. • Synchronsiertes Produkt: Das synchronisierte Produkt (A = B ◦ C) ist der Automat A, der entsteht wenn alle Eingaben an beide Automaten gleichzeitig weitergegeben werden. Gibt es ein Symbol nur in einem der beiden Automaten, bleibt der andere in seinem bisherigen Zustand. ∃

• Unsynchronisiertes (auch Shuffle Produkt): (A = B

C) Das unsychronisierte Produkt

simuliert die Nebenläufigkeit der beiden Automaten.

5.2 Petrinetze Kreise, Quadrate und Markierungen... folgt ;)

21

Suggest Documents