• Keine Ergebnisse gefunden

Musterl¨ osung zu ¨ Ubungsblatt 7

N/A
N/A
Protected

Academic year: 2021

Aktie "Musterl¨ osung zu ¨ Ubungsblatt 7"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨ at Siegen

Lehrstuhl Theoretische Informatik Markus Lohrey

Grundlagen der Theoretischen Informatik SS 2020

Musterl¨ osung zu ¨ Ubungsblatt 7

Aufgabe 1.

Gegeben sind die folgenden NFAs M

1

, M

2

.

M

1

: 1 2 3

a b a

b

M

2

: 1 b 2 b 3 a

a

b

L¨ osen Sie mit dem Vorgehen aus der Vorlesung das Inklusionsproblem:

T (M

1

) ⊆ T (M

2

)

L¨ osung zu Aufgabe 1. Da ε ∈ T (M

1

) aber ε / ∈ T (M

2

), wissen wir, dass T (M

1

) ⊆ T (M

2

) nicht gelten kann. T (M

1

) ⊆ T (M

2

) ist ¨ aquivalent zu T (M

1

) ∩ T (M

2

) = ∅ . Nun wollen wir mit dem Verfahren aus der Vorlesung zeigen, dass dies nicht gilt.

Zun¨ achst konstruieren wir mittels Potenzmengenkonstruktion die DFAs f¨ ur M

1

und M

2

.

M

10

: {2} ∅

{1, 3} {1, 2} {1}

a b

a b a

b a

b a, b

1

(2)

M

20

: {2} {1, 3}

{1}

{3}

b ∅

a

a

b a

b

b

a a, b

Dann erzeugen wir M

20

, so dass T (M

20

) = T (M

20

) = T (M

2

), indem wir End- zustande und Nicht-Endzust¨ ande im DFA M

20

vertauschen.

Beachte: NFAs auf diese Art zu

” komplementieren“ funktioniert nicht.

M

20

: {2} {1, 3}

{1}

{3}

b ∅

a

a

b a

b

b

a a , b

Nun bestimmen wir einen DFA M f¨ ur T (M

1

) ∩ T (M

2

) = T (M

10

) ∩ T (M

20

) (Kreuzproduktautomat):

M :

{2}{2}

{1,3}

{2}

. . .

{1,2}∅

. . .

a

b

(3)

Anmerkung: Aus Platzgr¨ unden sind die Zustandspaare untereinander ge- schrieben - oben jeweils der Zustand in M

10

, darunter der Zustand in M

20

. Wir brauchen nicht den kompletten Automaten zu konstruieren, da wir schon nach wenigen Schritten sehen, dass einen Pfad im Automaten M gibt, der vom Anfangszustand in einen Endzustand f¨ uhrt. Zum Beispiel findet man so, dass ε, a ∈ T (M ) = T (M

1

) ∩ T (M

2

). Somit gilt T (M

1

) ⊆ T (M

2

) nicht.

Aufgabe 2. Sei Σ = {a , b}. Geben Sie eine kontextfreie Grammatik an, die die Sprache

L = Σ

\ {ww | w ∈ Σ

} = {ww | w ∈ Σ

} erzeugt.

Hinweis: F¨ ur jedes w ∈ L gerader L¨ ange gibt es W¨ orter x , y, u, v ∈ Σ

so, dass w = xayubv (oder w = xbyuav ) ist und |x | = |u | bzw. |y| = |v | gilt.

L¨ osung zu Aufgabe 2. Wir unterscheiden zwei F¨ alle, W¨ orter gerader L¨ ange und W¨ orter ungerader L¨ ange.

W¨ orter gerader L¨ ange

Der Hinweis ist so zu verstehen, dass sich jedes Wort w ∈ L mit L¨ ange 2n in w

1

w

2

unterteilen l¨ asst, wobei w

1

und w

2

W¨ orter der L¨ ange n sind, die sich an mindestens einer Stelle unterscheiden.

Beispiel: w = σ

1

σ

2

σ

3

5

σ

6

σ

7

σ

8

b σ

10

l¨ asst sich unterteilen in w

1

= σ

1

σ

2

σ

3

5

und w

2

= σ

6

σ

7

σ

