Một máy Turing xác suất có thể giải quyết vấn đề tạm dừng?


29

Một máy tính được cung cấp một luồng vô hạn các bit thực sự ngẫu nhiên mạnh hơn một máy tính không có. Câu hỏi là: nó có đủ mạnh để giải quyết vấn đề tạm dừng không?

Đó là, một máy tính xác suất có thể xác định liệu một chương trình xác định có dừng lại hay không?

Ví dụ về một máy tính xác suất làm một cái gì đó xác định không thể: Xem xét một chương trình nhỏ (có độ dài dưới một kilobyte) tạo ra một chuỗi có độ phức tạp Kolmogorov lớn hơn một gigabyte. Sự phức tạp Kolmogorovcủa một chuỗi là độ dài của chương trình xác định ngắn nhất tạo ra chuỗi đó. Do đó, theo định nghĩa, một chương trình xác định không thể tạo ra một chuỗi có độ phức tạp lớn hơn độ dài của chính nó. Tuy nhiên, nếu được cung cấp một luồng vô hạn các bit thực sự ngẫu nhiên, một chương trình nhỏ có khả năng đạt được nhiệm vụ với 99.99999 ...% thành công chỉ bằng cách lặp lại, giả sử, 10 tỷ bit ngẫu nhiên và hy vọng độ phức tạp Kolmogorov của các bit đó đủ cao . Do đó, việc tạo ra một chuỗi độ phức tạp Kolmogorov vượt trội nằm trong phạm vi khả năng của chương trình xác suất, nhưng hoàn toàn không thể đối với chương trình xác định.

Điều đó nói rằng, tôi tự hỏi liệu có thể sử dụng các bit thực sự ngẫu nhiên để khắc phục sự cố tạm dừng. Ví dụ, một thuật toán có thể tạo ngẫu nhiên các định lý và chứng minh / từ chối / loại bỏ chúng cho đến khi nó đủ để chứng minh / chứng minh rằng một chương trình xác định đã dừng.


3
@downvoter: Điều này không nên nhận được một phiếu bầu mà không có bình luận.
Dave Clarke

3
Điều gì ngăn cản một TM xác định liệt kê tất cả các trường hợp? Ở đây, kiểm tra một phỏng đoán là vấn đề, không phải là đoán chính nó. Cũng lưu ý rằng bạn thực sự không thể nói rằng bạn mạnh hơn nhiều nếu bạn tạo kết quả mong muốn chỉ với xác suất . p<1
Raphael

1
"một chương trình xác định không thể tạo ra một chuỗi có độ phức tạp lớn hơn độ dài của chính nó." Nó là đủ để một số máy xác định khác đầu ra cùng một đầu ra. Lưu ý rằng các TM xác định có thể mô phỏng không chỉ các TM có xác suất, mà ngay cả các TM không xác định (với số lượng thay thế tùy ý).
Kaveh

Hôm qua tôi đã định nói - nhìn vào Kaveh et al - đây là một câu hỏi quá cơ bản cho trang web này (câu hỏi tương tự cho NTM là kết quả cơ bản trong mỗi khóa học lý thuyết đầu tiên). Cho rằng phải mất khá nhiều nỗ lực để chính thức hóa "TM xác suất", tôi vui vì tôi đã không làm thế.
Raphael

1
Và xem các câu trả lời làm rõ cho câu hỏi TCS liên quan trước đó của tôi: cstheory.stackexchange.com/questions/1263/ợi
Joseph O'Rourke

Câu trả lời:


22

chỉnh sửa: Tôi chỉ nhận ra một số điều tôi viết là hoàn toàn vô nghĩa, xin lỗi vì điều đó. Bây giờ tôi đã thay đổi bằng chứng và đưa ra định nghĩa về máy xác suất tôi đang sử dụng chính xác hơn.

Tôi không biết liệu tôi có hiểu đúng định nghĩa của bạn về máy Turing xác suất hay không: đó là một máy có băng bổ sung, trong đó một chuỗi không thể nén vô hạn được viết, và bên cạnh đó nó hoạt động giống như một máy xác định? Nếu chúng ta sửa chuỗi không thể nén, lớp chúng ta nhận được dường như không thú vị.

Tôi nghĩ rằng chúng ta có thể định nghĩa một máy Turing xác suất theo nhiều cách. Tôi sẽ sử dụng một định nghĩa có vẻ khá tự nhiên (và bằng chứng của tôi hoạt động;) Hãy xác định một máy xác suất như thế: nó lấy một băng bổ sung mà một chuỗi vô hạn được viết, chúng tôi nói rằng máy này quyết định ngôn ngữ nếu mỗi x L nó dừng lại và chấp nhận với xác suất > 1LxL , khi xác suất được lấy trên các chuỗi ngẫu nhiên bổ sung đó và với mỗixL,nó dừng lại và từ chối với xác suất>1>12xL .>12

