Вот именно, это направление меня интересует. Может кто-то знает, существует ли хоть один алгоритм, для которого доказано, что "не быстрее, чем за
"?
Так я же Вам объясняю: пусть есть задача, у которой длина входа
, тогда время работы алгоритма
(за исключением каких-нибудь дурацких задач типа "вернуть 1-й элемент из массива длины
").
Пример: вычислить сумму квадратных матриц
. Это нельзя сделать быстрее, чем за
просто потому, что в матрице
разных элементов и они независимы друг от друга; просто потому, чтобы написать ответ потребуется
элементов.
а в идеале - существует ли универсальный алгоритм-ускоритель
Смотря, что под этим понимается. Для вычисления конечной функции есть единственный универсальный вариант - полное упорядочивание входных данных (лексикографическое )и табулирование функции, оно работает за
, где
- максимальная длина значения функции. (тоже, давно известно, что поиск в массиве с произвольным свойствами невозможно выполнить быстрее чем за
, где
- длина массива, т.е. скорость поиска всегда
).
который любые программы с вложенными циклами может "распрямить", получить тот же результат без циклов?
Очевидно, что цикл "распрямить" нельзя. Просто потому, что длина входной задачи не ограничена. Например, дано
элементов, надо найти их сумму.
Уточню - можно ли получить ограниченный объём вычислений, не более
, с помощью универсального алгоритма-ускорителя?
Похоже, что уже бред пошел
Еще раз говорю: Вы не сформулировали вопрос нормально. Что такое "универсальный алгоритм-ускоритель"?
- это у Вас что? Откуда берется
?
Пока Вы будете изливать мутный поток сознания, ни разу не обработанный, помочь Вам никто не сможет.
Вопрос об универсальном алгоритме-ускорителе интересен и фундаментален.
Вопрос пока отсутствует.
Если есть универсальный алгоритм, то мы можем быстро получить доказательство любой теоремы (решение любой задачи), если такое вообще существует в природе.
Бред, доказательство теоремы -
-полная задача.