Có một nhiệm vụ có thể giải quyết được trong thời gian đa thức nhưng không thể kiểm chứng được trong thời gian đa thức?


34

Một đồng nghiệp của tôi và tôi vừa nhấn một số ghi chú của một trong những giáo sư của chúng tôi. Các ghi chú nêu rõ rằng có những nhiệm vụ có thể giải quyết trong thời gian đa thức (thuộc lớp PF) nhưng KHÔNG thể kiểm chứng được trong thời gian đa thức (KHÔNG thuộc lớp NPF).

Để giải thích về các lớp này: Chúng tôi nhận được một số đầu vào X và tạo ra một số đầu ra Y sao cho (X, Y) nằm trong mối quan hệ R đại diện cho nhiệm vụ của chúng tôi. Nếu có thể lấy Y cho X trong thời gian đa thức, thì nhiệm vụ thuộc về lớp PF. Nếu có thể xác minh chứng chỉ Z có độ dài đa thức chứng minh một tuple (X, Y) có quan hệ R trong thời gian đa thức, thì nhiệm vụ thuộc về lớp NPF.

Chúng tôi không nói về các vấn đề quyết định, trong đó câu trả lời chỉ đơn giản là CÓ hoặc KHÔNG (chính thức hơn nếu một số chuỗi thuộc về một số ngôn ngữ). Đối với các vấn đề quyết định, dường như PF là một tập hợp con chính xác của NPF. Tuy nhiên, đối với các nhiệm vụ khác, nó có thể khác.

Bạn có biết một nhiệm vụ có thể được giải quyết trong thời gian đa thức nhưng không được xác minh trong thời gian đa thức?


8
Có lẽ tôi hiểu nhầm, nhưng tại sao sau đây không phải là thuật toán xác minh thời gian đa thức? Cho , tự tính toán hàm , sử dụng thuật toán thời gian đa thức và trả về "chính xác" nếu . Có thể là bạn đọc sai hoặc giáo sư sai chính tả và thay vào đó để nói rằng có những vấn đề có thể kiểm chứng được trong thời gian đa thức nhưng không thể giải quyết được trong thời gian đa thức? (x,y)f ( x ) = yf(x)f(x)=y
Liêuwe Vinkhuijzen

1
@LieuweVinkhuijzen "để nói rằng có những vấn đề có thể kiểm chứng được trong thời gian đa thức nhưng không thể giải quyết được trong thời gian đa thức?" [tham khảo. cần thiết]
T. Verron 8/12/2016

@ T.Verron Haha vâng, tôi cũng rất vui khi thấy bằng chứng của giáo sư cho tuyên bố này;)
Liêuwe Vinkhuijzen

Câu trả lời:


44

Điều này chỉ có thể nếu có nhiều đầu ra được chấp nhận cho một đầu vào nhất định. Tức là, khi quan hệ không phải là một hàm vì nó vi phạm tính duy nhất.R

Ví dụ, hãy xem xét vấn đề này:

Cho (được biểu thị bằng unary) và TM , tạo ra một TM khác sao cho và (trong đó là viết tắt của mã hóa ( Số Godel) của thành số tự nhiên) M N L ( M ) = L ( N ) # N > n # N NnNMNL(M)=L(N)#N>n#NN

Việc giải quyết điều này là không quan trọng: tiếp tục thêm một vài trạng thái dư thừa vào TM , có thể với một số chuyển đổi giả giữa chúng, cho đến khi mã hóa của nó vượt quá . Đây là một ứng dụng lặp đi lặp lại cơ bản của Bổ đề Padding trên TM. Điều này sẽ yêu cầu paddings, mỗi pad có thể thêm một trạng thái, do đó nó có thể được thực hiện trong thời gian đa thức.n nMnn

Mặt khác, với không thể kiểm tra xem có phải là đầu ra chính xác cho đầu vào . Thật vậy, việc kiểm tra là không thể giải quyết được (áp dụng định lý Rice) và ràng buộc chỉ loại bỏ rất nhiều s khỏi những điều đó. Vì chúng tôi loại bỏ một lượng phần tử hữu hạn khỏi một vấn đề không thể giải quyết được, chúng tôi vẫn gặp phải một vấn đề không thể giải quyết được.N n , M L ( M ) = L ( N ) # N > n Nn,M,NNn,ML(M)=L(N)#N>nN

