Härte und Reduktionsrichtungen

9

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.

Die Unfun Cat
quelle
Wenn Sie mit zwei NP-vollständigen Problemen zu tun haben, muss es Polynomreduktionen geben, die in beide Richtungen gehen. In vielen Fällen können die Verringerungen von A nach B und von B nach A sehr unterschiedlich aussehen.
Joe
Wenn die Probleme nicht beide in derselben Komplexitätsklasse liegen, erfolgt möglicherweise keine Reduzierung in beide Richtungen.
Joe

Antworten:

7

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.EINB.feinEINf(ein)B.

xEIN    f(x)B.(E.)

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.ffN.P.EINB.B.EINfEINB.

Daher ist die Existenz einer solchen Reduktion von zu bedeutet , dass nicht einfacher als . Eine Reduzierung ist nicht erforderlich.B B A.EINB.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 Lf ( x ) 4 C O L f ( x ) 4 C O Lx 3 C O L ( E ) fGf(G)=Gx3C.ÖL. f(x)4C.ÖL.f(x)4C.ÖL. x3C.Ö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 uf3C.ÖL.4C.ÖL.Gf(G)Gu

  • Die Transformation ist komplexitätserhaltend (Polynom hier);
  • Wenn in dann ist in : benutze einfach die vierte Farbe für ;3 C O L f ( G ) 4 C O L uG3C.ÖL.f(G)4C.ÖL.u
  • Wenn in ist, können Sie beweisen, dass alle Knoten außer eine Farbe haben, die nicht , daher ist in .4 C O L u u G 3 C O L.f(G)4C.ÖL.uuG3C.ÖL.

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.f4C.ÖL.3C.ÖL.nC.ÖL.mC.ÖL.nm3C.ÖL.nC.ÖL.

jmad
quelle
Warum bedeutet eine solche Reduzierung, dass B nicht einfacher ist als A? UV für Mühe, aber zu abstrakt für mein mickriges Gehirn.
Die Unfun Cat
Ist es so, dass die Antwort für B dieselbe ist wie für A, nachdem Sie A auf B reduziert haben? Ich glaube, ich habe es verstanden: Wenn die ursprüngliche Instanz drei Farben hat, hat die transformierte Instanz vier Farben. Wenn die Antwort "Ja, sie hat vier Farben" lautet, lautet die Antwort auch "Ja, das hat sie" eine dreifarbige Färbung "? Aber ist es nicht immer noch möglich, dass die transformierte Instanz B vier Farben hat, ohne dass A drei Farben hat? Ich stelle mir vor, es ist einfacher, eine Grafik mit vier Farben zu färben ...
The Unfun Cat
@ TheUnfunCat (aktualisiert mit 3 und 4
Farbbeispiel