• Keine Ergebnisse gefunden

Aufgabe 1. Die Softwarefirma Halting & Co. KG bietet folgende Pro- dukte zur Programmverifikation an.

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe 1. Die Softwarefirma Halting & Co. KG bietet folgende Pro- dukte zur Programmverifikation an."

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨ at Siegen

Lehrstuhl Theoretische Informatik Markus Lohrey

Grundlagen der Theoretischen Informatik SS 2018

Ubungsblatt 14 ¨

Aufgabe 1. Die Softwarefirma Halting & Co. KG bietet folgende Pro- dukte zur Programmverifikation an.

(a) Produkt A ¨ uberpr¨ uft, ob ein gegebenes Programm auf allen Eingaben terminiert.

(b) Produkt B ¨ uberpr¨ uft, ob ein gegebenes Programm auf einer gegebenen Eingabe h¨ ochstens 1,000 Rechenschritte durchf¨ uhrt.

(c) Produkt C ¨ uberpr¨ uft, ob ein gegebenes Programm auf einer gegebenen Eingabe h¨ ochstens 1 GB Speicher ben¨ otigt.

(d) Produkt D ¨ uberpr¨ uft, ob ein gegebenes Programm niemals die Ausgabe 123 produziert.

Welche Produkte kann es tats¨ achlich geben?

L¨ osung.

(a) Falsch. Das Halteproblem (Folie 272) kann auf das Problem a) reduziert werden. Dazu wird die gegebene Turing-Maschine so modifiziert, dass sie zu Beginn die eigentliche Eingabe gegen eine spezifische Eingabe aus- tauscht. Die modifizierte Turing-Maschine terminiert nun bei beliebiger Eingabe genau dann, wenn die originale auf der spezifischen Eingabe ter- miniert. Da das Halteproblem unentscheidbar ist, muss auch das Problem a) unentscheidbar sein (Folie 422).

(b) Wahr. Das Programm wird unter der gegebenen Eingabe simuliert und die Rechenschritte mitgez¨ ahlt. Falls das simulierte Programm bis zum 1000 Rechenschritt terminiert, meldet der Simulator

terminiert

. An- dernfalls wird die Simulation abgebrochen und der Simulator meldet

terminiert nicht bei bis zu 1000 Rechenschritten”.

(c) Wahr. Das Programm wird unter der gegebenen Eingabe simuliert und alle bereits erreichten Konfigurationen gespeichert. Sollte eine Konfigura- tion mehr als 1 GB Speicher ben¨ otigen, bricht der Simulator mit

braucht

1

(2)

mehr Speicher

ab. Wird eine bereits bekannte Konfiguration erneut be- sucht, bricht der Simulator mit

terminiert nicht

ab. Sollte das simu- lierte Programm terminieren, meldet der Simulator

terminiert

. Da es in 1 GB Speicher nur endlich viele Konfigurationen gibt, muss eine der drei Varianten irgendwann eintreten.

(d) Falsch. Es gibt ein Programm, das ein anderes Programm ausf¨ uhrt und falls dieses terminiert, 123 ausgibt. Das heißt, genau dann, wenn das andere Programm nie terminiert, gibt es nie die Ausgabe 123. Dies ent- spricht einer Reduktion des komplementierten Problem a) auf das Pro- blem d).

Aufgabe 2. Zeigen Sie, dass die Menge der Primzahlen und die Menge der Quadratzahlen entscheidbar ist.

L¨ osung. M¨ ogliche Entsprechung: Schreiben Sie ein Loop-Programm, das die Ausgabe 1 oder 0 erzeugt, je nachdem, ob die Eingabe (x

1

) eine Primzahl beziehungsweise Quadratzahl ist. Konstruktionen aus Folien und ¨ Ubungen werden als gegebenen angenommen.

Quadratzahl:

x

2

:= x

1

; x

1

:= 0;

x

3

:= 0;

LOOP x

2

DO x

4

:= x

3

· x

3

; x

3

:= x

3

+ 1;

IF x

4

= x

2

DO x

1

:= 1 END END

2

(3)

Primzahl:

x

2

:= x

1

; x

3

:= x

1

− 2;

x

4

:= 1;

x

1

:= 1;

LOOP x

3

DO x

4

:= x

4

+ 1;

x

5

:= x

2

MOD x

4

;

IF x

5

= 0 DO x

1

:= 0 END END

Aufgabe 3. Ein bekanntes Problem aus der Mathematik ist Hilberts zehntes Problem: Gegeben ein Polynom p(x

1

, . . . , x

n

) mit ganzzahligen Koeffizienten in n Variablen (n ≥ 1 beliebig), existieren x

1

, . . . , x

n

∈ Z mit p(x

1

, . . . , x

n

) = 0? Erst 1970 wurde bewiesen, dass dieses Problem unentscheidbar ist.

