ich studiere angewandte Informatik und bereite mich aktuell auf eine Klausur vor, die im Bereich der theoretischen Informatik angesiedelt ist. Eigentlich bin ich recht gut vorbereitet, allerdings habe ich trotz intensiver Bemühungen immer noch Probleme mit dem Thema Reduktionen. Das grundlegende Prinzip ist mir bewusst, allerdings bin ich häufig nicht in der Lage, eine korrekte Vorverarbeitungsfunktion zu finden, so auch bei dem folgenden Problem:
Gegeben ist ein Problem P = {w1#w2#x | wenn die Turingmaschine Mw1 auf x hält dann hält auch Mw2 auf x}
Ich wollte dieses Problem auf das allgemeine Halteproblem H = {w#x | Mw hält auf der Eingabe x} reduzieren. Folgende Vorverarbeitungsfunktion wollte ich für die Reduktion verwenden: f(w#x) = w#w#x.
Aus der Aufgabenstellung geht jedoch hervor, dass diese Vorverarbeitungsfunktion nicht korrekt ist, weil diese Vorverarbeitungsfunktion dort angegeben ist und man erläutern soll, was daran falsch sein soll.
Ich begreife nicht, was an der Vorverarbeitungsfunktion falsch sein könnte, denn das Problem P nimmt zwei Kodierungen und eine Eingabe entgegen. Eine Kodierung ist für Mw1 und die andere für Mw2, außerdem arbeiten beide mit der gleichen Eingabe x. Wenn wir nun Mw1 und Mw2 die Kodierung des Halteproblems übergeben und außerdem noch die Eingabe x des Halteproblems, dann sollte sich damit doch das Halteproblem lösen lassen, von dem wir allerdings wissen, dass es unentscheidbar ist und somit würde daraus resultieren, dass auch das Problem P unentscheidbar ist.
Beide Maschinen aus dem Problem P sollten sich doch nun gleich verhalten, weil beide mit der gleichen Kodierung als auch mit der gleichen Eingabe arbeiten, dementsprechend müsste doch Mw1 auf der Eingabe x halten, wenn auch Mw2 auf der Eingabe x hält. Gleichzeitig sollte auch gelten, dass wenn Mw1 nicht auf der Eingabe x hält, dass dann auch Mw2 nicht auf der Eingabe x hält.
Beide Maschinen müssten sich nach meinem Verständnis nun gleich verhalten, weil beide mit der gleichen Kodierung und Eingabe arbeiten. Da ich davon ausging, dass diese Vorverarbeitungsfunktion korrekt sein müsste, fällt mir leider auch keine andere Vorverarbeitungsfunktion ein, die ich für diese Reduktion verwenden könnte.
Ich wäre erfreut, wenn mir jemand einen Ratschlag geben könnte, warum diese Vorverarbeitungsfunktion nicht korrekt sein soll, ich denke, dann komme ich auch auf eine korrekte Vorverarbeitungsfunktion für die Reduktion.
Nette Grüße
BinaryDigit