Відокремлення часових класів


16

Нещодавно мій студент задає таке питання:

DTIME(f(n))DTIME(g(n)).

DTIME(f(n))DTIME(g(n)).
h(n)h(n)DTIME(f(n))DTIME(h(n))DTIME(g(n))?
DTIME(f(n))DTIME(h(n))DTIME(g(n))?

Це, ймовірно, може бути показано істинним, побудувавши якщо є конструктивними за часом. Але в цілому я вважаю, що це повинно бути помилковим подібне до .h(n)h(n)f,gf,gDSPACE(o(log(log(n))))=DSPACE(1)DSPACE(o(log(log(n))))=DSPACE(1)


Це може залежати від точної моделі.

Згадана тут теорема про розрив Бородіна може бути актуальною: cstheory.stackexchange.com/questions/8583/…
Michael Wehar

Чи дозволяєте ви f ( n ) , g ( n ) = O ( 1 )f(n),g(n)=O(1) ? Тому що для деяких функцій, які скрізь дорівнюють нулю, повинен існувати приклад, крім першого місця. Як би там не було, це питання не має сенсу, якщо f gfg скрізь, окрім одного nn ?
domotorp

2
Мені шкода, що я зовсім не дотримуюся проблеми з f ( n ) , g ( n ) = O ( 1 ), як за визначенням D T I M E ( f ( n ) ) = D T I M E ( g ( n ) ) ? f(n),g(n)=O(1)DTIME(f(n))=DTIME(g(n))
С. Пек

Вибачте з цього приводу, я неправильно прочитав це питання, і мій попередній коментар не мав особливого сенсу. Я її зняв. Дякую.
Майкл Вехар

Відповіді:


8

Якщо D T I M E ( f ( n ) ) визначений як клас усіх мов, які можна визначити за час O ( f ( n ) ) двома стрічковими машинами Тюрінга, то я підозрюю, що відповідь - ні. Іншими словами, я думаю, що не завжди існує строго проміжний клас часової складності.DTIME(f(n))O(f(n))

Примітка. Ця відповідь може бути не точно тим, що ви шукаєте, тому що я розглядаю не обчислювані функції, і я не включаю кожну деталь аргументу. Але я відчув, що це гарний початок. Будь ласка, не соромтесь задавати будь-які питання. Можливо, я можу в якийсь момент додатково заповнити ці деталі або, можливо, це призведе до кращої відповіді зацікавленого читача.

Розглянемо функції виду F : NN . Ми називаємо ці функції природними числами.f:NN

Позиція 1: Я стверджую, що ми можемо побудувати дуже повільно зростаюче натуральне число (не обчислюється) функцію ε ( n ) таким, що:ε(n)

(1) ε ( n ) не зменшуєтьсяε(n)

(2) ε ( n ) = ω ( 1 )ε(n)=ω(1)

(3) Для всіх необмежених обчислювальних f : NN , множина { nf:NN|ε ( n ) f ( n ) } нескінченно.{n|ε(n)f(n)}

Побудуємо ε ( n ) як повільно зростаючу ступінь, що не спадає. Перерахуємо всі необмежені обчислюваних функцій { F I } I N . Ми хочемо побудувати ε ( п ) таким чином , що для кожного I і будь-якого J я , м I п { доε(n){fi}iNε(n)iji|ε ( k ) i } m i n { k|f j ( k ) i } . Іншими словами, ми чекаємо відображення ε ( n ) до i, поки першіфункції i в перерахунку не прирівнюються до значення, що перевищує або,принаймні, i . Потім ε ( n ) продовжує відображатись до i, поки перші функції i + 1 в перерахунку непринаймні принаймні один разперерахують на значення, що перевищує i + 1, і в цей момент він починає відображення в i + 1min{k|ε(k)i}min{k|fj(k)i}ε(n)iiiε(n)ii+1i+1i+1. Якщо ми продовжимо цей ітераційний процес побудови ε ( n ) , то для будь-якої заданої необмеженої обчислювальної функції, хоча ε ( n ) не завжди може бути меншою, вона нескінченно часто буде принаймні такою ж маленькою.ε(n)ε(n)

Примітка. Я просто представив деяку інтуїцію за п. 1, я не представив детального підтвердження. Будь ласка, приєднуйтесь до обговорення нижче.

Оскільки ε ( n ) є такою повільно зростаючою функцією, ми маємо наступне:ε(n)

Спосіб 2: Для всіх обчислюваних натуральних чисельних функцій f ( n ) і h ( n ) , якщо h ( n ) = Ω ( f ( n )f(n)h(n)ε ( n ) )іh(n)=O(f(n)), тодіh(n)=Θ(f(n)).h(n)=Ω(f(n)ε(n))h(n)=O(f(n))h(n)=Θ(f(n))

За п. 2, якщо існувала обчислювальна функція h ( n ) між f ( n )h(n)ε ( n ) іf(n)такі, щоh(n)Θ(f(n)), тоді ми зможемо обчислити необмежену функцію натурального числа, яка росте повільніше, ніжε(n),що неможливо . f(n)ε(n)f(n)h(n)Θ(f(n))ε(n)

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

Примітка: Попередня функція обчислюється, оскільки f ( n ) і h ( n ) обчислюються.f(n)h(n)