(a) Ist Hilberts zehntes Problem semi-entscheidbar?

(b) Ist das Komplement semi-entscheidbar?

L¨ osung.

(a) Wahr. Die Menge der m¨ oglichen Belegungen ( Z

n

) ist abz¨ ahlbar unend- lich (Diagonalisierung). Die m¨ oglichen Belegungen k¨ onnen systematisch durchprobiert werden. Das Verfahren terminiert nur, wenn es eine pas- sende Belegung gibt.

(b) Falsch. Aus a) und der Unentscheidbarkeit des Problems folgt, dass b) nicht semi-entscheidbar ist (Folie 402).

Aufgabe 4 (?). Der ebenso geniale wie unberechenbare Wissenschaftler und Superb¨ osewicht Doktor Meta ist unentschlossen. Ein neuer Held ist in Siegen aufgetaucht. Theorie-Man streift durch Siegen und bek¨ ampft das Verbrechen.

Doktor Meta weiß nicht, wo Theorie-Man seine Basis hat. Das Rennmotorrad von Theorie-Man, eine Turing 3000, hat keine H¨ ochstgeschwindigkeit. Doktor Meta m¨ ochte Theorie-Man stellen. Er weiß aber nicht, wie er ihn finden kann.

Zur Vereinfachung des Problems ¨ uberlegt er sich eine Abstraktion. Er modelliert den Ort von Theorie-Man als nat¨ urliche Zahl auf einem eindi- mensionalen Zahlenstrahl. Die Zeit diskretisiert er ebenfalls als nat¨ urliche Zahl. Dann kann er mit einer Funktion f : N → N den Aufenthaltsort von

3

(4)

Theorie-Man beschreiben. Er sucht nun ein System, mit dem er garantiert irgendwann zur richtigen Zeit am richtigen Ort ist.

Gegeben sei eine Funktion f (t ) = v · t + s

0

. Die Parameter v ∈ N und s

0

∈ N sind unbekannt, aber fest.

Beschreiben Sie einen Algorithmus, der eine Folge (s

i

)

i∈N

von nat¨ urlichen Zahlen ausgibt, so dass ein j ∈ N mit s

j

= f (j ) existiert. (Der Algorithmus muss nicht terminieren, er muss nur irgendwann ein korrektes Folgenglied ausgeben.)

L¨ osung. N

2

ist abz¨ ahlbar unendlich (Diagonalisierung). Folglich existiert eine Bijektion g : N → N

2

. Sei

(s

j

)

j∈N

= (π

1

(g (j )) · j + π

2

(g (j )))

j∈N

.

Zu v , s

0

∈ N existiert ein j ∈ N mit s

j

= f (j ) n¨ amlich j = g

−1

(v , s

0

):

s

j

= s

g−1(v,s0)

= π

1

(g (g

−1

(v , s

0

))) · g

−1

(v , s

0

) + π

2

(g(g

−1

(v , s

0

)))

= π

1

(v , s

0

) · g

−1

(v , s

0

) + π

2

(v , s

0

)

= v · g

−1

(v , s

0

) + s

0

= f (g

−1

(v , s

0

))

= f (j )

g und somit j → s

j

sind totale berechenbare Funktionen, also gibt es ein Programm, das s

1

, s

2

, . . . ausgibt.

4

Referenzen

ÄHNLICHE DOKUMENTE

In der Initialkonfiguration einer solchen Maschine enth¨ alt das erste Band die Eingabe (und der Kopf steht auf dem ersten Symbol) und alle anderen B¨ ander sind leer. Eine Eingabe w

X Die gegebene Turing-Maschine berechnet bei Eingabe 10010 die Ausgabe 100011.. A Die gegebene Turing-Maschine akzeptiert die

X Die gegebene Turing-Maschine berechnet bei Eingabe bbab die Ausgabe aabb.. X Die gegebene Turing-Maschine akzeptiert die

Die gegebene Turing-Maschine berechnet bei Eingabe ababa die Ausgabe baaaa.. Die gegebene Turing-Maschine akzeptiert alle Eingaben der Länge

Ist der Übertrag 0 und steht an der aktuellen Position eine 0 oder 1 so drucke dasselbe Zeichen und gehe nach links.. Ist der Übertrag 0 und steht an der aktuellen Position

Nicht alle Pixel sind gleich (vor Fitts’

Æ es gibt kein Gesetz, aber man geht davon aus, daß eine „Ausschlußklage“ statthaft ist, nach der der Scheidende seinen Anteil auf die Verbleibenden aufteilen muß. •

(b) Wie groß ist die De Broglie Wellenlänge eines klassischen Objektes, das eine Masse von m = 10 − 4 kg hat und sich mit einer Geschwindigkeit von v = 1 m s − 1 bewegt.