Sự khác biệt giữa quyết định của người ăn vặt và người xác minh người nổi tiếng trong lý thuyết phức tạp là gì?


16

Trong Lý thuyết tính toán của Michael Sipser ở trang 270, ông viết:

P = lớp ngôn ngữ mà tư cách thành viên có thể được quyết định nhanh chóng.
NP = lớp ngôn ngữ mà thành viên có thể được xác minh nhanh chóng.

Sự khác biệt giữa "quyết định" và "xác minh" là gì?


1
Nhân tiện, tôi chắc chắn rằng các trích dẫn không phải là định nghĩa chính thức của P và NP Sipser sử dụng. Các định nghĩa (hoặc một số kết quả đầu tiên) sẽ giải quyết câu hỏi.
Raphael

Câu trả lời:


12

Nhiệm vụ của việc quyết định thành viên là: đưa ra bất kỳ đầu vào , quyết định wether x L , tức là tính toán hàm sau:xxL

χL(x)= ={1xL0xL

Mặt khác, công tác xác minh thành viên là: đưa ra bất kỳ đầu vào và (đề xuất) bằng chứng (hoặc chứng ) của thành viên, kiểm tra một cách nhanh chóng thời tiết x L bằng mà bằng chứng ¹.xxL

Ví dụ, xem xét yếu tố chính. Cho , tính tất cả các thừa số nguyên tố của n . Mặt khác, đã cho ( n , { i 1 , Mạnh , i k } ) , xác minh rằng k j = 1 i j = n . Cái nào dễ hơn?nNn(n,{Tôi1,Giáo dục,Tôik})Πj= =1kTôij= =n

Một ví dụ khác: Cho một đồ thị có trọng số , quyết định thời tiết có một vòng tròn Hamilton (truy cập tất cả các nút) có trọng số nhiều nhất là k . Mặt khác, do ( G , ( v 1 , ... , v n ) ) , xác minh thời tiết con đường v 1v n thăm tất cả các nút đúng một lần và có trọng lượng tối đa là k . Cái nào khó hơn?G= =(V,E)k(G,(v1,Giáo dục,vn))v1vnk


  1. Vì vậy, bạn sẽ nói "không" nếu nhưng bằng chứng là sai. Điều đó cũng tốt, mặc dù, khi chúng tôi xem xét các máy không xác định trong bối cảnh này; điều quan trọng là chúng ta có thể đoán bằng chứng chính xác và xác minh nó (một cách nhanh chóng).xL

Trên thực tế, nếu bạn có thể xác minh tư cách thành viên trong thời gian đa thức với máy Turing xác định M, thì việc xây dựng một TM M không xác định sẽ quyết định tư cách thành viên: chỉ cần liệt kê tất cả các yếu tố đầu vào có thể và sau đó soạn thảo với M.
Romuald

8

Nếu chúng ta bỏ qua các vấn đề hiệu quả, có một ví dụ khác minh họa sự khác biệt bằng cách tương tự. Chúng tôi biết rằng vấn đề tạm dừng là không thể quyết định: được cung cấp mã cho máy Turing, không có cách nào hiệu quả để xác định xem máy có dừng hay không nếu nó chạy không có đầu vào.e

Nhưng nếu một máy không dừng lại, nó không phải là khó khăn để chứng minh cho người khác: chỉ cần nói với họ bao nhiêu bước máy chạy trước khi nó dừng lại. Họ có thể chạy máy trong nhiều bước và biết nếu bạn nói sự thật (tất nhiên bỏ qua hiệu quả).

Vì vậy, bộ máy Turing tạm dừng không thể quyết định được, nhưng nó có thể kiểm chứng được. Lưu ý rằng không có bằng chứng nào được đưa ra cho các máy không dừng lại. Xác minh là không đối xứng theo nghĩa là chỉ thành viên trong tập có thể kiểm chứng, thành viên ra của tập thì không.

Tình huống với P và NP là tương tự nhau. Một ngôn ngữ nằm trong NP nếu có một hệ thống bằng chứng sao cho mỗi đối tượng trong ngôn ngữ đó có một bằng chứng ngắn (giới hạn bởi một đa thức về kích thước của đối tượng) có thể được xác minh một cách hiệu quả (với một số bước được giới hạn bởi một đa thức trong kích thước của đầu vào).

Mặt khác, một ngôn ngữ nằm trong P nếu có một cách để biết liệu một đối tượng tùy ý có hoặc không có trong ngôn ngữ bằng cách sử dụng một số bước được giới hạn bởi một đa thức về kích thước của đối tượng. Bây giờ chúng ta phải lo lắng về các đầu vào tùy ý, không chỉ các đối tượng trong ngôn ngữ. Nhưng vấn đề này là đối xứng: nếu một ngôn ngữ nằm trong P thì bổ sung của nó cũng vậy. Câu hỏi liệu phần bổ sung của mọi ngôn ngữ NP cũng là một ngôn ngữ NP chưa được giải quyết.

(Mught tương tự này gợi ý rằng các vấn đề NP đối với các vấn đề P như các tập hợp lại là các tập hợp tính toán. Điều đó hơi đúng, nhưng nó có thể gây hiểu lầm. Một thực tế cơ bản là một tập hợp được tái và đồng thời có thể tính toán được, trong khi người ta không biết liệu mọi tập hợp là NP và Co-NP có trong P) hay không.

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.