TU Ilmenau, Fachgebiet Theoretische Informatik Prof. Dr. Dietrich Kuske, Dipl.-Inf. Roy Mennicke http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20122013/buk/ Berechenbarkeit und Komplexität, Übungsblatt 6 Die Übungsaufgaben werden in den Übungsveranstaltungen der 3. Kalenderwoche besprochen. Die Lösungen zu den Aufgaben sind bis zum 14. Januar, 12 Uhr in den Briefkasten des Instituts (Zusebau, Erdgeschoss, Bereich D, gegenüber von Raum 1047) einzuwerfen. Alternativ können Sie Ihre Lösung unmittelbar vor dem Beginn der Montagsübung im Seminarraum HU 211/212 abgeben. Übungsaufgaben (1) Ein Adventure ist ein endlicher Automat A über dem folgenden Alphabet: ( ) , , , , , , Wir bezeichnen die Wörter w ∈ L(A) als Spiele. Ein Spiel ist erfolgreich, wenn (i) mindestens zwei Schätze gefunden wurden, (ii) jede vorgefundene Tür durch einen zuvor gefundenen Schlüssel geöffnet werden konnte, (iii) die magischen Torbögen nur durchschritten wurden, wenn der Spieler keinen einzigen Schlüssel besaß, (iv) der Spieler nach jeder Begegnung mit einem Drachen sofort einen Fluss aufgesucht hat (denn der Drachen hat den Spieler in Brand gesetzt) bzw. den Drachen mit einem Schwert getötet hat und (v) Flüsse nur durchquert wurden, wenn der Spieler nicht im Besitz eines Schwertes war (Schwerter sind zu schwer, um damit zu schwimmen). Dabei ist weiterhin folgendes zu beachten: Zu einem Zeitpunkt kann der Spieler im Besitz mehrerer Schlüsssel bzw. Schwerter sein. Ein Schlüssel bzw. Schwert verschwindet sofort nach dem Gebrauch. Jede Tür schließt sich unmittelbar nach dem der Spieler durch sie hindurchgegangen ist. Nachdem der Spieler einen Drachen getötet und passiert hat, erwacht dieser wieder zu neuem Leben. Die Menge aller erfolgreichen Spiele wird mit S(A) bezeichnet. (a) Betrachten Sie das Adventure A in Abbildung 1 auf Seite 2. Geben Sie ein erfolgreiches Spiel aus S(A) an. (b) Geben Sie ein Adventure mit vier Zuständen an, so dass S(A) nicht regulär ist. (c) Eine Minsky-Maschine (bzw. eine Zwei-Zähler-Maschine) ist ein Goto-Programm, das nur von zwei Variablen x1 und x2 , Wertzuweisungen der Form xi := xi ± 1 (für i ∈ {1, 2}), bedingten Sprüngen und unbedingten Sprüngen Gebrauch macht (vgl. Folien 166 und 169 der Vorlesung). Sei H die Menge aller Minsky-Maschinen, die auf der Eingabe x1 = 0 und x2 = 0 halten. Die Menge H ist unentscheidbar (ohne Beweis). Geben Sie die Idee für eine berechenbare Übersetzung einer beliebigen MinskyMaschine M in ein Adventure A an, so dass M ∈ H gdw. S(A) 6= ∅ gilt. Verwenden Abbildung 1: Adventure A aus Aufgabe (1a) Abbildung 2: Übersetzung von x1 := x1 − 1 Sie die Regeln (ii) und (iii) zur Simulation der Operationen auf der Variablen x1 und die Regeln (iv) und (v) zur Simulation von x2 . Beispielsweise lässt sich das Fragment x1 := x1 − 1 in das Adventure-Fragment von Abbildung 2 übersetzen. (d) Verwenden Sie die von Ihnen definierte Übersetzung aus (c), um die folgende Minsky-Maschine in ein Adventure zu übersetzen. 1 2 3 4 5 6 x1 := x1 + 1; x1 := x1 + 1; If x1 = 0 Then 0; x1 := x1 − 1; x2 := x2 + 1; Goto 3 (e) Welches Resultat folgt unmittelbar aus der Existenz der Übersetzung aus (c)? (2) Diese Aufgabe knüpft an Folie 271 der Vorlesung an. Sei P die Menge aller Polynome in den Variablen x1 , x2 , x3 , . . . , xn mit Koeffizienten aus Z. (a) Seien p und q Polynome aus P. Finden Sie Polynome r1 und r2 in P, so dass für alle a1 , . . . , an ∈ Z die folgenden Bedingungen erfüllt sind: p(a1 , . . . , an ) = 0 und q(a1 , . . . , an ) = 0 ⇐⇒ r1 (a1 , . . . , an ) = 0 p(a1 , . . . , an ) = 0 oder q(a1 , . . . , an ) = 0 ⇐⇒ r2 (a1 , . . . , an ) = 0 2 (b) Betrachten Sie die folgenden Probleme: HZ = {p ∈ P | ∃a1 , . . . , an ∈ Z : p(a1 , . . . , an ) = 0} HN = {p ∈ P | ∃a1 , . . . , an ∈ N : p(a1 , . . . , an ) = 0} Begründen Sie, dass die Beziehung HZ ≤ HN gilt. (c) Zeigen Sie, dass auch die Beziehung HN ≤ HZ gilt. Verwenden Sie dazu den Satz von Lagrange, der besagt, dass sich jede natürliche Zahl durch die Summe der Quadrate von vier ganzen Zahlen darstellen lässt. 3