• Keine Ergebnisse gefunden

Abschlussklausur Theoretische Informatik I 2017/2018 08. Februar 2018

N/A
N/A
Protected

Academic year: 2021

Aktie "Abschlussklausur Theoretische Informatik I 2017/2018 08. Februar 2018"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

08. Februar 2018

1. Bitte ausf¨ ullen:

Vorname:

Nachname:

Matrikelnummer:

Unterschrift:

2. Achten Sie darauf, dass Ihre Klausur vollst¨ andig ist und getackert bleibt (15 Bl¨ atter)!

3. Benutzen Sie nur das an dieses Blatt angeheftete Papier. Bei Bedarf k¨ onnen wir weitere Leerbl¨ atter austeilen. Wenn der Platz auf der Vorderseite des jeweiligen Aufgabenblatts nicht ausreicht, machen Sie kenntlich, wo Sie die Bearbeitung der Aufgabe fortsetzen.

4. Als Hilfsmittel sind ausschließlich Sprachw¨ orterb¨ ucher und ein zweiseitig handgeschriebenes DIN A4-Blatt erlaubt. Elektronische Ger¨ ate m¨ ussen w¨ ahrend der Klausur ausgeschaltet bleiben. T¨ auschungsversuche werden mit 0 Punkten gewertet und dem Pr¨ ufungsamt gemeldet.

5. Schreiben Sie leserlich und bearbeiten Sie Ihre Klausur nicht mit Bleistift und auch nicht in roter oder gr¨ uner Farbe!

6. Wir werden das Deckblatt w¨ ahrend der Klausur auf korrekte Daten ¨ uberpr¨ ufen.

Legen Sie dazu Ihren Studentenausweis und einen amtlichen Lichtbild- ausweis bereit.

Die Bearbeitungszeit betr¨ agt 120 Minuten.

Mit 40 Punkten ist die Klausur sicher bestanden.

Punkteverteilung: (wird von den Korrektoren ausgef¨ ullt)

Aufgabe 1 2 3 4 5 6 7 8 9 10 Σ

Max. 10 10 10 10 10 10 10 10 10 10 100

Punkte

(2)

1. Ardens Lemma 10 Punkte

Gegeben sei der folgende NFA A uber dem Alphabet Σ = ¨ {a, b, c, d}:

q

0

q

1

q

2

q

3

a

b

a c

a

c

b d

Geben Sie das zu A geh¨ orige Gleichungssystem an und l¨ osen Sie dieses unter Verwendung

von Ardens Lemma.

(3)

2. CYK-Algorithmus 10 Punkte

Entscheiden Sie mit Hilfe des Cocke–Younger–Kasami-Algorithmus, ob das Wort baacaa von folgender Grammatik erzeugt wird:

S → AA | BC,

A → AA | a,

B → BA | b,

C → CS | c.

(4)

3. Reaching Definitions 2 + 3 + 5 = 10 Punkte

F¨ uhren Sie f¨ ur das folgende Programm P eine Reaching-Definitions-Analyse durch. Beach- ten Sie, dass es sich hierbei um eine Vorw¨ arts-May-Analyse handelt.

[x := 4]

1

if [y > 3]

2

then while [y < 5]

3

do

[x := x − 2]

4

end while else

[x := 7]

5

end if [y := x + 3]

6

a) Zeichnen Sie den Kontrollflussgraphen G von P . b) Betrachten Sie den Verband

(D, ≤) = (P ({x, y} × ({1, . . . , 6} · ∪{?})), ⊆) .

Intuitiv bedeutet (x, i), dass der letzte Schreibzugriff auf x in Block i erfolgte (bzw. x noch nicht initialisiert ist, falls i =?). Geben Sie f¨ ur die Bl¨ ocke 1 - 6 geeignete monotone Transferfunktionen ¨ uber diesem Verband an.

c) Betrachten Sie das Datenflusssystem

(G, (D, ≤), {(x, ?), (y, ?)}, T F ) ,

