Decidibilità della lingua del prefisso


9

A medio termine c'era una variante della seguente domanda:

Per una decidibile definire Mostra che non è necessariamente decidibile.Pref ( L ) = { x y  st  x y L } Pref ( L )L

pref(L)={X|y st XyL}
pref(L)

Ma se scelgo allora penso che sia anche , quindi decidibile. Anche dà lo stesso risultato. E poiché deve essere decidibile, non riesco a individuare il problema di arresto o simili. Pref ( L ) Σ L = LL=Σ*pref(L)Σ*L=L

  1. Come posso trovare tale che non è decidibile?Pref ( L )Lpref(L)
  2. Quali condizioni su renderanno determinabile e quali lo renderanno indecidibile?Pref ( L )Lpref(L)

Risposte:


9

Si noti che utilizzando un quantificatore esistenziale di fronte a una lingua decidibile possiamo ottenere qualsiasi re lingua, cioè ogni lingua re è espressibile come

{XΣ*|yΣ* X,yV}

dove è una lingua decidibile. Questi includono linguaggi indecidibili come .A T M = { e , x | e  codifica una macchina di Turing che accetta  x }V

UNTM={e,X |e codifica una macchina di Turing che accetta X}

L'unica differenza è che qui dobbiamo separata e noi stessi. Il trucco standard consiste nell'utilizzare un nuovo simbolo per separare le due parti (supponiamo che il separatore appartenga a ). Pertanto qualsiasi linguaggio re compreso quelli indecidibili possono essere espressi in questo formato.y yXyy

Per la seconda domanda, non esiste un modo algoritmico generale per verificare se i prefissi di un determinato linguaggio decidibile sono indecidibili. Ciò deriva dal teorema di Rice.


puoi dare esplicitamente la che crea A T M ? VUNTM
Ran G.

2
lascia che sia una stringa intesa a rappresentare un arresto che accetta il calcolo di M e su x , V controllerà se y è un calcolo accettante di M e su x . yMeXVyMeX
Kaveh,

Questa è una bella soluzione!
Ran G.

3

Meta-conoscenza: vuoi trovare un linguaggio non decidibile che abbia comunque delle proprietà computazionali. Un linguaggio arbitrario non decidibile probabilmente non ti condurrà molto lontano. Ma semi-decidibile ...


Suggerimento più forte: cos'è una lingua semi-decidibile? Significa che possiamo elencare le parole: è un insieme di parole tale che esiste un intero n tale cheun

u=f(n)

Fissare questa equazione per un po ', tenendo conto della decidibilità e dei prefissi.


Intuitivamente parlando, supponi di avere qualche e ti piacerebbe testare se è in P r e f ( L ) . In generale non farai meglio di controllare x a , x b , x a a , ecc. Dove a , b , sono le lettere dell'alfabeto. Questa è una funzione ricorsiva parziale che verifica l'appartenenza a P r e f ( L ) . Certo, sapevamo che P r e f ( L )XPref(L)Xun'XBXun'un'un',B,Pref(L)Pref(L)era già re; quello che dobbiamo mostrare è che a volte non esiste un metodo alternativo. Prendiamo un po 'di set che è re e non ricorsivo, e lascia che f sia un'enumerazione di S ( S = f ( x ) x N ).SNfSS=f(x)xN

Supponi che l'alfabeto contenga tre simboli , 1 e : (se hai solo due simboli { , } , codifica 0 come , 1 come e : come ). Se n N , lascia ˉ n essere n scritto in base 2 con i simboli 0 e 1 senza leader 0 .01:{,}01:nNn¯n010

Sia . In parole povere, prendiamo gli elementi di S e ci attacchiamo al loro indice di enumerazione. L è chiaramente decidibile (controlla che esista un singolo :, che le sequenze di due cifre non contengano 0 iniziali e che la sequenza di prima cifra comporti l'immagine per f del numero che la seconda incantesimi). Tuttavia, decidere se ˉ y è un prefisso di L equivale a decidere se y è presenteL={y¯:x¯y=f(x)}SL:0fy¯Ly , cosa che non puoi fare senza conoscere x poiché S non è ricorsivo per ipotesi. Formalmente, P r e f ( L ) non è decidibile, perché P r e f ( L ) { 0 , 1 } : = S : non è decidibile.SxSPref(L)Pref(L){0,1}:=S:

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.