Maschinen in P unentscheidbar?

7

Bei einer Turing-Maschine sagen wir, dass wenn die von der Maschine festgelegte Sprache von einer Maschine in Polynomzeit bestimmt werden kann. Wir sagen, dass wenn die Maschine in Polynomzeit läuft. Beachten Sie, dass es Maschinen geben kann, die unnötig lange laufen, aber dennoch eine Sprache in . Nach dem Satz von Rice wissen wir dasML(M)PMPP

{MM is a Turing machine such that L(M)P } unentscheidbar ist. Ist bekannt, ob:

{MM is a Turing machine such that MP } ebenfalls unentscheidbar ist?

Nic
quelle
1
Nach dem Satz von Rice haben Sie auch, dass diese Sprache unentscheidbar ist (nicht triviale Eigenschaft).
Tpecatte
2
Timot: Nein, der Satz von Rice gilt nicht für die zweite Sprache, denn ob keine Eigenschaft von . OP: Sie können die Antwort in cstheory.stackexchange.com/questions/5004MPL(M)
sdcvvc
Warum können Sie nicht denselben Diagonalisierungsbeweis wie Rices Theorem verwenden?
Tpecatte
Timot: Ich denke, der Beweis kann nicht wiederverwendet werden, da eine Nicht-P-Maschine möglicherweise eine P-Sprache entscheidet. Die zugrunde liegende Idee ist ähnlich, aber IMO nicht dieselbe.
SDCVVC

Antworten:

6

Hier ist eine Umschreibung des Beweises in der theoretischen Antwort. Wir reduzieren das Halteproblem. Angenommen, wir erhalten eine Maschine und müssen entscheiden, ob bei der leeren Eingabe anhält. Wir konstruieren eine neue Maschine , die eine einzelne Eingabe akzeptiert , die wie folgt funktioniert:MMMx

  1. Sei.n=|x|
  2. M führt für Schritte aus.Mn
  3. Wenn innerhalb von Schritten angehalten hat führt eine Dummy-Schleife aus, die die exponentielle Zeit . Ansonsten hält einfach an.MnMΩ(2n)M

Da Turing-Maschinen nur mit Polynom-Overhead simuliert werden können läuft in Polynom-Zeit , wenn nicht anhält . Wenn anhält, nimmt exponentielle Zeit in Anspruch. Daher hält an, wenn keine Polynomzeit ist.MMMMMM


Dies zeigt ganz allgemein, dass , auch wenn wir wissen , dass höchstens in der Zeit abläuft für einige superpolynomielle zeit konstruierbar , dann können wir nicht entscheiden , ob in Polynom Zeit abläuft.Mf(n)fM

Yuval Filmus
quelle
Ich habe einen Zweifel. Wenn M in Lauf stoppt in dann Läufe in Polynomzeit obwohl anhält. Vermisse ich etwas O(2n)MM
Sashas
@ Sasha Ich folge deiner Frage nicht.
Yuval Filmus
Ich habe Probleme zu sehen, ob die obige Reduzierung auch für funktioniert . L={<M>|M runs in P(n) steps where P(n) is some fixed polynomial}
Sashas
@ Sasha Ich sehe kein besonderes Problem.
Yuval Filmus
Wenn stoppt auf leere Eingabe in , Läufe in Polynomzeit. Vermisse ich etwas M2nM
Sashas
2

Die Art und Weise, wie Ihre zweite Sprache geschrieben ist, ist in Bezug auf normale Standards nicht genau formuliert. ist eine Reihe von Sprachen und keine Reihe von Maschinen. Basierend auf dem, was Sie im Rest Ihrer Frage gesagt haben, gehe ich davon aus, dass Sie versuchen, zwischen Maschinen zu unterscheiden, die höchstens polynomiell laufen, und solchen, die ein Problem in lösen . Vielleicht wäre dies ein besserer Weg, um es zu schreiben als:PP

A={M|(kx)M(x) halts in O(|x|k) time}

O kann durch ersetzt werden Θ Wenn Sie schwächere Computer wie Protokollzeit-TMs ausschließen möchten.

Beachten Sie, dass: A{M|L(M)P}

Wie von sdcvvc beobachtet , gilt der Satz von Rice hier nicht sofort und reicht nicht aus, da die verwendete "nicht triviale" Eigenschaft eine Eigenschaft von sein mussL(M). Eine an eine Maschine gebundene Zeit ist keine Eigenschaft der Sprache, sondern eine Eigenschaft dieser Maschine.

Eine Antwort für eine vorgegebene kwurde die theoretische Frage diskutiert, auf die in den Kommentaren Bezug genommen wird. Die Wahl dieser Konstante war der Schlüssel zum Beweis der Unentscheidbarkeit. In unserer Sprache enthalten wir allekN und haben daher kein Maximum k arbeiten mit.

Ich hatte keine Zeit, um ausreichend Nachforschungen anzustellen, aber ich stelle mir vor, dass es nicht unangemessen wäre, ihre Ergebnisse auf irgendwelche auszudehnen k>2 über direkte Induktion.

Ein aktuelles Papier geschrieben von David Gajser, der durch dem die cstheory Post motiviert war, antwortet eine verallgemeinerte Version dieser Frage:

Lassen HALTT(n)={M|xM(x) halts in at most T(n=|x|) time}

Für Einzelband-Turingmaschinen: HALTT(n) ist unentscheidbar, wenn T(n)=Ω(nlog(n))

Für Turingmaschinen mit mehreren Bändern: HALTT(n) ist entscheidbar iff T(n)k+1 für einige kN

Er erweitert diese Unentscheidbarkeitsergebnisse auf Klassen mit beliebig großen Konstanten (wie z P). Ihm zufolge ist die Antwort auf Ihre Frage, dass die Sprache (A) ist unentscheidbar.

mdxn
quelle
1
Ihre Quantifizierer erscheinen in der falschen Reihenfolge: es sollte sein k,CxM(x) halts after at most C|x|k steps.
Yuval Filmus
@ YuvalFilmus: Du bist richtig. Ich habe die Antwort aktualisiert, um dies widerzuspiegeln. Vielen Dank für den Hinweis.
mdxn