Kann die Codierungsmenge einer nicht trivialen Sprachklasse, die die leere Menge enthält, rekursiv aufzählbar sein?

8

Sei C eine nicht triviale Menge rekursiv aufzählbarer Sprachen ( CRE ) und sei L die Menge der Codierungen von Turing-Maschinen, die eine Sprache in C :

L={ML(M)C}

Angenommen, MloopyL , wobei Mloopy ein TM ist, das niemals anhält. Ich frage mich, ob es möglich ist, dass LRE ?

Durch den Satz von Rice weiß ich, dass LR (die Menge der rekursiven Sprachen), also entweder LRE oder L¯RE . Muss es die erste Option seit MloopyL ?

Zähler
quelle
1
Sie sollten Ihre Notation erklären. Was ist ? Was ist ? Was ist ? Das einzige, was Sie erklärt haben, war, wofür RE steht, und das ist das einzige, was Sie nicht erklären müssen. ML(M)L¯
Andrej Bauer
2
@AndrejBauer: Das ist ziemlich Standardnotation. Sie bedeuten, von links nach rechts, der Kodierung von M, die Sprache akzeptiert , und das Komplement von . ML
Raphael
Du meinst "also entweder oder ", nehme ich an? LREL¯RE
Raphael
1
Es gibt eine Erweiterung des Satzes von Rice, die die Bedingungen beschreibt, die . Ich könnte später Zeit haben, es zu schreiben, es sei denn, andere tun es. ABER wenn (was durch die Existenz von impliziert wird ), dann ist . Dies folgt auch aus Rices Thm mit dem Standardbeweis. LRECMloopLLRE
Ran G.
@ Raphael, du hast recht.
Zähler

Antworten:

3

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.CL1L2 CLREL1L2L2L1

Jetzt benötigen Sie aber , daher gilt der Satz und ist nicht rekursiv aufzählbar.CC2ΣL


  1. Der Wikipedia-Artikel ist schrecklich, Vorsicht!
Raphael
quelle
Kann ich behaupten, dass wir , da , die leere Turingmaschine erhalten, die kein Wort E t m L akzeptiert, und aufgrund des Reissatzes wissen wir, dass L R (alle Reisbedingungen) sind OK) also, weil E t m C o - R E wir bekommen, dass L R E ? L(Mloop)=EtmLLREtmCoRELRE
Zähler
@Numerator: Was ist Etm? In jedem Fall ist nicht unbedingt in c o - R E , also nein. Wenn es so wäre, würde diese Argumentation funktionieren, ja. Lco-RE
Raphael
4

Um Raphaels Antwort zu vervollständigen, gibt es eine Erweiterung des Satzes von Rice, die Folgendes besagt:

Verallgemeinerter Reissatz

Lassen eine Eigenschaft, und sei L S alle die TMs sein, die die Eigenschaft erfüllen S , das heißt, L S = { M | L ( M ) S } . Dann ist L SR E genau dann, wenn alle folgenden Bedingungen erfüllt sind:SRELSS

LS={ML(M)S}.
LSRE
  1. für jedes , wenn L 1S und L 1L 2 dann L 2S .L1,L2REL1SL1L2L2S
  2. wenn ist, existiert ein endliches L 2L 1, so dass L 2S ist .L1SL2L1L2S
  3. Die Sprache 'aller endlichen Sprachen in ' ist in RE. (mit anderen Worten gibt es ein TM M S , das, wenn L eine endliche Sprache ist L = { w 1 , w 2 , ... w k ) , und ( w 1 , w 2 , ... , w k ) zu gegeben M S als Eingabe akzeptiert M nur, wenn L S ist .S
    MSLL={w1,w2,wk)(w1,w2,,wk)MSMLS

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 .MloopyLL(Mloopy)CL(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 .LLC=RECRELRE

Ran G.
quelle
Gibt es eine Quelle, aus der ich mehr über diesen Satz erfahren kann? Ich konnte online keine finden, die zufriedenstellend war.
Gokul
1
@ Gokul Mir wurde gesagt, dass dieser Satz im Buch von Hopcroft, Motwani, Ullman erscheint, aber nur in seiner ersten Version (anscheinend wurde er in späteren Versionen entfernt).
Ran G.
@Ran G. Ich konnte das erwähnte Buch nicht finden, um dies zu überprüfen, aber # 3 scheint falsch zu sein, da für die Sprache aller endlichen Sprachen nicht R E ist . Sie könnten eher eine andere ähnliche Bedingung meinen: x ( x L S.S=RERE , wobei D die kanonische Codierung ist endlicher Sprachen, W der Standard Auszählung von R E Sprachen und f einige völlig berechenbare Funktion. In diesem Fall ist dieser Zustand allein äquivalent zu L S ist , R E . (Siehe H. RogersTheorie der rekursiven Funktionen und der effektiven Berechenbarkeit, S. 324) Obwohl Nr. 1 und Nr. 2 hier ausreichend sind. x(xLSu(Df(u)Wx))DWREfLSRE
Beleg
@ Beleg Ich verstehe nicht, warum es falsch ist. Wenn dann ist jede endliche Sprache in S , daher ist das TM, das eine beliebige Zeichenfolge (oder besser gesagt eine gut formatierte Zeichenfolge) akzeptiert, ein Entscheider für die Menge aller endlichen Sprachen in S. Wenn Sie immer noch nicht einverstanden sind, fahren wir fort im Informatik-Chat . S=RES
Ran G.
0

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.LC=RELL=NL

Ich vermute, Sie haben die Frage falsch formuliert.

Andrej Bauer
quelle
Das OP schloss . RE
Raphael
@ Raphael Ich bin mir nicht sicher (es hängt davon ab, ob als streng gedacht war), aber wenn es das ist, was die Frage interessant macht, nehmen wir an, dass C nicht die Gesamtheit von R E ist . CRE
Gilles 'SO - hör auf böse zu sein'
@Andrej Danke für die Antwort, aber Raphael hat recht, ich habe ausgeschlossen . RE
Zähler