Trong vài ngày qua tôi đã nghĩ rất nhiều về (đầy đủ) các hàm có thể xây dựng được và tôi sẽ trình bày những gì tôi đã tìm ra bằng cách trả lời Q1 và Q3. Quý 2 dường như quá khó khăn.
Quý 3:
Kobayashi trong bài viết của mình (tham chiếu là trong câu hỏi) đã chứng minh rằng một hàm , mà có tồn tại một ε > 0 st f ( n ) ≥ ( 1 + ε ) n , là hoàn toàn thời gian constructible iff nó là tính toán trong thời gian O ( f ( n ) ) . (lưu ý rằng không liên quan cho dù đầu vào hoặc đầu ra là đơn nhất / nhị phân vì chúng ta có thể chuyển đổi giữa hai biểu diễn này trong thời gian tuyến tính). Điều này làm cho các chức năng sau có thể xây dựng hoàn toàn theo thời gian: 2 n ,f: N → Nϵ > 0f( N ) ≥ ( 1 + ε ) nO ( f( n ) )2n , n ! , N ⌊ log n ⌋ , tất cả các đa thức p trên N st p ( n ) ≥ ( 1 + ε ) n ... Kobayashi cũng chứng minh đầy đủ thời gian thi trong thi công đối với một số chức năng mà phát triển chậm hơn so với ( 1 + ε ) n , như n + ⌊ ⌊ log n ⌋ q ⌋ cho q ∈ Q + ...22nn !n ⌊ đăng nhậpn ⌋pNp ( n ) ≥ ( 1 + ε ) n(1+ϵ)nn+⌊⌊logn⌋q⌋q∈Q+
Để tiếp tục với các ví dụ về các hàm có thể xây dựng hoàn toàn theo thời gian, người ta có thể chứng minh rằng nếu và f 2 hoàn toàn có thể xây dựng được thời gian, thì f 1 + f 2 , f 1 f 2 , f f 2 1 và f 1 ∘ f 2 là cũng hoàn toàn có thể xây dựng được thời gian (phần sau theo trực tiếp từ Định lý 3.1 trong Kobayashi). Điều này hoàn toàn thuyết phục tôi rằng nhiều chức năng tốt thực sự hoàn toàn có thể xây dựng được theo thời gian.f1f2f1+f2f1f2ff21f1∘f2
Điều ngạc nhiên là Kobayashi đã không nhìn thấy một cách để chứng minh đầy đủ thời gian thi trong thi công của (thoải mái) chức năng (và không phải làm I).⌊nlogn⌋
Chúng ta cũng nhận xét định nghĩa từ bài viết Wikipedia : Hàm có thể xây dựng theo thời gian, nếu tồn tại máy Turing M , với chuỗi 1 n , xuất ra f ( n ) trong thời gian O ( f ( n ) ) . fM1nf(n)O(f(n)) Chúng ta thấy rằng định nghĩa này là equivallent định nghĩa của chúng tôi hoàn toàn thời gian thi trong thi công cho các chức năng .f(n)≥(1+ϵ)n
Q1:
Câu hỏi này có một câu trả lời thực sự thú vị. Tôi cho rằng nếu tất cả các chức năng thời gian constructible hoàn toàn thời gian constructible, sau đó . Để chứng minh rằng, chúng ta hãy lấy một vấn đề tùy ý L ∈ N E X P - T Tôi M E , L ⊆ { 0 , 1 } * . Khi đó tồn tại một k ∈ N , st LEXP−TIME=NEXP−TIMEL∈NEXP−TIMEL⊆{0,1}∗k∈NLcó thể được giải quyết bằng NDTM trong 2 n k - 1 bước. Chúng ta có thể giả sử rằng ở mỗi bước M đi vào tối đa hai trạng thái khác nhau để đơn giản. Bây giờ xác định chức năng
f ( n ) = { 8 n + 2 nếu ( đầu tiên ⌊ k √M2nk−1M
f(n)={8n+28n+1if (first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))∈Lelse
Tôi khẳng định rằng là thời gian xây dựng. Hãy xem xét các máy Turing xác định sau T :fT
- trên đầu vào có độ dài n nó tính ( đầu tiên ⌊ k √wntrongO(n)thời gian(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))O(n)
- sau đó nó mô phỏng trên các bit này, trong đó các bit của w xác định lựa chọn nào (trước đây là không xác định).Mw
- chấp nhận iff .(M accepts using choices given by w)
Lưu ý rằng chiều dài của ( = n ) là đủ mà nó quyết định tất cả các lựa chọn không xác định, kể từ M trên đầu vào ( đầu tiên ⌊ k √w=nMlàm cho nhiều nhất lànbước.(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))n
Chúng ta có thể làm cho chạy trong tối đa 8 n + 1 bước. Bây giờ máy Turing sau đây chứng minh rằng f có thể xây dựng được theo thời gian:T8n+1f
- trên đầu vào có độ dài n chạy T và đếm các bước song song để hoàn thành 8 n bước.wnT8n
- nếu từ chối hoặc sẽ từ chối trong bước tiếp theo, hãy chuyển sang trạng thái tạm dừng ở bước tiếp theo. Khác, làm thêm một bước và sau đó đi đến trạng thái dừng lại.T
Bây giờ giả sử rằng hoàn toàn có thể xây dựng được. Chúng tôi sẽ chứng minh rằng điều này dẫn đến E X P - T Tôi M E = N E X P - T Tôi M E .fEXP−TIME=NEXP−TIME
Thuật toán sau giải quyết :L
- trên đầu vào , hãy n là số với biểu diễn nhị phân x 00 ... 0 ( | x | k - 1 số không). Nó sau đó x = ( đầu tiên ⌊ k √xnx00…0|x|k−1.x=(first ⌊⌊logn⌋+1−−−−−−−−−√k⌋ bits of bin(n))
- tính trong thời gian f ( n ) và kiểm tra xem nó có chia hết cho 2 không.f(n)f(n)
Thuật toán này chạy trong mũ thời gian và giải quyết . Kể từ khi L ∈ N E X P - T Tôi M E là tùy ý, E X P - T Tôi M E = N E X P - T Tôi M E .LL∈NEXP−TIMEEXP−TIME=NEXP−TIME