Явне розділення між конструктивністю часу та конструктивністю простору?


10

Покажіть функцію яка може бути сконструйована простором, але не змінна за часом.f(n)

Чи пов’язана ця проблема з можливим поділом між класами складності DTIME (f (n)) та SPACE (f (n))?


3
en.wikipedia.org/wiki/Constructible_function Наскільки мені відомо, це питання не пов'язане з TIME (f (n)) vs SPACE (f (n)), але зауважте, що ці два класи, як відомо, відрізняються. Шукайте статті «Про час у просторі», «Про час проти космосу II», «Про час проти простору ІІІ»
Райан Вільямс,

Швидке спостереження: я думаю, що проблема еквівалентна питанню, чи можуть DTIME (f (n)) ∩TALLY і SPACE (f (n)) ∩ТАРИНО відрізнятися для деякої функції, сконструйованої простором f (n), де TALLY є клас мов, які є підмножинами 1 ^ *.
Tsuyoshi Ito

На жаль, вони можуть бути не рівнозначними. Ось доказ одного напрямку. Якщо існує мова L = {1 ^ n | n∈S} ∈ TALLY∩ (SPACE (f (n)) ∖ DTIME (f (n))) для деякої функції, сконструйованої простором f (n), тоді і f (n), і f (n) + χ_S (n ) (де χ_S (n) є характерною функцією S), що можна сконструювати простором, але не обидва можуть бути сконструйовані часом, і, принаймні, одна з них є функцією, що може бути сконструйована простором, але не може бути сконструйована часом.
Tsuyoshi Ito

2
Завдяки Вашому коментарю, я знаю, що TIME (f (n)) міститься в SPACE (f (n) / log f (n)) Hopcroft et al., А останній належним чином міститься у SPACE (f (n )) за теоремою просторової ієрархії.
Тянь Лю

Завдяки Цуйоші, дуже розумним ідеям, якщо і f (n), і f (n) + χ_S (n) є конструктивними за часом, то ми можемо вирішити, чи n∈S не більше f (n) +1 часу, таким чином L ∈TALLY ∩ DTIME (f (n)), протиріччя. але чи можна назвати ваші конструкції "explict"? який з них не може бути сконструйований часом, f (n) або f (n) + χ_S (n)? "явним", якщо я маю на увазі, що ми можемо визначити значення f (n) для всіх n, то ваша конструкція є explict.
Тянь Лю

Відповіді:


6

Функція - конструюється за часом, якщо є машина Тьюрінга M, яка на вході 1 n обчислює функцію x T ( | x | ) за час O ( T ( n ) ) .T:NNM1nxT(|x|)O(T(n))

Функція - простір, який можна сконструювати, якщо є машина Тьюрінга M, яка на вході 1 n обчислює функцію x S ( | x | ) у просторі O ( S ( n ) ) .S:NNM1nxS(|x|)O(S(n))

Деякі тексти вимагають, щоб функції, які можна сконструювати в часі / просторі, не зменшувались. Деякі тексти вимагають, щоб функції, що конструюються у часі, задовольняли , а функції, що конструюються простором, відповідають S ( n ) log n . Деякі тексти не використовують позначення O ( ) у визначенні.T(n)nS(n)lognO()

У будь-якому разі, легко показати, що кожна "звичайна" функція , що задовольняє f ( n ) log n і f ( n ) = o ( n ), може бути просто сконструйована, але не може бути сконструйована часом.ff(n)lognf(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 ) ) .fgf(n)logf(n)=o(g(n))DTIME(f(n))DTIME(g(n))

Дивіться книгу Arora & Barak або Papadimitriou для отримання додаткової інформації. (Останній використовує термін "функція належної складності" для позначення тієї, яка може бути сконструйована як часом, так і простором.)


Дякую. Я віддаю перевагу визначенню того, що функція може бути сконструйована часом / простором, якщо є машина Тьюрінга, яка працює в точності, що кроки / стрічки квадратів. Звичайно, за теоремами лінійного прискорення часу / простору це еквівалентно визначенням вашого / підручника.
Тянь Лю

Sadeq, ваші визначення понять "конструкція часу" та "простір, що конструюється" є ідентичними словосполучення. Ви хочете сказати, що це лише дві різні назви для абсолютно одного поняття? Якщо ні, можливо, вам слід виправити свої визначення.
Іцц

Це просто помилка друку.
Цуйосі Іто,

Вибачте Іц. Я виправив друкарську помилку.
MS Dousti

4

- простір, який може бути сконструйований, але не конструюється часом. Причина полягає в тому, що ви можете відобразити 1 n на бінарне представлення у просторі O ( log n ), а не у часі O ( log n ) .f(n)=logn1nO(logn)O(logn)


Дякуємо за коментар та відповідь. Але чи можете ви показати функцію f (n), яка є принаймні лінійною, тобто f (n)> = n, для поділу? Здається, що побудована за часом функція не може бути меншою ніж n з видимої причини: доведеться читати всі вхідні біти, інакше аргумент супротивника може показати, що функція неправильно обчислена.
Тіан Лю

f(n)=n

f(n)=n+1

2

EXPTIME=EXPSPACEEXPSPACECOMPLETELEXPSPACEL{0,1}kNLM2nk

f(n)={8n+2if (first logn+1k bits of bin(n))L8n+1else

2nffL

Ця відповідь використовує ту саму ідею.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.