8

10

(wobei jedes σ

i

ein beliebiges Symbol aus dem Alpha- bet Σ = {a , b } ist).

Da die W¨ orter x , y, u, v beliebig sein k¨ onnen, solange |x | = |u | und |y| = |v |, ist die Menge der W¨ orter der Form w = xayubv gleich der Menge der W¨ orter der Form xay y y

000

u u u

000

bv (analog f¨ ur den Fall w = xbyuav ). so dass w = w

10

w

20

und wobei w

10

= xay

0

und w

20

= u

0

bv (bzw. w

10

= xby

0

und w

20

= u

0

av ) mit

|x | = |y

0

| und |u

0

| = |v |. Einfach gesagt: In der Mitte steht nach wie vor das gleiche Wort yu = y

0

u

0

, allerdings teilen wir dieses Wort nun so auf, dass y

0

die L¨ ange von u und x hat und u

0

die L¨ ange von y und v hat.

Mit unserem Beispielwort ergibt sich eine Zerlegung in w

10

= σ

1

σ

2

σ

3

5

σ

6

σ

7

und w

20

= σ

8

10

bzw. der mittlere Teil yu = σ

5

σ

6

σ

7

σ

8

wird neu aufgeteilt

zu y

0

u

0

= σ

5

σ

6

σ

7

σ

8

.

(4)

W¨ orter der Form xay

0

mit |x | = |y

0

| k¨ onnen wir mit den Produktionen {A → XAX | a , X → a | b} aus A erzeugen, W¨ orter der Form u

0

bv mit |u

0

| = |v | durch eine weitere Produktion B → XBX | b aus B .

F¨ ur w ∈ L mit gerader L¨ ange ergibt sich so die Grammatik G

0

= (V , Σ, P

0

, S ) mit

• V = {A, B , X }

• Σ = {a , b}

• P

0

= {S → AB | BA, A → XAX | a, B → XBX | b , X → a | b } W¨ orter ungerader L¨ ange

Zus¨ atzlich ben¨ otigen wir noch W¨ orter ungerader L¨ ange. F¨ ur alle w ∈ Σ

mit ungerader L¨ ange gilt w ∈ L, da ungerade W¨ orter nie Teil von {ww | w ∈ Σ

} sein k¨ onnen.

Um dieser W¨ orter zu erzeugen k¨ onnen wir die Nicht-Terminale A und B

” wiederverwenden“, da A alle W¨ orter ungerader L¨ ange mit einem a in dem Mitte erzeugt, B alle W¨ orter ungerader L¨ ange mit einem b in der Mitte.

Grammatik

Die komplette Grammatik ist G = (V , Σ, P , S ) mit

• V = {A, B , X }

• Σ = {a , b}

• P = {S → A | B | AB | BA, A → XAX | a, B → XBX | b, X → a | b }

(5)

Aufgabe 3. Sind die folgenden Aussagen wahr oder falsch?

(a) Wenn L eine Sprache mit index(R

L

) = ∞ ist, dann ist L kontextfrei.

(b) Wenn L eine nicht kontextfreie Sprache ist, dann ist index(R

L

) = ∞.

(c) Wenn G eine Grammatik in CNF ist, dann ist L(G ) kontextfrei und nicht regul¨ ar.

(d) Es existieren kontextfreie Sprachen L

1

und L

2

so, dass L

1

∩ L

2

auch kontextfrei ist.

L¨ osung zu Aufgabe 3.

(a) falsch, weil f¨ ur alle nicht-regul¨ aren Sprachen L auch index(R

L

) = ∞ gilt, aber nicht jede nicht-regul¨ are Sprache ist eine kontextfreie Sprache, zum Beispiel L = {a

n

b

n

c

n

| n ∈ N }.

(b) wahr, weil jede Sprache die nicht kontextfrei ist auch nicht regul¨ ar ist und somit index(R

L

) = ∞ gilt.

(c) falsch

Sei z.B. G = ({S }, {a}, P , S ) mit P = {S → a}.

Diese Grammatik ist in CNF, aber es gilt L(G) = {a} ist regul¨ ar. Die Sprache L(G) wird beispielsweise vom nachfolgenden NFA erzeugt:

M

