Ich war etwas verwirrt mit der Richtung der Reduzierungen, die verwendet wurden, um zu zeigen, dass bestimmte Sprachen nicht rekursiv sind. wir zum Beispiel an, wir möchten feststellen, ob das ( ) unentscheidbar ist. Ich weiß, wir können davon ausgehen, dass es entscheidbar ist, und dann versuchen, einen Entscheider für das Akzeptanzproblem zu bauen, was unmöglich ist. Obwohl wir das Akzeptanzproblem ( ) verwenden, um die Entscheidbarkeit des Halteproblems zu lösen, haben wir das Akzeptanzproblem auf das Halteproblem reduziert, nicht umgekehrt, oder?
Ich bin manchmal etwas verwirrt, wenn ich auf Fragen stoße, die mich auffordern, eine Reduzierung durchzuführen. Ich werde gebeten, die Sprache auf zu reduzieren , aber was das bedeutet, ist, dass eine einfachere Instanz eines Problems von , richtig (oder sollte es zumindest sein)? Ich gehe davon aus, dass es unmöglich ist, eine einfachere Version eines Problems auf eine komplexere Version eines Problems zu reduzieren. Habe ich Recht, wenn ich das glaube?
Antworten:
Keine Sorge - alle sind verwirrt über die Richtung der Ermäßigungen. Sogar Leute, die seit Jahrzehnten mit Algorithmen und Komplexität arbeiten, haben gelegentlich die Frage: "Warten Sie, sollten wir auf oder auf reduzieren ?" Moment.A B B A
Das Reduzieren von auf ergibt eine Aussage der Form "Wenn ich lösen könnte , würde ich auch wissen, wie man löst ". "Lösen" in diesem Sinne könnte "Berechnen mit einer beliebigen Turing-Maschine" oder "Berechnen in Polynomzeit" oder einen anderen Lösungsbegriff bedeuten, den Ihr Kontext erfordert.A B B A
Dies mag nicht intuitiv erscheinen, da " reduziert sich auf " impliziert, dass das Lösen von mindestens so schwierig ist wie das Lösen von , sodass Sie die Schwierigkeit nicht reduziert haben. Sie können sich jedoch vorstellen, dass Sie weniger Probleme lösen müssen. Stellen Sie sich vor, Sie wollten zu Beginn des Tages einen Algorithmus für und einen Algorithmus für . Nun, da Sie eine Reduzierung von auf , haben Sie Ihre Ziele darauf reduziert, nur einen Algorithmus für .A B B A A B A B B
quelle
Nein. Wenn auf reduziert wird , bedeutet dies intuitiv, dass einfacher als und nicht umgekehrt.A B A B
Praktischer: Nehmen Sie an, Sie möchten überprüfen . Anstatt dies auf irgendeine Weise zu tun, transformieren Sie gemäß einer (Reduktions-) Funktion . Sie müssen jetzt einchecken .x∈A x y=f(x) y∈B
Sie haben noch nicht gelöst , das Ausgangsproblem , da jetzt bleiben Sie mit einem anderen Problem zu lösen: . Dies bedeutet, dass Sie das ursprüngliche Problem auf ein anderes reduziert haben .x∈A y∈B
Es mag zunächst kontraintuitiv erscheinen, dass wir einfache Dinge auf komplexere reduzieren. In der Tat, pragmatisch, warum sollte man eine einfache Aufgabe lösen wollen, um sich auf eine schwierigere Aufgabe zu reduzieren ? Möchten wir unsere Aufgabe nicht stattdessen auf eine noch einfachere Aufgabe reduzieren?
Die Wahrheit ist jedoch: Wenn wir eine schwierige Aufgabe lösen könnten, indem wir sie auf eine einfache Aufgabe reduzieren , bedeutet dies, dass nicht wirklich schwieriger als . Wenn das Lösen von durch Anwenden der Reduktionsfunktion und anschließendes Lösen des "leichteren" erreicht werden kann, bedeutet dies in der Tat, dass in erster Linie einfacher als .A B A B A B A B
quelle
Eine Reduktion von zu ist etwas , das Teil der Arbeit erledigt tun musste und was bleibt zu tun ist . Zum Beispiel kann "Essen bekommen" durch "Zutaten holen" auf "Kochen" reduziert werden. Dies bedeutet, dass "Kochen" schwieriger ist als "Essen bekommen": Jeder, der "kochen" kann, kann "Essen bekommen" (vorausgesetzt, die Reduzierung "Zutaten bekommen" funktioniert immer, zum Beispiel in Gegenwart eines Ortes, an dem Zutaten kostenlos angeboten werden) .A B A B
Das Zeichnen von Dingen erleichtert das Verständnis:
Sie möchten die blaue Box erstellen (die einen Algorithmus darstellt, der eine Eingabe und entscheidet, ob ). Die Reduzierung ist dann die rote Box, und sobald Sie sie haben, müssen Sie nur noch die grüne Box bauen, um die blaue Box zu bauen. Wenn Sie also eine rote Box haben (die auf reduziert ), bauen Sie die grüne Box (die entscheidetx x∈A A B B ) ist mindestens so schwer wie das Bauen des blauen (das entscheidet A ): Wenn Sie eine grüne Box haben, ist es sehr einfach, eine blaue zu bauen. Wenn Sie eine blaue Box bauen, können Sie möglicherweise keine grüne Box bauen.
Beachten Sie, dass die Gründe für die beiden Bedingungen, die eine Reduzierung definieren, in dieser Zeichnung aufgeführt sind: die Tatsache, dassf ist berechenbar bedeutet, dass Sie die rote Box bauen können, während die Tatsache, dass f(x)∈B⟺x∈A bedeutet, dass Sie die beiden Drähte ganz rechts verbinden können.
quelle