Підмножина NTIME (f) DSPACE (f)


9

Як зазначено в питанні, як ми можемо довести, що ?NTIME(f(n))DSPACE(f(n))

Чи може хтось вказати мені на доказ чи окреслити його тут? Дякую!


4
Я думаю, є мульти. там ховаються константи. Ви можете довести, що . Просто перерахуйте всі можливі недетерміновані здогадки алгоритму та запустіть свій алгоритм цими здогадами. Прийміть, якщо одна з здогадок призводить до стану прийняття. NTIME(f(n))DSPACE(2f(n))
Ігор Шинкар

1
Чому б не зробити це відповіддю?
Yuval Filmus

@IgorShinkar Є різні результати, такі як теорема лінійного прискорення та теорема стиснення стрічки, які говорять про те, що можна позбутися цих констант за «більшості» обставин. Лінійне прискорення говорить, що для будь-якого ; Стиснення стрічки говорить, що , знову ж таки для будь-якого . DTIME(f(n))DTIME(ϵf(n)+n+2)ϵ>0DSPACE(f(n))DSPACE(ϵf(n)+O(1))ϵ>0
Девід Річербі

Відповіді:


4

Ось розширена версія коментаря Ігоря Шинкара. Найпростіший спосіб імітувати недетерміновану машину, що працює у часі та просторі використовує простір. Ми перераховуємо всі можливі кидання монет, імітуючи оригінальну машину на кожній з них; для цього потрібен простір для зберігання кидок монети, і простір для імітації фактичної машини. Тут є невелика складність: коли кидки монети «читаються» (оригінальною) машиною, нам потрібно якось позначити, де ми знаходимося в послідовності викидання монети; ми можемо використовувати додатковий біт за кидання монети. Можливо, це ще більше оптимізувати.f(n)s(n)f(n)s(n)+2f(n)+O(1)f(n)s(n)

Якщо ми будемо обережні, ми можемо отримати щось ще краще, оскільки в кожному запуску програми загальна кількість викинутих монет та загальний обсяг використовуваного простору складають не більше . Я підозрюю, що можна запустити моделювання в просторі. Можливо, нам буде потрібно припустити щось на зразок для цього.f(n)(1+o(1))f(n)f(n)=Ω(logn)

Як згадує Ігор, зазвичай обмежені ресурсами класи визначаються лише "до великого O", так що результат, який використовує простір , все ще знаходиться у .O(f(n))DSPACE(f(n))

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