Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer Hinweise Für die Bearbeitung stehen Ihnen 6 Minuten zur Verfügung. Zum Bestehen der Klausur sind 2 der 6 möglichen Punkte hinreichend. Es sind keine Hilfsmittel zugelassen. Schreiben Sie Ihre Lösungen auf Aufgabenblätter und Rückseiten. Zusätzliches Papier erhalten Sie bei Bedarf von der Aufsicht. Aufgabe mögliche Punkte erreichte Punkte a b c Σ a b c Σ 3 3 4 2 2 8 - - 3 5 5 - - 4 2 6 2 5 7 3 - - 6 x Σ 6
Seite Aufgabe (3+3+4 = Punkte) a) Gegeben sei folgender nichtdeterministische endliche Automat (NEA) mit dem Eingabealphabet Σ = {n, e, a, x}. n,e,a,x n,e,a,x q n q e q a 2 q 3 Geben Sie einen hierzu äquivalenten deterministischen endlichen Automaten (DEA) an. Ist Ihre Lösung minimal? Lösung: e,a,x e,x n,e,a,x q n q q e q q a 2 q 4 a,x Die Lösung ist minimal. n n
Seite 2 b) Gegeben sei der folgende deterministische endliche Automat (DEA) mit dem Eingabealphabet Σ = {, }. q q q 3 q 4 q 2 Geben Sie einen hierzu äquivalenten minimalen DEA an. Lösung als Graphen. Lösung: Zeichnen Sie Ihre, q q,
Seite 3 c) Geben Sie einen deterministischen endlichen Automaten (DEA) an, der genau die Sprache aller durch 3 teilbaren Dezimalzahlen akzeptiert. Unter Dezimalzahlen verstehen wir hier alle Worte über dem Alphabet Σ = {,, 2, 3, 4, 5, 6, 7, 8, 9}, führende Nullen sind also erlaubt. Das leere Wort kann als Darstellung der Null gehandhabt werden. Hinweis: Eine Dezimalzahl ist genau dann durch 3 teilbar, wenn die Summe ihrer Ziffern kongruent Null modulo 3 ist. Lösung:, 3, 6, 9, 4, 7 q 2, 5, 8 q, 3, 6, 9 2, 5, 8, 4, 7 2, 5, 8, 4, 7 q 2, 3, 6, 9
Seite 4
Seite 5 Aufgabe 2 (2 + 8 (3+3++) = Punkte) a) Gegeben sei die Grammatik G = {T, V, S, P } mit Terminalalphabet T = {a, b, c}, Variablenmenge V = {S, A, B, C, D}, Startzeichen S und Produktionenmenge P mit P ={ S AB, A AA a, B CD BB b, C c, D BC } Überprüfen Sie mit Hilfe des Cocke-Younger-Kasami-Algorithmus, ob das Wort w = aacbbc in der von G erzeugten Sprache L(G) liegt, und begründen Sie Ihre Antwort. Verwenden Sie zum Ausführen des CYK-Algorithmus die folgende Tabelle: a a c b b c Lösung: w = aacbbc liegt also in L(G). A A S a A S a C B c B B D b B D b C c
Seite 6 b) Gegeben seien die Sprachen L und L 2 : L = {a 3n b n c 2m m, n N} L 2 = {a 3m b n c 2n m, n N}. Zeigen Sie mit Hilfe des Pumping Lemmas für reguläre Sprachen, dass L nicht regulär ist. Lösung: Sei L regulär. Dann existiert eine Zahl N, so dass sich jedes w L mit w N als w = uvw mit v und uv N schreiben lässt. Sei n diese Zahl. Wähle w = a 3n b n c 2n. Dann ist wegen uv n mindestens ein a in v. Das Wort uv w ist aber / L. Blitz. 2. Zeigen Sie, dass L kontextfrei ist. Lösung: Wir geben eine kontextfreie Grammatik an, die L erzeugt: ({a, b, c}, {S, S, A, B, C}, S, P ) mit P = {S S C, S AB AS B, A aaa, B b, C ccc cc}
Seite 7 3. Ist L eine kontextsensitive Sprache? Lösung: Ja, weil sie kontextfrei ist. 4. Geben Sie die Sprache L L 2 an. Lösung: L L 2 = {a 3n b n c 2n m, n N}
Seite 8 Aufgabe 3 (5(2++2) + 5 = Punkte) a) Gegeben sei eine semi-entscheidbare Sprache L. Ihr Komplement sei durch L bezeichnet. Zeigen Sie die Äquivalenz der folgenden drei Aussagen (mit Begründung): () L ist entscheidbar. (2) L ist entscheidbar. (3) L ist semi-entscheidbar. Lösung: () (2) Sei M eine Maschine, die L entscheidet. Konstruiere M: Führe die Eingabe auf M aus und gib das Gegenteil des Ergebnisses zurück. M entscheidet L. (2) (3) Folgt direkt aus der Definition. (3) () Konstruiere Entscheider M: Simuliere Semi-Entscheider für L und Semi-Entscheider für L auf der Eingabe. Akzeptiert der Entscheider für L, gib ja aus. Akzeptiert der Entscheider für L, gib nein aus. M entscheidet L. b) Gegeben sei die Sprache L = { M x Σ : M(x) hält}, also die Sprache der Gödelnummern aller Turingmaschinen, für die mindestens eine Eingabe existiert, auf der sie halten. Ist L semi-entscheidbar? Begründen Sie Ihre Antwort! (Hinweis: Wie viele Turingmaschinen kann eine Turingmaschine simulieren?) Lösung: Ja. Wir müssen für eine gegebene Maschine M erkennen, wenn eine Eingabe i existiert, auf der sie hält. Dazu zählen wir Eingaben i N auf. In jedem Verarbeitungsschritt i lassen wir jede bestehende Simulation M(),..., M(i) einen Schritt weiterlaufen und stoßen eine neue Simulation M(i + ) für die Eingabe i + an. Hält eine der bereits laufenden Maschinen, sind wir fertig. Der Trick bei diesem Vorgehen ist, nicht (ewig) auf eine einzelne Maschine zu warten, sondern den Test zu parallelisieren.
Seite 9 Aufgabe 4 (2+6+2 = Punkte) Das Problem LIN is folgendermaßen definiert. Eine Instanz C von LIN besteht aus einer Menge linearer Ungleichungen der Form n i= a jix i r j mit a ji {,, } und r j Z. Es gilt C LIN genau dann, wenn es einen Vektor (x,..., x n ) {, } n gibt, welcher alle diese Ungleichungen erfüllt. Betrachten Sie das folgende Beispiel. Gegeben sind Ungleichungen in den Unbekannten x, x 2, x 3, x 4 : x x 2 x 3 x 2 + x 3 + x 4 x + x 3 + x 4. Diese Ungleichungen besitzen eine Lösung (x, x 2, x 3, x 4 ) = (,,, ). a) Zeigen Sie: LIN N P. Lösung: Sei n die Anzahl der Variablen und k die Anzahl der Ungleichungen in einer Instanz C. Gebeben einen Zeugen (x,..., x n ) {, } n lässt sich in Aufwand O(n) überprüfen, ob eine einzige lineare Ungleichung erfüllt wird. Um zu überprüfen, ob alle k Ungleichungen erfüllt werden, geht also in O(k n), was polynomial in der Instanzgröße ist. Damit ist LIN N P b) Zeigen Sie durch Reduktion von 3-SAT: LIN ist N P-schwer. Geben Sie dazu eine konkrete Reduktion an. Überlegen Sie sich, wie sich 3-SAT-Klauseln geeignet als lineare Ungleichungen ausdrücken lassen. Tipp: Prüfen Sie ihre Reduktion an folgender 3-SAT-Instanz: Φ = ( 2 3 ) ( 2 3 4 ) ( 3 4 ). Lösung: Sei K eine 3-SAT-Instanz mit Variablen,..., n und Klauseln c,..., c k. Sei c = L L 2 eine Klausel mit Literalen L, L 2, L 3. Falls L = i, definiere l i = x i, falls L = i, definiere l = x i. Mache dies analog für L 2 und L 3. Identifiziere Variablenbelegungen i = false mit x i = und i = true mit x i =. Offensichtlich wird die Klausel c genau dann für eine Belegung erfüllt, wenn l + l 2 + l 3 gilt. Durch Subtraktion der auf der linken Seite der Ungleichung vorkommenden Einsen erhalten wir eine Ungleichung der Form n i= a ix i t, wobei a i =, falls das zu i gehörende Literal unnegiert in c vorkommt, a i =, falls es negiert in c vorkommt und a i =, falls es nicht in c vorkommt und t die Anzahl der negierten Literale in c ist. Jede Klausel in c liefert also genau eine lineare Ungleichung, welche von einer gegebenen Belegung genau dann erfüllt wird, wenn c erfüllt wird. Diese Reduktion hat einen Aufwand von O(n k), und ist damit eine Polynomialzeitreduktion. Da 3-SAT NP-vollständig ist, ist also LIN NP-hart.
Seite c) Angenommen, es gebe einen Polynomialzeitalgorithmus für LIN. Gibt es dann auch einen Polynomialzeitalgorithmus für das Graphen-Dreifärbbarkeitsproblem 3-COLOR? Begründen Sie ihre Antwort. Lösung: Ja, es existiert dann auch eine Polynomialzeitalgorithmus für 3-COLOR, da LIN in NP und NP-schwer, damit also NP-vollständig ist, und der Satz von Cook nun liefert, dass jede NP-Sprache in Polynomialzeit entscheidbar ist, also auch 3-COLOR N P.
Seite
Seite 2 Aufgabe 5 (7 (3++3) + 3 (2+) Punkte) a) Gegeben sei ein binärer Kanal Z mit Quelle und Kanalausgang Y, der durch die nachfolgende Matrix Q beschrieben wird. Die Quelle sendet mit P ( = ) = P ( = ) = Daten über den Kanal. 2 Q = ( ) ( ) P (Y = = ) P (Y = = ) α = P (Y = = ) P (Y = = ) α. Berechnen Sie die Verbundentropie H(, Y ) in Abhängigkeit von α. 2. Berechnen Sie die Irrelevanz H(Y ) in Abhängigkeit von α. 3. Berechnen Sie H(, Y ) und H(Y ) für α = 4. Hinweis: log 2 (3),585. Lösung:. Die Verbundentropie berechnet sich wie folgt: H(, Y ) = P ( = x, Y = y) log 2 (P ( = x, Y = y)) x y = ( 2 log 2( 2 ) + α 2 log 2( α 2 ) + log ( α) 2() + 2 = ( 2 + α 2 (log 2(α) ) + = ( 2 α 2 = α 2 log 2(α) ( α) 2 ( α) + α 2 2 log 2(α) + ( α) log 2 2 ( α) 2. Die Irrelevanz berechnet sich wie folgt: H(Y ) = H(, Y ) H() = α 2 log 2(α) ( α) 2 (log 2 ( α) )) ( α) 2 log 2 ( α) ( α) log 2 ) 2 log 2 ( α)) 3. Für α = 4 ergeben sich: H(, Y ) = 8 log 2( 4 ) 3 8 log 2( 3 4 ) = + 4 3 8 (log 2(3) 2) 5 4 3 8 (,45) 5 4 +,556 =,456 H(Y ) =,456 =,456
Seite 3 b) Gegeben sei eine gedächtnislose Quelle, welche die Zeichen a, b, c, d und e mit folgenden Wahrscheinlichkeiten sendet: a b c d e. Geben Sie eine Huffman-Codierung von an. 3 2. Berechnen Sie die mittlere Codewortlänge ihres Codes. 5 5 5 Lösung:. Wir gruppieren die jeweils niedrigsten Wahrscheinlichkeiten und erstellen einen Baum.,4,6 b c,3 a d e Daraus ergibt sich folgender Huffman-Code: 2. Die erwartete Codewortlänge ist: a b c d e,3 2 +,2 2 +,2 2 +,2 3 +, 3 = 2,3
Seite 4 Aufgabe 6 ( Punkte) Bei dieser Multiple-Choice-Aufgabe gibt jede richtige Antwort Punkt; für jede e Antwort wird Punkt abgezogen, die Gesamtpunktzahl der Aufgabe kann jedoch nicht negativ werden. Für nicht beantwortete Fragen (kein Kreuz) werden keine Punkte abgezogen. Es ist für jede Chomsky-Grammatik immer entscheidbar, ob ein bestimmtes Wort mit Hilfe dieser Grammatik aus einem anderen ableitbar ist oder nicht. Der Code C = {, } über Q = {, } ist perfekt. Mit dem Pumping Lemma für reguläre Sprachen kann man beweisen, dass eine Sprache kontextfrei ist. 2-SAT ist NP-vollständig.? Es ist bislang unbekannt, ob alle kontextsensitiven Sprachen kontextfrei sind und umgekehrt. Die Sprache L = {a p p ist eine Primzahl} ist regulär. Es sei ein vollständiger deterministischer endlicher Automat M = (Q, Σ, δ, q, F) gegeben, der eine Sprache L akzeptiert. Dann akzeptiert der Automat M = (Q, Σ, δ, q, Q \ F) das Komplement von L. Für jedes n gibt es mindestens einen String der Länge n, der nicht komprimierbar ist. Semi-entscheidbare Sprachen sind unter Komplementbildung abgeschlossen. Zu jedem Problem Π N P gibt es ein Polynom p, so dass Π durch einen deterministischen Algorithmus mit Zeitkomplexität O(2 p(n) ) lösbar ist.