Algorithmus, dessen Laufzeit von P vs. NP abhängt


18

Gibt es ein bekanntes, explizites Beispiel für einen Algorithmus mit der Eigenschaft, dass dieser Algorithmus , wenn nicht in Polynomzeit und wenn dann in Polynomzeit ausgeführt wird?PNPP=NP


9
Art von. Wenn P = NP, wird der universelle Suchalgorithmus von Levin in Polynomialzeit ausgeführt, wenn Instanzen akzeptiert werden. De.wikipedia.org/wiki/…
Emil Jeřábek unterstützt Monica

@Emil: Wenn P = NP, dann auch P = coNP, können Sie dann nicht gleichzeitig nach dem Komplement Ihrer Sprache suchen und so auf allen Instanzen einen Poly-Time-Algorithmus liefern?
Joshua Grochow

3
@JoshuaGrochow Um die Sprache als coNP auszudrücken, würde ich muß zuerst wissen , den polytime Algorithmus für NP, den ganzen Zweck zu besiegen.
Emil Jeřábek unterstützt Monica

Antworten:


17

Wenn Sie annehmen, dass in PA (oder ZFC) nachweisbar ist, ist ein triviales Beispiel das folgende:P=?NP

Input: N   (integer in binary format)
For I = 1 to N do
begin
  if I is a valid encoding of a proof of P = NP in PA (or ZFC)
    then halt and accept
End
Reject

Ein weiteres - weniger triviales - Beispiel, das sich auf keine Annahme stützt, ist das Folgende:

Input: x   (boolean formula)
Find the minimum i such that
  1) |M_i| < log(log(|x|))  [ M_1,M_2,... is a standard fixed TM enumeration] 
  2) and  M_i solves SAT correctly 
       on all formulas |y| < log(log(|x|))
          halting in no more than |y|^|M_i| steps
          [ checkable in polynomial time w.r.t. |x| ]
  if such i exists simulate M_i on input x 
      until it stops and accept/reject according to its output
      or until it reaches 2^|x| steps and in this case reject;
  if such i doesn't exist loop for 2^|x| steps and reject.

Wenn der Algorithmus bald oder später - angenommen bei Eingabe von - den Index der Polynomzeit finden. Turing-Maschine (oder eine gepolsterte Version davon) , die SAT in löst und für alle Eingaben größer als wird es weiterhin simuliert und in der Polynomzeit angehalten (beachten Sie, dass Schritt 2 auch in der Polynomzeit überprüft werden kann). Mit anderen Worten, wenn ist, löst der Algorithmus SAT in Polynomzeit auf allen außer einer endlichen Anzahl von Instanzen.P=NPx0MSATO(|x||MSAT|)x0P=NP

Wenn , läuft der Algorithmus in exponentieller Zeit.PNP


Wie entscheide ich schnell, ob "ich eine gültige Kodierung eines Beweises von P = NP in PA (oder ZFC) bin"?
User2925716

@ user2925716 Sie können dies in polynomialer Zeit tun (stellen Sie sich vor, dass eine Zeichenfolge , die den vollständigen Beweis in jedem vernünftigen Abzugssystem darstellt). I
Marzio De Biasi

2
Hohe Annahme.
Jirka Hanika

1
Wenn P ≠ NP ist, ist die Laufzeit des unbedingten Algorithmus (wie angefordert) superpolynomial, wenn NP jedoch nur sehr schwach superpolynomial und nicht exponentiell ist. Wir können den Algorithmus so ändern, dass er io-exponentiell ist, aber nachweislich exponentiell (im Gegensatz zu nur io-exponentiell), wenn P ≠ NP wahrscheinlich so schwer ist wie die Lösung von P = NP.
Dmytro Taranovsky

1
x|Mi|2x
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.