Problema de decisão, de modo que qualquer algoritmo admita um algoritmo exponencialmente mais rápido

19

Em Algorithmics for Hard Problems, de Hromkovič (2ª edição), existe este teorema (2.3.3.3, página 117):

Existe um problema de decisão (decidível) tal que, para todo algoritmo que resolve existe outro algoritmo que também resolve e cumpre adicionalmenteA P A PPAPAP
nN.TimeA(n)=log2TimeA(n)

AnTimeA(n) é o pior tempo de execução de em entradas de tamanho e significa "para todos, exceto muitos".An

Uma prova não é fornecida e não temos idéia de como fazer isso; é bastante contra-intuitivo, na verdade. Como o teorema pode ser provado?

Rafael
fonte
1
Para o título, talvez algo como: "Existe um problema de decisão para o qual qualquer algoritmo de solução pode ser aprimorado?" Dito isto, é apenas um tiro no escuro, mas não poderia ser o caso de um caso degenerado de um problema de decisão trivial? De alguma forma, se você inverte a igualdade, significa que sempre é possível resolver um problema da "pior maneira" (executando etapas inúteis). Mas isso é apenas um palpite.
Charles

Respostas:

12

Parece ser um caso simples do Teorema Speedup de Blum :

Dada uma medida de complexidade de Blum e uma função computável total com dois parâmetros, existe um predicado computável total (uma função computável com valor booleano), de modo que, para todo programa para , exista um programa para modo que, para quase todof g i g j g x f ( x , Φ j ( x ) ) Φ i ( x )(φ,Φ)fgigjgx

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

Apenas deixe a medida da complexidade ser a medida da complexidade do tempo (ie é a complexidade do tempo da máquina de Turing com o código ) e deixe .e f ( x , y ) = 2 yΦe(x)ef(x,y)=2y

Kaveh
fonte
2
+1: Aqui está um link para o artigo original: logic.cse.unt.edu/tarau/teaching/SoftEng/OLD/papersToDiscuss/… .
Aryabhata