Kürzlich, als ich mit einem Physiker sprach, behauptete ich, dass meiner Erfahrung nach, wenn sich herausstellt, dass ein Problem, das naiv exponentiell zu dauern scheint, nicht trivialerweise in P oder BPP vorkommt, ein "übergeordneter Grund" für die Reduktion in der Regel identifiziert werden kann --- und fast immer gehört dieser Grund zu einer Liste von einem Dutzend oder weniger "üblichen Verdächtigen" (zum Beispiel: dynamische Programmierung, lineare Algebra ...). Das brachte mich jedoch zum Nachdenken: Können wir tatsächlich eine anständige Liste solcher Gründe aufschreiben? Hier ist ein erster, unvollständiger Versuch:
(0) Mathematische Charakterisierung. Problem hat eine nicht offensichtliche "rein mathematische" Charakterisierung, die es, sobald sie bekannt ist, sofort ermöglicht, eine vollständige Suche über eine Liste von Poly (n) möglichkeiten durchzuführen. Beispiel: Graphplanarität, für die ein O (n 6 ) -Algorithmus aus Kuratowskis Theorem folgt.
(Wie "planar" weiter unten ausführt, war dies ein schlechtes Beispiel: Auch wenn Sie eine kombinatorische Charakterisierung der Planarität kennen, ist die Angabe eines Polynom-Zeit-Algorithmus immer noch nicht trivial. Lassen Sie mich hier ein besseres Beispiel ersetzen: Wie wäre es Sagen wir: "Berechnen Sie bei einer Eingabe n in Binärform, wie viele Farben benötigt werden, um eine beliebige Karte mit n Löchern auf einer Oberfläche einzufärben." Es ist nicht von vornherein offensichtlich, dass dies überhaupt berechenbar ist (oder sogar endlich!). Aber es gibt eine bekannte Formel, die die Antwort gibt, und sobald Sie die Formel kennen, ist es trivial, sie in Polynomzeit zu berechnen. In der Zwischenzeit sollte "auf ausgeschlossene Minderjährige reduziert / Robertson-Seymour-Theorie" wahrscheinlich als separater übergeordneter Grund hinzugefügt werden, warum etwas sein kann in P.)
Jedenfalls ist dies nicht die Situation, die mich am meisten interessiert.
(1) Dynamische Programmierung. Das Problem kann auf eine Weise aufgeschlüsselt werden, die eine rekursive Lösung ohne exponentielle Aufblähung ermöglicht - oft, weil die zu erfüllenden Bedingungen in einer linearen oder einer anderen einfachen Reihenfolge angeordnet sind. "Rein kombinatorisch"; Keine algebraische Struktur erforderlich. Möglicherweise handelt es sich bei der Erreichbarkeit von Graphen (und damit bei 2SAT) um Sonderfälle.
(2) Matroids. Das Problem hat eine Matroid-Struktur, die es ermöglicht, dass ein gieriger Algorithmus funktioniert. Beispiele: Matching, Minimum Spanning Tree.
(3) Lineare Algebra. Das Problem kann auf das Lösen eines linearen Systems, das Berechnen einer Determinante, das Berechnen von Eigenwerten usw. reduziert werden. Die meisten Probleme, die "wundersame Annullierungen" beinhalten, einschließlich der Probleme, die durch Valiants Matchgate-Formalismus lösbar sind, fallen wahrscheinlich auch unter den linear-algebraischen Dach.
(4) Konvexität. Das Problem kann als eine Art konvexe Optimierung ausgedrückt werden. Semidefinite Programmierung, lineare Programmierung und Nullsummenspiele sind häufige (zunehmend) Spezialfälle.
(5) Polynomidentitätsprüfung. Das Problem kann auf die Überprüfung einer Polynomidentität reduziert werden, so dass das Fundamentalsatz der Algebra zu einem effizienten randomisierten Algorithmus führt - und in einigen Fällen, wie bei der Primalität, sogar zu einem nachweisbar deterministischen Algorithmus.
(6) Markov-Kette Monte Carlo. Das Problem kann auf die Probenahme aus dem Ergebnis einer schnell mischenden Wanderung reduziert werden. (Beispiel: Zählen Sie ungefähr die perfekten Übereinstimmungen.)
(7) Euklidischer Algorithmus. GCD, fortgesetzte Fraktionen ...
Verschiedenes / Unklar, wie genau zu klassifizieren ist: Stabile Ehe, Polynom-Faktorisierung, Mitgliedschaftsproblem für Permutationsgruppen, verschiedene andere Probleme in der Zahlentheorie und Gruppentheorie, Probleme mit niedrigdimensionalen Gittern ...
Meine Frage ist: Was sind die wichtigsten Dinge, die ich ausgelassen habe?
Um klarzustellen:
Mir ist klar, dass keine Liste vollständig sein kann: Unabhängig von der Anzahl der Gründe, die Sie angeben, kann jemand ein exotisches Problem finden, das in P vorkommt, aber aus keinem dieser Gründe. Teilweise aus diesem Grund interessieren mich eher Ideen, die viele verschiedene, scheinbar nicht miteinander verbundene Probleme in P oder BPP bringen, als Ideen, die nur für ein Problem funktionieren.
Mir ist auch klar, dass es subjektiv ist, die Dinge aufzuteilen. Sollten Matroiden beispielsweise nur ein Sonderfall der dynamischen Programmierung sein? Ist die Lösbarkeit durch Tiefensuche wichtig genug, um der eigene Grund zu sein, getrennt von dynamischer Programmierung? Häufig kann dasselbe Problem auch aus mehreren Gründen in P auftreten, je nachdem, wie Sie es betrachten: Beispielsweise ist das Finden eines Haupteigenwerts in P aufgrund der linearen Algebra, aber auch, weil es sich um ein konvexes Optimierungsproblem handelt.
Kurz gesagt, ich hoffe nicht auf ein "Klassifikations-Theorem" - nur auf eine Liste, die auf sinnvolle Weise das widerspiegelt, was wir derzeit über effiziente Algorithmen wissen. Deshalb interessieren mich vor allem die Techniken, um Dinge in P oder BPP zu setzen, die eine breite Anwendbarkeit haben, aber nicht in die obige Liste passen - oder andere Ideen, um meinen groben ersten Versuch zu verbessern, meinen Ruhm gegenüber dem Guten wieder gut zu machen Physiker.
quelle
Antworten:
Einige Graphenklassen erlauben Polynom-Zeit-Algorithmen für Probleme, die für die Klasse aller Graphen NP-schwer sind . Zum Beispiel kann man für perfekte Graphen einen größten unabhängigen Satz in der Polynomzeit finden (dank vzn in einem Kommentar zum Joggen meines Gedächtnisses). Dies ermöglicht über eine Produktkonstruktion auch eine einheitliche Erklärung dafür, dass mehrere scheinbar recht unterschiedliche CSPs nachvollziehbar sind (z. B. solche mit Baumstruktur, die normalerweise durch hierarchische Zerlegung gelöst werden, und die All-Different-Einschränkung, die normalerweise durch perfektes Matching gelöst wird).
Es könnte argumentiert werden, dass perfekte Graphen "einfach" sind, da sie nette semidefinite Programmierformulierungen der fraglichen Probleme ermöglichen (und daher unter lineare Algebra und / oder Konvexität fallen). Ich bin mir jedoch nicht sicher, ob dies vollständig erfasst wird.
András Z. Salamon und Peter G. Jeavons, Perfect Constraints are tractable , CP 2008, LNCS 5202, 524–528. doi: 10.1007 / 978-3-540-85958-1_35
Meinolf Sellmann, Das Polytop der Zufriedenheitsprobleme mit baumstrukturierten binären Bedingungen, CPAIOR 2008, LNCS 5015, 367–371. doi: 10.1007 / 978-3-540-68155-7_39
Wie Gil Kalai bemerkte, können Eigenschaften von Graphen, die kleinere geschlossene Klassen bilden, durch eine endliche Menge verbotener Minderjähriger definiert werden (dies ist das Robertson-Seymour-Theorem ). Ein weiteres Ergebnis von Robertson und Seymour ist, dass die Prüfung auf Anwesenheit eines Minderjährigen in kubischer Zeit durchgeführt werden kann. Zusammen führen diese zu einem Polynom-Zeit-Algorithmus, um Eigenschaften zu bestimmen, die geringfügig geschlossen sind.
Ein Problem mit geringfügig geschlossenen Diagrammeigenschaften besteht darin, dass sie "klein" sind. Das Ausschließen auch nur eines Minderjährigen schließt viele Diagramme aus. Dies ist vielleicht ein Grund, warum die Robertson-Seymour-Strukturzerlegung funktioniert: Es gibt nur noch wenige verbleibende Graphen, um eine schöne Struktur zu erhalten.
Ein Versuch, über kleinere geschlossene Klassen hinauszugehen, erfolgt über Klassen, die durch verbotene Untergraphen oder verbotene induzierte Untergraphen definiert sind.
Grapheneigenschaften, die durch eine endliche Menge verbotener Untergraphen oder induzierter Untergraphen definiert sind, können in der Polynomzeit durch Untersuchen aller möglichen Untergraphen entschieden werden.
quelle
Gitterbasierte Reduktion (LLL-Algorithmus). Dies ist die Grundlage für eine effiziente ganzzahlige Polynomfaktorisierung und einige effiziente kryptoanalytische Algorithmen wie das Aufbrechen von linear-kongruenten Generatoren und RSA mit niedrigem Grad. In gewissem Sinne können Sie den euklidischen Algorithmus als Sonderfall betrachten.
quelle
Lenstras ganzzahlige Programmierung in begrenzter Dimension, der Lenstra-Lenstra-Lovasz-Algorithmus und verwandte nachfolgende Algorithmen - Barvinoks Algorithmus für die Anzahl der ganzzahligen Lösungen eines IP-Problems in begrenzter Dimension und Kannans P-Algorithmus für das Frobenius / Sylvester-Problem können als hinzugefügt werden eine besondere Kategorie. Ein offenes Problem besteht darin, einen P-Algorithmus für Probleme höherer Ordnung in der Presburger Hierarchie zu finden.
Eine weitere erwähnenswerte Klasse von P-Algorithmen sind jene P-Algorithmen, die dem Objekt gegeben wurden und deren Existenz durch randomisierte Beweise nachgewiesen wurde. Beispiele: Algorithmen für Anwendungen von Lovasz-Local Lemma; Es ergeben sich algorimische Versionen der Spencer-Diskrepanz. (leicht abweichender Geschmack) algorithmische Versionen des Szemeredi-Regelmäßigkeits-Lemmas.
quelle
Es gibt eine große und immer noch wachsende Zahl von Theorien über Klassen von Bedingungserfüllungsproblemen mit festen Schablonen, die polynomielle Zeitalgorithmen haben. Ein Großteil dieser Arbeit erfordert die Beherrschung des Hobby- und MacKenzie-Buches , aber zum Glück für diejenigen von uns, die sich mehr für Informatik als für universelle Algebra interessieren, wurden einige Teile dieser Theorie jetzt so vereinfacht, dass sie einem TCS-Publikum zugänglich sind.
Die bisherigen Ergebnisse scheinen darauf hinzudeuten, dass es eine Art allgemeine Energietransformation eines zugrunde liegenden Erreichbarkeitszustandsraums geben sollte, die solche Probleme in Probleme mit einem konstanten Tupel in jeder Beziehung umwandeln kann, wie im obigen Beispiel. (Dies ist meine persönliche Interpretation der laufenden Forschung und kann völlig falsch sein , je nachdem, wie sich die Suche nach einem Algorithmus für Algebren mit zyklischen Begriffen entwickelt. Daher behalte ich mir das Recht vor, dies zu widerrufen.) Es ist bekannt, dass, wenn es keine gibt Ist eine solche Transformation nicht möglich, ist das Problem NP-vollständig. Die Grenze der Dichotomie-Vermutung besteht derzeit darin, diese Lücke zu schließen. Siehe die Liste der offenen Probleme aus dem Workshop 2011 zu Algebra und CSPs .
In beiden Fällen verdient dies wahrscheinlich einen Eintrag in Scotts Liste.
Eine zweite Klasse in PTIME ermöglicht die Anwendung lokaler Konsistenztechniken, um mögliche Lösungen zu bereinigen, bis entweder eine Lösung gefunden wird oder keine Lösungen möglich sind. Dies ist im Wesentlichen eine raffinierte Version der Art und Weise, wie die meisten Leute Sudoku-Probleme lösen. Ich denke nicht, dass dieser Grund derzeit in Scotts Liste enthalten ist.
Schließlich gibt es auch eine spannende Arbeit von Manuel Bodirsky für den Fall der unendlichen Domänen. Einige der Algorithmen sehen ziemlich seltsam aus und können letztendlich zu mehr Einträgen in Scotts Liste führen.
quelle
Ich sehe, dass Chandra darauf anspielt, aber ich denke, dass die Struktur einer LP-Relaxation (z. B. aufgrund totaler Unimodularität) eine allgegenwärtige Form der "Struktur" ist, die zur Polynomialität führt. Es berücksichtigt eine große Klasse von Polyzeitalgorithmen. Wenn man Versprechungsprobleme einbezieht, entfällt auch eine große Klasse von Approximationsalgorithmen. Die häufigsten Gründe, auf die man bei LPs und / oder SDPs stößt, sind die Gaußsche Eliminierung und die dynamische Programmierung. Natürlich gibt es auch andere Gründe wie holographische Algorithmen, für die es keine einfachen Erklärungen gibt.
quelle