Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В теории сложности вычислений , в теоремах иерархии времени важные утверждения о время ограниченных вычислений на машинах Тьюринга . Неформально эти теоремы говорят, что чем больше времени, тем машина Тьюринга может решить больше проблем. Например, есть задачи, которые можно решить за n 2 раз, но не за n раз.

Теорема временной иерархии для детерминированных многоленточных машин Тьюринга была впервые доказана Ричардом Стернсом и Юрисом Хартманисом в 1965 году. [1] Она была улучшена год спустя, когда Хенни и Ричард Стернс повысили эффективность универсальной машины Тьюринга. . [2] Вследствие теоремы для каждого детерминированного класса сложности с ограниченной по времени существует строго больший по времени класс сложности, и поэтому ограниченная по времени иерархия классов сложности не разрушается полностью. Точнее, теорема об иерархии времени для детерминированных машин Тьюринга утверждает, что для всех функций f (п ),

.

Теорема об иерархии времени для недетерминированных машин Тьюринга была первоначально доказана Стивеном Куком в 1972 году. [3] Она была улучшена до нынешней формы с помощью комплексного доказательства Джоэлом Сейферасом, Майклом Фишером и Альбертом Мейером в 1978 году. [4] Наконец, в 1983 году. Станислав Жак добился того же результата с помощью простого доказательства, которому учат сегодня. [5] Теорема об иерархии времени для недетерминированных машин Тьюринга утверждает, что если g ( n ) - функция, которую можно построить во времени, и f ( n +1) = o ( g ( n )), то

.

Аналогичные теоремы для пространства - это теоремы о пространственной иерархии . Подобная теорема не известна для классов вероятностной сложности с ограничением по времени, если только у этого класса нет одного совета . [6]

Фон [ править ]

Обе теоремы используют понятие функции, построенной по времени . Функция занимает много времени конструктивно , если существует детерминированный машин Тьюринга такого , что для каждого , если машина запускается с входом п единиц, это будет после того, как остановить именно е ( п ) шагов. Все полиномы с неотрицательными целыми коэффициентами могут быть построены по времени, как и экспоненциальные функции, такие как 2 n .

Обзор доказательства [ править ]

Нам нужно доказать, что некоторый временной класс TIME ( g ( n )) строго больше некоторого временного класса TIME ( f ( n )). Мы делаем это, создавая машину, которая не может быть во ВРЕМЕНИ ( f ( n )), путем диагонализации . Затем мы показываем, что машина находится в ВРЕМЕНИ ( g ( n )), используя симулятор машины .

Теорема о детерминированной иерархии времени [ править ]

Заявление [ править ]

Теорема об иерархии времени. Если f ( n ) - функция, определяемая временем , то существует проблема решения, которая не может быть решена в наихудший детерминированный момент времени f ( n ), но может быть решена в наихудшем детерминированном времени f ( n ) 2 . Другими словами,

Примечание 1. f ( n ) не меньше n , поскольку меньшие функции никогда не могут быть построены по времени.

Примечание 2. В более общем плане можно показать, что если f ( n ) конструктивно во времени, то

Например, есть задачи, которые можно решить за время n 2, но не за время n , поскольку n находится в

Доказательство [ править ]

Мы включаем здесь доказательство того, что DTIME ( f ( n )) является строгим подмножеством DTIME ( f (2 n + 1) 3 ), поскольку это проще. См. Внизу этого раздела информацию о том, как распространить доказательство на f ( n ) 2 .

Чтобы доказать это, мы сначала определим язык следующим образом:

Здесь M - детерминированная машина Тьюринга, а x - ее вход (начальное содержимое ее ленты). [ М ] обозначает входной сигнал , который кодирует машину Тьюринга M . Пусть m - размер кортежа ([ M ], x ).

Мы знаем, что мы можем определить принадлежность H f с помощью детерминированной машины Тьюринга, которая сначала вычисляет f (| x |), затем записывает строку нулей такой длины, а затем использует эту строку нулей как «часы». или «счетчик» для имитации M не более чем на такое количество шагов. На каждом этапе моделирующей машине необходимо просмотреть определение M, чтобы решить, каким будет следующее действие. Можно с уверенностью сказать, что для этого требуется не более f ( m ) 3 операций, поэтому

Дальнейшее доказательство покажет, что

так что если мы подставим 2 n + 1 вместо m , мы получим желаемый результат. Предположим, что H f принадлежит этому классу временной сложности, и мы попытаемся прийти к противоречию.

Если H f находится в этом классе временной сложности, это означает, что мы можем построить некоторую машину K, которая, учитывая некоторое описание машины [ M ] и ввод x , решает, находится ли кортеж ([ M ], x ) в H f в пределах

Следовательно, мы можем использовать этот K для создания другой машины, N , которая принимает описание машины [ M ] и запускает K на кортеже ([ M ], [ M ]), а затем принимает, только если K отклоняет, и отклоняет, если K принимает. Если теперь n - длина входа в N , то m (длина входа в K ) вдвое больше n плюс некоторый символ-разделитель, поэтому m = 2 n + 1. Таким образом, время выполнения N равно

