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 das
unentscheidbar ist. Ist bekannt, ob:
ebenfalls unentscheidbar ist?
Antworten:
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:M M M′ x
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.M M′ M M′ M M′
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.M f(n) f M
quelle
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:P P
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 vorgegebenek wurde 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 allek∈N 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 auszudehnenk>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:
LassenHALTT(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 k∈N
Er erweitert diese Unentscheidbarkeitsergebnisse auf Klassen mit beliebig großen Konstanten (wie zP ). Ihm zufolge ist die Antwort auf Ihre Frage, dass die Sprache (A ) ist unentscheidbar.
quelle