Mi chiedo se decidere la decidibilità del problema sia un problema decidibile. Immagino di no, ma dopo le ricerche iniziali non riesco a trovare alcuna letteratura su questo problema.
Mi chiedo se decidere la decidibilità del problema sia un problema decidibile. Immagino di no, ma dopo le ricerche iniziali non riesco a trovare alcuna letteratura su questo problema.
Risposte:
Importante modifica del mio originale:
Una lettura ingenua della tua domanda sembra essere, lascia che sia il problema
Data una lingua, L , è decidibile?
Quindi chiedi
è decidibile?
Come hanno notato DW e David, la risposta è "sì, lo è", anche se non sappiamo quale dei due banali decisori sia quello giusto. Per inquadrare il tuo problema in modo che non sia così banale, suggerirei questo. Innanzitutto, limitiamo leggermente le cose considerando solo le lingue che sono le lingue accettate da alcune TM M . La ragione per farlo è che se una lingua non è accettata da nessuna TM, allora non è ri (riconoscibile) e quindi non può essere ricorsiva (decidibile). Quindi possiamo rifondere come
Data una descrizione, ⟨ M ⟩ di una MT, M è L ( M ) decidibile?
Ora è una lingua di descrizioni TM, piuttosto che una lingua di lingue come P sembrava (sotto una generosa interpretazione), ed è ora perfettamente ragionevole chiedersi se la lingua P ′ sia decidibile. In questa lettura, il linguaggio { ⟨ M ⟩ | M è una TM e L ( M ) è decidibile } costituito da descrizioni TM non è decidibile. Questa è una facile conseguenza del teorema di Rice . Quindi ora abbiamo due risposte: il mio "no" e il "sì" di DW, a seconda dell'interpretazione.
Come abbiamo visto nelle diverse risposte, parte della risposta sta nel formulare il problema giusto.
Nel 1985 Joost Engelfriet scrisse "La non calcolabilità della calcolabilità" (Bollettino del numero EATCS 26, giugno 1985, pagine 36-39) come risposta a una domanda posta da uno studente intelligente. Sfortunatamente, i BEATCS erano in quel momento solo cartacei e l'articolo non lasciava tracce elettroniche.
L'autore assume che abbiamo un formalismo (logico) con i soliti operatori e variabili booleani. La sua definizione precisa non è importante. Una formula F ( m , n ) specifica una funzione f : N → N iff (per tutti m , n ∈ N ) f ( m ) = n ⇔ F ( m _ , n _ ) è vero, dove m _ è il numero che rappresenta il numero m .
Quoto:
La parte divertente è nella seguente osservazione fatta nel documento:
Sì. È sempre decidibile.
Per qualsiasi problema P, sia Q il problema nel determinare se P è decidibile o meno. Sostengo che Q sia decidibile. Ecco perché. Tautologicamente, o P è decidibile o non lo è. Quindi, uno dei due programmi è corretto: (1) print "yup P is decidable"
o (2) print "nope P is not decidable"
. Potrebbe non essere banale capire quale di questi due programmi è corretto, uno di questi è corretto, quindi sicuramente esiste un decisore per Q . Pertanto, il problema Q è decidibile.
Questo ricorda la seguente classica domanda: è decidibile dire se la congettura di Collatz è vera? La risposta è si. Questo potrebbe sembrare strano, poiché nessuno sa se la congettura di Collatz sia vera (è un famoso problema aperto). Tuttavia, ciò che sappiamo è che la congettura di Collatz è vera o no. Nel primo caso, il programma print "yup it's true"
è un decisore. In quest'ultimo caso, il programma print "nope it's not true"
è un decisore. Non sappiamo quale sia un decisore valido, ma questo è sufficiente per dimostrare l'esistenza di un decisore valido. Pertanto, il problema è decidibile.