reduktion von problemen
-
Hallo Leute,
ich habe eine Frage zu der Lösung der folgenden Aufgabe:
Gegeben ein Programm P. Kann es in diesem Programm zu Division durch Null kommen? Zu zeigen: Das Problem ist nicht entscheidbar.Lösung:
S = Menge aller totalen berechenbarer Funktionen, die für mindestens eine Eingabe die Ausgabe Null haben
D = Die Menger aller Programme, in denen Division durch Null möglich ist.nach Satz v. Rice ist C(S) nicht entscheidbar. Man macht somit eine Reduktion:
C(S) ≤ D
f(P) ist dabei wie folgt definiert:
f(P):= 1 /output(P)Damit f total ist wird f ergänzt um: f(P) := "output 0;", falls P nicht in C(S) ist.
Und diese Ergänzung verstehe ich nicht. f soll doch berechenbar sein. D.h. es gibt einen Algorithmus der f berechnet. Wie kann aber f entscheiden ob P in C(S) ist oder nicht?
danke!
-
gute frage
EDIT:
es ist wohl nur schlampig formuliert. es sollte wohl so heißen:f(P):= inv(output(P))
inv(x):=1/xDamit f total ist wird inv(x) ergänzt um: inv(0) := "output ERROR;".
...oder so.