wobei T F die Transferfunktionen aus Teil b) sind. Geben Sie das induzierte Gleichungs-

system an und bestimmen Sie seine kleinste L¨ osung mit dem Satz von Kleene.

(5)
(6)

4. Determinisierung 10 Punkte

Determinisieren Sie folgenden NFA ¨ uber Σ = {a, b} unter Verwendung der Potenzmengen- Konstruktion:

q

0

q

1

q

2

q

3

q

4

a

b a, b

b a

a

a

a, b

(7)

5. Pumping-Lemma 10 Punkte

Zeigen Sie, dass die Sprache

L = n a

Pni=1i

n ∈ N o

nicht regul¨ ar ist.

(8)

6. Tripelkonstruktion 10 Punkte

Gegeben sei der folgende PDA P uber dem Alphabet Σ = ¨ {a, b, c, d} mit initialem Stack- Symbol #. Ferner akzeptiert P mit leeren Stack.

q

0

q

1

q

2

q

3

b ; # /ε

c ; # /ε a; #/##

d; #/ε

d; #/#

d; #/ε

Benutzen Sie das Verfahren aus der Vorlesung um eine kontextfreie Grammatik G mit

L(G) = L(P ) zu konstruieren.

(9)

7. Pushdown-Automaten 4 + 6 = 10 Punkte

Es sei P ein PDA mit Zust¨ anden Q, finalen Zust¨ anden Q

F

⊆ Q und einem Stack-Symbol

# ∈ Γ. Wir kombinieren die Akzeptanzbedingungen von den beiden PDA-Modellen aus der Vorlesung: P akzeptiert, falls der aktuelle Stack-Inhalt leer ist und der aktuelle Zustand q final ist (q ∈ Q

F

). Der PDA startet mit initialem Stack-Symbol #. Wir nennen diese Akzeptanzbedingung kombinierte Akzeptanz.

a) Zeigen Sie, dass es zu jedem PDA mit Endzustands-Akzeptanz einen PDA mit kombi- nierter Akzeptanz gibt, der die gleiche Sprache akzeptiert.

b) Zeigen Sie, dass es zu jedem PDA mit kombinierter Akzeptanz einen PDA mit

Endzustands-Akzeptanz gibt, der die gleiche Sprache akzeptiert.

(10)

8. Fragen zu Sprachen 2 + 3 + 3 + 2 = 10 Punkte

Beantworten Sie die folgenden Fragen. Begr¨ unden Sie ihre Antwort mit einem kurzen Beweis oder einem Gegenbeispiel.

a) Ist die unendliche Vereinigung von regul¨ aren Sprachen immer nicht-regul¨ ar?

b) Es seien L

1

eine kontextfreie Sprache und L

2

eine nicht-kontextfreie Sprache. Ist dann L

1

.L

2

auch immer nicht-kontextfrei?

c) Es sei L eine regul¨ are Sprache ¨ uber {a, b, c}. Ist dann die Sprache L

0

= {a

n

| ∃w ∈ L mit |w| = n}

auch regul¨ ar?

d) Ist jede endliche Sprache kontextfrei?

(11)

9. Spiegel-Sprache 10 Punkte

Es sei Σ ein endliches Alphabet. F¨ ur ein Wort w = a

1

.a

2

. . . . .a

n

∈ Σ

, wobei a

1

, . . . , a

n

Symbole aus Σ sind, ist das invertierte Wort w

R

definiert durch w

R

= a

n

.a

n−1

. . . . .a

1

. Zeigen Sie dass die Sprache

spiegel(L) = {w

1R

.w

2

| w

1

, w

2

∈ Σ

und w

1

.w

2

= w ∈ L}

kontextfrei ist, f¨ ur jede regul¨ are Sprache L.

(12)

10. Ersetzen-Sprache 1 + 6 + 3 = 10 Punkte

Sei Σ ein endliches Alphabet. F¨ ur ein w ∈ Σ