G

: 1 a 2 (d) wahr

Sei z.B. L

1

= L

2

, dann ist L

1

∩ L

2

= L

1

= L

2

und somit genau dann kontextfrei, wenn L

1

und L

2

kontextfrei sind.

Aufgabe 4. Sei G = ({S , A, B }, {a , b }, P , S ) eine kontextfreie Grammatik, wobei P gegeben ist durch

S → ASB | ab A → aAS | a B → SbS | A | bb.

Geben Sie eine Grammatik G

0

in CNF so an, dass L(G

0

) = L(G).

L¨ osung zu Aufgabe 4. Wir verwenden das Verfahren zur Umwandlung

einer kontextfreien Grammatik in CNF wie auf Folie 155 im Skript beschrie-

ben.

(6)

Schritt 1

G enth¨ alt keine Produktion der Form S → ε.

Schritt 2

Einf¨ uhren neuer Variablen A

a

mit Produktionen A

a

→ a f¨ ur jedes Terminal- symbol a ∈ Σ und Ersetzen aller Vorkommen von a in einer rechten Seite, die nicht bereits nur aus einem Alphabetsymbol auf der rechten Seite bestehen.

Anderungen an den Produktionen sind ¨ fettgedruckt markiert.

• S → ASB | A A A

aaa

A A A

bbb

• A → A A A

aaa

AS | a

• B → SA A A

bbb

S | A | A A A

bbb

A A A

bbb

• A A A

aaa

→ → → a a a

• A A A

bbb

→ → → b b b Schritt 3

Elimination von Kettenregeln der Form X → Y durch Ersetzen von Y durch die rechten Seiten der Produktion von Y .

• S → ASB | A

a

A

b

• A → A

a

AS | a

• B → SA

b

S | A A A

aaa

AS AS AS | a a a | A

b

A

b

• A

a

→ a

• A

b

→ b Schritt 4

Elimination von Produktionen der Form X → X

1

. . . X

n

mit n ≥ 3 durch Einf¨ uhren neuer Nicht-Terminale. Beispielsweise schreiben wir S → ASB um in S → AB

1

und f¨ ugen ein neues Nicht-Terminal B

1

hinzu mit einer Produktion B

1

→ SB .

• S → AB B B

111

| A

a

A

b

• A → A

a

B B B

222

| a

(7)

• B → SB B B

333

| A

a

B

2

| a | A

b

A

b

• A

a

→ a

• A

b

→ b

• B B B

111

→ → → SB SB SB

• B B B

222

→ → → AS AS AS

• B B B

333

→ → → A A A

bbb

S S S

Referenzen

ÄHNLICHE DOKUMENTE

(b) Beweisen Sie, dass Ihr Minimalautomat wirklich minimal ist, indem Sie zeigen, dass der Index der Relation R L gleich der Anzahl der Zust¨ ande Ihres Automaten ist.. (c) Begr¨

Lehrstuhl Theoretische Informatik Markus Lohrey. Grundlagen der Theoretischen Informatik

Im Fall (4) wird ebenfalls f¨ ur jedes b ein A vom Keller entfernt, aber anschließend wechselt man in den Zustand z 2 , falls man das Kellerbo- densymbol # erreicht und ein b

In beiden F¨ allen wird der gelesene Buchstabe durch # ersetzt, so dass man in den n¨ achsten Runden alle # ¨ uberspringen kann.. Durchlauf der TM f¨ ur die

Kodiert die Eingabe die Zahl n , so steht nach dem Durchlauf der Turing- maschine die Bin¨ arkodierung von 2n auf dem Band, weil eine 0 anf¨ ugen im Bin¨ arsystem analog

Lehrstuhl Theoretische Informatik Markus Lohrey. Grundlagen der Theoretischen Informatik

Schauen wir die DGL (5) an, sehen wir, dass die rechte Seite einen Sprung enth¨alt, also muss die linke Seite auch einen enthalten, und zwar in

d) Kepler 1 : Bahnkurven sind Ellipsen mit Sonne im Brennpunkt: Gilt schon, aber nicht streng, da die “Sonne” (Ursprung) eben nicht im Brennpunkt liegt.. Kepler 2 : Fl¨achensatz