• Keine Ergebnisse gefunden

Chomsky NF und bin¨ are B¨ aume

N/A
N/A
Protected

Academic year: 2022

Aktie "Chomsky NF und bin¨ are B¨ aume"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kap. 3: Grammatiken Kontextfreie 3.3

kontextfreie Sprachen (Typ 2)

→ Abschnitt 3.3

• wichtige n¨achste Stufe nach regul¨ar

• zul¨assige Produktionen bei Typ 2,ε6∈L: X →v, v 6=ε Versch¨arfung: Chomsky-Normalform: X →YZ undX →a Satz: jede Typ 2 Grammatik ohneε-Produktionen

ist ¨aquivalent zu Chomsky NF Grammatik

Beweisidee zur Transformation in Chomsky NF (Satz 3.3.2):

– ersetze aauf rechten Seiten durch neues Za neue Produktionen Za→a

– eliminiere X →Y Produktionen (durch shortcuts) – eliminiere X →Y1. . .Yk Produktionen f¨urk >2

FGdI I Sommer 2010 M Otto 97/136

Kap. 3: Grammatiken Kontextfreie 3.3

Chomsky NF und bin¨ are B¨ aume

Ableitungsschritt X →YZ bin¨are Verzweigung X →a keine Verzweigung

X

vvnnnnnnnnnnn

@

@@

@@ Y

~~|||||

A

AA

AA Z

Y0

Z0

a a0 a00

Ableitungsbaum mit innerenKnotenf¨ur X in X →YZ Anwendungen

Lemma 3.3.3

in Chomsky NF GrammatikG:

w ∈L(G) hat Ableitung der L¨ange 2|w| −1.

Beweise induktiv ¨uber L¨ange `

der Ableitung vonw ∈(V ∪Σ)+

|w |

V

+ 2|w|

Σ

= ` + 1

FGdI I Sommer 2010 M Otto 98/136

Kap. 3: Grammatiken Kontextfreie 3.3

kontextfreie Sprachen: Abschlusseigenschaften

Abschluss unter Vereinigung, Konkatenation, Stern

(Satz 3.3.7) Zu gegebenen Typ 2 Grammatiken f¨urL1,L2,Lfinde explizit Typ 2 Grammatiken f¨urL1∪L2, f¨ur L1·L2, bzw. f¨urL

z.B.: seien G(i)= (Σ,V(i),P(i),X0(i)) kontextfrei,V(1)∩V(2)=∅ G = (Σ,V,P,X0) mitL(G) =L(G(1))·L(G(2)):

V := V(1)∪V(2)∪ {X0} X0 neu P := {X0→X0(1)X0(2)} ∪ P(1) ∪ P(2) kein Abschluss unter Durchschnitt/Komplement!

→ sp¨ater

FGdI I Sommer 2010 M Otto 99/136

Kap. 3: Grammatiken Kontextfreie 3.3

noch ein Pumping Lemma

→ Abschnitt 3.3.3 L⊆Σ kontextfrei ⇒

existiertn∈Nsodass sich jedesx ∈Lmit|x|>n zerlegen l¨asst in x =yuvwz,uw 6=ε,|uvw|6n, und f¨ur alle m∈N

y ·um·v ·wm·z =y ·u· · ·u

| {z }

mmal

·v ·w· · ·w

| {z }

mmal

·z ∈L.

Beweis(Satz 3.3.8):

L=L(G),G in Chomsky NF,n:= 2|V|. F¨urx ∈L(G),|x|>n, hat jeder

Ableitungsbaum zwei geschachtelte Vorkommen desselbenX

Findeuvw wie in Skizze

//////////////

////////

X

•X

//////

/////

| {z }

u | {z }

v | {z }

w

| {z }

v0

Beispiel: {anbncn:n ∈N}nicht kontextfrei

FGdI I Sommer 2010 M Otto 100/136

(2)

Kap. 3: Grammatiken CYK 3.3.4

Erinnerung: Wortprobleme als Entscheidungsprobleme

Wortproblem zuL⊆Σ: Eingabe: w ∈Σ Entscheide, obw ∈L

