• Keine Ergebnisse gefunden

F¨ ur kontextsensitive Grammatiken ist das Wortproblem entscheidbar.

N/A
N/A
Protected

Academic year: 2021

Aktie "F¨ ur kontextsensitive Grammatiken ist das Wortproblem entscheidbar."

Copied!
24
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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 zum Halteproblem f¨ ur Turingmaschinen ¨ aquivalent ist.

Es gilt jedoch Satz 16

F¨ ur kontextsensitive Grammatiken ist das Wortproblem entscheidbar.

Genauer: Es gibt einen Algorithmus, der bei Eingabe einer

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

Info IV 2.3 Das Wortproblem 38/217

c

Ernst W. Mayr

(2)

Beweisidee:

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

Da aber G kontextsensitiv ist, gilt (falls w 6= )

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

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

Info IV 2.3 Das Wortproblem 39/217

c

Ernst W. Mayr

(3)

Beweis:

Sei o.B.d.A. w 6= und sei

T m n := {w 0 ∈ (Σ ∪ V ) ; |w 0 | ≤ n und

w 0 l¨ asst sich aus S in ≤ m Schritten ableiten}

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

T 0 n := {S}

T m+1 n := T m n ∪ {w 0 ∈ (Σ ∪ V ) ; |w 0 | ≤ n und w 00 → w 0 f¨ ur ein w 00 ∈ T m n } Beachte: F¨ ur alle m gilt: |T m n | ≤ P n

i=1 |Σ ∪ V | i . Es muss daher immer ein m 0 geben mit

T m n

0

= T m n

0

+1 = . . . =: T n .

Info IV 2.3 Das Wortproblem 40/217

c

Ernst W. Mayr

(4)

Beweis (Forts.):

Algorithmus:

n := |w|

T := {S}

T 0 := ∅

while T 6= T 0 do T 0 := T

T := T 0 ∪ {w 0 ∈ (V ∪ Σ) + ; |w 0 | ≤ n, (∃w 00 ∈ T 0 )[w 00 → w 0 ]}

od

if w ∈ T return “ja” else return “nein” fi

Info IV 2.3 Das Wortproblem 41/217

c

Ernst W. Mayr

(5)

Beispiel 17

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

sowie das Wort w = abab.

T 0 4 = {S}

T 1 4 = {S, ab, aSb}

T 2 4 = {S, ab, aSb, aabb} aaSbb ist zu lang!

T 3 4 = {S, ab, aSb, aabb}

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

Info IV 2.3 Das Wortproblem 42/217

c

Ernst W. Mayr

(6)

Bemerkung:

Der angegebene Algorithmus ist nicht sehr effizient! F¨ ur

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

Info IV 2.3 Das Wortproblem 43/217

c

Ernst W. Mayr

(7)

2.4 Ableitungsgraph und Ableitungsbaum Grammatik:

S → AB A → aA A → a B → bB B → b aaa → c cb → a

Beispiel:

S

A B

a A b B

a A b B

a b

c a

Die Terminale ohne Kante nach unten entsprechen, von links nach rechts gelesen, dem durch den Ableitungsgraphen dargestellten Wort.

Info IV 44/217

c

Ernst W. Mayr

(8)

Grammatik:

S → AB A → aA A → a B → bB B → b aaa → c cb → a

Beispiel:

S

A B

a A b B

a A b B

a b

c a Dem Ableitungsgraph entspricht z.B. die Ableitung

S → AB → aAB → aAbB → aaAbB → aaAbbB →

→ aaabbB → aaabbb → cbbb → abb

Info IV 2.4 Ableitungsgraph und Ableitungsbaum 44/217

c

Ernst W. Mayr

(9)

Beobachtung:

Bei kontextfreien Sprachen sind die Ableitungsgraphen immer B¨ aume.

Beispiel 18 Grammatik:

S → aB S → Ac A → ab B → bc

AbleitungsbaumAbleitungsb¨ aume:

S A

a b c

S B

b c

a

F¨ ur das Wort abc gibt es zwei verschiedene Ableitungsb¨ aume.

Info IV 2.4 Ableitungsgraph und Ableitungsbaum 45/217

c

Ernst W. Mayr

(10)

Definition 19 Eine Ableitung

S = w (0) → w (1) → · · · → w (n) = w eines Wortes w heißt Linksableitung, wenn f¨ ur jede

Anwendung einer Produktion α → β auf w (i) = xαz gilt, dass sich keine Regel der Grammatik auf ein echtes Pr¨ afix von xα anwenden l¨ asst.

Eine Grammatik heißt eindeutig, wenn es f¨ ur jedes Wort w ∈ L(G) genau eine Linksableitung gibt. Nicht eindeutige Grammatiken nennt man auch mehrdeutig.

Eine Sprache L heißt eindeutig, wenn es f¨ ur L eine eindeutige Grammatik gibt. Ansonsten heißt L mehrdeutig.

