Sei eine nicht triviale Menge rekursiv aufzählbarer Sprachen ( ) und sei die Menge der Codierungen von Turing-Maschinen, die eine Sprache in :
Angenommen, , wobei ein TM ist, das niemals anhält. Ich frage mich, ob es möglich ist, dass ?
Durch den Satz von Rice weiß ich, dass (die Menge der rekursiven Sprachen), also entweder oder . Muss es die erste Option seit ?
computability
turing-machines
Zähler
quelle
quelle
Antworten:
Nein, das ist nicht möglich. Es gibt eine erweiterte Version von Rices Theorem¹, um zu beweisen, dass ein Indexsatz nicht rekursiv aufzählbar ist.
In Ihrer Notation besagt der Satz, dass, wenn ein (nicht triviales) eine Sprache enthält, die eine richtige Obermenge nicht in , dann . Die Intuition ist, dass kein Algorithmus Codierungen von und ; sie können sich nicht entscheiden , dass die codierte Maschine hat nicht jedes Wort aus nehmen nach einer endlichen Menge an Zeit, die sie hatten.C L1 L2 C L∉RE L1 L2 L2∖L1
Jetzt benötigen Sie aber , daher gilt der Satz und ist nicht rekursiv aufzählbar.∅∈C C≠2Σ∗ L
quelle
Um Raphaels Antwort zu vervollständigen, gibt es eine Erweiterung des Satzes von Rice, die Folgendes besagt:
Nun zurück zur ursprünglichen Frage. Wir nun , dass so L ( ⟨ M l o o p y ⟩ ) ∈ C . Aber L ( ⟨ M l o o p y ⟩ ) = ∅ , da dieser TM nie stoppt. Dies bedeutet , dass ∅ ∈ C .⟨Mloopy⟩∈L L(⟨Mloopy⟩)∈C L(⟨Mloopy⟩)=∅ ∅∈C
Betrachten wir nun die erste Bedingung des obigen Satzes. ANY Sprache erfüllt ∅ ⊆ L . Um die Bedingung 1 zu erfüllen, muss also C = R E sein . Jedoch sind die Zustände , dass Frage C ⊊ R E und somit durch das Theorem, L ∉ R E .L ∅⊆L C=RE C⊊RE L∉RE
quelle
Es ist möglich, dass wird. Betrachten wir den Fall C = R E . Dann ist L die Menge aller Codes aller Turingmaschinen. Dies ist eine rekursive Menge. Abhängig von den Details der Codierung könnte L = N sein . Es ist also tatsächlich falsch, dass L nicht rekursiv sein kann.L C=RE L L=N L
Ich vermute, Sie haben die Frage falsch formuliert.
quelle