L¨osung durch Algorithmus Amit w A

−→

“ja” fallsw ∈L akzeptieren

“nein” fallsw 6∈L verwerfen definite Entscheidung

im Gegensatz zu: Akzeptieren wie bei NFA

Erzeugen/Ableiten wie in Grammatik

FGdI I Sommer 2010 M Otto 101/136

Kap. 3: Grammatiken CYK 3.3.4

CYK Algorithmus

→ Abschnitt 3.3.4 effizienter Algorithmus f¨ur das kontextfreie Wortproblem

f¨urG in Chomsky NF (ProduktionenX →a undX →YZ) berechne zuw =a1. . .an systematisch f¨ur alle Teilw¨orter wi,j =ai. . .aj (16i 6j 6n)

V(i,j) :={X ∈V:X →G wi,j} dynamisches Programmieren rekursive Auswertung f¨ur i <j: (mit wachsender L¨ange j −i+ 1)

X →G wi,j gdw

f¨ur eink miti 6k <j und einX →YZ ist Y →G wi,k und Z →G wk+1,j

Cocke, Younger, Kasami

CYK Algorithmus: Wortproblem in ∼ |w|3 Schritten entscheidbar.

FGdI I Sommer 2010 M Otto 102/136

Kap. 3: Grammatiken CYK 3.3.4

das Wichtigste aus Kapitel 3

Grammatiken und Erzeugungsprozesse Niveaus derChomsky-Hierarchie

Normalformund Pumping Lemmaf¨ur kontextfreie Sprachen

Kapitel 4: Berechnungsmodelle:

Turingmschinen (DTM/NTM) Kellerautomaten (PDA)

Endliche Automaten (DFA/NFA) X

(3)

Kap. 4: Berechnungsmodelle

Berechnungsmodelle

• prinzipielle Fragen:

Was l¨asst sich berechnen? (z.B. Wortprobleme)

• qualitativ-quantitative Fragen:

Wie schwer ist ein algorithmisches Problem?

Komplexit¨atshierarchien? (z.B. in Chomsky-Hierarchie)

Algorithmus =

(Berechnungs-)Verfahren nachAl Chwarismi (Bagdad, um 800), latinisiert zu Algoritmi

FGdI I Sommer 2010 M Otto 105/136

Kap. 4: Berechnungsmodelle PDA 4.1

Kellerautomaten (PDA)

→ Abschnitt 4.1

PDA = NFA + Kellerspeicher (stack, push-down storage) Konfigurationjeweils bestimmt durch

• Zustand

• Position in der Eingabe

• Kellerinhalt

erlaubte (nichtdeterministische) ¨Uberg¨angeabh¨angig von

• Zustand

• oberstem Kellersymbol

• n¨achstem Eingabesymbol Ubergang¨ resultiert in

• Zustandswechsel

• (optional) Vorr¨ucken in Eingabe

• pop und push im Keller:

– Entfernen des obersten Kellersymbols (pop) – Einschreiben eines Wortes in Keller (push)

FGdI I Sommer 2010 M Otto 106/136

Kap. 4: Berechnungsmodelle PDA 4.1

PDA P = Σ,Q,q0,∆,A,Γ,# :

Σ Eingabealphabet Q Zustandsmenge

Γ Kelleralphabet q0 ∈Q Anfangszustand

#∈Γ Anfangs-Kellersymbol A⊆Q akzeptierende Zust¨ande endliche ¨Ubergangsrelation:

∆ ⊆ Q × Γ × (Σ ∪ {ε}) × Γ

× Q

Konfigurationen: C = (q,v, α)∈Q×Σ×Γ:

q∈Q aktueller Zustand,

v ∈Σ Restabschnitt des Eingabewortes, α∈Γ aktueller Kellerinhalt.

