Ist es eine Regel, dass diskrete Probleme NP-hart sind und kontinuierliche Probleme nicht?

27

In meiner Informatikausbildung stelle ich zunehmend fest, dass die meisten diskreten Probleme (zumindest) NP-vollständig sind, wohingegen die Optimierung kontinuierlicher Probleme fast immer leicht erreichbar ist, normalerweise durch Gradiententechniken. Gibt es Ausnahmen dazu?

alekdimi
quelle
13
Es gibt sicherlich viele von ihnen. Bipartite und General Matching sowie Min Cuts sind drei klassische, zeitlich lösbare diskrete Polynomprobleme. Viele kontinuierliche nicht-konvexe Optimierungsprobleme sind NP-schwer: Ermitteln des Durchmessers einer konvexen Menge oder Berechnen der Injektionsnorm eines 3D-Tensors.
Sasho Nikolov
6
Hier ist ein einfaches Problem der kontinuierlichen Optimierung, das nur schwer zu lösen ist: cstheory.stackexchange.com/questions/14630/…
Jukka Suomela
8
Ich bin mir nicht sicher, welche Probleme Sie haben, aber viele kontinuierliche Probleme, die mit Gradientenmethoden "gelöst" werden, sind nicht wirklich "gelöst": Die Methode findet lediglich eine Art lokales Optimum.
Suresh Venkat
1
Alle bisherigen Antworten scheinen Gegenbeispiele zu sein, aber es wäre schön zu sehen, dass einige Fälle zutreffen, in denen diese Regel tatsächlich zutrifft. Zwei, die mir in den Sinn kommen, sind lineare Programmierung vs. ganzzahlige Programmierung und konvexe Optimierung vs. submodulare Maximierung.
Usul
13
Ich denke, die ganze diskrete vs kontinuierliche Sache ist ein roter Hering. Ein Problem muss eine sehr spezielle Struktur haben, um effizient lösbar zu sein. Ich denke, der wirkliche Unterschied besteht darin, dass bei einfachen kontinuierlichen Problemen die spezielle Struktur tendenziell konvex ist, während bei einfachen diskreten Problemen die Dinge komplizierter aussehen: Manchmal handelt es sich bei der Struktur um Submodularität oder eine Kreuzung der Matroiden, aber häufig nicht. Dies hat wahrscheinlich mehr damit zu tun, dass wir diskrete Mathematik noch nicht sehr gut verstehen.
Sasho Nikolov

Antworten:

41

Ein Beispiel , das ich Liebe ist das Problem , bei dem, unterschiedlichen gegebenen , entscheiden , ob: π - π cos ( a 1 z ) cos ( a 2 z ) ... cos ( a n z )a1,a2,,anN

ππcos(a1z)cos(a2z)cos(anz)dz0

{a1,,an}

n

Joe Bebel
quelle
4
Da wir gerade beim Thema sind, ist der früheste Hinweis auf dieses Problem in "The Nature of Computation" von Moore und Mertens zu finden. Sie geben keinen Hinweis, also nehme ich an, dass sie ihn entweder erfunden haben oder aus der Folklore stammen. Ich würde mich freuen, wenn jemand die Ursache dieses Problems kennt.
Joe Bebel
nn
1
nn
3
Anscheinend ist die ursprüngliche Ursache dieses Problems: David Plaisted, Einige Polynom- und Ganzzahlteilungsprobleme sind NP-hart. SIAM Journal on Computing, 7 (4): 458–464, 1978. Die Referenz befindet sich im hinteren Teil von Moore und Mertens, nur nicht im Textkörper.
Joe Bebel
26

