Покажіть функцію яка може бути сконструйована простором, але не змінна за часом.
Чи пов’язана ця проблема з можливим поділом між класами складності DTIME (f (n)) та SPACE (f (n))?
Покажіть функцію яка може бути сконструйована простором, але не змінна за часом.
Чи пов’язана ця проблема з можливим поділом між класами складності DTIME (f (n)) та SPACE (f (n))?
Відповіді:
Функція - конструюється за часом, якщо є машина Тьюрінга M, яка на вході 1 n обчислює функцію x ↦ T ( | x | ) за час O ( T ( n ) ) .
Функція - простір, який можна сконструювати, якщо є машина Тьюрінга M, яка на вході 1 n обчислює функцію x ↦ S ( | x | ) у просторі O ( S ( n ) ) .
Деякі тексти вимагають, щоб функції, які можна сконструювати в часі / просторі, не зменшувались. Деякі тексти вимагають, щоб функції, що конструюються у часі, задовольняли , а функції, що конструюються простором, відповідають S ( n ) ≥ log n . Деякі тексти не використовують позначення O ( ⋅ ) у визначенні.
У будь-якому разі, легко показати, що кожна "звичайна" функція , що задовольняє f ( n ) ≥ log n і f ( n ) = o ( n ), може бути просто сконструйована, але не може бути сконструйована часом.
Проблема конструктивності безпосередньо не пов'язана з можливим поділом між класами складності DTIME (f (n)) та SPACE (f (n)). Однак у теоремі ієрархії часу і простору закладено конструктивність. Наприклад:
Теорема ієрархії часу Якщо , g - функціонально конструювані за часом функції, що задовольняють f ( n ) log f ( n ) = o ( g ( n ) ) , то D T I M E ( f ( n ) ) - це власне підмножина D T I M E ( g ( n ) ) .
Дивіться книгу Arora & Barak або Papadimitriou для отримання додаткової інформації. (Останній використовує термін "функція належної складності" для позначення тієї, яка може бути сконструйована як часом, так і простором.)
- простір, який може бути сконструйований, але не конструюється часом. Причина полягає в тому, що ви можете відобразити 1 n на бінарне представлення у просторі O ( log n ), а не у часі O ( log n ) .