Techniken, um zu zeigen, dass das Problem in der Schwebe der Härte liegt


36

Angesichts eines neuen Problems in dessen wahre Komplexität irgendwo zwischen P und NP-vollständig liegt, gibt es zwei Methoden, von denen ich weiß, dass sie verwendet werden können, um zu beweisen, dass es schwierig ist, dies zu lösen:NPP

  1. Zeigen Sie, dass das Problem GI-vollständig ist (GI = Graph Isomorphism)
  2. Zeigen Sie, dass das Problem in . Nach bekannten Ergebnissen impliziert ein solches Ergebnis, dass, wenn das Problem NP-vollständig ist, PH auf die zweite Ebene zusammenbricht. Zum Beispiel macht das berühmte Protokoll für Graph Nonisomorphism genau das.coAM

Gibt es andere Methoden (möglicherweise mit unterschiedlichen "Glaubensstärken"), die angewendet wurden? Für jede Antwort ist ein Beispiel erforderlich, wo sie tatsächlich verwendet wurde: Natürlich gibt es viele Möglichkeiten, dies zu zeigen, aber Beispiele machen das Argument überzeugender.


12
Wenn ein Problem schwierig genug erscheint, Sie aber nicht nachweisen können, dass es sich um einen NPC handelt, müssen Sie die Anzahl der Zeichenfolgen mit der Länge n in der Sprache schnell überprüfen = NP nach Mahaneys Theorem) ... also ist es besser, die Bemühungen darauf zu lenken, zu beweisen, dass es in P ist :-) :-) Ein Beispiel aus Fortnow & Gasarchs Blog : {(n, k): Es gibt einen Weg, { 1, ..., n} in höchstens k Boxen, so dass keine Box x, y, z mit x + y = z} hat
Marzio De Biasi

5
@ MarzioDeBiasi klingt nach einer Antwort für mich.
Sasho Nikolov

2
Zu einer solchen Demonstration gehören zwei Teile: Zeigen der Schwierigkeit, das Problem in BPP zu platzieren, und Zeigen der Schwierigkeit, das Problem in die Klasse NP-complete zu platzieren. (Erinnern Sie sich, dass GI-Vollständigkeit nur bedeutet, "ist in GI und ist GI-schwer".)

1
+1 für Ricky Demer; Vielleicht möchten wir eine Liste von Methoden für den ersten Teil haben.
Pteromys

2
Bei Problemen in FNP ohne offensichtliche Entscheidungsversionen in NP ist PPAD eine nützliche (und wachsende) Klasse. PPAD-vollständige Probleme beinhalten viele Probleme beim Auffinden von Fixpunkten, zum Beispiel Nash-Gleichgewichte. Shivas Liste ist nützlich: cs.princeton.edu/~kintali/ppad.html
András Salamon

Antworten:


47

Zu zeigen, dass Ihr Problem in coAM (oder SZK) liegt, ist in der Tat eine der Hauptmethoden, um Beweise für "Härteprobleme" zu liefern. Daneben gibt es aber noch einige andere:

  • Zeigen Sie, dass Ihr Problem in NP ∩ coNP liegt. (Beispiel: Factoring.)
  • Zeigen Sie, dass Ihr Problem in quasipolynomialer Zeit lösbar ist. (Beispiele: VC-Dimension, ungefähr kostenlose Spiele.)
  • Zeigen Sie, dass Ihr Problem nicht schwerer ist, als Einwegfunktionen zu invertieren oder NP im Durchschnitt zu lösen. (Beispiele: Viele Probleme in der Kryptographie.)
  • Zeigen Sie, dass sich Ihr Problem auf (z. B.) Unique Games oder Small-Set Expansion reduziert.
  • Zeigen Sie, dass Ihr Problem in BQP liegt. (Beispiel: Faktorisierung, obwohl das natürlich auch in NP ∩ coNP ist.)
  • Schließen Sie große Klassen von NP-Vollständigkeitsreduzierungen aus. (Beispiel: Das Schaltungsminimierungsproblem, das von Kabanets und Cai untersucht wurde.)

Ich bin sicher, es gibt andere, die ich vergesse.


2
Das ist eine exzellente Liste, Scott!
Suresh Venkat

1
Nur neugierig ... welche dieser Techniken zeigen, dass das Problem in der Polynomzeit (oder RP oder BPP) wahrscheinlich nicht lösbar ist? Ich habe keine gesehen, die das zu tun schienen.
Philip White

2
Philip: Du hast recht, sie tun es nicht. Um den Beweis zu erbringen, dass ein bestimmtes NP-Problem nicht in P vorkommt, läuft alles darauf hinaus, (1) zu versuchen, es in P einzufügen, und zu versagen, und / oder (2) andere Probleme zu reduzieren, die die Leute nicht in P einbauen konnten, um dieses Problem zu lösen.
Scott Aaronson

23

Aus dem obigen Kommentar: Wenn ein Problem schwierig genug erscheint, Sie jedoch nicht nachweisen können, dass es NP-vollständig ist, müssen Sie die Anzahl der Zeichenfolgen mit der Länge in der Sprache schnell überprüfen : Wenn die Menge dünn ist, ist es Es ist unwahrscheinlich, dass es sich um einen NPC handelt, andernfalls ist P = NP nach Mahaneys Theoremn besser, die Bemühungen darauf zu richten, zu beweisen, dass es sich um P handelt :-) :-)

Ein Beispiel ist das Problem der Aufteilung von Zahlen in K-Boxen (aus dem Fortnow & Gasarch-Blog, Originalquelle: Doctor Ecco's Cyberpuzzles ):

{(n,k) there exists a way to partition  {1,...,n} into at most k boxes so that no box has x,y,z with x+y=z}


23

Hier sind drei Ergänzungen zu Scotts Liste:

  • Zeigen Sie, dass Ihr Problem in fewP ist. Dies bedeutet, dass die Anzahl der Lösungen durch ein Polynom begrenzt ist. (Beispiel: Turnpike-Problem). Es ist kein NP-vollständiges Problem bei einigen P bekannt. (unmöglich, es sei denn, ein paar P = NP).
  • Zeigen Sie, dass Ihr Problem vorliegt LOGNP oder in NP[lOG2n] (Kann mit einer begrenzten Anzahl nichtdeterministischer Bits gelöst werden. Beispiel Dominierendes Set-Problem bei Turnieren.)
  • Zeigen Sie, dass Ihr Problem eine subexponentielle Dichte hat (H. Buhrman und JM Hitchcock haben die untere Grenze der Dichte bewiesen (2nϵ), sofern die Polynomhierarchie nicht zusammenbricht. Daher keineNP-komplettes Set muss einiges haben ϵ>0 so dass für unendlich viele ganze Zahlen n0Das Set enthält mindestens 2nϵ Saiten von Länge n. ). Dies ist ein viel stärkerer Beweis als nur Sparsamkeit (wie in Marzios Antwort angegeben).

H. Buhrman und JM Hitchcock, NP-Hard Sets sind exponentiell dicht, es sei denn cONPNP/pOly, In der IEEE-Konferenz zu Computational Complexity, Seite 1–7, 2008


1
Oder sogar in UP (nicht nur FewP)!
Joshua Grochow
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.