Máy trong P không thể bảo vệ?


7

Cho một máy Turing , chúng tôi nói rằng nếu ngôn ngữ do máy quyết định có thể được quyết định bởi một số máy trong thời gian đa thức. Chúng ta nói rằng nếu máy chạy trong thời gian đa thức. Lưu ý rằng có thể có máy chạy không cần thiết từ lâu nhưng vẫn quyết định một ngôn ngữ trong . Theo định lý của Rice, chúng ta biết rằngML(M)PMPP

{MM is a Turing machine such that L(M)P } là không thể giải quyết được. Được biết liệu:

{MM is a Turing machine such that MP } cũng không thể giải quyết được?


1
Theo định lý của Rice, bạn cũng có ngôn ngữ này là không thể giải quyết được (tài sản không tầm thường).
Tpecatte

2
Timot: Không, định lý của Rice không áp dụng cho ngôn ngữ thứ hai, bởi vì liệu không phải là một thuộc tính của . OP: Bạn có thể sử dụng câu trả lời được đưa ra trong cstheory.stackexchange.com/questions/5004MPL(M)
sdcvvc

Tại sao bạn không thể sử dụng cùng một chứng minh đường chéo như định lý của Rice?
Tpecatte

Timot: Tôi nghĩ rằng bằng chứng không thể được sử dụng lại vì máy không phải P có thể quyết định ngôn ngữ P. Ý tưởng cơ bản là tương tự nhưng IMO không giống nhau.
sdcvvc

Câu trả lời:


6

Dưới đây là một cách diễn đạt của bằng chứng trong câu trả lời cstheory. Chúng tôi giảm từ vấn đề tạm dừng. Giả sử rằng chúng ta được cấp một máy và chúng ta phải quyết định xem dừng lại ở đầu vào trống không. Chúng tôi xây dựng một máy mới chấp nhận một đầu vào , hoạt động như sau:MMMx

  1. Đặt.n=|x|
  2. M chạy trong bước.Mn
  3. Nếu dừng lại trong bước thì chạy một vòng lặp giả mất thời gian theo cấp số nhân . Nếu không, chỉ dừng lại.MnMΩ(2n)M

Vì các máy Turing có thể được mô phỏng chỉ với chi phí đa thức, nếu không dừng thì chạy trong thời gian đa thức. Nếu dừng lại, thì mất thời gian theo cấp số nhân. Do đó tạm dừng iff không phải là thời gian đa thức.MMMMMM


Tổng quát hơn, điều này cho thấy ngay cả khi chúng ta biết rằng chạy đúng lúc nhiều nhất là đối với một số có thể xây dựng theo thời gian siêu đa thức , thì chúng ta không thể quyết định liệu chạy trong thời gian đa thức hay không.Mf(n)fM


Tôi có một nghi ngờ. Nếu M chạy tạm dừng trong thì chạy trong thời gian đa thức mặc dù tạm dừng. Tui bỏ lỡ điều gì vậy ? O(2n)MM
sashas

@sasha Tôi không làm theo câu hỏi của bạn.
Yuval Filmus

Tôi gặp khó khăn khi xem liệu giảm ở trên cũng hoạt động cho . L={<M>|M runs in P(n) steps where P(n) is some fixed polynomial}
sashas

@sasha Mình thấy không có vấn đề gì đặc biệt.
Yuval Filmus

Nếu dừng trên đầu vào trống trong , chạy trong thời gian đa thức. Tui bỏ lỡ điều gì vậy ? M2nM
sashas

2

Cách ngôn ngữ thứ hai của bạn được viết không được hình thành chính xác liên quan đến các tiêu chuẩn thông thường. là một tập hợp các ngôn ngữ và không phải là một bộ máy. Dựa trên những gì bạn nói trong phần còn lại của câu hỏi của bạn, tôi cho rằng bạn đang cố gắng để làm cho sự khác biệt giữa các máy chạy trong ít nhất thời gian đa thức và những người mà xảy ra giải quyết một vấn đề trong . Có lẽ đây sẽ là một cách tốt hơn để viết nó như sau:PP

A={M|(kx)M(x) halts in O(|x|k) time}

O có thể được thay thế bằng nếu bạn muốn loại trừ các máy yếu hơn như TM thời gian đăng nhập.Θ

Lưu ý rằng:A{M|L(M)P}

Theo quan sát của sdcvvc , định lý của Rice không được áp dụng ngay lập tức và đủ ở đây vì thuộc tính "không tầm thường" được sử dụng phải là một thuộc tính của . Thời gian bị ràng buộc trên một máy không phải là một thuộc tính của ngôn ngữ, mà là một thuộc tính của máy đó.L(M)

Một câu trả lời cho một được xác định trước đã được thảo luận về câu hỏi cstheory được đề cập trong các ý kiến. Sự lựa chọn của hằng số đó là chìa khóa để chứng minh tính không ổn định. Trong ngôn ngữ của chúng tôi, chúng tôi bao gồm mọi và do đó không có tối đa để làm việc.kkNk

Tôi đã không có thời gian để điều tra đầy đủ, nhưng tôi tưởng tượng rằng sẽ không hợp lý khi mở rộng kết quả của họ lên bất kỳ thông qua quy nạp thẳng.k>2

Một bài báo gần đây được viết bởi David Gajser, người được thúc đẩy bởi bài viết cstheory, trả lời một phiên bản tổng quát hơn của câu hỏi này:

ĐặtHALTT(n)={M|xM(x) halts in at most T(n=|x|) time}

Đối với máy Turing băng đơn: là không thể giải quyết được nếuHALTT(n)T(n)=Ω(nlog(n))

Đối với nhiều máy Turing băng: có thể quyết định iff đối với một sốHALTT(n)T(n)k+1kN

Anh ta mở rộng các kết quả không ổn định này đến các lớp có hằng số lớn tùy ý (như ). Theo ông, câu trả lời cho câu hỏi của bạn là ngôn ngữ ( ) là không thể giải quyết được.PA


1
Bộ định lượng của bạn xuất hiện theo thứ tự sai: nó phải là . k,CxM(x) halts after at most C|x|k steps
Yuval Filmus

@YuvalFilmus: Bạn đúng. Tôi đã cập nhật câu trả lời để phản ánh điều này. Cảm ơn đã chỉ ra điều này.
mdxn
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.