Đối với (các phiên bản tìm kiếm) của các vấn đề NP -complete, việc xác minh một giải pháp rõ ràng dễ dàng hơn tìm kiếm nó, vì việc xác minh có thể được thực hiện trong thời gian đa thức, trong khi việc tìm kiếm nhân chứng mất (có thể) thời gian theo cấp số nhân.
Trong P , tuy nhiên, các giải pháp cũng có thể được tìm thấy trong thời gian đa thức, vì vậy nó có vẻ không rõ ràng khi là việc xác minh nhanh hơn so với việc tìm kiếm giải pháp. Trong thực tế, các vấn đề khác nhau dường như hành xử khác nhau từ quan điểm này. Vài ví dụ:
3SUM: cho số đầu vào, tìm 3 trong số chúng có tổng bằng 0. Theo tôi biết, thuật toán được biết nhanh nhất chạy trong thời gian O ( n 2 - o ( 1 ) ) và thứ tự này được phỏng đoán là tối ưu. Mặt khác, việc xác minh một giải pháp nhanh hơn nhiều, vì tất cả những gì chúng ta cần làm chỉ là kiểm tra xem 3 số tìm thấy có thực sự tổng bằng 0 hay không.
Đường dẫn ngắn nhất cho tất cả các cặp: đưa ra một biểu đồ có trọng số cạnh, tính toán ma trận khoảng cách đường đi ngắn nhất của nó. Một khi một ma trận như vậy được đưa ra, nó có thể được kiểm tra nhanh hơn rằng nó thực sự là ma trận khoảng cách chính xác, hơn là tính lại nó không? Tôi đoán là câu trả lời có lẽ là có, nhưng nó chắc chắn ít rõ ràng hơn so với 3SUM.
Lập trình tuyến tính. Nếu một giải pháp tối ưu được yêu cầu được đưa ra, việc kiểm tra nó sẽ dễ dàng hơn so với việc tính lại nó, khi thông tin phụ cũng được đưa ra (một giải pháp kép tối ưu). Mặt khác, nếu chỉ có giải pháp nguyên thủy có sẵn, không rõ liệu người ta có thể kiểm tra nó nhanh hơn, thực sự là giải quyết LP.
Câu hỏi: những gì được biết về chủ đề này? Đó là, khi nào dễ dàng xác minh giải pháp cho một vấn đề trong P , hơn là tìm giải pháp?