RHEINISCHWESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHRSTUHL FÜR INFORMATIK II RWTH Aachen · D-52056 Aachen http://www-i2.informatik.rwth-aachen.de/ 2 Prof. Dr. Ir. J.-P. Katoen C. Kern, S. Rieger, A. Skopalik Berechenbarkeit und Komplexität WS 2008/09 – Übungsblatt 7 – Abgabe bis zum 5.12.2008 um 12:00 (Sammelkasten Lehrstuhl Informatik I) Besprechung der Lösungen in der Woche vom 8.-12.12.2008 in den Kleingruppenübungen Aufgabe 3 (5 Punkte) b) Wir zeigen zunächst, dass DLOOP = {i ∈ N|Pi verwirft i} nicht durch Loop-Programme entscheidbar ist. Anschliessend zeigen wir, dass daraus folgt, dass ALOOP nicht durch Loop-Programme entschieden werden kann. Wir nehmen an, Pj sei das LOOP-Programm, das DLOOP entscheidet. Was macht Pj auf der Eingabe j? Falls Pj auf j verwirft, folgt aus der Definition von DLOOP , dass j ∈ DLOOP gilt. In dem Fall müsste aber Pj auf j akzeptieren, wie aus der Definition von Pj folgt. Falls Pj auf j akzeptiert, folgt aus der Definition von DLOOP , dass j 6∈ DLOOP gilt. In dem Fall müsste aber Pj auf j verwerfen, wie aus der Definition von Pj folgt. Annahme: ALOOP sei durch ein Loop-Programm PLOOP entscheidbar. Wir konstruieren nun ein LoopProgramm P , welches DLOOP entscheidet und PLOOP als Unterprogramm benutzt. Bei Eingabe j führe PLOOP mit (j, j) aus und akzeptiere, genau dann, wenn PLOOP verwirft. Partielle Korrektheit: j ∈ DLOOP ⇒ Pj akzeptiert j nicht ⇒ (j, j) 6∈ ALOOP ⇒ PLOOP verwirft (j, j) ⇒ P akzeptiert j. j∈ / DLOOP ⇒ Pj akzeptiert j ⇒ (j, j) ∈ ALOOP ⇒ PLOOP akzeptiert (j, j) ⇒ P verwirft j. Also kann DLOOP und damit auch ALOOP nicht von einem LOOP-Programm entschieden werden.
© Copyright 2025 ExpyDoc