Работать напрямую со сложностью времени или нижними границами схемы страшно. Следовательно, мы разрабатываем такие инструменты, как сложность запросов (или сложность дерева решений), чтобы справиться с нижними границами. Поскольку каждый запрос занимает по крайней мере один блок-шаг, а вычисления между запросами считаются бесплатными, сложность времени по меньшей мере столь же высока, как и сложность запроса. Однако можем ли мы что-нибудь сказать об увольнениях?
Мне интересно работать в классической или квантовой литературе, но я привожу примеры из КК, так как я более знаком.
В некоторых известных алгоритмах, таких как поиск Гровера и нахождение периода Шора, сложность времени находится в пределах логарифмических факторов сложности запроса. Для других, таких как проблема скрытой подгруппы, мы имеем сложность полиномиального запроса , но алгоритмы полиномиального времени не известны.
Поскольку существует потенциальный разрыв между временем и сложностью запроса, не ясно, что алгоритм оптимальной сложности времени должен иметь ту же сложность запроса, что и алгоритм оптимальной сложности запроса.
Есть ли примеры компромиссов между временем и сложностью запроса?
Существуют ли проблемы, когда самый известный алгоритм сложности времени отличается по сложности от лучшего алгоритма сложности запроса? Другими словами, можем ли мы выполнить больше запросов, чтобы упростить операции между запросами?
Или есть аргумент, который показывает, что всегда существует версия асимптотически оптимального алгоритма запроса, имеющая реализацию с асимптотически лучшей временной сложностью?