Startkonfiguration auf Eingabe w: C0[w] = (q0,w,#) Nachfolgekonfigurationen zu C = (q,v, α),α=γ αrest, γ ∈Γ oberstes Kellersymbol, Keller nicht leer:

C0= (q0,v0, α0) mit v=xv0 α0=β αrest

f¨ur ein (q, γ,x, β,q0)∈∆.

FGdI I Sommer 2010 M Otto 107/136

Kap. 4: Berechnungsmodelle PDA 4.1

PDA Berechnungen

Startkonfiguration aufw =a1. . .an q↑0

. . .

a1a2 an

C

0

[w]

#

typische KonfigurationC aufw =a1. . .an

↑q

. . . .

a1a2 b an

v

z }| {

C

...

γ o

αrest

FGdI I Sommer 2010 M Otto 108/136

(4)

Kap. 4: Berechnungsmodelle PDA 4.1

PDA Berechnungen

↑q

. . . .

a1a2 b an

v

z }| {

C

...

γ o

αrest

Nachfolgekonfiguration von C zu (q, γ,b, β,q0)∈∆

q↑0

. . . .

a1a2 b an

v0

z }| {

... ...

β o

αrest

C

0

Nachfolgekonfiguration von C zu (q, γ, ε, β,q0)∈∆

q↑0

. . . .

a1a2 b an

v0

z }| {

... ...

β o

αrest

C

0

FGdI I Sommer 2010 M Otto 109/136

Kap. 4: Berechnungsmodelle PDA 4.1

PDA Berechnungen

(terminierende) Berechnung von P auf Eingabew ∈Σ: KonfigurationsfolgeC0. . .Cf, wobei

C0=C0[w] = (q0,w,#),

Ci+1 eine Nachfolgekonfiguration vonCi, 06i <f, Cf Endkonfiguration ohne anwendbare Transition Notation:

C

0

[w] −→

P

C

f

akzeptierende Berechnung: Cf = (q, ε, ε) mit q ∈A von P akzeptierte Sprache:

L(P) =

w ∈Σ:C0[w]−→P (q, ε, ε) f¨ur einq ∈A

FGdI I Sommer 2010 M Otto 110/136

Kap. 4: Berechnungsmodelle PDA 4.1

Beispiel: PDA f¨ ur Klammersprache

P = {(,)},Q,q0,∆,{q0},Γ,#

, Q =A={q}, ein Zustandq=q0 Γ ={|,#}

Transitionen:

(q,#,(,|#,q) verarbeitet “(” und addiert “|” im Keller (q, | ,(, || ,q) verarbeitet “(” und addiert “|” im Keller (q, | ,), ε ,q) verarbeitet “)” und l¨oscht ein “|” im Keller (q,#, ε , ε ,q) ε-Transition, die # l¨oscht

Idee: Kellerspeicher als Z¨ahler f¨ur |u|(− |u|)

Kap. 4: Berechnungsmodelle PDA 4.1

Satz: kontextfrei = PDA-erkennbar

Satz 4.1.5 F¨urL⊆Σ sind ¨aquivalent: (i) Lkontextfrei.

(ii) L=L(P) f¨ur einen PDA P.

Beweis

(i) ⇒ (ii): aus L=L(G), G = (Σ,V,P,X0) kontextfrei, gewinne PDA P = (Σ,Q,q0,∆,A,Γ,#) Q=A={q},q0=q

Γ =V ∪Σ, # =X0

Transitionen: (q,X, ε, α,q) f¨ur Produktionen X →α vonG (q,a,a, ε,q) f¨ur jedesa∈Σ.

(ii) ⇒ (i): ausL=L(P),P = (Σ,Q,q0,∆,Γ,#), gewinne kontextfreies G = (Σ,V,P,X0)

Idee: Ableitungsschritte von G ≈Berechnungsschritte vonP

(5)

Kap. 4: Berechnungsmodelle Turingmaschinen 4.2

Turing: prinzipielle Berechenbarkeit

→ Abschnitt 4.2

Alan Turing (1912 – 1954)

Pionier der modernen Theorie der Berechenbarkeit prinzipielle Grenzen

und M¨oglichkeiten

FGdI I Sommer 2010 M Otto 113/136

Kap. 4: Berechnungsmodelle Turingmaschinen 4.2

Turingmaschinen: DTM

→ Abschnitt 4.2

DTM = DFA + unbeschr¨ankter Lese/Schreibzugriff Eingabe-/Arbeitsspeicher: unbeschr¨ankte Folge von Zellen

als “Band” mit Lese/Schreibkopf Konfigurationbestimmt durch

• Zustand (q ∈Q)

• Position auf dem Band

• Bandbeschriftunng

Ubergang in Nachfolgekonfiguration¨ abh¨angig von

• Zustand

• aktuell gelesenem Bandsymbol Ubergang¨ resultiert in

• Zustandswechsel

• Schreiben

• Kopfbewegung (<,◦, >)

FGdI I Sommer 2010 M Otto 114/136

Kap. 4: Berechnungsmodelle Turingmaschinen 4.2

DTM M= Σ,Q,q0, δ,q+,q Q Zustandsmenge q0∈Q Anfangszustand

q+/q∈Q akzeptierender/verwerfender Endzustand, q6=q+ δ ”Ubergangsfunktion

δ:Q×(Σ∪ {2})→(Σ∪ {2})× {<,◦, >} ×Q Konfigurationen:

C = (α,q,x, β)∈(Σ∪ {2})×Q×(Σ∪ {2})×(Σ∪ {2}) α: Bandinhalt links vom Kopf

x: Bandinhalt in Kopfposition β: Bandinhalt rechts vom Kopf q: aktueller Zustand

Startkonfiguration auf Eingabe w: C0[w] := (ε,q0,2,w) Nachfolgekonfiguration: C 7−→C0 gem¨aßδ . . .

Endkonfigurationen: q∈ {q+,q}, akzeptierend/verwerfend

FGdI I Sommer 2010 M Otto 115/136

Kap. 4: Berechnungsmodelle Aufz¨ahkbarkeit/Entscheidbarkeit 4.3

DTM: Akzeptieren und Entscheiden

→ Abschnitt 4.3

von DTMM akzeptierte Sprache

L(M) ={w ∈Σ: M akzeptiertw }={w ∈Σ:w −→M q+} Entscheidung (des Wortproblems) von L

M entscheidet Lfalls f¨ur allew ∈Σ: w −→M

q+ f¨urw ∈L

q f¨urw 6∈L definit!

L entscheidbar(rekursiv):

Lvon einer DTM entschieden

L aufz¨ahlbar(rekursiv aufz¨ahlbar, semi-entscheidbar):

Lvon einer DTM akzeptiert

FGdI I Sommer 2010 M Otto 116/136

Referenzen

ÄHNLICHE DOKUMENTE

Besprechung Blatt 10 Binary Search Hashing Vorbereitung Blatt 11 Bin¨ are Suchb¨ aume (Binary Search

Affine Unterr¨aume sind genau die L¨osungsmen- gen von linearen Gleichungssystemen (siehe Lineare

Ziel dieser Aufgabe ist die Entwicklung eines einfachen bin¨ aren Baums, der in seinen Knoten je ein int und ein char-Wert aufnehmen kann. Die Sortierung soll dabei nach

Bei einem L-K-R Baum gilt, dass alle Knoten des linken Teilbaums kleinere Werte als der betrachtete Knoten haben und der rechte Teilbaum nur gr¨ oßere?. Dadurch weiß man beim

• Der funktionale Ansatz ber¨ ucksichtigt keine Information ¨ uber den Kontext, in dem eine Prozedur aufgerufen wird.. • Falls p() von q() aus aufgerufen wird, k¨ onnte x immer

Eine Variable heißt lebendig am Ausgang eines Blocks, falls es einen Ablauf von diesem Block zu einem anderen Block geben k¨ onnte (nicht ¨ uberschrieben), der die Variable in

Bei sortierter Speicherung von Daten bieten bin¨ are B¨ aume gegen¨ uber Listen potentiell den Vorteil, daß die Suche nach gespeicherten Datens¨ atzen schneller ist, da in jedem

Definieren Sie Funktionen zum Einf¨ ugen, L¨ oschen und Suchen in nahezu balan- cierten bin¨ aren Suchb¨ aumen.. Beweisen Sie, dass diese Funktionen die entsprechenden