Можно ли решить, является ли данный алгоритм асимптотически оптимальным?

11

Есть ли алгоритм для решения следующей задачи:

При заданной машине Тьюринга которая определяет язык L , существует ли машина Тьюринга M 2, решающая L так , что t 2 ( n ) = o ( t 1 ( n ) ) ?M1L
M2Lt2(n)=o(t1(n))

Функции и t 2 являются наихудшим временем работы машин Тьюринга M 1 и M 2 соответственно.t1t2M1M2

А как насчет космической сложности?

StaticBug
источник
1
Ответ определенно нет. Известно, что определение времени работы ТМ в худшем случае неразрешимо.
Chazisop

Ответы:

9

Вот простой аргумент, чтобы показать, что они неразрешимы, то есть нет алгоритмов, чтобы проверить, является ли данный алгоритм оптимальным с точки зрения времени выполнения или использования памяти.

Мы сводим проблему остановки на пустой ленте к вашей проблеме оптимальности времени выполнения.

Пусть - заданная машина Тьюринга. Пусть N будет следующей машиной Тьюринга:M

: на входе n 1. Запустите M на чистой ленте для (не более) n шагов. 2. Если M не останавливается за n шагов, запустите цикл размером 2 n , затем верните NO. 3. В противном случае верните ДА.Nn
Mn
Mn2n

Есть два случая:

  1. Если не останавливается на пустой ленте, машина N будет работать на Θ ( 2 n ) шагов на входе n . Таким образом, его время работы составляет Θ ( 2 н ) . В этом случае N , очевидно, не является оптимальным.MNΘ(2n)nΘ(2n)N

  2. Если останавливается на пустой ленте, то машина N будет работать с постоянным числом шагов для всех достаточно больших n , поэтому время работы O ( 1 ) . В этом случае N , очевидно, оптимально.MNnO(1)N

Короче говоря:

M halts on blank tape N is optimial 

MNNM

Аналогичный аргумент можно использовать для пространства, т. Е. Также неразрешимо проверить, является ли данная машина Тьюринга оптимальной с точки зрения пространства, которое она использует.

Даже более сильное утверждение верно: мы не можем решить, является ли данная вычислимая функция верхней границей временной сложности вычисления данной вычислимой функции. Аналогично для космоса. Т.е. даже базовая теория сложности не может быть автоматизирована алгоритмами (что можно считать хорошей новостью для теоретиков сложности;).

Кава
источник
M1
nnYESNn0nn0M
Ах, вопрос изменился с тех пор, как я последний раз его читал. Ничего.
Рафаэль
@ PålGD, я думаю, что OP использовал это в качестве примера (основываясь на оригинальном вопросе, опубликованном в cstheory). Вы можете проверить комментарии под этим вопросом.
Каве
2

Как уже упоминалось, ответ - нет.

Но есть интересная статья, написанная Блюмом " Машинно-независимая теория сложности рекурсивных функций ". Он показал, что есть некоторые функции, обладающие тем свойством, что независимо от того, насколько быстрой может быть программа для вычисления этих функций, существует другая программа для их вычисления намного быстрее .

очень хорошая собственность!

Реза
источник
-3

Ха! Если бы ответ был да, мы бы жили в другом мире.

A0ALA0A

К сожалению, это невозможно, и я лично считаю, что доказательство (нетривиальной) оптимальности является наиболее интересной (и сложной) проблемой в информатике. Насколько я знаю - я был бы рад исправить - нет результата оптимальности для любой полиномиальной задачи (кроме тривиальных результатов оптимальности курса алгоритмов, занимающих время, пропорциональное размеру входных данных).

т к т
источник
1
Ω(N)
1
Ω(nlogn)
@vonbrand - это то, что я имел в виду под алгоритмами, принимающими пропорционально размеру ввода.
т к т
1
@ttothet Хорошо, я боюсь, что это будет бесплодно, но я попробую еще раз. 1) Нет, совсем нет. Если вы сохраняете только один шаг на каждом входе, у вас есть лучший алгоритм, чем раньше, даже если он имеет такое же асимптотическое время выполнения. 2) Нет, это не так. Это также может означать «я не знаю, но если да, то X». Это не редкость (ср. P? = NP). 3) Вы утверждали , что не были ни одного нетривиальных нижних границ (на асимптотике, я полагаю) вообще . Это не правильно. Сделай свою домашнюю работу, пожалуйста.
Рафаэль
1
@ MartinJonáš Я имею в виду 2-лентную машину Тьюринга. У Каве есть смысл: доказательство теоремы иерархии времени дает многоплановые проблемы со сколь угодно высокой сложностью, но примеры не совсем естественны и не кажутся слишком явными. Кроме того , никакой иерархии не известна вероятностное время, так что мы на самом деле нет ничего.
Сие Николы