Bây giờ chúng ta sẽ chỉ ra rằng nếu tồn tại một máy xác suất giải quyết vấn đề tạm dừng cho các máy xác định, chúng ta có thể sử dụng nó để xây dựng một máy xác định H giải quyết vấn đề tạm dừng cho các máy xác định - và chúng ta biết rằng đó là một máy như vậy không thể tồn tạiPH

Giả sử tồn tại. Chúng ta có thể xây dựng một máy xác định M lấy đầu vào là máy xác suất R với một số đầu vào x ,PMRx

  • tạm dừng và chấp nhận khi và chỉ khi chấp nhận x (tức là R tạm dừng và chấp nhận x trên hơn một nửa chuỗi ngẫu nhiên).RxRx
  • tạm dừng và từ chối khi và chỉ khi từ chối x (tức là R dừng và từ chối x trên hơn một nửa chuỗi ngẫu nhiên).RxRx
  • vòng lặp khác

Về cơ bản, sẽ cho tất cả i 1 , 2 , . . . mô phỏng R trên đầu vào x và trên mọi chuỗi từ 0 , 1 i làm tiền tố của chuỗi trên băng ngẫu nhiên của R. Hiện nay:Mi1,2,...Rx0,1iR

  • nếu cho tiền tố có độ dàiiRtạm dừng và được chấp nhận mà không cố đọc nhiều hơnibit từ băng ngẫu nhiên,Mdừng lại và chấp nhận>12i RiM
  • nếu cho tiền tố có độ dàiiRtạm dừng và bị từ chối mà không cố đọc nhiều hơnibit từ băng ngẫu nhiên,Mtạm dừng và từ chối>12i RiM
  • mặt khác chạy mô phỏng với i : = i + 1 .Mi:=i+1

Chúng ta phải tự thuyết phục ngay bây giờ, rằng nếu chấp nhận (từ chối) x với xác suất p > 1Rx , sau đó đối với một sốtôisẽ chấp nhận (từ chối) cho>1p>12i tiền tố có độ dàiicủa chuỗi ngẫu nhiên mà không cố đọc nhiều hơnibit từ băng ngẫu nhiên. Đây là kỹ thuật, nhưng khá dễ dàng - nếu chúng ta giả sử khác thì xác suất chấp nhận (từ chối) tiếp cậnp>1>12ii khitôiđi đến vô cùng, do đó đối với một sốtôisẽ phải làp>1p>12ii .p>12

Bây giờ chúng ta chỉ xác định máy xác định giải quyết vấn đề tạm dừng (nghĩa là quyết định xem một máy xác định đã cho N có chấp nhận một từ đã cho x ) a là H ( N , x ) = M ( P ( N , x ) ) hay không . Lưu ý rằng M ( P ( N , x ) ) luôn dừng lại, bởi vì việc quyết định ngôn ngữ bằng các máy xác suất của chúng tôi được xác định theo cách mà một trong hai điều đó luôn xảy ra:HNxH(N,x)=M(P(N,x))M(P(N,x))

  • Máy tạm dừng và chấp nhận hơn một nửa chuỗi ngẫu nhiên
  • Máy dừng lại và từ chối hơn một nửa chuỗi ngẫu nhiên.

Cảm ơn bạn đã xây dựng nhận xét "chỉ liệt kê" của tôi! ;) Hai ý kiến ​​kỹ thuật: Tại gạch đầu dòng một, ý bạn là ? Cuối cùng, ý bạn là S ( Q ) ? >2i1S(Q)
Raphael

1
Lưu ý rằng nếu bạn không yêu cầu P luôn dừng lại, việc xây dựng ngay cả một máy Turing xác định P chấp nhận khi và chỉ khi máy Turing xác định đã dừng.
Tsuyoshi Ito

Giả định của bạn là gì? Bạn không thể phủ nhận một máy Turing xác suất trừ khi nó được bảo đảm cuối cùng sẽ dừng lại.
Tsuyoshi Ito

Xác suất tạm dừng được lấy qua chuỗi từ VÀ đầu vào bổ sung, hoặc là gì?
M. Alaggan

1
@Mohammad ALAGGAN: Không, phần đó đúng như được viết: xác suất chỉ được thực hiện trên chuỗi bổ sung (chỉ định kết quả của các lần lật đồng xu). Vì chúng tôi không giả định bất kỳ phân phối xác suất nào trên chuỗi đầu vào, nên xác suất đối với chuỗi đầu vào không được xác định rõ. Ngay cả khi phân phối xác suất trên chuỗi đầu vào được xác định, xác suất cao của câu trả lời đúng cho chuỗi đầu vào chỉ ngụ ý rằng thuật toán này đúng với hầu hết các đầu vào, khác với yêu cầu thông thường trên thuật toán.
Tsuyoshi Ito

