Tại sao P và P / poly không giống nhau?


10

Định nghĩa của P là một ngôn ngữ có thể được quyết định bởi thuật toán thời gian đa thức. Định nghĩa của P / poly có thể được hiểu là một ngôn ngữ có thể được quyết định bởi một mạch có kích thước đa thức (xem http://pages.cs.wisc.edu/~jyc/02-810notes/lecture09.pdf ). Bây giờ, tại sao một mạch có kích thước đa thức không thể được mô phỏng trong thời gian đa thức?


4
P / poly có thể tính toán các ngôn ngữ không thể giải quyết được (bài tập).
Yuval Filmus

Cảm ơn, nhưng có gì sai với lập luận của tôi - rằng một mạch có kích thước đa thức có thể được mô phỏng trong thời gian đa thức?
dc

3
Nó sai. Các mạch kích thước đa thức cho các độ dài đầu vào khác nhau có thể hoàn toàn khác nhau và do đó không thể được mô tả bằng một máy Turing duy nhất.
Yuval Filmus

Cảm ơn, nhưng trong định nghĩa P có nói chúng ta bị giới hạn trong một máy Turing không? Tất cả các định nghĩa tôi đã thấy giống như trong mathworld.wolfram.com/PolynomialTime.html
dcw

3
@dcw Một ngôn ngữ là trong P nếu có một máy Turing như rằng ...
David Richerby

Câu trả lời:


19

Điểm về mạch là một mạch có số lượng đầu vào cố định. Điều này có nghĩa rằng, để xác định một ngôn ngữ, chúng ta cần một gia đình của các mạch C0,C1,C2, như vậy mà mạch  Ci sẽ cho bạn biết chuỗi có độ dài  i đang trong ngôn ngữ, đối với mỗi  i . Điều này không đòi hỏi phải có bất kỳ mối quan hệ nào giữa các mạch Ci và  Ci+1 : chúng có thể hoàn toàn khác nhau. Đặc biệt, đối với mọi tập hợp  SN , bạn có thể đặt khai báo Ci=true nếuiSCi=false choiS . Ngay cả khiS  là không thể giải quyết được!

Ngược lại, một ngôn ngữ nằm trong  P nếu có một máy Turing duy nhất cho bạn biết liệu mọi đầu vào có thể có của mọi độ dài có thể có trong ngôn ngữ đó hay không. Bây giờ, bạn không thể chơi bất kỳ trò chơi vui nhộn nào về các đầu vào có độ dài khác nhau.

Bạn đúng khi cho rằng chúng ta có thể đánh giá bất kỳ mạch cố định trong  P . Nhưng điều đó không nhất thiết đủ để quyết định một ngôn ngữ trong P/poly . Để làm điều đó, trước tiên chúng ta cần tính toán độ dài của đầu vào, sau đó sử dụng nó để xác định mạch  Ci chúng ta cần đánh giá, sau đó đánh giá mạch. Như ví dụ trên cho thấy, phần "xác định mạch nào" thậm chí có thể không tính toán được, chứ chưa nói đến tính toán trong thời gian đa thức.


1
Đã nhiều năm kể từ khi tôi nghiên cứu tất cả những điều này và tôi (gần như) đã quên định nghĩa về , nhưng đọc câu trả lời này đã mang lại tất cả: Tôi nhớ có cùng một sự nhầm lẫn khi lần đầu tiên tôi gặp định nghĩa và đến cùng giải quyết / hiểu biết. :-)P/poly
ShreevatsaR
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.