Чи ?


15

Я очікую, що відповідь "ні", але я фактично не міг побудувати контрприклад. Різниця полягає в тому, що в ε>0DTIME(O(n2+ε)) ми можемо не змогти вибрати алгоритм O(n2+ε) рівномірно. в ε .

За аргументом доопрацювання (наприклад, див. Це запитання ), якщо існує набір ce машин Тьюрінга Mi вирішують мову L таким, що ε>0MiO(n2+ε) , то L є в DTIME(n2+o(1)) .

Враховуючи машину Тьюрінга, чи працює машина в часі є . Чи є мова (заданий код для машини, що розпізнає її), у є (і -hard); Чи мова в є -повний. Якщо ми можемо довести (або просто -твердість) , це вирішило б проблему, але я не впевнений, як це зробити що.Π 0 3 D T I M E ( n 2 + o ( 1 ) ) Σ 0 4 Π 0 3ε > 0 D T I M E ( O ( n 2 + ε ) ) Π 0 3 Σ 0 4 Σ 0 3 D T I Mn2+o(1)Π30DTIME(n2+o(1))Σ40Π30ε>0DTIME(O(n2+ε))Π30Σ40Σ30DTIME(n2+o(1))

Проблема також буде вирішена, якщо ми знайдемо послідовність мов такою, що * має природний алгоритм рішення (рівномірно в ). * Кожен є кінцевим. * Не тільки розмір , але алгоритм не може виключати набагато швидше, ніж (в гіршому випадку ), за винятком кінцево багато (залежно від алгоритм).L i O ( n 2 + 1 / i ) i L i L i w L i O ( n 2 + 1 / i ) w iLi
LiO(n2+1/i)i
Li
LiwLiO(n2+1/i)wi

Мені також цікаво, чи є якісь помітні / цікаві приклади (для або аналогічне відношення).ε>0DTIME(O(n2+ε))DTIME(n2+o(1))


Я ніколи не замислювався над питаннями щодо прийнятності рішення, такими як машина Тьюрінга, чи визнає вона мову . Дуже акуратно! Чи була якась конкретна причина, чому ви вибрали 2 в експоненті? Я здогадуюсь, це було б приблизно однаково, якби ви вважали якесь інше число в експоненті, яке було більше 2? DTIME(n2+o(1))
Майкл Вехар

1
@MichaelWehar Я просто хотів конкретного прикладу, а "1" іноді є особливим, тому я вибрав "2". Властивості повноти вище та відповідь нижче досить загальні.
Дмитро Тарановський

Відповіді:


10

Ось контрприклад, тобто мова з алгоритмом (за допомогою багатотапних машин Тюрінга) для кожного ε > 0 , але не рівномірно в ε : Прийняти 0 k 1 m iff k > 0 і k th Turing машина зупиняється на кроках менше m 2 + 1 / k на порожньому вході. Інші рядки відхилено.O(n2+ε)ε>0ε
0k1mk>0km2+1/k

Для кожного ми отримуємо алгоритм O ( n 2 + ε ) шляхом жорсткого кодування всіх достатньо малих невмисних машин та моделювання решти.εO(n2+ε)

Тепер розглянемо машину Тюрінга визначає мову.M

Нехай (на порожньому вході) є ефективним виконання наступних умов : для п в 1,2,4,8, ...:      використання M , щоб вирішити , буде чи M ' зупиняється в < п 2 + 1 / M ' кроків .      halt iff M говорить, що ми не зупиняємось, але все одно можемо зупинитись у кроках < n 2 + 1 / M ' .M
n
MM<n2+1/M
M<n2+1/M

За правильністю , M не зупиняється, але M приймає Ω ( n 2 + 1 / M ) кроки на вході 0 M 1 n - M для нескінченно багатьох n . (Якщо M занадто швидкий, то M ' буде суперечити М .. Обмежений Ω ( n 2 + 1 / M ' ) залежить від M 'MMMΩ(n2+1/M)0M1nMnMMMΩ(n2+1/M)Mмоделювання у лінійному часі та в іншому випадку є ефективним.)M


Я не розумію останнього речення. Де ми отримуємо нижчі межі часу роботи ? M
Еміль Йерабек підтримує Моніку

@ EmilJeřábek я уточнив відповідь. Повідомте мене, чи можна його вдосконалити.
Дмитро Тарановський

1
Можливо, я не розумію, що означає "але ми все одно можемо зупинитися ..." Що саме робить M '?
Еміль Йерабек підтримує Моніку

@ EmilJeřábek M 'не використовує введення і багаторазово викликає M, щоб вирішити обмежену проблему зупинки для M'. Якщо, наприклад, після запуску 900 кроків, M 'виявить, що (згідно з M) M' не зупиняється на перших 1000 кроках, то M 'зупиняється. Якщо ні, то M продовжує працювати і телефонує M, щоб вирішити, чи зупиняється M на перших 4000 кроках.
Дмитро Тарановський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.