Sto rispondendo a una delle tue due domande, riguardo al problema dell'arresto.
In primo luogo, l'indecidibilità del problema di arresto non afferma che non è possibile decidere se un determinato TM non si ferma. Indica che non esiste un algoritmo generale che può decidere ciò per tutte le TM.
Questa è una dichiarazione sui nostri modelli di ciò che costituisce il calcolo. Ma, secondo la tesi della Chiesa di Turing, questo è tutto ciò che dobbiamo esprimere computazione.
Per quanto riguarda la rilevanza, si basa su macchine di Turing costruite artificialmente. Ma poi, tutte le TM sono piuttosto artificiali e costruite solo per affermare alcuni fatti sul calcolo. Se alcuni TM sono più rilevanti di altri nella pratica è una domanda tanto importante quanto il sesso degli angeli o il numero di essi che possono stare sulla testa di un ago.
L'indecidibilità del problema di arresto ci dice che ci sono domande generali che non possono essere risolte con una tecnica generale applicabile a tutti i casi. Quello che intendo per domanda generale è una domanda che dipende da alcuni parametri, in cui si trova la risposta per alcuni valori dei parametri.
Ricordiamo che lo scopo di gran parte della nostra matematica è trovare tecniche generali per risolvere una famiglia di problemi. Un esempio tipico è la risoluzione delle equazioni. L'indecidibilità del problema di arresto ci dice che ciò non è sempre possibile.
Ad esempio, può essere usato per dimostrare che non esiste una tecnica generale per decidere se una grammatica senza contesto è ambigua.
Tuttavia, la tua domanda è valida. È possibile che un problema sia indecidibile perché lo hai reso un po 'troppo generico. Probabilmente, limitandolo un po ', puoi renderlo decidibile per sottofamiglia utile e ancora abbastanza grande.
Non ho in mente un esempio spettacolare, ma sono sicuro che ce ne devono essere alcuni.
Ricordo un vero caso di un problema di analisi del programma che è stato dimostrato NP completo (a meno che non fosse indecidibile, non ricordo bene). Contro ogni consiglio, uno studente di dottorato ha deciso di affrontarlo comunque. In realtà è stato in grado di dimostrare che alcune restrizioni sul problema, che non avevano molta importanza nella pratica, lo hanno trasformato in un problema molto trattabile, consentendo in tal modo l'uso di vari strumenti di analisi e ottimizzazione del programma.