Jedes Problem in NP liegt in EXPTIME, da Sie entweder die exponentielle Zeit verwenden können, um alle möglichen Zertifikate zu testen oder alle möglichen Berechnungspfade einer nicht deterministischen Maschine aufzulisten.
Formal gibt es zwei Hauptdefinitionen von NP . Eine ist, dass eine Sprache in NP ist, wenn es eine Beziehung R gibt, so dassLR
- es ist ein Polynom derart , daß für alle , ,p(x,y)∈R|y|≤p(|x|)
- Mit der Zeichenfolge können wir das inob undx#y|x#y|(x,y)∈R
- .L={x∣(x,y)∈R}
Wenn wir also eine exponentielle Zeit haben und wissen wollen, ob , können wir einfach alle | ausprobieren Σ | p ( n ) mögliche Werte für ~ y und sehen, ob ( x , y ) ∈ R für einen von diesen. Das braucht Zeit 2 O ( p ( n ) ) , also L ∈x∈L|Σ|p(n)y(x,y)∈R2O(p(n))L∈EXPTIME .
Alternativ können wir NP als die Menge von Sprachen definieren, die von nichtdeterministischen Turing-Maschinen mit Polynomzeit bestimmt werden. In diesem Fall sei angenommen, dass von der Maschine M in der Zeit p ( n ) für ein Polynom p für Eingaben der Länge n bestimmt wird . Dann trifft M höchstens p ( | x | ) nichtdeterministische Entscheidungen, während bestimmt wird, ob x ∈ L ist . Indem wir die Übergangsfunktion von M untersuchen , können wir eine Konstante k finden, so dass M höchstens hatLMp(n)pnMp(|x|)x∈LMkM nichtdeterministische Auswahlmöglichkeiten bei jedem Schritt der Berechnung (unabhängig von der Eingabe), so dass höchstens k p ( | x | ) = 2 O ( p ( | x | ) ) verschiedene Sequenzen nichtdeterministischer Auswahlmöglichkeiten beim Lesen der Eingabe x vorliegen . Bei gegebener exponentieller Zeit können wir jede dieser Möglichkeiten nacheinander simulieren und sehen, ob eine von ihnen akzeptiert.kkp(|x|)=2O(p(|x|))x