Es gibt viele kontinuierliche Probleme der Form "Test, ob diese kombinatorische Eingabe als geometrische Struktur realisiert werden kann", die für die existentielle Theorie der Realzahlen , ein kontinuierliches Analogon von NP , vollständig sind . Dies impliziert insbesondere, dass diese Probleme eher NP-hart als polynomiell lösbar sind. Beispiele umfassen das Testen, ob ein gegebener Graph ein Einheitsabstandsgraph ist, ob ein gegebener Graph in der Ebene mit geraden Liniensegmentkanten und höchstens einer gegebenen Anzahl von Kreuzungen gezeichnet werden kann oder ob eine gegebene Pseudolinanordnung gestreckt werden kann, um eine Linie zu bilden Anordnung.

Es gibt noch weitere Probleme, die noch schwieriger sind: Zum Beispiel ist die Suche nach einem kürzesten Weg zwischen polyedrischen Hindernissen in 3d PSPACE-vollständig (Canny & Reif, FOCS'87).

David Eppstein
quelle
1
"Der kürzeste Weg unter den polyedrischen Hindernissen" hat nur einen kontinuierlichen Namen, nicht wahr? Wir können uns den Konfigurationsraum als eine Vereinigung mehrerer diskreter Teile vorstellen, die Pfaden entsprechen, die einen bestimmten Satz von Hindernissen „umarmen“. Dann ist die lokale Optimierung innerhalb eines bestimmten Teils (dh innerhalb eines bestimmten Satzes von Hindernissen) einfach, aber die Entscheidung, welcher der Pfade die global beste Entfernung aufweist, ist der schwierige Teil des Problems.
Steven Stadnicki
13

Dies beantwortet zwar nicht genau Ihre ursprüngliche Frage, ist jedoch ein (mutmaßliches) Beispiel für eine Art philosophischen Kontrapunkt: ein Problem, bei dem die Darstellung diskret ist, die gesamte Härte jedoch vom „kontinuierlichen“ Aspekt des Problems herrührt.

A={a1,a2,,am}B={b1,b2,,bn}i=1maij=1nbjschwer, es wird allgemein vermutet, dass es NP-schwer ist und tatsächlich außerhalb von NP liegt (es gibt, wie in den Kommentaren erwähnt, ausgezeichnete Gründe zu der Annahme, dass es nicht NP-vollständig ist); Die einzige bisher bekannte Einschränkung liegt mehrere Ebenen höher in der Polynom-Hierarchie. Natürlich ist die Darstellung dieses Problems so diskret wie möglich - eine Reihe von Ganzzahlen und eine Ja / Nein-Frage zu ihnen -, aber die Herausforderung besteht darin, dass die Berechnung von Quadratwurzeln mit einer bestimmten Genauigkeit ein einfaches Problem ist, sie jedoch möglicherweise berechnet werden müssen zu hohe (möglicherweise superpolynomielle) Genauigkeit, um die Ungleichung auf die eine oder andere Weise auszugleichen. Dies ist ein „diskretes“ Problem, das in einer überraschenden Anzahl von Optimierungskontexten auftritt und zur eigenen Komplexität beiträgt.

Steven Stadnicki
quelle
4
Ich mag dieses Beispiel auch sehr, obwohl es einen starken Grund dafür gibt, anzunehmen, dass es nicht NP-vollständig ist. siehe ( cstheory.stackexchange.com/a/4010/8985 )
Joe Bebel
@ JoeBebel Sehr guter Punkt - Ich habe meine Sprache leicht überarbeitet, um das widerzuspiegeln. Vielen Dank!
Steven Stadnicki
6

Diskrete Probleme sind in der Regel schwieriger (z. B. LP vs. ILP), aber nicht die Diskretion selbst ist das Problem. Die Einschränkungen beeinflussen, wie Sie Ihre Domain durchsuchen können. Sie können beispielsweise annehmen , dass Sie die Optimierung eines Polynoms effizient durchführen können, aber die Entscheidung über die Konvexität von Quartiken (Polynome 4. Grades) ist NP-schwer .

Das heißt, auch wenn Sie schon irgendwie das Optimum haben, es ist schon NP-schwer zu beweisen, dass Sie am Optimum sind.

Mehrdad
quelle
Ich denke, die Diskretion ist auch ein Teil des Problems. Nehmen wir zum Beispiel an, Sie hätten eine ILP-Variante von LP. Sie können zum Beispiel versuchen, die Lösung für die LP-Variante zu finden, aber dann müssen Sie noch nach 2^n" interessanten Nachbarn " suchen.
Willem Van Onsem
@ CommuSoft: Nicht wirklich ... die Diskretion ist nicht das Problem. Schauen Sie sich das Problem des kürzesten Pfades an , das ein diskretes Problem ist, sich jedoch auf einen Sonderfall der integralen linearen Programmierung beschränkt , der P-Zeit lösbar ist (nicht zu verwechseln mit der ganzzahligen linearen Programmierung , die offensichtlich NP-schwer ist).
Mehrdad
Das ist nicht wirklich überraschend: Da die ganzzahlige lineare Programmierung NP-vollständig ist, kann jedes Problem in P (das in Polyzeit gelöst werden kann) in ein ILP-Problem in Polyzeit transformiert werden.
Willem Van Onsem
@ CommuSoft: Hast du den Kommentar vollständig gelesen? Ich spreche nicht von ILP.
Mehrdad
Entschuldigung, zu schnell gelesen. Das liegt aber immer noch daran, dass die Einschränkungen total unimodular sind. Nur durch die "Gnade" gut strukturierter Einschränkungen können solche Probleme leicht gelöst werden. Im Allgemeinen ist Diskretisierung ein problematischer Aspekt bei Problemen.
Willem Van Onsem
5

Obwohl es für einige populäre Probleme in der Tat wahr ist, denke ich, dass beide Annahmen - je nachdem, was Sie als Optimierungsproblem definieren - nicht wahr sind.

Zunächst einige Definitionen: Die meisten Optimierungsprobleme sind nicht Teil von NP . Zum Beispiel für das Knapsack-Problem : Man kann den Nicht-Determinismus nicht ausnutzen, um die wertvollste Tasche zu konstruieren, einfach weil die verschiedenen nicht-deterministischen Zweige keinen gemeinsamen Speicher haben. NP wird auch als "polynomial verifizierbar" (Überprüfung eines Zertifikats) definiert [1, p. 34]. In diesem Fall ist das Zertifikat beispielsweise eine Tasche : eine Bitfolge, bei der, wenn das i- te Bit gesetzt ist, impliziert wird, dass das i- te Element Teil der Tasche ist. Sie können in der Tat in der Polynomzeit prüfen, ob eine solche Tasche wertvoller ist als ein vorgegebener Schwellenwert (dies ist die Entscheidungsvariante)), aber Sie können - soweit wir wissen - nicht anhand eines einzelnen Beutels (einer Polynomzahl von Beuteln) entscheiden, ob dieser Beutel der wertvollste von allen möglichen Beuteln ist. Das ist ein entscheidender Unterschied zwischen beispielsweise NP und EXP : In EXP können Sie alle möglichen Taschen aufzählen und Buch führen, welche Tasche die beste ist.

