Równoważne definicje konstruowania czasu


13

Mówimy, że funkcja jest konstruowalna w czasie , jeśli istnieje deterministyczna wielopasmowa maszyna Turinga M, która na wszystkich wejściach długości n wykonuje co najwyżej f ( n ) kroki i dla każdego n istnieje pewien wkład długość n, na której M wykonuje dokładnie f ( n ) kroki.f:NNMnf(n)nnMf(n)

Mówimy, że funkcja jest w pełni konstruowalna w czasie , jeśli istnieje deterministyczna wielopasmowa maszyna Turinga M, która na wszystkich wejściach długości n wykonuje dokładnie f ( n ) kroków.f:NNMnf(n)

P1: Czy istnieje funkcja, którą można konstruować w czasie i nie można w pełni konstruować w czasie?

Odpowiedź brzmi: tak (patrz tę odpowiedź ), jeśli . Czy warunek „tak” można wzmocnić do P N P ? Czy można udowodnić „tak”?EXPTIMENEXPTIMEPNP

P2: Czy klasa funkcji (w pełni) składających się na czas zmienia się, jeśli w definicji dopuszczamy tylko 2-taśmowe maszyny Turinga?

P3: Jakie są „możliwe do udowodnienia” powody, by sądzić, że wszystkie ładne funkcje można w pełni konstruować w czasie?

Artykuł
Kojiro Kobayashi: O sprawdzaniu możliwości konstruowania funkcji w czasie. Teoria Comput. Sci. 35: 215-225 (1985)
częściowo odpowiada na pytanie 3. Częściowe podsumowanie i uaktualnienie znajduje się w tej odpowiedzi . Biorę Q3 jako odpowiedź.

Historycznie używano pojęcia funkcji policzalnej w czasie rzeczywistym zamiast (w pełni) konstruowalnej w czasie. Zobacz to pytanie, aby uzyskać więcej.


Ciekawy - czy możesz wskazać mi odniesienie do tych definicji? Nie znam funkcji konstruowalnych i nie mogę znaleźć tych definicji online (nie jest dla mnie oczywiste, czy są one równoważne np. Z wikipediami ).
usul

@usul Referencje: JE Hopcroft, JD Ullman. Wprowadzenie do teorii automatów, języków i obliczeń. Addison-Wesley Series in Computer Science, 1979 Tę samą definicję można znaleźć tutaj: cse.ohio-state.edu/~gurari/theory-bk/theory-bk-fivese2.html
David G

Odpowiedzi:


5

W ciągu ostatnich kilku dni dużo myślałem o (w pełni) konstruowalnych w czasie funkcjach i przedstawię to, czego się dowiedziałem, odpowiadając na pytania 1 i 3. Pytanie 2 wydaje się zbyt trudne.

P3:

Kobayashi w swoim artykule (odniesienie znajduje się w pytaniu) udowodnił, że funkcja , dla której istnieje ϵ > 0 st f ( n ) ( 1 + ϵ ) n , jest w pełni konstruowalna w czasie, jeśli jest obliczalny w czasie O ( f ( n ) ) . (zauważ, że nie ma znaczenia, czy dane wejściowe czy wyjściowe są jednostkowe / binarne, ponieważ możemy transformować te dwie reprezentacje w czasie liniowym). Dzięki temu następujące funkcje są w pełni konstruowane w czasie: 2 n ,f:NNϵ>0f(n)(1+ϵ)nO(f(n))2n , n ! , n log n , wszystkie wielomiany p ponad N st p ( n ) ( 1 + ϵ ) n ... Kobayashi również wykazał pełną konstruowalność czasową dla niektórych funkcji, które rosną wolniej niż ( 1 + ϵ ) n , jak n + log n q dla q Q + ...22nn!nlognpNp(n)(1+ϵ)n(1+ϵ)nn+lognqqQ+

Kontynuując przykłady funkcji w pełni konstruowalnych w czasie, można udowodnić, że jeśli i f 2 są w pełni konstruowalne w czasie, to f 1 + f 2 , f 1 f 2 , f f 2 1 i f 1f 2 są również w pełni konstruowalny w czasie (później wynika bezpośrednio z Twierdzenia 3.1 w Kobayashi). To całkowicie mnie przekonało, że wiele fajnych funkcji jest rzeczywiście w pełni konstruowanych w czasie.f1f2f1+f2f1f2f1f2f1f2

Zaskakujące jest to, że Kobayashi nie widział sposobu, aby udowodnić pełną konstruowalność w czasie (ładnej) funkcji (i ja też nie).nlogn

Skomentujmy również definicję z artykułu z Wikipedii : Funkcja jest konstruowalna w czasie, jeśli istnieje maszyna Turinga M, która, biorąc pod uwagę ciąg 1 n , wyprowadza f ( n ) w czasie O ( f ( n ) ) . fM1nf(n)O(f(n)) Widzimy, że ta definicja jest równoważna naszej definicji pełnej konstruowania w czasie dla funkcji .f(n)(1+ϵ)n

P1:

EXPTIME=NEXPTIMELNEXPTIMEL{0,1}kNLM2nk1M

f(n)={8n+2if (first logn+1k bits of bin(n))L8n+1else

fT

  • wn(first logn+1k bits of bin(n))O(n)
  • Mw
  • (M accepts using choices given by w)

w=nM(first logn+1k bits of bin(n))n

T8n+1f

  • wnT8n
  • T

fEXPTIME=NEXPTIME

L

  • xnx000|x|k1x=(first logn+1k bits of bin(n))
  • f(n)f(n)

LLNEXPTIMEEXPTIME=NEXPTIME


4
Bardzo dobrze! [wypełnienie, aby uszczęśliwić pole komentarza]
Emil Jeřábek

1
Bardzo podobny pomysł do tego przedstawionego w odpowiedzi na zapytania Q1 służy również tutaj .
David G
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.