Bemerkung: F¨ ur eindeutige kontextfreie Grammatiken ist das Wortproblem sehr einfach l¨ osbar.

Info IV 2.4 Ableitungsgraph und Ableitungsbaum 46/217

c

Ernst W. Mayr

(11)

Beispiel 20 Grammatik:

S → aB S → Ac A → ab B → bc

Ableitungsb¨ aume:

S A

a b c

S B

b c

a

Beide Ableitungsb¨ aume f¨ ur das Wort abc entsprechen Linksableitungen.

Info IV 2.4 Ableitungsgraph und Ableitungsbaum 47/217

c

Ernst W. Mayr

(12)

Beispiel 21 Grammatik:

S → AB A → aA A → a B → bB B → b aaa → c cb → a

Ableitung:

S

A B

a A b B

a A b B

a b

c Eine Linksableitung ist a

S → AB → aAB → aaAB → aaaB → cB →

→ cbB → aB → abB → abb

Info IV 48/217

c

Ernst W. Mayr

(13)

Beispiel 21 Grammatik:

S → AB A → aA A → a B → bB B → b aaa → c cb → a

Ableitung:

S

A B

a A b B

a A b B

a b

c Eine andere Linksableitung ist a

S → AB → aB → abB → abb .

Info IV 48/217

c

Ernst W. Mayr

(14)

Beispiel 21 Grammatik:

S → AB A → aA A → a B → bB B → b aaa → c cb → a

Ableitung:

S

A B

a A b B

a A b B

a b

c Die Grammatik ist also mehrdeutig. a

Info IV 2.4 Ableitungsgraph und Ableitungsbaum 48/217

c

Ernst W. Mayr

(15)

3. Regul¨ are Sprachen

3.1 Deterministische endliche Automaten Definition 22

Ein deterministischer endlicher Automat (englisch: deterministic finite automaton, kurz DFA) wird durch ein 5-Tupel

M = (Q, Σ, δ, q 0 , F ) beschrieben, das folgende Bedingungen erf¨ ullt:

1

Q ist eine endliche Menge von Zust¨ anden.

2

Σ ist eine endliche Menge, das Eingabealphabet, wobei Q ∩ Σ = ∅.

3

q 0 ∈ Q ist der Startzustand.

4

F ⊆ Q ist die Menge der Endzust¨ ande.

5

δ : Q × Σ → Q heißt Ubergangsfunktion. ¨

Info IV 3.1 Deterministische endliche Automaten 49/217

c

Ernst W. Mayr

(16)

Die von M akzeptierte Sprache ist

L(M ) := {w ∈ Σ ; ˆ δ(q 0 , w) ∈ F } , wobei δ ˆ : Q × Σ → Q induktiv definiert ist durch

ˆ δ(q, ) = q f¨ ur alle q ∈ Q δ(q, ax) ˆ = ˆ δ(δ(q, a), x) f¨ ur alle q ∈ Q, a ∈ Σ

und x ∈ Σ Bemerkung: Endliche Automaten k¨ onnen durch (gerichtete und markierte) Zustandsgraphen veranschaulicht werden:

Knoten = b Zust¨ anden Kanten = b Uberg¨ ¨ angen

genauer: die mit a ∈ Σ markierte Kante (u, v) entspricht δ(u, a) = v

Der Anfangszustand wird durch einen Pfeil, Endzust¨ ande werden durch doppelte Kreise gekennzeichnet.

Info IV 3.1 Deterministische endliche Automaten 50/217

c

Ernst W. Mayr

(17)

Beispiel 23

Sei M = (Q, Σ, δ, q 0 , F ), wobei

Q = {q 0 , q 1 , q 2 , q 3 } Σ = {a, b}

F = {q 3 } δ(q 0 , a) = q 1

δ(q 0 , b) = q 3

δ(q 1 , a) = q 2

δ(q 1 , b) = q 0 δ(q 2 , a) = q 3 δ(q 2 , b) = q 1 δ(q 3 , a) = q 0

δ(q 3 , b) = q 2

q 3

q 1

q 2 q 0

b a a

b b a

a b

Info IV 3.1 Deterministische endliche Automaten 51/217

c

Ernst W. Mayr

(18)

Satz 24

Ist M = (Q, Σ, δ, q 0 , F ) ein deterministischer endlicher Automat, so ist die durch

P := {q → aq 0 ; δ(q, a) = q 0 } ∪ {q → a; δ(q, a) ∈ F } gegebene Grammatik G = (Q, Σ, P, q 0 ) regul¨ ar.

Beweis:

Offensichtlich!

Info IV 3.1 Deterministische endliche Automaten 52/217

c

Ernst W. Mayr

(19)

Beispiel 25

q 3

q 1

q 2

q 0

b a a

b b a

a b

Produktionen:

q

0

→ aq

1

q

0

→ bq

3

q

1

→ aq

2

q

1

→ bq

0

q

2

→ aq

3

q

2

→ bq

1

q

3

→ aq

0

