Ein Grund, warum wir unterschiedliche Approximationskomplexitäten für NP-vollständige Probleme sehen, ist, dass die notwendigen Bedingungen für NP-vollständige ein sehr grobkörniges Maß für die Komplexität eines Problems darstellen. Sie kennen möglicherweise die grundlegende Definition eines Problems , das NP-vollständig ist:Π
- ist in NP undΠ
- Für jedes andere Problem in NP können wir eine Instanz x von Ξ in eine Instanz y von Π in der Polynomzeit umwandeln, so dass y genau dann eine Ja-Instanz von Π ist, wenn x eine Ja-Instanz von Ξ ist .ΞxΞyΠyΠxΞ
Bedenken Sie Bedingung 2: Alles, was erforderlich ist, ist, dass wir nehmen und es in ein y umwandeln können , das die "Einzelbit" -Ja / Nein-Antwort beibehält. Es gibt keine Bedingungen zum Beispiel bezüglich der relativen Größe der Zeugen zum Ja oder Nein (dh der Größe der Lösung im Optimierungskontext). Das einzige Maß, das verwendet wird, ist die Gesamtgröße der Eingabe, die nur eine sehr schwache Bedingung für die Größe der Lösung darstellt. Es ist also ziemlich "einfach", aus einem Ξ ein Π zu machen .xyΞΠ
Wir können den Unterschied bei verschiedenen NP-vollständigen Problemen anhand der Komplexität einiger einfacher Algorithmen erkennen. -Färbung hat eine rohe Kraft O ( k n ) (wobei n die Eingangsgröße ist). Für k -Dominating Set nimmt ein Brute-Force-Ansatz O ( n k ) an . Dies sind im Wesentlichen die genauesten Algorithmen, die wir haben. k- Vertex Cover hat jedoch ein sehr einfaches O ( 2 k n c )kO(kn)nkO(nk)kO(2knc)Algorithmus (wählen Sie eine Kante aus, verzweigen Sie sich zu dem einzuschließenden Endpunkt, markieren Sie alle verdeckten Stellen , fahren Sie fort, bis Sie keine nicht markierten Kanten mehr haben oder Ihr Budget für und bactrack erreicht hat). Unter polynomiellen Vielfachreduktionen (Karp-Reduktionen, dh was wir unter der obigen Bedingung 2 tun) sind diese Probleme äquivalent.k
Wenn wir anfangen, uns der Komplexität mit noch etwas feineren Werkzeugen zu nähern (Approximationskomplexität, parametrisierte Komplexität, alle anderen, die mir nicht einfallen), werden die verwendeten Reduktionen strenger bzw. empfindlicher für die Struktur der Lösung die Unterschiede beginnen sich zu zeigen; -Vertex Cover (wie Yuval erwähnte) hat eine einfache 2-Approximation (hat aber kein FPTAS, es sei denn, einige Komplexitätsklassen kollabieren), k -Dominating Set hat einen ( 1 + log n ) -Näherungsalgorithmus (aber keinen ( c log n ) -Näherung für einige c > 0kk(1+logn)(clogn)c>0), und eine Annäherung ist für die einfache Version von Coloring überhaupt nicht sinnvoll.k