• Keine Ergebnisse gefunden

4. Das Wortproblem 4.1 Die Existenz von Ableitungen eines Wortes

N/A
N/A
Protected

Academic year: 2021

Aktie "4. Das Wortproblem 4.1 Die Existenz von Ableitungen eines Wortes"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

4. Das Wortproblem

4.1 Die Existenz von Ableitungen eines Wortes

Beispiel 56 (Arithmetische Ausdr¨ ucke)

<expr> → <term>

<expr> → <expr>+<term>

<term> → (<expr>)

<term> → <term>× <term>

<term> → a|b| . . . |z

Aufgabe einesParsers ist nun, zu pr¨ufen, ob eine gegebene

Zeichenreihe einen g¨ultigen arithmetischen Ausdruck darstellt und, falls ja, ihn in seine Bestandteile zu zerlegen.

(2)

SeiG= (V,Σ, P, S) eine Grammatik.

Definition 57

1 Wortproblem: Gegeben ein Wort w∈Σ, stelle fest, ob w∈L(G) ?

2 Ableitungsproblem: Gegeben ein Wortw ∈L(G), gib eine Ableitung S→Gw an, d.h. eine Folge

S=w(0)Gw(1)G· · · →Gw(n)=w

mit w(i)∈(Σ∪V) f¨uri= 1, . . . , n.

3 uniformes Wortproblem: Wortproblem, bei dem jede Probleminstanz sowohl die Grammatik G wie auch die zu testende Zeichenreihe w enth¨alt. IstG dagegenglobal

festgelegt, spricht man von einem nicht-uniformenWortproblem.

(3)

Bemerkung:

Das uniforme wie auch das nicht-uniforme Wortproblem ist f¨ur Typ-0-Sprachen (also die rekursiv-aufz¨ahlbare Sprachen) nicht entscheidbar. Wir werden sp¨ater sehen, dass es zumHalteproblem f¨ur Turingmaschinen¨aquivalent ist.

Es gilt jedoch

Satz 58

F¨ur kontextsensitive Grammatiken ist das Wortproblem entscheidbar.

Genauer: Es gibt einen Algorithmus, der bei Eingabe einer

kontextsensitiven GrammatikG= (V,Σ, P, S)und eines Wortes w in endlicher Zeit entscheidet, obw∈L(G).

(4)

Beweisidee:

Angenommenw∈L(G). Dann gibt es eine Ableitung S=w(0)Gw(1)G· · · →Gw(n)=w mitw(i)∈(Σ∪V) f¨ur i= 1, . . . , n.

Da aberGkontextsensitiv ist, gilt (fallsw6=)

|w(0)| ≤ |w(1)| ≤ · · · ≤ |w(n)|,

d.h., es gen¨ugt, alle W¨orter in (Σ∪V) der L¨ange≤ |w|zu erzeugen.

(5)

Beweis:

Sei o.B.d.A.w6=und sei

Tmn := {w0∈(Σ∪V); |w0| ≤nund

w0 l¨asst sich ausS in ≤mSchritten ableiten}

Diese Mengen kann man f¨ur alle n undm induktiv wie folgt berechnen:

T0n := {S}

Tm+1n := Tmn ∪ {w0 ∈(Σ∪V); |w0| ≤nund w00→w0 f¨ur einw00∈Tmn} Beachte:F¨ur alle m gilt: |Tmn| ≤Pn

i=1|Σ∪V|i. Es muss daher immer einm0 geben mit

Tmn0 =Tmn0+1=. . .=:Tn.

(6)

Beweis (Forts.):

Algorithmus:

n:=|w|

T :={S}

T0 :=∅

while T 6=T0 do T0 :=T

T :=T0∪ {w0 ∈(V ∪Σ)+; |w0| ≤n,(∃w00∈T0)[w00 →w0]}

od

if w∈T return

”ja“ else return

”nein“ fi

(7)

Beispiel 59

Gegeben sei die Typ-2-Grammatik mit den Produktionen S →abund S→aSb

sowie das Wortw=abab.

T04 = {S}

T14 = {S, ab, aSb}

T24 = {S, ab, aSb, aabb} aaSbb ist zu lang!

T34 = {S, ab, aSb, aabb}

Also l¨asst sich das Wort w mit der gegebenen Grammatiknicht erzeugen!

(8)

Bemerkung:

Der angegebene Algorithmus ist nicht sehr effizient! F¨ur

kontextfreieGrammatiken gibt es wesentlich effizientere Verfahren, die wir sp¨ater kennenlernen werden!

Referenzen

ÄHNLICHE DOKUMENTE

Wiederholen Sie die eingef¨uhrten Algorithmen f¨ur das Wortproblem und das Leerheitsproblem f¨ur Typ-3 Sprachen (pr¨asentiert als endlicher Auto- mat) und Typ-2 Sprachen

Wir betrachten die Einschr¨ankung des Postschen Korrespondenzproblems, bei dem nur W¨orter aus dem Alphabet Σ = {0 , 1}

Die Menge E aller Suffixe kann in zwei Klassen F und G zerlegt werden.. Die

Wir haben bisher Relationen betrachtet, die entweder primitiv rekursiv oder rekursiv entscheidbar waren... Dann ist f (~ x) = µy.S~ xy berechenbar und hat als Definitionsbereich

Man muss nur Ableitungen bis zur L¨ange (|N | + |T | + 1) |x| + 1 durchsuchen (ansonsten enth¨alt die Ableitung zwei identische W¨orter mit L¨ange.

algorithmische Entscheidbarkeit = Turing-Entscheidbarkeit algorithmische Erzeugbarkeit = Turing-Aufz¨ ahlbarkeit Berechenbarkeit = Turing-Berechenbarkeit. Belege: • Erfahrung:

(Die Sprachen, die von Grammatiken erzeugt werden, sind gerade die rekursiv aufz¨ ahlbaren Sprachen. Diese sind nicht unter Komplement abgeschlossen. Rekursiv aufz¨ ahlbare

– ¨ Uberf¨uhrungsfunktion δ:Q×(Σ∪{ǫ})×Γ → Q×Γ ∗ muß eindeutig sein – Gibt es f¨ur PDAs immer ¨aquivalente