Berechenbarkeit und Komplexität, ¨Ubungsblatt 6

Werbung
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
Herunterladen