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


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:N→NM1nx↦T(|x|)O(T(n))

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

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

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


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

f(n)=n

f(n)=n+1

2

EXP−TIME=EXP−SPACEEXP−SPACE−COMPLETEL∈EXP−SPACEL⊆{0,1}∗k∈NLM2nk

f(n)={8n+2if (first ⌊⌊log⁡n⌋+1k⌋ bits of bin(n))∈L8n+1else

2nffL

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

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