NP vollständige Probleme, die in Polynomzeit lösbar sind, wenn die Eingabe (z. B. Anzahl der Variablen) behoben ist?

7

Ich habe einige Probleme gesehen, die NP-hart, aber in fester Dimension polynomiell lösbar sind.

Beispiele, denke ich, sind Knapsack, das polynomial lösbar ist, wenn die Anzahl der Elemente fest ist, und Integer Linear Programming mit fester Anzahl von Variablen oder Einschränkungen durch Lenstras.

Fragen:

Was sind andere Beispiele für NP-harte Probleme, die polynomzeitlösbar werden, wenn die Dimension festgelegt ist?

Gibt es Probleme, bei denen dies nicht der Fall ist?

Ist dies immer der Fall bei Problemen, die einen FPTAS / Pseudo-Polynom-Zeitalgorithmus wie Knapsack zulassen?

user2145167
quelle
Was Sie suchen, ist FPT . Wenn Sie ein Problem in Zeit für eine Funktion lösen können, die nur von , wird das Problem als fester Parameter nachvollziehbar oder in der Komplexitätsklasse FPT bezeichnet . Klassische Probleme in FPT sind die durch die Lösungsgröße parametrisierte Scheitelpunktabdeckung, die durch die Anzahl der Variablen parametrisierte SAT, die durch die Baumbreite parametrisierte Baumbreite usw. Eine Liste der ausgewählten Probleme finden Sie unter FPT-Rennen . f(k)nO(1)fk
Pål GD
1
Siehe auch die Referenzfrage Umgang mit Unlösbarkeit: NP-vollständige Probleme .
Pål GD

Antworten:

5

In parametrisierter Komplexität lösen wir das Problem, indem wir einige Parameter (z. B. ) . Wenn wir in der Lage sind, ein Problem in Zeit zu lösen , sagen wir, dass das Problem ein fester Parameter ist, der in nachvollziehbar ist . Hier ist nur eine berechenbare Funktion. Es gibt viele NP-harte Probleme, die FPT sind, es gibt jedoch viele Probleme in NP, von denen angenommen wird, dass sie nicht mit festen Parametern nachvollziehbar sind.kf(k)p(n)kf(k)

Wenn wir durch Beheben eines Parameters ein Problem in der Zeit lösen können, wird dieses Problem als XP bezeichnet. Wir glauben, dass XP nicht gleich FPT ist (genau wie wir P NP glauben ). Es gibt aber auch viele Probleme zwischen diesen beiden (FPT und XP), und wir haben eine Hierarchie definiert (tatsächlich mehrere), von denen eine die W-Hierarchie ist. In der W-Hierarchie gibt es Reduzierungen wie die Reduktion in NP-vollständigen Klassen, außer wir suchen nicht nach Polytime-Reduktionen, wir brauchen nur eine FPT-Reduktion. Die Klasse W [0] ist die Klasse FPT.O(nf(k))

Dies sind einige Beispiele in verschiedenen Klassen der W-Hierarchie:

  1. Die Scheitelpunktabdeckung ist FPT (ebenso wie disjunkte Scheitelpunktpfade in ungerichteten Diagrammen).
  2. Independent Set und Clique sind beide W [1] -vollständig
  3. Die dominierende Menge ist W [2] -Vollständig.

Dies ist eine weitere Ebene der Komplexität, um NP-Probleme genauer zu klassifizieren. Wenn Sie mehr möchten, können Sie sich dieses Dokument ansehen .

Und wenn Sie noch mehr wollen, lesen Sie das Buch von Grohe und Fomine

Und schlussendlich:

Ist dies immer der Fall bei Problemen, die einen FPTAS / Pseudo-Polynom-Zeitalgorithmus wie Knapsack zulassen?

Es ist nicht unbedingt bekannt, dass wenn das Problem FPTAS hat, es auch FPT ist (was offensichtlich ist), aber es gibt einige Arbeiten zur Beziehung zwischen PTAS und XP, aber es gibt keine sehr enge Beziehung zwischen PTAS und W-Hierarchie (zumindest) Ich weiß es im Moment nicht.

In einigen Fällen können wir auch verschiedene Parameter festlegen, z. B.: Die Länge eines längsten Pfades im Diagramm ist begrenzt und die Größe einer Lösung ist begrenzt (z. B. in der Rückkopplungsscheitelpunktmenge), ...


quelle
Vertex Cover ist vielleicht das einfachste FPT-Problem, das es gibt, und es gibt ein extrem einfaches Verzweigungsargument, das das Problem in der Zeit löst . Vielleicht meintest du Independent Set oder Clique? Beide Probleme sind W [1] -vollständig. Sagen Sie auch nicht, dass ein Problem "FPT, wenn Sie beheben " ist, da der Punkt ist, dass es FPT in (oder was auch immer der Parameter ist). 2knO(1)k k
Pål GD
Es ist auch nicht wahr, dass W [1] alle Probleme enthält, die in der Zeit lösbar sind , es ist einfach nicht so einfach. nk
Pål GD
@ PålGD, Sie haben Recht, es gibt einen sehr einfachen Kernel für die Scheitelpunktabdeckung. Ich habe den Scheitelpunkt-Disjunktionspfad für den ersten geschrieben. Dann habe ich darüber nachgedacht, ein Problem mit der Abdeckung für den zweiten zu sagen. Ich habe ihn mit dem ersten gemischt , und verursacht zu diesem Fehler, aber ja, ich könnte sagen, dass die komplexe Schicht von Schaltkreisen, die wir benötigen, die Hierarchie bestimmt, aber ich sehe, dass dies für den Neuling nicht sinnvoll ist und genauere Definitionen benötigt, also habe ich mich auf das beste Buch bezogen, das ich kenne dafür, für eine genaue Definition, und wenn Sie mehr als einmal sehen, dass ich eine einfache Definition gesagt habe, ist dies im Allgemeinen sicher nicht korrekt. W
Wie auch immer, jetzt verstehe ich, Juho, habe meine Antwort bearbeitet und diesen Teil entfernt, aber ich denke, es war gut, dem Leser etwas Intuition zu vermitteln, um zu sagen, wie schwer sie sind.
Eigentlich habe ich die Antwort bearbeitet (Sie können den Revisionsverlauf sehen, indem Sie auf den Link "Vor xy bearbeitet" klicken.
Pål GD