Die Entscheidungsvariante der Optimierungsprobleme ist in einigen Fällen Teil von NP , man muss klar zwischen dem Maximierungsgeschmack und dem Entscheidungsgeschmack unterscheiden . Bei der Entscheidungsfindung lautet die Frage: " Bei gegebenem Optimierungsproblem und gebundenem Nutzen gibt es eine Lösung mit einem Nutzen, der größer oder gleich dem gebundenen Nutzen ist " (oder geringfügig modifiziert für ein Minimierungsproblem).

Ich gehe auch davon aus, dass Sie mit NP den (hypothetischen) Teil von NP meinen, der nicht Teil von P ist . Wenn P = NP ist , existiert NP-complete natürlich noch, aber es wird gleich P sein (fällt nur mit P für einige Reduktionsbegriffe zusammen, wie polynomielle Vielfachreduktionen von @ AndrásSalamon), was nicht so beeindruckend ist ( und würde die " Lücke " verringern, die Sie in Ihrer Frage angeben).

Ich stelle zunehmend fest, dass die meisten diskreten Probleme NP-vollständig sind.

Jetzt haben wir das geklärt: Es gibt viele Optimierungsprobleme in P : Problem mit dem kürzesten Pfad, Problem mit dem maximalen Durchfluss (für integrale Kapazitäten), minimaler Spannbaum und maximale Anpassung . Obwohl diese Probleme für Sie "trivial zu lösen" scheinen, handelt es sich dennoch um Optimierungsprobleme, und in vielen Fällen ist die Konstruktion (und der Nachweis der Richtigkeit) nicht so einfach. Die Behauptung hält also nicht alle diskreten Probleme für NP-vollständig. Da P nicht gleich NP ist , können diese Probleme nicht NP-vollständig sein .