Оскільки h ( n ) = Ω ( f ( n )ε ( n ) ), маємоf(n)h(n)=Ω(f(n)ε(n))h ( n )=O(ε(n)). Звідси випливає, що існує деяка константаαтака, що для всіхnдосить великих,αf(n)f(n)h(n)=O(ε(n))αnh ( n )<ε(n). Оскільки ця функція не обмежена і обчислюється, ми можемо застосувати пункт 1, щоб отриматиε(n)αf(n)αf(n)h(n)<ε(n)h ( n )нескінченно часто, що суперечить попередньому твердженню.ε(n)αf(n)h(n)

Позиція 3: Для функції, сконструйованої за часом f ( n ) , ми маємо, що D T I M E ( f ( n )f(n)ε ( n ) )DTIME(f(n)), аленеіснуєh(n)такого, щобf(n)DTIME(f(n)ε(n))DTIME(f(n))h(n)ε ( n )h(n)f(n)іDTIME(f(n)f(n)ε(n)h(n)f(n)ε ( n ) )DTIME(h(n))DTIME(f(n)).DTIME(f(n)ε(n))DTIME(h(n))DTIME(f(n))

Щоб просто показати це, D T I M E ( f ( n )ε ( n ) )DTIME(f(n))нам потрібно використовувати сильнішу теорему ієрархії часу, і тут ми використовуємо припущення, що кількість стрічок є фіксованим (ми сказали дві стрічки вище). Див. "Жорстка детермінована ієрархія часу" Мартіна Фурера.DTIME(f(n)ε(n))DTIME(f(n))

Оскільки між f ( n ) немає функцій обчислюваного натурального числаε ( п ) іе(п), крім тихякі єΘ(F(п)), отримуємо, що для будь-якої функціїч(п)такащоF(п)f(n)ε(n)f(n)Θ(f(n))h(n)ε(n)h(n)f(n)f(n)ε(n)h(n)f(n) and h(n)Θ(f(n))h(n)Θ(f(n)), DTIME(f(n)ε(n))=DTIME(h(n))DTIME(f(n)ε(n))=DTIME(h(n)).


1
Так, це саме те, що я мав на увазі, але потім заплутався десь на шляху. Я просто хочу зазначити, що ϵ ( n ) зовсім не має бути малим; подібний аргумент показує, що нижня функція f ( n )ϵ(n)ϵ ( n ) може бути замінена функцією, яка завжди єf(n)або0, а верхня функціяf(n)ϵ(n)може бути замінена функцією, яка завжди єf(n)або. f(n)ϵ(n)f(n)0f(n)ϵ(n)f(n)
domotorp

1
(3) потребує обмеження без обмежених функцій f . f

@RickyDemer Yes, you are right! Thank you very much for catching that. I edited my answer to add the word unbounded. :)
Michael Wehar

1
Im not entirely convinced about Claim 1. Consider fi(n)=1fi(n)=1 if nini, nini otherwise. Considering this enumeration, is ϵ(n)=Θ(1)ϵ(n)=Θ(1)?
S. Pek

2
I have two more concerns of this proof: 1) In claim 2 you said that the contradiction arises from the fact that there cannot exist a computable ϵ(n)ϵ(n) as it equals |h(n)f(n)||h(n)f(n)|. I believe this to be a typographical error, as it should say there exist a kk such that ϵ(n)=|h(n)kf(n)|ϵ(n)=|h(n)kf(n)|. But note that kk need not be computable, so the argument need not hold. 2) You used the result by Furer in Claim 3. However, the result only holds for time-constructable functions, but f(n)ϵ(n)f(n)ϵ(n) need not be time-constructable.
S. Pek

4

If this result is true, it would strengthen the best-known deterministic time hierarchy theorem. [This is more of a comment than an answer, but too long for a comment. It leaves open the direct construction of a counterexample.] Recall that the best Deterministic Time Hierarchy Theorem we currently have is that if f(n),g(n)f(n),g(n) are time-constructible, and g(n)o(f(n)/logf(n)), then DTIME(g(n))DTIME(f(n)).

Now suppose your desired result is true, and let g(n) be a time-constructible function that is close to, but still little-oh of, f(n)/log(f(n)), say, g(n)=f(n)/(logf(n))3/2. (This g may not be time-constructible for arbitrary time-constructible f, but surely for many time-constructible f this g is also time-constructible.) Now, your desired result produces an h such that DTIME(g(n))DTIME(h(n))DTIME(f(n)). In order to avoid improving the current-best time hierarchy theorem, we would need both g(n)=o(h(n)/log(h(n))) and h(n)=o(f(n)/log(f(n)). These two together imply that g(n)o(f(n)/(log(f(n))log(h(n))). Since h(n)g(n), we have g(n)o(f(n)log(f(n))log(g(n))), or equivalently g(n)logg(n)o(f(n)/log(f(n))). But g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))(3/2)loglog(f(n)]f(n)/log(f(n)), which is not o(f(n)/log(f(n)).


1
Cool! Also, note that there is a better time hierarchy theorem if the number of tapes is fixed. See "The tight deterministic time hierarchy" by Martin Furer.
Michael Wehar

1
@MichaelWehar: Thanks for the pointer! Indeed, when one gets so tight as to only require g(n)=o(f(n)), as Furer shows when the number of tapes is fixed, then my argument goes away. (And for basically the same reason, my argument goes away if this question were about space hierarchy instead of time: for space we have a perfectly tight hierarchy theorem even if # tapes isn't fixed.)
Joshua Grochow

2

I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have DTIME1(O(n))=DTIME1(o(nlogn)). Unfortunately, the only reference I know is in German: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.

On the other hand, it should be possible to separate DTIME1(O(n)) and DTIME1(O(nlogn)) by the language {x#2|x|xx{0,1}} using a standard crossing sequence argument.

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