एनपी- अधूरी समस्याओं के लिए (खोज संस्करण) , किसी समाधान की पुष्टि करना इसे खोजने की तुलना में स्पष्ट रूप से आसान है, क्योंकि एक साक्षी समय (संभवतः) घातीय समय लगता है, जबकि सत्यापन बहुपद समय में किया जा सकता है।
में पी , फिर भी, समाधान भी बहुपद समय में पाया जा सकता है, तो यह स्पष्ट प्रतीत नहीं होता है जब समाधान ढूँढने से सत्यापन तेज है। वास्तव में, विभिन्न समस्याएं इस दृष्टिकोण से भिन्न व्यवहार करती हैं। कुछ उदाहरण:
3SUM: दिए गए इनपुट नंबर, उनमें से 3 को खोजते हैं , जो कि 0. से है। जहां तक मुझे पता है, सबसे तेज ज्ञात एल्गोरिथ्म O ( n 2 - o ( 1 ) ) समय में चलता है , और यह आदेश इष्टतम है। दूसरी ओर, एक समाधान का सत्यापन बहुत तेज है, क्योंकि हमें केवल यह जांचना है कि 3 पाए गए नंबर वास्तव में 0 के योग हैं।
ऑल-पेयर शॉर्टेस्ट पाथ्स: एज वेट्स के साथ एक ग्राफ दिया गया, इसकी सबसे छोटी पथ दूरी मैट्रिक्स की गणना करें। एक बार ऐसा मैट्रिक्स दिए जाने के बाद, क्या इसे तेजी से जांचा जा सकता है कि यह वास्तव में सही दूरी का मैट्रिक्स है, इसे पुन: कम्प्यूट करने की तुलना में? मेरा अनुमान है कि उत्तर शायद हां है, लेकिन यह 3SUM की तुलना में निश्चित रूप से कम स्पष्ट है ।
रैखिक प्रोग्रामिंग। यदि एक दावा किया गया इष्टतम समाधान दिया जाता है, तो इसे पुनः जाँचने की तुलना में आसान होता है, जब सहायक जानकारी भी दी जाती है (एक इष्टतम दोहरी समाधान)। दूसरी ओर, यदि केवल मौलिक समाधान उपलब्ध है, तो यह स्पष्ट नहीं है कि कोई इसे तेजी से जांच सकता है, वास्तव में एलपी को हल करने की तुलना में।
प्रश्न: इस विषय में क्या जाना जाता है? यही है, जब समाधान खोजने की तुलना में पी में किसी समस्या के समाधान को सत्यापित करना आसान है ?