ΣiP

Während die Optimierung kontinuierlicher Probleme fast immer leicht erreichbar ist.

Ein populäres kontinuierliches Problem, das NP-schwer ist, ist die quadratische Programmierung .

x

xTQx2+cTx

Axb

Eigentlich galt die lineare Programmierung lange Zeit auch als NP-hart , jedoch mit sehr guten Heuristiken (die Simplex- Methode). Karmarkar-Algorithmus ist jedoch in P .

Ab dem Moment, in dem sich das Optimierungsproblem mit nicht konvexen Objekten befasst, wird es im Allgemeinen schwierig - wenn nicht unmöglich - sein, einen effizienten Algorithmus zu finden.

Literaturverzeichnis

[1] Computational Complexity, ein moderner Ansatz , Sanjeev Arora und Boaz Barak

Willem Van Onsem
quelle
2
Der Definitionen-Absatz ist in der Tat irgendwie verwirrt. Knapsack ist ein NP-Optimierungsproblem. Es ist nicht wahr, dass "es nicht bekannt ist", wenn sich die Optimierungsversion in NP befindet: es ist nicht einfach per Definition. Ich glaube auch nicht, dass wir ein Problem kennen, das NP-vollständig ist, wenn NP nicht gleich PIe ist. 3-SAT wird NP-vollständig sein, auch wenn P = NP ist (wenn P = NP, ist tatsächlich jedes Problem in P NP vollständig).
Sasho Nikolov
@ AndrásSalamon: Punkt genommen. Ich habe diesen Teil entfernt. Es war in der Tat ein bisschen schlampig.
Willem Van Onsem
@ AndrásSalamon: Das stimmt offensichtlich. Daher heißt es: " Wenn P nicht gleich NP ist, können diese Probleme nicht vollständig NP sein. "
Willem Van Onsem
@ AndrásSalamon: Nun, wenn P=NPjedes Problem in NP-complete per definitionem Teil von NP ist und somit um P erweitert wird , dann bedeutet P , dass es einen Polynomalgorithmus gibt. Der Punkt ist, ich denke, die Transformation spielt keine Rolle, weil für jede Sprache in P ein Polynomalgorithmus existieren muss. Ob Sie die (höchstens polynomielle) Transformation durchführen oder nicht, ist unerheblich. Es bleibt Polynom, also in P . Mit anderen Worten, da sich das ursprüngliche Element in P befindet , können Sie jede Poly-Time-Transformation kostenlos durchführen (was nicht zu einer höheren Komplexitätsklasse führt).
Willem Van Onsem
2
Knapsack als Optimierungsproblem ist sicherlich nicht NP-vollständig, da es kein Entscheidungsproblem ist, also nicht in NP. Auf jeden Fall verstehe ich, was Sie sagen, aber ich denke, dass diese Art von Details für Studenten in einem Forum auf Forschungsebene wie CStheory @ SE für selbstverständlich gehalten werden sollte, so wie ich keine Erklärung erwarte darüber, wie Konvergenz in der Wahrscheinlichkeit nicht mit fast sicherer Konvergenz auf Mathoverflow identisch ist.
Sasho Nikolov