Проблема рішення така, що будь-який алгоритм допускає експоненціально швидший алгоритм


19

У « Алгоритміці Громковича для важких проблем» (2-е видання) є ця теорема (2.3.3.3, стор. 117):

Існує (вирішальна) проблема рішення така, що для кожного алгоритму який вирішує існує інший алгоритм який також розв'язує і додатково виконуєA P A PPAPAP
nN.TimeA(n)=log2TimeA(n)

AnTimeA(n) - найгірший час виконання на входах розміру та означає "для всіх, але без кінцевих для багатьох".An

Доказів не надано, і ми не маємо уявлення, як це робити; насправді це досить контр-інтуїтивно. Як можна довести теорему?


1
Для заголовка, можливо, щось на кшталт: "Чи існує проблема рішення, щодо якої можна вдосконалити будь-який алгоритм вирішення?" Коли це було сказано, це просто постріл у темряві, але чи не могло бути так, що це вироджений випадок для тривіального рішення рішення? Як-небудь, якщо повернути рівність, це означає, що завжди можна вирішити проблему "найгіршим" способом (роблячи марні кроки). Але це лише здогадка.
Чарльз

Відповіді:


12

Здається, це простий випадок теорії про прискорення Блума :

Враховуючи міру складності Blum та загальну обчислювальну функцію з двома параметрами, тоді існує загальний обчислюваний предикат (обчислювана функція з булевим значенням), так що для кожної програми для існує програма для так що майже для всіхf g i g j g x f ( x , Φ j ( x ) ) Φ i ( x )(φ,Φ)fgigjgx

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

Нехай міра складності є мірою складності часу (тобто - часова складність машини Тьюрінга з кодом ), і нехай .e f ( x , y ) = 2 yΦe(x)ef(x,y)=2y


2
+1: Ось посилання на оригінальний документ: logic.cse.unt.edu/tarau/teaching/SoftEng/OLD/papersToDiscuss/… .
Ар'ябхата
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.