und eine Konstante k ∈ N sei

Ersetzen(w, k) = {w

1

.b

1

.w

2

.b

2

. . . . w

n

.b

n

.w

n+1

|w = w

1

.a

1

.w

2

.a

2

. . . . w

n

.a

n

.w

n+1

∈ L, w

1

, . . . , w

n

∈ Σ

,

a

1

, . . . , a

n

, b

1

, . . . , b

n

∈ Σ und n ≤ k}

die Funktion die die Menge der W¨ orter zur¨ uckgibt, welche durch Ersetzung von h¨ ochstens k Positionen in w durch jeweils ein beliebiges Symbol aus Σ erzeugt werden k¨ onnen.

Beispielsweise ist f¨ ur Σ = {a, b}:

Ersetzen(aaa, 2) = {aaa // 0 Ersetzungen

baa, aba, aab // 1 Ersetzung bba, bab, abb} // 2 Ersetzungen Ersetzen(ε, k) = {ε}

Das Ziel dieser Aufgabe ist zu beweisen dass f¨ ur jede regul¨ are Sprache L ¨ uber Σ Ersetzen(L, k) = [

w∈L

Ersetzen(w, k)

auch regul¨ ar ist.

a) Geben Sie einen NFA f¨ ur Ersetzen(L, 0) an.

b) Konstruieren Sie (schematisch) einen NFA f¨ ur Ersetzen(L, 1).

Hinweis: Erweitern Sie den NFA aus Aufgabenteil a) indem Sie sich an folgender rekursiven Definition von Ersetzen(w, k) f¨ ur w 6= ε orientieren.

Ersetzen(w, k) = [

Zerlegung von w w=w1.a.w2

[

b∈Σ

w

1

.b.Ersetzen(w

2

, k − 1)

Hierbei sind w

1

, w

2

∈ Σ

, a ∈ Σ und w.L

0

= {w.w

0

| w

0

∈ L

0

} f¨ ur eine Sprache L

0

⊆ Σ

. c) Konstruieren Sie (schematisch) einen NFA f¨ ur Ersetzen(L, k) f¨ ur eine gegebene Kon-

stante k ∈ N .

(13)
(14)
(15)

Referenzen

ÄHNLICHE DOKUMENTE

konstruiert... Diese Operation kann nur ausgef¨ uhrt werden, wenn der Counter mindestens Wert 1 hat. Ist dies w¨ ahrend eines Laufes nicht der Fall, kann die Transition zu

Zeigen Sie, dass die Sprachen, die von TPDAs akzeptiert werden genau die Sprachen sind, die von PDAs akzeptiert werden.. Hinweis: Konstruieren Sie f¨ ur jeden PDA (TPDA) einen

Ein TPDA P ist ein Pushdown-Automat mit initialem Stack-Symbol #, also ein Tupel P = (Q, Σ, Γ, q 0 , #, δ, Q F ), der mit Endzust¨ anden akzeptiert und dessen Transitionen.. •

Eine Priority Queue (dt.: Vorrangwarteschlange) ist eine Da- tenstruktur, die eine Menge von Elementen darstellt, wobei jedes Element einen Schl¨ ussel besitzt.. Die

Aufgabe (10 Punkte) In dieser Aufgabe m¨ ussen Sie Ihre Antwort nicht begr¨ unden.. Kreuzen Sie je- weils die richtige L¨

Auf die Frage nach den beliebtesten Anwendun- gen (egal ob im Bibliotheks-Angebot oder nicht) „Welche der folgenden Anwendungen nutzen Sie zur Zeit oder würden Sie gerne nutzen

Eine weitere Möglichkeit Ressourcen für den PDA zur Verfügung zu stellen wäre die Formatierung von ohnehin bereits lizenzierten Produkten für PDAs, die über WLAN, Bluetooth

We concluded that using PDAs is the future in medicine and the new mission of health libraries is to offer services based on mobile technologies such as PDAs, if they want to