Ich habe eine verwandte Konsequenz gefunden.
, enthält , wobei . Es stellt sich heraus, dass dies gerade genug Zeit ist, um gegen zu diagonalisieren . Erstellen Sie insbesondere die folgende Maschine:NEXPDTIME(2O(t))t=nω(1)P/poly
Bei der Eingabe der Länge , betrachtet die Turingmaschine . Für jedes mögliche Beratung String der Länge und jeden möglichen bitstring der Länge , lief auf mit Rat , und lehnt nach Schritten , wenn Sie noch nicht angenommen haben. Notieren Sie Ihre Ergebnisse in einer Tabelle. Diese Prozedur wird in .xnnthMt bnMbatDTIME(2O(t))
Wenn bei Eingabe mindestens die Hälfte der Hinweiszeichenfolgen dazu führen, dass , definieren wir es stattdessen als korrekt, damit unser Algorithmus es akzeptiert (andernfalls ist es korrekt , wenn unser Algorithmus ablehnt). Jede Beratung Strings , die verursacht zu bekommen falsch (das heißt, zumindest die Hälfte Ratschläge Strings) jetzt bekommen geworfen aus dem Tisch. Wir wiederholen dann den Vorgang bei Eingabe : Wenn mindestens die Hälfte der überlebenden Hinweiszeichenfolgen dazu führen, dass wird, akzeptiert unser Algorithmus (und lehnt andernfalls ab). Fahren Sie so für alle Eingaben der Länge (obwohl wirklich nur0nMM0n0n−11Mnt von ihnen werden benötigt - nach so vielen Eingaben haben wir alle möglichen Ratschläge weggeworfen).
Diese Sprache kann eindeutig in , von dem wir angenommen haben, dass es sich um . Andererseits kann es nicht in : Der Satz von Eingaben der Länge diagonalisiert gegen die Aussicht, dass zur Entscheidung der Sprache verwendet wird.DTIME(2O(t))NEXPP/PolynMn
Wir erhalten also , was interessant wäre.NEXP⊄P/poly
Ich werde die Frage offen lassen, falls sich jemand etwas anderes einfallen lässt.