Теперь, если мы введем [ N ] в качестве входных данных в сам N (что делает длину n равной [ N ]) и зададим вопрос, принимает ли N свое собственное описание в качестве входных данных, мы получим:

  • Если N принимает [ N ] (что, как мы знаем, делает не более чем за f ( n ) операций), это означает, что K отклоняет ([ N ], [ N ]), поэтому ([ N ], [ N ]) не входит в H f , и, следовательно, N не принимает [ N ] в шагах f ( n ). Противоречие!
  • Если N отклоняет [ N ] (что, как мы знаем, делает не более чем за f ( n ) операций), это означает, что K принимает ([ N ], [ N ]), поэтому ([ N ], [ N ]) находится в H е , и , таким образом , N делает принять [ N в] е ( п ) шагов. Противоречие!

Таким образом, мы заключаем, что машины K не существует, и поэтому

Расширение [ править ]

Читатель, возможно, понял, что доказательство проще, потому что мы выбрали простое моделирование машины Тьюринга, для которого мы можем быть уверены, что

Было показано [7], что существует более эффективная модель моделирования, которая устанавливает, что

но поскольку эта модель моделирования довольно сложна, она здесь не включена.

Теорема о недетерминированной иерархии времени [ править ]

Если g ( n ) - функция, которую можно построить во времени, и f ( n +1) = o ( g ( n )), то существует проблема решения, которая не может быть решена за недетерминированное время f ( n ), но может быть решена. решается за недетерминированное время g ( n ). Другими словами, класс сложности NTIME ( f ( n )) является строгим подмножеством NTIME ( g ( n )).

Последствия [ править ]

Теоремы о временной иерархии гарантируют, что детерминированные и недетерминированные версии экспоненциальной иерархии являются подлинными иерархиями: другими словами, PEXPTIME2-EXP ⊊ ... и NPNEXPTIME2-NEXP ⊊ ....

Например, поскольку . Действительно, из теоремы об иерархии времени.

Теорема также гарантирует, что в P есть задачи, требующие решения сколь угодно больших показателей; другими словами, P не коллапсирует до DTIME ( n k ) для любого фиксированного k . Например, есть задачи, которые можно решить за n 5000 раз, но не за n 4999 раз. Это один из аргументов против тезиса Кобэма о том , что P - это практический класс алгоритмов. Если бы такой коллапс действительно произошел, мы могли бы вывести, что PPSPACE , поскольку это хорошо известная теорема, что DTIME ( f (n )) строго содержится в DSPACE ( f ( n )).

Однако теоремы иерархии времени не предоставляют средств для связи детерминированной и недетерминированной сложности или сложности времени и пространства, поэтому они не проливают света на большие нерешенные вопросы теории вычислительной сложности : будь то P и NP , NP и PSPACE , PSPACE и EXPTIME или EXPTIME и NEXPTIME равны или нет.

См. Также [ править ]

  • Теорема пространственной иерархии

Ссылки [ править ]

  1. ^ Хартманис, Дж . ; Стернс, RE (1 мая 1965 г.). «О вычислительной сложности алгоритмов» . Труды Американского математического общества . Американское математическое общество. 117 : 285–306. DOI : 10.2307 / 1994208 . ISSN  0002-9947 . JSTOR  1994 208 . Руководство по ремонту  0170805 .
  2. ^ Хенни, ФК; Stearns, RE (октябрь 1966 г.). «Двухленточное моделирование многоленточных машин Тьюринга». J. ACM . Нью-Йорк, Нью-Йорк, США: ACM. 13 (4): 533–546. DOI : 10.1145 / 321356.321362 . ISSN 0004-5411 . 
  3. ^ Кук, Стивен А. (1972). «Иерархия для недетерминированной временной сложности». Материалы четвертого ежегодного симпозиума ACM по теории вычислений . СТОК '72. Денвер, Колорадо, США: ACM. С. 187–192. DOI : 10.1145 / 800152.804913 .
  4. ^ Seiferas, Иоиль I .; Фишер, Майкл Дж .; Мейер, Альберт Р. (январь 1978 г.). «Разделение недетерминированных классов временной сложности». J. ACM . Нью-Йорк, Нью-Йорк, США: ACM. 25 (1): 146–167. DOI : 10.1145 / 322047.322061 . ISSN 0004-5411 . 
  5. ^ Ák, Станислав (октябрь 1983 г.). «Иерархия времени машины Тьюринга». Теоретическая информатика . Elsevier Science BV 26 (3): 327–333. DOI : 10.1016 / 0304-3975 (83) 90015-4 .
  6. ^ Fortnow, L .; Сантханам, Р. (2004). "Теоремы об иерархии для вероятностного полиномиального времени". 45-й ежегодный симпозиум IEEE по основам информатики . п. 316. DOI : 10.1109 / FOCS.2004.33 . ISBN 0-7695-2228-9.
  7. ^ Лука Тревизан, Заметки о теоремах иерархии , Калифорнийский университет в Беркли
  • Майкл Сипсер (1997). Введение в теорию вычислений . PWS Publishing. ISBN 0-534-94728-X. Страницы 310–313 раздела 9.1: Теоремы об иерархии.
  • Христос Пападимитриу (1993). Вычислительная сложность (1-е изд.). Эддисон Уэсли. ISBN 0-201-53082-1. Раздел 7.2: Теорема об иерархии, стр. 143–146.