Gli insiemi di codifiche di una classe di lingue non banale che contiene l'insieme vuoto possono essere enumerabili ricorsivamente?


8

Permettere CC essere un insieme non banale di lingue ricorsivamente enumerabili (CRECR E) e lascia che sia l'insieme di codifiche delle macchine di Turing che riconoscono un linguaggio in :LLCCL={M|L(M)C}

L = { ML ( M) C}

Supponiamo che , dove è una TM che non si ferma mai. Mi chiedo se è possibile che L \ in \ mathrm {RE} ?MloopyLMl o o p yLMloopyMl o o p yLREL R E

Dal teorema di Rice so che (l'insieme delle lingue ricorsive), quindi o . Deve essere la prima opzione dopo ?LRL RLREL R E¯LREL¯¯¯¯R EMloopyLMl o o p yL


1
Dovresti spiegare la tua notazione. Che cos'è ? Che cos'è ? Che cos'è ? L'unica cosa che hai spiegato è ciò che rappresenta RE, ed è l'unica cosa che non devi spiegare. MML(M)L ( M)¯LL¯¯¯¯
Andrej Bauer,

2
@AndrejBauer: questa è una notazione abbastanza standard. Significano, da sinistra a destra, la codifica di M, il linguaggio accettato da , e il complemento di . MMLL
Raffaello

Intendi "quindi o ", presumo? LREL R E¯LREL¯¯¯¯R E
Raffaello

1
c'è un'estensione del teorema di Rice che descrive le condizioni che rendono . Potrei avere più tempo per scriverlo, a meno che altri non lo facciano. MA , se (che è implicato dall'esistenza di ), allora . Ciò deriva anche da quelli di Rice con la prova standard. LREL R ECCMloopLMl o o pLLREL R E
Ran G.

@Raphael, hai ragione.
Numeratore

Risposte:


3

No, non è possibile. Esiste una versione estesa del teorema di Rice¹ per dimostrare che un set di indici non è ricorsivamente enumerabile.

Nella tua notazione, il teorema afferma che se una (non banale) contiene una lingua che ha un superset corretto non in , allora . L'intuizione è che nessun algoritmo può separare le codifiche di e ; non possono decidere che la macchina codificata non accetta alcuna parola da dopo un periodo di tempo , cosa che hanno dovuto fare.CCL1L1L2L2 CCLREL R EL1L1L2L2L2L1L2L1

Ora hai bisogno di ma , quindi si applica il teorema e non è enumerabile ricorsivamente.CCC2ΣC2Σ*LL


  1. L' articolo di Wikipedia è orribile, attenzione!

Posso affermarlo da allora L(Mloop)=L (Ml o o p) = otteniamo quella macchina turing vuota, che non accetta alcuna parola EtmLEt m L e grazie al teorema di riso lo sappiamo LRL R (tutte le condizioni del riso sono OK) quindi perché EtmCo-REEt m Co - R E lo capiamo LREL R E?
Numeratore

@Numeratore: che cos'è Etm? In ogni caso,LL non è necessariamente in co-REc o - R E, quindi no. Se lo fosse, quel ragionamento funzionerebbe, sì.
Raffaello

4

per completare la risposta di Raffaello, c'è un'estensione del teorema di Rice che dice quanto segue:

Teorema di Rice generalizzato

Permettere SRESR E essere un po 'di proprietà e lasciare LSLS essere tutte le TM che soddisfano la proprietà SS, questo è, LS={M|L(M)S}.

LS= { ML ( M) S} .
Poi, LSRELSR Ese e solo se valgono tutte le seguenti condizioni:
  1. per ogni L1,L2REL1,L2R E, Se L1SL1S e L1L2L1L2 poi L2SL2S.
  2. Se L1SL1S allora esiste un finito L2L1L2L1 tale che L2SL2S.
  3. La lingua di "tutte le lingue finite in SS'è in RE.
    (in altre parole, esiste una TMMSMS quello, se LL è un linguaggio finito L={w1,w2,...wK)L = {w1,w2, ...wK), e (w1,w2,...,wK)(w1,w2, ... ,wK) è dato a MSMS come input, MM accetta solo se LSL S.

Ora torniamo alla domanda originale. Ora quelloMloopyLMl o o p yL così L(Mloopy)CL ( Ml o o p y) C. MaL(Mloopy)=L ( Ml o o p y) = poiché questa TM non si ferma mai. Ciò significa cheCC.

Ora diamo un'occhiata alla prima condizione del teorema sopra. QUALSIASI linguaLL soddisfa LL. Pertanto, per soddisfare la condizione 1, deve essere quelloC=REC= R E. Tuttavia, la domanda afferma cheCRECR E e quindi, dal teorema, LRELRE.


Esiste una fonte in cui posso saperne di più su questo teorema? Non sono riuscito a trovarne uno online soddisfacente.
Gokul,

1
@Gokul Mi è stato detto che questo teorema appare nel libro di Hopcroft, Motwani, Ullman, ma solo nella sua prima versione (apparentemente è stato rimosso nelle versioni successive).
Ran G.,

@Ran G. Non sono riuscito a trovare il libro citato per controllare questo, ma # 3 sembra sbagliato, dal momento che per S=RES=RE, la lingua di tutte le lingue finite non lo è RERE. Potresti piuttosto voler dire un'altra condizione simile:X(XLSu(Df(u)WX))x(xLSu(Df(u)Wx)), dove DD è la codifica canonica delle lingue finite, WW l'enumerazione standard di RERE lingue e ffqualche funzione totalmente calcolabile. In tal caso, questa condizione è unicamente equivalente aLSLS essere RERE. (Vedi la teoria delle funzioni ricorsive e della calcolabilità effettiva di H. Rogers p324 ) Anche se qui il numero 1 e il numero 2 sono sufficienti.
Beleg,

@Beleg Non vedo perché sia ​​sbagliato. SeS=RES=RE allora c'è qualsiasi linguaggio finito SS, quindi la TM che accetta qualsiasi stringa (o meglio, qualsiasi stringa ben formattata) è un decisore per l'insieme di tutte le lingue finite in S. Se non sei ancora d'accordo, continuiamo nella Chat di Informatica .
Ran G.

0

È possibile questo LLè un reimpostazione. Considera il casoC=REC=RE. PoiLLè l'insieme di tutti i codici di tutte le macchine di Turing. Questo è un set ricorsivo, infatti, a seconda dei dettagli della codifica, potremmo avereL=NL=N. Quindi in realtà è falsoLL non può essere ricorsivo.

Sospetto che tu abbia formulato erroneamente la domanda.


L'OP escluso RERE.
Raffaello

@Raphael non ne sono sicuro (dipende se era inteso come rigoroso), ma se è ciò che rende interessante la domanda, supponiamo CC non è tutto RERE.
Gilles 'SO- smetti di essere malvagio' l'

@Andrej Grazie per la risposta, ma Raphael ha ragione, l'ho escluso RERE.
Numeratore
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.