25.12.2014 Aufrufe

HWS 07/08

HWS 07/08

HWS 07/08

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Matthias Krause<br />

Dirk Stegemann<br />

Siavash Vahdati<br />

Klausur Theoretische Informatik, <strong>HWS</strong> 20<strong>07</strong>/20<strong>08</strong><br />

Musterlösung<br />

Mannheim, den 7.2.20<strong>08</strong><br />

AUFGABE K.1: Für die folgenden Maschinenmodelle gib eine (möglichst große) Klasse von<br />

Sprachen an, die durch das jeweilige Maschinenmodell akzeptiert werden. In welchen Fällen<br />

ändert sich die Sprachklasse (bewiesenermaßen) nicht, wenn die nichtdeterministische Variante<br />

der Maschinen benutzt werden darf<br />

a) stets haltende Turingmaschinen,<br />

REK (rekursive Sprachen), auch bei nichtdeterministischer Variante<br />

b) polynomiell zeitbeschränkte Turingmaschinen,<br />

P; bei nichtdeterministischer Variante N P, N P = P wird nicht angenommen<br />

c) endliche Automaten.<br />

REG (reguläre Sprachen), auch bei nichtdeterministischer Variante<br />

AUFGABE K.2: Gib für die folgenden Grammatiken aus der Chomsky-Hierarchie die zugehörige<br />

Sprachklasse und die in der Vorlesung besprochene Komplexität des Wortproblems<br />

(also z.B. quadratische Zeit in der Wortlänge) an.<br />

Chomsky-0: rekursiv aufzählbare Sprachen; Wortproblem nicht berechenbar<br />

Chomsky-2: kontextfreie Sprachen; kubische Zeit<br />

Chomsky-3: reguläre Sprachen; lineare Zeit<br />

AUFGABE K.3: Wir definieren s e (n) als die maximale Anzahl von Schritten, die irgendeine<br />

haltende Turingmaschine mit n Zuständen auf einer gegebenen Eingabe e ausführen kann. Ist<br />

die Funktion s e für jede Eingabe e berechenbar Begründe deine Antwort.<br />

Nein, sonst wäre das Halteproblem wie folgt entscheidbar: Für eine gegebene Turingmaschine<br />

M mit n Zuständen und eine gegebene Eingabe e berechnen wir s e (n) und simulieren maximal<br />

s e (n) Schritte von M; wenn sie bis dahin nicht gehalten hat, wird sie nie halten.<br />

AUFGABE K.4: Definiere das Konzept der polynomiellen Reduzierbarkeit ≤ p . Welche der<br />

folgenden Aussagen sind bewiesenermaßen wahr Dabei bezeichnet N PC die Klasse der N P-<br />

vollständigen Sprachen.<br />

a) L 1 ∈ N P ∧ L 2 ∈ N PC ∧ L 1 ∉ P ⇒ L 2 ∉ P,<br />

b) L 1 ∈ N P ∧ L 2 ∈ N PC ∧ ¯L 2 ∈ N P ⇒ ¯L 1 ∈ N P,<br />

c) L 1 ∈ N P ∧ L 2 ∈ N PC ∧ ¯L 2 ∈ N PC ⇒ L 1 ∈ P,<br />

d) L 1 ∈ N P ∧ L 2 ∈ N PC ∧ ¯L 2 ∈ P ⇒ L 1 ∈ P.<br />

Alle außer (c).


AUFGABE K.5: Bei dem folgenden Problem besteht die Eingabe aus einer Menge von m<br />

Klauseln der Länge drei (wie bei 3-SAT) und einer Zahl k. Zu entscheiden ist, ob es eine<br />

Belegung der Variablen gibt, die mindestens k Klauseln erfüllt. In jedem der folgenden Fälle<br />

beschreibe einen polynomiellen Algorithmus für dieses Problem oder zeige, dass (falls N P ̸= P)<br />

es einen solchen Algorithmus nicht geben kann.<br />

a) k ist beliebig.<br />