14

Nó phụ thuộc vào ý của bạn bởi thuật toán xác suất xác định một số vị ngữ.

Có một thuật toán xác suất tầm thường P sao cho, đối với máy Turing xác định M ,

  • P ( M ) chấp nhận với xác suất khác không nếu M dừng lại,
  • P ( M ) không bao giờ chấp nhận nếu M không dừng lại và
  • P ( M ) tạm dừng với xác suất 1 cho mỗi M .

Do đó, thuật toán xác suất P giải quyết vấn đề tạm dừng cho các máy Turing xác định theo nghĩa này. (Ở đây, M dừng lại, có nghĩa là Mười M dừng lại ở đầu vào trống.

Tuy nhiên, nếu bạn tăng cường yêu cầu theo bất kỳ cách hợp lý nào, không có khả năng bạn có thể giải quyết vấn đề tạm dừng cho các máy Turing xác định nữa. Ví dụ,

  • Nếu bạn yêu cầu P ( M ) luôn dừng thay vì chỉ có xác suất 1 , thì rõ ràng P có thể được mô phỏng bằng thuật toán xác định. (Xem Wikipedia để được giải thích về sự khác biệt giữa luôn luôn là luôn luôn và với xác suất 1. Nhận)
  • Nếu bạn thực hiện giới hạn lỗi nghiêm ngặt bằng cách yêu cầu P ( M ) tạm dừng và đưa ra câu trả lời đúng với xác suất lớn hơn 1/2 cho mỗi M (nghĩa là, bạn không quan tâm nếu P ( M ) không dừng lại hoặc dừng lại và đưa ra câu trả lời sai trong các trường hợp còn lại), sau đó P có thể được mô phỏng bằng thuật toán xác định bằng cách sử dụng đối số được nêu trong câu trả lời của Karolina Sołtys .

Do đó, một thuật toán xác suất có thể giải quyết vấn đề tạm dừng cho các máy Turing xác định theo các giác quan này.


Tha thứ cho sự thiếu hiểu biết của tôi, nhưng sự khác biệt giữa tạm dừng '' luôn luôn '' và tạm dừng '' với xác suất 1 '' là gì?
Rob Simmons

1
@Rob: Tôi nghĩ rằng đó là một điểm khó khăn. Hãy xem xét một máy Turing xác suất đơn giản chỉ cần tung đồng xu liên tục cho đến khi kết quả là đầu. Máy Turing này tạm dừng trừ khi tất cả các lần tung đồng xu đều dẫn đến đuôi. Do đó, nó dừng lại với xác suất 1, nhưng không phải lúc nào nó cũng dừng lại.
Tsuyoshi Ito

Tôi đã tìm thấy một lời giải thích về sự khác biệt giữa luôn luôn là người dùng và người có xác suất 1v trên Wikipedia và tôi đã thêm cùng một liên kết trong câu trả lời.
Tsuyoshi Ito

Nếu bạn cho phép P (M) thất bại bằng cách không tạm dừng, thì tôi không biết làm thế nào bạn có thể thực hiện một mô phỏng xác định. Chẳng hạn, giả sử bạn chạy mô phỏng xác định của mình trên một số chuỗi tiền tố N dài và sau một khoảng thời gian, <50% tiền tố đã tạm dừng và đưa ra câu trả lời. Làm thế nào để bạn biết liệu các chuỗi tiền tố còn lại chỉ cần thêm thời gian để trả lời hoặc nếu tất cả chúng bị mắc kẹt trong một vòng lặp vô hạn như là một phần của điều kiện thất bại? Nếu trước đây, bạn tiếp tục chờ đợi. Nếu sau này, bạn chấm dứt vòng hiện tại và chạy lại trên tất cả các tiền tố có độ dài - N + 1.
Mike Battaglia

Nhưng điều này là không thể xác định, bởi vì nó vấn đề tạm dừng! Chúng tôi không có cách nào để biết liệu máy Turing sẽ dừng trên các đầu vào đó hay không.
Mike Battaglia

12

PPP

Tôi nghĩ rằng đây là ý nghĩa của bình luận của Raphael.


7

ANA

de Leeuw, K., Moore, EF, Shannon, CE và Shapiro, N. Khả năng tính toán bằng máy xác suất, nghiên cứu Automata, trang 183 Phản212. Biên niên sử của nghiên cứu toán học, không. 34. Nhà xuất bản Đại học Princeton, Princeton, NJ, 1956.

G. Sacks, Độ không thể giải quyết, Nhà xuất bản Đại học Princeton, 1963.

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.