Problema decisionale tale che qualsiasi algoritmo ammette un algoritmo esponenzialmente più veloce


19

In Algorithmics for Hard Problems (2a edizione) di Hromkovič c'è questo teorema (2.3.3.3, pagina 117):

Esiste un problema di decisione (decidibile) tale che per ogni algoritmo che risolve esiste un altro algoritmo che risolve anche e soddisfa inoltrePP A PAPAP
nN.TimeA(n)=log2TimeA(n)

AnTimeA(n) è il tempo di esecuzione peggiore di su input di dimensione e significa "per tutti ma finitamente molti".An

Non viene fornita una prova e non abbiamo idea di come procedere; è abbastanza contro-intuitivo, in realtà. Come può essere dimostrato il teorema?


1
Per il titolo, forse qualcosa del tipo: "Esiste un problema decisionale per il quale è possibile migliorare qualsiasi algoritmo di risoluzione?" Detto questo, è solo un colpo nel buio, ma non potrebbe essere il caso che sia un caso degenerato per un banale problema di decisione? In qualche modo, se capovolgi l'uguaglianza, significa che è sempre possibile risolvere un problema nel modo "peggiore" (facendo passi inutili). Ma è solo una supposizione.
Charles

Risposte:


12

Sembra essere un semplice caso del Teorema Speedup di Blum :

Data una misura della complessità di Blum e una funzione calcolabile totale con due parametri, allora esiste un predicato calcolabile totale (una funzione calcolabile valutata booleana) in modo che per ogni programma per , esista un programma per modo che per quasi tuttif g i g j g x f ( x , Φ j ( x ) ) Φ i ( x )(φ,Φ)fgigjgx

f(x,Φj(x))Φi(x)

Basta lasciare che la misura della complessità sia la misura della complessità del tempo (cioè è la complessità temporale della macchina di Turing con codice ) e lasciare .e f ( x , y ) = 2 yΦe(x)ef(x,y)=2y


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.