Mit einem solchen Algorithmus könnte man 3-SAT in polynomieller Zeit entscheiden,<br />

indem man k = m wählt; was N P = P zur Folge hätte.<br />

b) k ist eine Konstante.<br />

Es ist festzustellen, ob es k Klauseln gibt, die gleichzeitig erfüllt werden können; dafür<br />

gibt es ( m<br />

k)<br />

∈ O(m k ) (also polynomiell viele) Wahlen. In jeder Auswahl kommen maximal<br />

3k (also konstant viele) Variablen vor, womit alle deren Belegungen in konstanter Zeit<br />

getestet werden können. Insgesamt brauchen wir also nur polynomielle Zeit.<br />

AUFGABE K.6: Zeige, dass das folgende Problem N P-vollständig ist: Gegeben ist ein System<br />

C von Teilmengen einer endlichen Menge S. Gesucht ist eine möglichst kleine Teilmenge<br />

S ′ ⊆ S, so dass aus jeder Menge in C mindestens ein Element in S ′ vorkommt. Bei der Entscheidungsvariante<br />

ist zusätzlich eine Schranke L ∈ {1, . . .,|S|} gegeben; es soll entschieden<br />

werden, ob ein solches S ′ mit |S ′ | ≤L existiert.<br />

Offensichtlich gehört dieses Problem zu N P.<br />

Das Problem ist N P-schwer, weil VERTEX COVER ein Spezialfall davon ist; nämlich wenn<br />

jede Menge in C genau zwei Elemente besitzt. (Siehe die Übungsaufgabe 10.2, auch für eine<br />

Reduktion von CLIQUE oder INDEPENDENT SET auf dieses Problem.)<br />

AUFGABE K.7: In dieser Aufgabe betrachten wir die Sprache aller Wörter über {0, 1}, die<br />

mit 111 enden.<br />

a) Gib einen möglichst einfachen NFA an, der diese Sprache entscheidet.<br />

0,1<br />

q<br />

1 1 1<br />

0<br />

q 1<br />

q2 q3<br />

b) Benutze die Potenzmengenkonstruktion unter Vermeidung überflüssiger Zustände, um<br />

einen äquivalenten DFA zu konstruieren.<br />

Als Datenstrukturen benutzen wir eine Queue Q und ein Dictionary D.<br />

In jedem Schritt wird genau ein neuer Zustand in Q und D eingefügt, der im darauffolgenden<br />

Schritt aus Q entnommen wird, und zwar (in dieser Reihenfolge): {q 0 },{q 0 , q 1 },<br />

{q 0 , q 1 , q 2 },{q 0 , q 1 , q 2 , q 3 }. Danach findet kein Einfügen statt, womit Q leer und die Konstruktion<br />

beendet ist.<br />

0<br />

0<br />

0 0<br />

1 1 1<br />

{ q 0 } { q , q 1}<br />

{ q , q , q 2<br />

}{ q , q , q , q 3<br />

}<br />

1 1<br />

0 0 0<br />

2<br />

1<br />

c) Kann man den DFA aus (b) weiter minimieren Begründe deine Antwort.<br />

Nein. Der Automat hat vier Zustände, was auch der Index der Nerode-Relation ist.<br />

(Die Wörter ǫ, 1, 11, 111 sind paarweise nicht Nerode-äquivalent.)


AUFGABE K.8: Sei L eine endliche Sprache, die durch eine Grammatik G mit der Variablenmenge<br />

V erzeugt wird. In jedem der folgenden Fälle stelle fest, wie lang (als Funktion von<br />

|V |) ein Wort aus L maximal sein kann (mit Begründung).<br />

Hinweis: Benutze die Beobachtung aus dem Beweis des Pumping-Lemmas, dass bei jeder<br />

Ableitung eines hinreichend langen Wortes eine Variable wiederholt vorkommen muss.<br />

a) G ist eine reguläre (rechtslineare) Grammatik.<br />

Für ein beliebiges Wort z ∈ L(G) betrachten wir eine Ableitung für z. Falls dabei eine Variable<br />

