Czy ?


15

Oczekuję, że odpowiedź brzmi „nie”, ale tak naprawdę nie mogłem skonstruować kontrprzykładu. Różnica polega na tym, że w ε > 0 D T I M E ( O ( n 2 + ε ) )ε>0DTIME(O(n2+ε)) możemy nie być w stanie wybrać algorytmu O ( n 2 + ε )O(n2+ε) równomiernie w εε .

Za pomocą argumentu „jaskółczy ogon” (na przykład patrz to pytanie ), jeśli istnieje zestaw maszyn Turinga M iMi decydujących o języku L.L takim, że ε > 0 M iO ( n 2 + ε )ε>0MiO(n2+ε) , to L.L jest in D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) .

Biorąc pod uwagę maszynę Turinga, to czy maszyna działa w czasie n 2 + o ( 1 )n2+o(1) jest Π 0 3Π03 . Czy język (podany kod dla maszyny go rozpoznającej) znajduje się w D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) to Σ 0 4Σ04 (i Π 0 3Π03 ); czy język jest w ε > 0 D T I M E ( O ( n 2 + ε ) )ε>0DTIME(O(n2+ε)) jest Π 0 3Π03 . Jeśli możemy udowodnić Σ 0 4Σ04 kompletność (lub po prostu Σ 0 3Σ03 twardość) D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1)) , to rozwiązałoby problem, ale nie jestem pewien, jak to zrobić że.

Problem zostałby również rozwiązany, jeśli znajdziemy sekwencję języków L ILi taką, że
* L ILi ma naturalny algorytm decyzyjny O ( n 2 + 1 / i )O(n2+1/i) (jednolicie w jai ).
* Każde L ILi jest skończone.
* Jest nie tylko wielkość L ILi nierozstrzygalnym, ale algorytm nie można wykluczyć w L iwLi znacznie szybciej niż O ( n 2 + 1 / i )O(n2+1/i) (w najgorszym przypadku ww ), z wyjątkiem skończenie wielu jai (w zależności od algorytm).

Jestem również ciekawy, czy istnieją jakieś znaczące / interesujące przykłady (dla ε > 0 D T I M E ( O ( n 2 + ε ) ) D T I M E ( n 2 + o ( 1 ) )ε>0DTIME(O(n2+ε))DTIME(n2+o(1)) lub analogiczna relacja).


Nigdy nie myślałem o pytaniach rozstrzygających, takich jak dana maszyna Turinga, czy rozpoznaje język w . Bardzo schludny! Czy był jakiś konkretny powód, dla którego wybrałeś 2 w wykładniku? Zgaduję, że byłoby to mniej więcej takie samo, jeśli weźmiesz pod uwagę inną liczbę w wykładniku wyższą niż 2? D T I M E ( n 2 + o ( 1 ) )DTIME(n2+o(1))
Michael Wehar,

1
@MichaelWehar Chciałem tylko konkretnego przykładu, a „1” jest czasem wyjątkowy, więc wybrałem „2”. Powyższe właściwości kompletności i odpowiedź poniżej są dość ogólne.
Dmytro Taranovsky

Odpowiedzi:


10

Oto kontrprzykład, tj. Język z algorytmem (przy użyciu wielowarstwowych maszyn Turinga) dla każdego , ale niejednolicie w : Zaakceptuj iff a ta maszyna Turinga zatrzymuje się w mniej niż krokach na pustym wejściu. Inne ciągi znaków są odrzucane.O(n2+ε)O(n2+ε)ε>0ε>0εε
0k1m0k1mk>0k>0kkm2+1/km2+1/k

Dla każdego otrzymujemy algorytm poprzez zakodowanie na sztywno wszystkich wystarczająco małych niehamujących maszyn i symulację reszty.εεO(n2+ε)O(n2+ε)

Teraz rozważ maszynę Turinga decydującą o języku.MM

Niech (na pustym wejściu) będzie wydajną implementacją: dla 1,2,4,8, ...:      użyj aby zdecydować, czy zatrzyma się w kroki.      halt iff mówi, że nie zatrzymujemy się, ale nadal możemy zatrzymać się w krokach .MM
nn
MMMM<n2+1/M<n2+1/M
MM<n2+1/M<n2+1/M

Dzięki poprawności , nie zatrzymuje się, ale przyjmuje -stepów na wejściu dla nieskończenie wielu . (Jeśli jest zbyt szybki, wówczas byłoby sprzeczne z M. Ograniczenie Ω ( n 2 + 1 / M ' ) zależy od M ' symulującego M w czasie liniowym i poza tym wydajnego.)MMMMMMΩ(n2+1/M)Ω(n2+1/M)0M1nM0M1nMnnMMMMMΩ(n2+1/M)MM


Nie rozumiem ostatniego zdania. Gdzie otrzymujemy niższe granice czasu działania M ? M
Emil Jeřábek wspiera Monikę

@ EmilJeřábek Wyjaśniłem odpowiedź. Daj mi znać, czy można go jeszcze ulepszyć.
Dmytro Taranovsky,

1
Być może nie rozumiem, co znaczy „ale wciąż możemy się zatrzymać…”. Co dokładnie robi M '?
Emil Jeřábek wspiera Monikę

@ EmilJeřábek M 'nie używa danych wejściowych i wielokrotnie wywołuje M, aby zdecydować o ograniczonym problemie zatrzymania dla M'. Jeśli, na przykład, po uruchomieniu dla 900 kroków, M 'odkryje, że (zgodnie z M) M' nie zatrzymuje się w pierwszych 1000 krokach, wówczas M 'zatrzymuje się. Jeśli nie, to M 'nadal działa i dzwoni do M, aby zdecydować, czy M' zatrzyma się w pierwszych 4000 krokach.
Dmytro Taranovsky,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.