Мы можем абсолютно доказать такие вещи.
Многие задачи имеют тривиальные нижние границы, например, нахождение минимума из набора из чисел (которые никоим образом не отсортированы / не структурированы) занимает не менее Ω ( n ) времени. Доказательство этого простое: гипотетический алгоритм, который выполняется за o ( n ) время, не может проверить все числа на входе. Таким образом, если мы запустили алгоритм на каком-либо входе, мы могли бы заметить, что он никогда не проверял определенный элемент ввода. Изменяя этот элемент до минимума, мы можем заставить алгоритм потерпеть неудачу.NΩ ( n )o ( n )
Менее тривиальной нижней границей является нижняя граница для сортировки в модели, основанной на сравнении. Доказательство этого заключается в следующем: с учетом ввода n чисел существует n ! возможные выходы (вход может быть любой перестановкой отсортированного списка, поэтому выход также может быть любой перестановкой ввода). Если мы ограничены только выполнением сравнений, то нашему алгоритму (в среднем) необходимо выполнить как минимум log 2 ( n ! ) = Ω ( n log n ) сравнений, чтобы иметь возможность дать nΩ ( n logн )Nн !журнал2( n ! ) = Ω ( n logн )разные выходы.н !
Нижние границы могут быть еще сильнее. Существует несколько проблем (в частности, трудные задачи), для которых существует экспоненциальная нижняя оценка. Проблемы в этом классе включают вычисление оптимальных стратегий для таких игр, как (обобщенные) шахматы, шашки и го. Доказательством этого является теорема об иерархии времени , в которой говорится (с некоторыми ограничениями на f ):ЕИкспTяMЕе
Для данной функции существует вычислительная задача, которая может быть решена за время O ( f ( n ) ), но не может быть решена за время o ( f ( n )еO ( f( н ) ).o ( f( н )журналN)
Таким образом, в принципе, если вы можете думать о функции существует проблема, которая требует столько времени для ее решения.е
Наконец, еще один способ не обязательно доказать нижнюю границу времени, но что-то еще более сильное, показывает неразрешимость проблемы (например, остановка, переписка).