q

3

→ bq

2

q

2

→ a q

0

→ b

q

0

→ aq

1

→ abq

0

→ abaq

1

→ abaaq

2

→ abaaa ∈ L(G)

Info IV 3.1 Deterministische endliche Automaten 53/217

c

Ernst W. Mayr

(20)

Satz 26

Sei M = (Q, Σ, δ, q 0 , F ) ein endlicher deterministischer Automat.

Dann gilt f¨ ur die soeben konstruierte regul¨ are Grammatik G L(G) = L(M) .

Beweis:

Sei w = a 1 a 2 · · · a n ∈ Σ . Dann gilt gem¨ aß Konstruktion:

w ∈ L(M )

⇔ ∃q 0 , q 1 , . . . , q n ∈ Q: q 0 Startzustand von M ,

∀i = 0, . . . , n − 1: δ(q i , a i+1 ) = q i+1 , q n ∈ F

⇔ ∃q 0 , q 1 , . . . , q n−1 ∈ V : q 0 Startsymbol von G q 0 → a 1 q 1 → a 1 a 2 q 2 → · · · → a 1 · · · a n−1 q n−1 →

→ a 1 · · · a n−1 a n

⇔ w ∈ L(G)

Info IV 3.1 Deterministische endliche Automaten 54/217

c

Ernst W. Mayr

(21)

3.2 Nichtdeterministische endliche Automaten Definition 27

Ein nichtdeterministischer endlicher Automat (englisch:

nondeterministic finite automaton, kurz NFA) wird durch ein 5-Tupel N = (Q, Σ, δ, S, F ) beschrieben, das folgende Bedingungen erf¨ ullt:

1

Q ist eine endliche Menge von Zust¨ anden.

2

Σ ist eine endliche Menge, das Eingabealphabet, wobei Q ∩ Σ = ∅.

3

S ⊆ Q ist die Menge der Startzust¨ ande.

4

F ⊆ Q ist die Menge der Endzust¨ ande.

5

δ : Q × Σ → P (Q) \ {∅} heißt Ubergangsrelation. ¨

Info IV 3.2 Nichtdeterministische endliche Automaten 55/217

c

Ernst W. Mayr

(22)

Die von N akzeptierte Sprache ist

L(N ) := {w ∈ Σ ; ˆ δ(S, w) ∩ F 6= ∅} ,

wobei δ ˆ : P(Q) × Σ → P (Q) wieder induktiv definiert ist durch δ(Q ˆ 0 , ) = Q 0 ∀Q 0 ⊆ Q, Q 0 6= ∅

δ(Q ˆ 0 , ax) = δ( ˆ [

q∈Q

0

δ(q, a), x) ∀∅ 6= Q 0 ⊆ Q, ∀a ∈ Σ, ∀x ∈ Σ

Info IV 3.2 Nichtdeterministische endliche Automaten 56/217

c

Ernst W. Mayr

(23)

Satz 28

Ist G = (V, Σ, P, S) eine regul¨ are (rechtslineare) Grammatik, so ist N = (V ∪ {X}, Σ, δ, {S}, F ), mit

F :=

( {S, X}, falls S → ∈ P {X}, sonst

und, f¨ ur alle A, B ∈ V , a ∈ Σ,

B ∈ δ(A, a) ⇐⇒ A → aB und X ∈ δ(A, a) ⇐⇒ A → a

ein nichtdeterministischer endlicher Automat.

Info IV 3.2 Nichtdeterministische endliche Automaten 57/217

c

Ernst W. Mayr

(24)

Beispiel 29 Produktionen:

S → aA S → bB A → aA A → a B → bB B → b

B

A

X

S a

b

b

a a

b

Info IV 3.2 Nichtdeterministische endliche Automaten 58/217

c

Ernst W. Mayr

Referenzen

ÄHNLICHE DOKUMENTE

rule deklaration ::= bezeichner ’:’ typ ’:=’ variable

Man kann auch noch auf eine andere Weise pr¨ ufen, ob Klammerausdr¨ ucke korrekt sind: durch Abz¨ ahlen der ¨ offnenden und schließenden Klammern. F¨ ur jede ¨ offnende

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.

Assume true for computations of length ≤ k, we’ll prove true for computations of length k+1 Suppose that P has a computation where x. brings p to q with empty stacks in k+1 steps

❙ Nicht besser, da Nichtdeterminismus durch Suche in einem Algorithmus ausgedrückt werden muß?. ❙ Besser

Übung Reguläre Sprachen, Fachhochschule Regensburg Professor Dr.. rechtsseitigen Ableitungen

Wir können also sagen, Eingabe ist eine Liste von Atomen, von denen mit der ersten Regel np ein Teil NP abgearbeitet wird und dann bleibt noch ein Teil VP übrig. Wird mit vp der

Für eine Grammatik ohne linksrekursive Regeln gilt: jeder Satz, der nicht durch die Grammatik akzeptiert wird, führt zu fail.