C'è una nozione sensata di un algoritmo di approssimazione per un problema indecidibile?


48

Alcuni problemi sono noti per essere indecidibili, ma è comunque possibile fare qualche progresso per risolverli. Ad esempio, il problema dell'arresto è indecidibile, ma si possono fare progressi pratici nella creazione di strumenti per rilevare potenziali loop infiniti nel codice. I problemi di piastrellatura sono spesso indecidibili (ad esempio, questa piastrella in poliomino ha un rettangolo?), Ma è ancora possibile far avanzare lo stato dell'arte in quest'area.

Quello che mi chiedo è se esiste un metodo teorico decente per misurare i progressi nella risoluzione di problemi indecidibili, che assomigli all'apparato teorico che è stato sviluppato per misurare i progressi su problemi NP-difficili. O sembra che siamo bloccati con valutazioni ad hoc, so-progresso-quando-vedo-esso di quante scoperte particolari avanzano la nostra comprensione di problemi indecidibili?

Modifica : Mentre penso a questa domanda, mi viene in mente che forse la complessità parametrizzata può essere rilevante qui. Un problema indecidibile può diventare decidibile se introduciamo un parametro e ripariamo il valore del parametro. Non sono sicuro se questa osservazione sia di qualche utilità.


3
.. mi ricorda la teoria dell'interpretazione astratta.
Jagadish,

1
[Insieme al commento di Jagadish]: puoi dare un'occhiata al corso del MIT 16.399: Interpretazione astratta . In particolare, Lecture 3 potrebbe essere utile per il tuo caso.
MS Dousti,

6
L'ovvia misura che probabilmente non ti piacerà è semplicemente ordinare varie soluzioni parziali in base ai loro domini (ovvero, l'insieme di input su cui lavorano). Per cosa vorresti utilizzare la misura?
Andrej Bauer,

3
@Andrej: lasciami rispondere indirettamente alla tua domanda. Nel regno dei problemi NP-difficili, a volte abbiamo risultati molto piacevoli del modulo, "È possibile ottenere un rapporto di approssimazione simile e tale, e qualsiasi ulteriore miglioramento è impossibile a meno che P = NP". Essere in grado di dimostrare risultati analoghi per problemi indecidibili interessanti sarebbe bello. Ci darebbe la sensazione se esiste qualche barriera intrinseca a ulteriori progressi.
Timothy Chow,

proporre un concetto di "quasialgorithms" con alcune ricerche nell'area
vzn

Risposte:


30

Nel caso del problema di arresto, la risposta è "non ancora". Il motivo è che il metodo logico standard per caratterizzare quanto sia dura la prova di terminazione di un programma (es. Analisi ordinale) tende a perdere troppa struttura combinatoria e / o teorica dei numeri.

ω

Ciò significa che non esiste una netta relazione tra la forza dimostrativa-teorica del metalogico in cui si mostra la terminazione (questo è molto importante nella teoria della riscrittura, per esempio) e le funzioni che tecniche come la sintesi di funzioni di grado possono mostrare la terminazione per .

Per il calcolo lambda, abbiamo una precisa caratterizzazione della terminazione in termini di tipabilità: un termine lambda sta fortemente normalizzando se e solo se è tipizzabile sotto la disciplina del tipo di intersezione. Naturalmente, ciò significa che l'inferenza del tipo completo per i tipi di intersezione è impossibile, ma può anche fornire un modo per confrontare gli algoritmi di inferenza parziale.


6

Da un memorabile discorso di una persona che ha implementato un algoritmo che risolve un problema indecidibile: "Ci vogliono 2-3 secondi per tutti gli input che ho provato".


2

Questo sta rispondendo al titolo della domanda più che al suo contenuto, ma puoi anche considerare le "approssimazioni" del problema di arresto come algoritmi che ti daranno una risposta corretta su "quasi tutti" i programmi.

La nozione di "quasi tutti i programmi" ha senso solo se il tuo modello di calcolo è ottimale (nello stesso senso che per la complessità di Kolmogorov ), per evitare situazioni in cui la maggior parte dei tuoi programmi è banale.

Mn<nϵϵp>0

ρnρn<n

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.