Liệu ?


15

Tôi hy vọng câu trả lời là không, nhưng tôi thực sự không thể xây dựng một ví dụ mẫu. Sự khác biệt là trong , chúng tôi có thể không thể chọn thuật toán một cách thống nhất trong .ε > 0 D T I M E ( O ( n 2 + ε ) ) ε>0DTIME(O(n2+ε))O ( n 2 + ε ) O(n2+ε)εε

Bằng một đối số phù hợp (ví dụ: xem câu hỏi này ), nếu có một bộ máy Turing quyết định một ngôn ngữ sao cho , thì là trong .M i L ε > 0 M iO ( n 2 + ε ) L D T I M E ( n 2 + o ( 1 ) )MiLε>0MiO(n2+ε)LDTIME(n2+o(1))

Cho một máy Turing, cho dù máy chạy trong thời gian là . Liệu một ngôn ngữ (được cung cấp mã cho máy nhận ra nó) có trong là (và ); liệu một ngôn ngữ có trong là . Nếu chúng tôi có thể chứng minh hoàn chỉnh (hoặc chỉ trễ) của , điều đó sẽ giải quyết vấn đề, nhưng tôi không biết phải làm thế nào cái đó.n 2 + o ( 1 ) Π 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)Π03DTIME(n2+o(1))Σ04Π03ε>0DTIME(O(n2+ε))Π03Σ04Σ03E(n2+o(1))DTIME(n2+o(1))

Vấn đề cũng sẽ được giải quyết nếu chúng ta tìm thấy một chuỗi các ngôn ngữ sao cho * có thuật toán quyết định tự nhiên (thống nhất trong ). * Mỗi là hữu hạn. * Không chỉ kích thước của không thể giải quyết được, mà thuật toán không thể loại trừ nhanh hơn nhiều so với (đối với trường hợp xấu nhất ), ngoại trừ nhiều (phụ thuộc vào thuật toán).LiLi
LiLiO(n2+1/i)O(n2+1/i)ii
LiLi
LiLiwLiwLiO(n2+1/i)O(n2+1/i)wwii

Tôi cũng tò mò liệu có bất kỳ ví dụ đáng chú ý / thú vị nào không (cho hoặc một mối quan hệ tương tự).ε>0DTIME(O(n2+ε))DTIME(n2+o(1))ε>0DTIME(O(n2+ε))DTIME(n2+o(1))


Tôi chưa bao giờ nghĩ về các câu hỏi có thể quyết định, chẳng hạn như được cung cấp máy Turing, liệu nó có nhận ra ngôn ngữ trong . Rât gọn gang! Có một lý do cụ thể tại sao bạn chọn 2 trong số mũ? Tôi đoán điều này sẽ gần giống như vậy nếu bạn xem xét một số số khác trong số mũ lớn hơn 2? DTIME(n2+o(1))DTIME(n2+o(1))
Michael Wehar

1
@MichaelWehar Tôi chỉ muốn một ví dụ cụ thể và '1' đôi khi đặc biệt, vì vậy tôi đã chọn '2'. Các thuộc tính đầy đủ ở trên và câu trả lời dưới đây là khá chung chung.
Dmytro Taranovsky

Câu trả lời:


10

Đây là một phản ví dụ, tức là một ngôn ngữ với một thuật toán (sử dụng multitape máy Turing) cho mỗi , nhưng không thống nhất trong : Chấp nhận khi và chỉ khi và máy Turing thứ dừng lại ở các bước dưới trên đầu vào trống. Các chuỗi khác bị từ chối.O(n2+ε)O(n2+ε)ε>0ε>0εε
0k1m0k1mk>0k>0kkm2+1/km2+1/k

Đối với mỗi , chúng tôi nhận được một thuật toán bởi hardcoding tất cả các máy nonhalting đủ nhỏ, và mô phỏng phần còn lại.εεO(n2+ε)O(n2+ε)

Bây giờ, hãy xem xét một máy Turing quyết định ngôn ngữ.MM

Đặt (trên đầu vào trống) là cách triển khai hiệu quả như sau: với trong 1,2,4,8, ...:      sử dụng để quyết định xem dừng trong bước.      Ngừng iff nói rằng chúng tôi không dừng lại nhưng chúng tôi vẫn có thể dừng lại trong các bước .MM
nn
MMMM<n2+1/M<n2+1/M
MM<n2+1/M<n2+1/M

Theo tính chính xác của , không dừng lại, nhưng mất bước vào đầu vào trong vô số . (Nếu quá nhanh, thì sẽ mâu thuẫn với Giới hạn phụ thuộc vào mô phỏng trong thời gian tuyến tính và mặt khác là hiệu quả.)MMMMMMΩ(n2+1/M)Ω(n2+1/M)0M1nM0M1nMnnMMMMMMΩ(n2+1/M)Ω(n2+1/M)MMMM


Tôi không hiểu câu cuối cùng. Nơi nào chúng ta có giới hạn thấp hơn về thời gian chạy của ? M
Emil Jeřábek hỗ trợ Monica

@ EmilJeřábek Tôi đã làm rõ câu trả lời. Hãy cho tôi biết nếu nó có thể được cải thiện hơn nữa.
Dmytro Taranovsky

1
Petinois tôi không hiểu "nhưng chúng ta vẫn có thể dừng lại ở ..." nghĩa là gì. Chính xác thì M 'làm gì?
Emil Jeřábek hỗ trợ Monica

@ EmilJeřábek M 'không sử dụng đầu vào và liên tục gọi M để quyết định vấn đề tạm dừng bị ràng buộc cho M'. Ví dụ, nếu sau khi chạy 900 bước, M 'phát hiện ra rằng (theo M) M' không dừng lại trong 1000 bước đầu tiên, thì M 'dừng lại. Nếu không, thì M 'tiếp tục chạy và gọi M để quyết định xem M' có dừng trong 4000 bước đầu tiên hay không.
Dmytro Taranovsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.