wiederholt vorkommt, so folgt mit dem Argument im Beweis des Pumping-Lemmas,<br />

dass für eine Zerlegung uvw von z beliebig viele Wörter uv i w ebenfalls zu L(G) gehören;<br />

d.h. L(G) ist unendlich. Wenn also L(G) endlich sein soll, so kann ein Wort aus L(G)<br />

höchstens die Länge |V |−1 haben; und so lange Wörter können offensichtlich vorkommen.<br />

b) G ist eine kontextfreie Grammatik in Chomsky-Normalform.<br />

Für ein beliebiges Wort z ∈ L(G) betrachten wir einen zugehörigen Syntaxbaum ohne die<br />

Terminalzeichen; dieser Baum ist binär. Wenn die Tiefe dieses Baumes mindestens |V |<br />

beträgt, so muss auf einem Pfad von der Wurzel zu einem Blatt eine Variable wiederholt<br />

vorkommen. Damit folgt mit der gleichen Argumentation wie oben, dass L(G) unendlich<br />

ist. Wenn also L(G) endlich sein soll, so kann ein Wort aus L(G) höchstens die Länge<br />

2 |V |−1 haben; und so lange Wörter können offensichtlich vorkommen.<br />

AUFGABE K.9: In dieser Aufgabe betrachten wir Sprachen L über einem einbuchstabigen<br />

Alphabet wie {0}.<br />

a) Kann es sein, dass L mit Hilfe des Pumping-Lemmas für reguläre Sprachen als nicht<br />

regulär identifiziert wurde, aber trotzdem kontextfrei ist Begründe deine Antwort.<br />

Nein. Für die Anwendung des Pumping-Lemmas für kontextfreie Sprachen beobachten<br />

wir, dass für eine beliebige Zerlegung uvwxy mit l := |vx| ≥ 1 das gleiche i wie bei der<br />

Anwendung des Pumping-Lemmas für reguläre Sprachen bezüglich der Zerlegung u ′ v ′ w ′<br />

mit |v ′ | = l zum Erfolg führt.<br />

b) Ist die Sprache {0 p | p ist eine Primzahl} kontextfrei Begründe deine Antwort.<br />

Nein. Wie in der Übungsaufgabe 3.1 für den Beweis der Nichtregularität dieser Sprache<br />

können wir das Pumping-Lemma anwenden (siehe auch die vorige Teilaufgabe). Im Detail<br />

treffen wir für ein Wort 0 p die Wahl i = p+1; das resultierende Wort hat die Form 0 p(l+1)<br />

und ist damit nicht aus der Sprache.<br />

AUFGABE K.10: Gegeben ist die kontextfreie Grammatik G mit folgenden Regeln:<br />

S → AB, BA; A → BC, CB; B → CA, 0; C → BA, 1.<br />

Stelle mit Hilfe des CYK-Algorithmus fest, ob w := 01010 ∈ L(G). Gib dazu die vom Algorithmus<br />

ausgefüllte Tabelle an.<br />

Die Felder der Tabelle V werden in der folgenden Reihenfolge besucht:<br />

(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (1, 2), (2, 3), (3, 4), (4, 5), (1, 3), (2, 4), (3, 5), (1, 4), (2, 5), (1, 5).<br />

In das Feld (Menge) V ii , 1 ≤ i ≤ n = 5, werden alle<br />

Variablen X eingetragen, für die eine Regel X → w i<br />

existiert.<br />

In das Feld (Menge) V ij , 1 ≤ i < j ≤ n = 5, werden alle<br />

Variablen X eingetragen, für die für eine Regel X →<br />

Y Z ein k, i ≤ k < j, mit Y ∈ V ik und Z ∈ V k+1,j<br />

existiert.<br />

Da S ∉ V 1n (= V 1,5 ), gilt: w ∉ L(G).<br />

w = 0 1 0 1 0<br />

j | i 1 2 3 4 5<br />

1 B<br />

2 A C<br />

3 C, S A B<br />

4 ∅ B A C<br />

5 B ∅ C, S A B

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!