जवाबों:
अली, अच्छा सवाल।
मान लीजिए आप दिखाना चाहते हैं कि कुछ समस्या पी कम्प्यूटेशनल रूप से कठिन है। अब, आप अनुमान लगा सकते हैं कि पी इस तथ्य पर आधारित है कि हमारे पास अभी तक इसके लिए कोई कुशल एल्गोरिदम नहीं है। लेकिन यह बल्कि भड़कीला सबूत है, नहीं? यह हो सकता है कि हम पी को देखने के लिए कुछ अच्छे तरीके से चूक गए हैं जिससे इसे हल करना बहुत आसान हो जाएगा। इसलिए, यह अनुमान लगाने के लिए कि पी कठिन है, हम और अधिक सबूत जमा करना चाहेंगे। कटौती बिल्कुल ऐसा करने के लिए एक उपकरण प्रदान करती है! यदि हम कुछ अन्य प्राकृतिक समस्या Q से P को कम कर सकते हैं, तो हमने दिखाया है कि P, Q से कम से कम कठिन है। लेकिन Q गणित के कुछ पूरी तरह से अलग क्षेत्र से एक समस्या हो सकती है, और लोगों ने Q को हल करने के लिए दशकों तक संघर्ष किया होगा। । इस प्रकार, हम Q के लिए एक कुशल एल्गोरिथ्म खोजने में अपनी विफलता को देख सकते हैं कि यह प्रमाण है कि P कठिन है। अगर हमारे पास इस तरह के क्यू '
यह वही है जो एनपी-पूर्णता का सिद्धांत प्रदान करता है। यदि आप अपनी समस्या को एनपी-पूर्ण साबित करते हैं, तो आपने इसकी कठोरता को सैकड़ों अन्य समस्याओं की कठोरता से जोड़ दिया है, जिनमें से प्रत्येक विभिन्न समुदायों के लिए महत्वपूर्ण है। इस प्रकार, नैतिक रूप से, आपको आश्वासन दिया जा सकता है कि आपकी समस्या वास्तव में कठिन है।
एक समस्या एनपी-पूरा साबित करना एक शोध सफलता है क्योंकि यह आपको उस सामान्य समस्या के लिए एक कुशल और सटीक समाधान की खोज करने से मुक्त करता है जो आप पढ़ रहे हैं। यह साबित करता है कि आपकी समस्या समस्याओं के एक वर्ग का सदस्य है जो इतना मुश्किल है कि कोई भी किसी भी समस्या के लिए एक कुशल और सटीक एल्गोरिदम नहीं ढूंढ सका है, और किसी भी समस्या के लिए ऐसा समाधान सभी के लिए एक समाधान होगा। समस्या।
यह आमतौर पर एक कदम रखने वाला पत्थर है, क्योंकि आपकी समस्या अभी भी बनी हुई है - आपको बस अपनी आवश्यकताओं को आराम देना है। आमतौर पर लोग "कुशल", "सटीक", या "सामान्य" में से एक या अधिक को आराम करने का प्रयास करते हैं। अक्षम और सटीक-सामान्य इन एल्गोरिदम के लिए घातांक में बेहतर और बेहतर स्थिरांक खोजने का प्रयास है। कार्यकुशलता और एल्गोरिथ्म के सामान्यीकरण का अध्ययन सन्निकटन एल्गोरिदम का अध्ययन है। कुशल-और-सटीक-लेकिन-सामान्य नहीं निश्चित-पैरामीटर ट्रैक्टबिलिटी का अध्ययन और इनपुट के उपवर्गों की खोज है जिसके लिए कुशल एल्गोरिदम मिल सकते हैं।
आइए दो अलग-अलग मामलों को देखें कि दो अलग-अलग व्यक्ति एक समस्या को क्यों साबित करना चाहते हैं :
a) आप एक सॉफ्टवेयर प्रोजेक्ट पर काम कर रहे हैं। अपने सिस्टम को निर्दिष्ट करने के बाद, आप अपने एप्लिकेशन की वास्तुकला को परिभाषित करना शुरू कर रहे हैं। इसमें बड़ी समस्या को तोड़ना शामिल है / छोटी समस्याओं के लिए आवेदन की जरूरत है। मान लीजिए कि आपको एक कुशल खोजने के लिए कार्य दिया गया है (हम नहीं चाहते कि हमारा आवेदन धीमा हो!) उन छोटी समस्याओं में से एक के लिए एल्गोरिथ्म। कुछ समय के लिए संघर्ष करने के बाद, आप एक बहुपद एल्गोरिथ्म नहीं पा सकते हैं। तब आप सोच सकते हैं: शायद यह समस्या बहुत कठिन है, इसलिए एक कुशल एल्गोरिदम को खोजना बहुत मुश्किल (या असंभव भी है)। यह साबित करके कि समस्या , आपके पास इस अनुमान के लिए कुछ सबूत हैं और आपको एक वैकल्पिक दृष्टिकोण पर विचार करना शुरू करना चाहिए (जैसे समस्या को बदलना ताकि यह आसान हो जाए)।
b) आप जटिलता सिद्धांत पर शोध कर रहे हैं। परिभाषा के अनुसार, आप समस्याओं (या समस्याओं के वर्गों) को आवश्यक संसाधनों की संख्या के अनुसार चिह्नित करना चाहते हैं, अर्थात उन्हें हल करने में कठिनाई। यह साबित करने से कि एक निश्चित समस्या , आप कुछ अंतर्दृष्टि प्राप्त करते हैं:
संक्षेप में, किसी समस्या को चिह्नित करने से आप सामान्य तकनीकों का उपयोग कर सकते हैं। जिस वर्ग से संबंधित है, उसका अध्ययन करके, आप इस विशेष समस्या की बारीकियों के बारे में परेशान किए बिना, एक अमूर्त स्तर पर सोच सकते हैं, जो सामान्य रूप से गणित और विज्ञान में सामान्य है। व्यक्तिगत सदस्यों के बजाय कक्षाओं के साथ काम करना आपको ज्ञात तकनीकों का उपयोग करने की अनुमति देता है और इसके अलावा, अपनी अंतर्दृष्टि को केवल एक के बजाय बड़ी संख्या में वस्तुओं पर लागू करता है।
प्रत्येक समस्या अन्य समस्याओं के साथ कई कनेक्शन है। इसके अलावा, एक समस्या और जटिलता वर्गों के बीच संबंध हैं।
इसलिए, एनपीसी के रूप में एक समस्या को वर्गीकृत करना आमतौर पर हमें अन्य समस्याओं के साथ-साथ जटिलता वर्गों में अंतर्दृष्टि प्रदान करता है।
उदाहरण के लिए, ग्राफ आइसोमॉर्फिज्म (जीआई) समस्या को लें। निम्नलिखित कागज में:
Uwe Schöning, ग्राफ आइसोमॉर्फिज्म कम पदानुक्रम में है , प्रोसीडिंग्स ऑफ़ द थ्योरिटिकल एस्पेक्ट्स ऑफ़ कंप्यूटर साइंस , 1987, 114–124; यह भी: कंप्यूटर और सिस्टम विज्ञान के जर्नल, वॉल्यूम। 37 (1988), 312–323।
यह साबित होता है कि यदि GI PC NPC, तो बहुपद पदानुक्रम (PH) अपने दूसरे स्तर तक गिर जाता है; जो संरचनात्मक जटिलता सिद्धांत में एक प्रमुख सफलता होगी।
मैं देखता हूं कि पिछले उत्तर स्पष्ट करते हैं कि यह जानना महत्वपूर्ण है कि कोई समस्या एनपी-पूर्ण नहीं है या नहीं, लेकिन कोई भी सीधे प्रश्न को संबोधित नहीं करता है: इसका प्रमाण "एनपी-पूर्ण है "को सभी के लिए एक शोध सफलता नहीं माना जाता है। यह विभिन्न चीजों पर निर्भर करता है, जैसे कि क्या दिलचस्प है, क्या प्रमाण में नई तकनीकें हैं या नहीं, " एनपी-पूर्ण है "के दिलचस्प परिणाम हैं, आदि।