Bạn cũng có thể thay thế thuộc tính không thể xác định để có được các biến thể vẫn có thể tính toán được nhưng NP cứng / hoàn chỉnh. Ví dụ, cho (trong unary), việc tính một đồ thị có -clique bên trong là chuyện nhỏ . Nhưng với thật khó để kiểm tra xem -clique có tồn tại hay không.n G n n , G nL(M)=L(N)nGnn,Gn


1
Dự kiến ​​điều này sẽ không xảy ra. Câu trả lời chính xác!
Filip Haglund

7
Điều này không trả lời câu hỏi. OP đặc biệt yêu cầu một vấn đề không thể kiểm chứng theo nghĩa thông thường, trong đó, ngoài đầu vào và câu trả lời bị cáo buộc, chúng tôi nhận được một chứng chỉ xác nhận tính chính xác của câu trả lời. Trong trường hợp của bạn, chứng chỉ là các bit được sử dụng để tạo ra Turing Machine tương đương mới. Cho và , thật dễ dàng để kiểm tra xem z có cho máy M không . Nếu không có z , câu hỏi đặt ra là có dễ tạo ra các phiên bản cứng của ngôn ngữ (NPC) hay không, điều này chỉ đúng trong Minicrypt và Cryptomania. M , N zzM,NzzMz
Liêuwe Vinkhuijzen

2
@chi Không phải tất cả các cặp đều có thể được chứng nhận, nhưng tập hợp các cặp M , N được tạo bởi thuật toán của bạn có thể được chứng nhận. Chứng chỉ là bản sao thuật toán của bạn tạo ra N từ M (ví dụ: "bắt đầu với M , sau đó thêm trạng thái này và thêm quá trình chuyển đổi này, sau đó ... và voilà, N !"). Nói chung, nếu T là một thuật toán không xác định, với x , luôn luôn tính một y được chấp nhận , thì bảng điểm của một đường tính toán của T ( x ) là một chứng chỉ mà y đã choM,NM,NNMMNTxyT(x)y có thể được chấp nhận.
Liêuwe Vinkhuijzen

3
@chi Có một sắc thái nhỏ trong câu hỏi: Đối với mối quan hệ tùy ý , có thể không phải tất cả y đều được chấp nhận là có thể chứng nhận được và bạn đưa ra một ví dụ thanh lịch. Tuy nhiên, câu hỏi không hỏi liệu có tồn tại mối quan hệ chấp nhận được nhưng không chắc chắn hay không (câu trả lời là , bằng ví dụ của bạn), thay vào đó, nó hỏi liệu chúng ta có thể có một thuật toán tạo ra đầu ra không thể chấp nhận được không. Câu trả lời, ở đây, phải là không , vì lập luận ở trên. Ry
Liêuwe Vinkhuijzen

2
NPP

1

Đây chỉ là một chi tiết của câu đầu tiên trong câu trả lời của @ chi, vì tôi không thấy nó rõ ràng.

Ý tưởng là, nếu bạn có một thuật toán tìm câu trả lời cho một số vấn đề trong thời gian đa thức, thì có hai khả năng:

  1. Trước đây, bạn đã chứng minh (về mặt toán học) rằng đầu ra của thuật toán là một giải pháp cho vấn đề, trong trường hợp đó, chính các bước của thuật toán tạo thành bằng chứng chính xác.

  2. Bạn có một thuật toán khác để kiểm tra xem đầu ra có thực sự là một giải pháp hay không, trong trường hợp đó bạn phải chạy thuật toán này (nếu không bạn sẽ rơi vào trường hợp # 1), ngụ ý rằng bạn đang thực hiện nó trong thời gian đa thức.

Do đó, không thể có vấn đề như vậy.


Tôi không hiểu # 2. Điều gì ngụ ý rằng các thuật toán khác nhau chạy trong thời gian đa thức?
Albert Hendriks

@AlbertHendriks: Nếu trình xác minh không chạy trong thời gian đa thức thì người giải ban đầu không thể tuyên bố đã tìm ra giải pháp đúng trong thời gian đa thức, bởi vì nó cần chạy trình xác minh để đảm bảo giải pháp của nó là chính xác.
Mehrdad
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.