DTIME

редактировать

В теории сложности вычислений, DTIME (или TIME ) - это вычислительный ресурс из времени вычисления для детерминированная машина Тьюринга. Он представляет собой количество времени (или количество этапов вычислений), которое «нормальный» физический компьютер потребовал бы для решения определенной вычислительной задачи с использованием определенного алгоритма. Это один из наиболее хорошо изученных ресурсов сложности, потому что он так близко соответствует важному реальному ресурсу (времени, которое требуется компьютеру для решения проблемы).

Ресурс DTIME используется для определения классов сложности, наборов всех задач принятия решений, которые могут быть решены с использованием определенного количества время вычисления. Если проблема размера ввода n может быть решена за O (f (n)) {\ displaystyle O (f (n))}O (f (n)) , у нас есть класс сложности DTIME (f (п)) {\ displaystyle \ mathrm {DTIME} (f (n))}{\ displaystyle \ mathrm {DTIME} (f (n))} (или TIME (f (n)) {\ displaystyle \ mathrm {TIME} (f (n))}{\ displaystyle \ mathrm {TIME} (f (n))} ). Нет ограничений на объем используемого пространства памяти , но могут быть ограничения на некоторые другие ресурсы сложности (например, чередование ).

Содержание
  • 1 Классы сложности в DTIME
  • 2 Модель машины
  • 3 Обобщения
  • 4 Ссылки
Классы сложности в DTIME

Многие важные классы сложности определены в терминах DTIME, содержащий все проблемы, которые могут быть решены за определенное количество детерминированного времени. Любая функция надлежащей сложности может использоваться для определения класса сложности, но только некоторые классы полезны для изучения. В общем, мы хотим, чтобы наши классы сложности были устойчивы к изменениям в вычислительной модели и были закрыты при составлении подпрограмм.

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

Хорошо известный класс сложности P включает в себя все проблемы, которые могут быть решены за полиномиальное количество DTIME . Формально его можно определить как:

P = ⋃ k ∈ NDTIME (nk) {\ displaystyle \ mathrm {P} = \ bigcup _ {k \ in \ mathbb {N}} \ mathrm {DTIME} (n ^ { k})}{\ displaystyle \ mathrm {P} = \ bigcup _ {к \ in \ mathbb {N}} \ mathrm {DTIME} (n ^ {k})}

P- наименьший надежный класс, который включает задачи линейного времени DTIME (n) {\ displaystyle \ mathrm {DTIME} \ left (n \ right)}{\ displaystyle \ mathrm {DTIME} \ left (n \ right)} (AMS 2004, Лекция 2.2, стр.20). P - один из классов наибольшей сложности, считающихся «вычислительно возможными».

Гораздо более крупный класс, использующий детерминированное время, - это EXPTIME, который содержит все проблемы, решаемые с помощью детерминированной машины в экспоненциальном времени. Формально

E X P T I M E = ⋃ k ∈ N D T I M E (2 n k). {\ displaystyle \ mathrm {EXPTIME} = \ bigcup _ {k \ in \ mathbb {N}} \ mathrm {DTIME} \ left (2 ^ {n ^ {k}} \ right).}{\ displaystyle \ mathrm {EXPTIME} = \ bigcup _ {k \ in \ mathbb {N}} \ mathrm {DTIME} \ left (2 ^ {n ^ {k}} \ справа).}

Классы большей сложности можно определить аналогично. В соответствии с теоремой об иерархии времени эти классы образуют строгую иерархию; мы знаем, что P ⊊ E X P T I M E {\ displaystyle \ mathrm {P} \ subsetneq \ mathrm {EXPTIME}}{\ displaystyle \ mathrm {P} \ subsetneq \ mathrm {EXPTIME} } и так далее.

Модель машины

Точная модель машины, используемая для определения DTIME, может изменяться, не влияя на мощность ресурса. Результаты в литературе часто используют многоленты машины Тьюринга, особенно при обсуждении очень малых временных классов. В частности, многолента-детерминированная машина Тьюринга никогда не может обеспечить более чем квадратичное ускорение по времени по сравнению с одинарной.

Мультипликативные константы в используемом количестве времени не изменяют мощность классов DTIME; Постоянное мультипликативное ускорение всегда можно получить, увеличивая количество состояний в конечном управлении. В утверждении Пападимитриу для языка L

Пусть L ∈ DTIME (f (n)) {\ displaystyle L \ in \ mathrm {DTIME} (f (n))}{\ displaystyle L \ in \ mathrm {DTIME} (f (n))} . Затем для любого ϵ>0 {\ displaystyle \ epsilon>0}\epsilon>0 , L ∈ DTIME (f ′ (n)) {\ displaystyle L \ in \ mathrm {DTIME} (f '(n))}{\displaystyle L\in \mathrm {DTIME} (f'(n))}, где f '(n) = ϵ f (n) + n + 2 {\ displaystyle f' (n) = \ epsilon f (n) + n + 2}{\displaystyle f'(n)=\epsilon f(n)+n+2}.
Generalizations

Используя модель, отличную от детерминированной машины Тьюринга, существуют различные обобщения и ограничения DTIME. Например, если мы используем недетерминированную машину Тьюринга, у нас есть ресурс NTIME. Связь между выразительными возможностями DTIME и других вычислительных ресурсов очень плохо изучена. Один из немногих известных результатов:

DTIME (O (n)) ≠ NTIME (O (n)) {\ displaystyle \ mathrm {DTIME} (O (n)) \ neq \ mathrm {NTIME} (O (n))}{\ displaystyle \ mathrm {DTIME} (O (n)) \ neq \ mathrm {NTIME} (O (n))}

для многоленточных машин. Это было расширено до

DTIME (O (n log ∗ ⁡ n)) ≠ NTIME (О (п ло g * ⁡ n)) {\ displaystyle \ mathrm {DTIME} (O (n {\ sqrt {\ log ^ {*} n}})) \ neq \ mathrm {NTIME} (O (n {\ sqrt {\ log ^ {*} n}}))}{\ displaystyle \ mathrm {DTIME} (O (n {\ sqrt {\ log ^ {*} n}})) \ neq \ mathrm {NTIME} (O (n {\ sqrt { \ log ^ {*} n}}))}

от Santhanam.

Если мы используем чередующуюся машину Тьюринга, у нас есть ресурс ATIME.

Список литературы
Последняя правка сделана 2021-05-16 09:34:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте