Mu ?


15

Ben cevap hayır bekliyoruz, ama aslında bir karşı örnek inşa edemedim. Fark ε > 0 D T I M E ( O ( n 2 + ε ) ) 'de , ε içinde eşit bir şekilde O ( n 2 + ε ) algoritması seçemeyebiliriz .ε>0DTIME(O(n2+ε))O(n2+ε)ε

Bir tamamlayıcısı bağımsız değişken tarafından (örneğin, bu bakınız soru Turing makineleri ce grubu var ise), M i , bir dil karar L olacak şekilde ε > 0 M iO ( n, 2 + ε ) , daha sonra L olduğu D T I M E ( n 2 + o ( 1 ) ) .MiLε>0MiO(n2+ε)LDTIME(n2+o(1))

Zaman makinesi çalışır olup, Turing makinesi verilen n 2 + o ( 1 ) olup Π 0 3 -Komple. Bir dilin (onu tanıyan bir makine için kod verildiğinde) D T I M E ( n 2 + o ( 1 ) ) içinde olup olmadığı Σ 0 4 (ve Π 0 3 -hard); bir dilin ε > 0 D T I M E ( O (n2+o(1)Π03DTIME(n2+o(1))Σ04Π03 , n 2 + ε ) ) olan Π 0 3ε>0DTIME(O(n2+ε))Π03-complete. If we can prove Σ04Σ04 completeness (or just Σ03Σ03-hardness) of DTIME(n2+o(1))DTIME(n2+o(1)), that would solve the problem, but I am not sure how to do that.

The problem would also be solved if we find a sequence of languages LiLi such that
* LiLi has a natural O(n2+1/i)O(n2+1/i) decision algorithm (uniformly in ii).
* Each LiLi is finite.
* Not only is the size of LiLi undecidable, but an algorithm cannot rule out wLiwLi much faster than O(n2+1/i)O(n2+1/i) (for worst case w ), sonlu çok i hariç(algoritmaya bağlı olarak).wi

Ayrıca merak ediyorum olup olmadığının bir kayda değer / ilginç örnekleri için ( ε > 0 D , T I M E ( O ( n, 2 + ε ) ) D , T ı M e ( n 2 + o ( 1 ) ) veya benzer bir ilişki ).ε>0DTIME(O(n2+ε))DTIME(n2+o(1))


I've never thought about decidability questions such as given a Turing machine, does it recognize a language in DTIME(n2+o(1))DTIME(n2+o(1)). Very neat! Was there a particular reason why you chose 2 in the exponent? I'm guessing this would be roughly the same if you considered some other number in the exponent that was greater than 2?
Michael Wehar

1
@MichaelWehar I just wanted a concrete example, and '1' is sometimes special, so I chose '2'. The completeness properties above and the answer below are quite general.
Dmytro Taranovsky

Yanıtlar:


10

Here is a counterexample, i.e. a language with an O(n2+ε)O(n2+ε) algorithm (using multitape Turing machines) for every ε>0ε>0, but not uniformly in εε:
Accept 0k1m0k1m iff k>0k>0 and the kkth Turing machine halts in less than m2+1/km2+1/k steps on the empty input. Other strings are rejected.

For every εε, we get an O(n2+ε)O(n2+ε) algorithm by hardcoding all sufficiently small nonhalting machines, and simulating the rest.

Now, consider a Turing machine MM deciding the language.

Let MM (on the empty input) be an efficient implementation of the following:
for nn in 1,2,4,8,...:
     use MM to decide whether MM halts in <n2+1/M<n2+1/M steps.
     halt iff MM says that we do not halt but we can still halt in <n2+1/M<n2+1/M steps.

By correctness of MM, MM does not halt, but MM takes Ω(n2+1/M)Ω(n2+1/M)-steps on input 0M1nM0M1nM for infinitely many nn. (If MM is too fast, then MM would contradict MM. The Ω(n2+1/M)Ω(n2+1/M) bound depends on MM simulating MM in linear time and otherwise being efficient.)


I don't understand the last sentence. Where do we get lower bounds on the running time of MM?
Emil Jeřábek supports Monica

@EmilJeřábek I clarified the answer. Let me know if it can be improved further.
Dmytro Taranovsky

1
Pethaps I don't understand what "but we can still halt in..." means. What, exactly, does M' do?
Emil Jeřábek supports Monica

@EmilJeřábek M' uses no input and repeatedly calls M to decide bounded halting problem for M'. If, for example, after running for 900 steps, M' discovers that (according to M) M' does not halt in the first 1000 steps, then M' halts. If not, then M' keeps running and calls M to decide whether M' halts in the first 4000 steps or so.
Dmytro Taranovsky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.