Nehmen wir an, wir wissen, dass Problem A schwierig ist, dann reduzieren wir A auf das unbekannte Problem B, um zu beweisen, dass B auch schwierig ist.
Als Beispiel: Wir wissen, dass 3-Farben schwer sind. Dann reduzieren wir 3-Farben auf 4-Farben. Durch das Zusammenführen einer der Farben in der 3-Färbung erhalten Sie eine 4-Färbung, ergo 4-Färbung ist schwer.
So geht's. Aber warum ist dies ein Beweis dafür, dass 4-Farben schwer sind? Können Sie die Lösung für das 4-Farben-Problem verwenden, um das 3-Farben-Problem zu lösen? Wenn das so ist, wie? Wenn nicht, warum ist es ein gültiger Beweis?
Bonus q: Müssen die Polynomreduktionen in beide Richtungen gehen können?
Bearbeiten: Wenn Sie anhand eines Beispiels erklären könnten, warum dies so ist, würden Sie dem Internet einen Gefallen tun. Ich konnte das nirgendwo konkret erklären.
quelle
Antworten:
Eine Reduktion von einem Problem zu einem anderen Problem ist eine Transformation einer beliebigen Instanz von in eine Instanz von , so dassB f a A f ( a ) B.EIN B. f ein EIN f( a ) B.
Wenn eine Transformation ist, die die Komplexität bewahrt, an der Sie interessiert sind (z. B. ist eine Polynomtransformation, wenn Sie -Härte berücksichtigen) , impliziert die Existenz eines Algorithmus , der löst , die Existenz eines Algorithmus, der löst : Es reicht aus, und dann .f N P A B B A f A B.f f N P. EINB. B. EIN f EINB.
Daher ist die Existenz einer solchen Reduktion von zu bedeutet , dass nicht einfacher als . Eine Reduzierung ist nicht erforderlich.B B A.EIN B. B. EIN
Zum Beispiel zum Färben von Diagrammen. Sie können 3-Farben auf 4-Farben reduzieren, jedoch nicht sofort. Wenn Sie einen Graphen und wählen, haben Sie aber Sie haben nicht natürlich. Die Schlussfolgerung ist , dass die Äquivalenz nicht eingehalten wird , so ist nicht eine Reduktion.f ( G ) = G x ∈ 3 C O L ⇒ f ( x ) ∈ 4 C O L f ( x ) ∈ 4 C O L ⇒ x ∈ 3 C O L ( E ) fG f( G ) = G. x ∈ 3 C O L. ⇒ f( x ) ∈ 4 C O L. f( x ) ∈ 4 C O L. ⇒ x ∈ 3 C O.L. (E.) f
Sie können eine korrekte Reduktion von auf , dies ist jedoch etwas komplizierter: Für jeden Graphen sei der Graph um einen anderen Knoten ist mit einer Kante zu jedem anderen Knoten verbunden.3 C O L 4 C O L G f ( G ) G uf 3 C O L. 4 C O L. G f( G ) G u
Das beweist, dass eine Reduktion ist und dass schwieriger ist als . Sie können auf die gleiche Weise beweisen, dass für jedes schwieriger ist als , wobei der interessante Beweis dafür ist, dass schwieriger ist als jedes .4 C O L 3 C O L n C O L m C O L n ≥ m 3 C O L n C O L.f 4 C O L. 3 C O L. n C O L. m C O L. n ≥ m 3 C O L. n C O L.
quelle