एनपी , एनपी-पूर्ण और एनपी-हार्ड के बीच अंतर क्या हैं ?
मुझे पूरे वेब पर कई संसाधनों की जानकारी है। मैं आपके स्पष्टीकरणों को पढ़ना चाहता हूं, और इसका कारण यह है कि वे वहां से अलग हो सकते हैं, या ऐसा कुछ है जो मुझे पता नहीं है।
एनपी , एनपी-पूर्ण और एनपी-हार्ड के बीच अंतर क्या हैं ?
मुझे पूरे वेब पर कई संसाधनों की जानकारी है। मैं आपके स्पष्टीकरणों को पढ़ना चाहता हूं, और इसका कारण यह है कि वे वहां से अलग हो सकते हैं, या ऐसा कुछ है जो मुझे पता नहीं है।
जवाबों:
मुझे लगता है कि आप सहज परिभाषा की तलाश कर रहे हैं, क्योंकि तकनीकी परिभाषा को समझने के लिए काफी समय की आवश्यकता होती है। सबसे पहले, आइए उन परिभाषाओं को समझने के लिए एक प्रारंभिक आवश्यक अवधारणा को याद करें।
अब, हम उन जटिलता वर्गों को परिभाषित करते हैं ।
P एक जटिलता वर्ग है जो सभी निर्णय समस्याओं के सेट का प्रतिनिधित्व करता है जिन्हें बहुपद समय में हल किया जा सकता है ।
यही है, समस्या का एक उदाहरण दिया गया है, उत्तर हां या नहीं का उत्तर बहुपद समय में तय किया जा सकता है।
उदाहरण
एक जुड़े हुए ग्राफ को देखते हुए G
, क्या इसके सिरों को दो रंगों का उपयोग करके रंगीन किया जा सकता है ताकि कोई किनारे एक रंग का न हो?
एल्गोरिथम: एक अनियंत्रित शीर्ष के साथ शुरू करें, इसे लाल रंग दें और इसके सभी पड़ोसी नीले और जारी रखें। जब आप बाहर की ओर दौड़ते हैं तो रुकें या आप एक किनारे बनाने के लिए मजबूर हों, इसके दोनों छोर एक ही रंग के होंगे।
एनपी एक जटिलता वर्ग है जो सभी निर्णय समस्याओं के सेट का प्रतिनिधित्व करता है जिसके लिए ऐसे उदाहरण हैं जहां उत्तर "हां" में सबूत हैं जिन्हें बहुपद समय में सत्यापित किया जा सकता है।
इसका मतलब यह है कि यदि कोई हमें समस्या का एक उदाहरण देता है और उत्तर के लिए एक प्रमाण पत्र (कभी-कभी एक गवाह कहा जाता है) हां, तो हम जांच सकते हैं कि यह बहुपद समय में सही है।
उदाहरण
एनपी में पूर्णांक कारक है। यह वह समस्या है जो पूर्णांक देता है n
और m
, क्या कोई पूर्णांक f
है 1 < f < m
, जैसे कि f
विभाजन n
( f
एक छोटा कारक है n
)?
यह एक निर्णय समस्या है क्योंकि उत्तर हां या ना में हैं। अगर किसी हाथ हमें समस्या का एक उदाहरण (ताकि वे हाथ हमें पूर्णांकों n
और m
) और एक पूर्णांक f
के साथ 1 < f < m
, और दावा है कि f
का एक कारक है n
(प्रमाण पत्र), हम में जवाब की जांच कर सकते बहुपद समय विभाजन प्रदर्शन करके n / f
।
एनपी-कम्प्लीट एक जटिलता वर्ग है जो X
एनपी में सभी समस्याओं के सेट का प्रतिनिधित्व करता है जिसके लिए बहुपद समय में किसी अन्य एनपी समस्या Y
को कम करना संभव है X
।
सहज रूप से इसका मतलब है कि हम Y
जल्दी से हल कर सकते हैं यदि हम जानते हैं कि कैसे X
जल्दी से हल करना है । संक्षेप में, Y
कम करने योग्य है X
अगर वहाँ एक बहुपद समय एल्गोरिथ्म है, f
उदाहरणों को बदलने के लिए y
की Y
उदाहरणों को x = f(y)
की X
संपत्ति है कि जवाब देने के लिए साथ बहुपद समय में, y
हाँ, यदि और केवल यदि जवाब देने के लिए f(y)
हां में है।
उदाहरण
3-SAT
। यह वह समस्या है जिसमें हमें 3-खंड विच्छेद (ORs) का एक संयोजन (ANDs) दिया जाता है, प्रपत्र के विवरण
(x_v11 OR x_v21 OR x_v31) AND
(x_v12 OR x_v22 OR x_v32) AND
... AND
(x_v1n OR x_v2n OR x_v3n)
जहां प्रत्येक x_vij
एक बूलियन चर या परिमित पूर्वनिर्धारित सूची से एक चर का निषेध है (x_1, x_2, ... x_n)
।
यह दिखाया जा सकता है कि हर एनपी समस्या को 3-सैट तक कम किया जा सकता है । इसका प्रमाण तकनीकी है और इसे एनपी की तकनीकी परिभाषा ( गैर-नियतात्मक ट्यूरिंग मशीनों के आधार पर ) के उपयोग की आवश्यकता है । इसे कुक के प्रमेय के रूप में जाना जाता है ।
एनपी-पूर्ण समस्याओं को महत्वपूर्ण बनाता है अगर एक नियतात्मक बहुपद समय एल्गोरिथ्म उनमें से एक को हल करने के लिए पाया जा सकता है, तो हर एनपी समस्या बहुपद समय में हल करने योग्य है (एक समस्या उन सभी पर शासन करने के लिए)।
सहज रूप से, ये वे समस्याएं हैं जो एनपी-पूर्ण समस्याओं के रूप में कम से कम कठिन हैं । ध्यान दें कि एनपी-हार्ड समस्याओं को एनपी में नहीं होना चाहिए , और उन्हें निर्णय की समस्याएं नहीं होनी चाहिए ।
यहां सटीक परिभाषा यह है कि एक समस्या X
एनपी-हार्ड है, अगर एक एनपी-पूर्ण समस्या है Y
, जैसे कि बहुपद समय में Y
reducible हैX
।
लेकिन चूंकि किसी भी एनपी-पूर्ण समस्या को बहुपद समय में किसी अन्य एनपी-पूर्ण समस्या को कम किया जा सकता है, इसलिए सभी एनपी-पूर्ण समस्याओं को बहुपद समय में किसी भी एनपी-कठिन समस्या को कम किया जा सकता है। फिर, यदि बहुपद समय में एक एनपी-हार्ड समस्या का समाधान है, तो बहुपद समय में सभी एनपी समस्याओं का समाधान है।
उदाहरण
हॉल्टिंग समस्या एक एनपी कठिन समस्या है। यह एक समस्या है जिसने एक कार्यक्रम P
और इनपुट दिया है I
, क्या यह रुक जाएगा? यह निर्णय की समस्या है लेकिन यह एनपी में नहीं है। यह स्पष्ट है कि किसी भी एनपी-पूर्ण समस्या को कम किया जा सकता है। एक अन्य उदाहरण के रूप में, कोई भी एनपी-पूर्ण समस्या एनपी-हार्ड है।
मेरा पसंदीदा एनपी-पूर्ण समस्या माइन्सवेपर समस्या है ।
यह कंप्यूटर विज्ञान में सबसे प्रसिद्ध समस्या है, और गणितीय विज्ञान में सबसे महत्वपूर्ण बकाया प्रश्नों में से एक है। वास्तव में, क्ले संस्थान समस्या के समाधान के लिए एक मिलियन डॉलर की पेशकश कर रहा है ( क्ले वेबसाइट पर स्टीफन कुक का लेखन काफी अच्छा है)।
यह स्पष्ट है कि P, NP का सबसेट है। खुला सवाल यह है कि क्या एनपी समस्याओं में नियतात्मक बहुपद समय समाधान है या नहीं। यह काफी हद तक माना जाता है कि वे ऐसा नहीं करते हैं। यहां पी = एनपी समस्या के नवीनतम (और महत्व) पर एक उत्कृष्ट हालिया लेख है: पी बनाम एनपी समस्या की स्थिति ।
इस विषय पर सर्वश्रेष्ठ पुस्तक गैरी एंड जॉनसन द्वारा कंप्यूटर और इंट्रेक्टबिलिटी है।
मैं चारों ओर देख रहा हूं और कई लंबे स्पष्टीकरण देख रहा हूं। यहाँ एक छोटा चार्ट दिया गया है जो संक्षेप में उपयोगी हो सकता है:
ध्यान दें कि कठिनाई कैसे ऊपर से नीचे तक बढ़ती है: किसी भी एनपी को एनपी-पूर्ण तक कम किया जा सकता है , और किसी भी एनपी-पूर्ण को एनपी-हार्ड तक कम किया जा सकता है , सभी पी (बहुपद) समय में।
यदि आप P समय में समस्या के अधिक कठिन वर्ग को हल कर सकते हैं, तो इसका मतलब होगा कि आपने पाया कि P समय में सभी आसान समस्याओं को कैसे हल किया जाए (उदाहरण के लिए, P = NP को साबित करना, अगर आपको पता है कि किसी भी NP- पूर्ण समस्या को कैसे हल किया जाए? पी समय)।
____________________________________________________________ | समस्या का प्रकार | P समय में सत्यापन योग्य | P समय में हल करने योग्य | बढ़ती कठिनाई ___________________________________________________________ | | | पी | हाँ | हाँ | | | एनपी | हाँ | हां या ना * | | | एनपी-पूर्ण | हाँ | अज्ञात | | | एनपी-हार्ड | हाँ या नहीं ** | अज्ञात *** | | ____________________________________________________________________ वी
नोट Yes
या No
प्रविष्टियों पर:
मुझे यह आरेख भी देखने में काफी उपयोगी लगा कि ये सभी प्रकार एक-दूसरे से कैसे मेल खाते हैं (आरेख के बाएं आधे भाग पर अधिक ध्यान दें)।
यह पूछे गए प्रश्न का बहुत ही अनौपचारिक उत्तर है।
क्या 3233 को 1 से बड़ी दो अन्य संख्याओं के उत्पाद के रूप में लिखा जा सकता है? क्या किसी भी पुल को दो बार लेने के बिना कोनिग्सबर्ग के सेवन ब्रिज के चारों ओर एक रास्ता चलना है ? ये उन सवालों के उदाहरण हैं जो एक सामान्य लक्षण साझा करते हैं। यह स्पष्ट नहीं हो सकता है कि उत्तर को कुशलता से कैसे निर्धारित किया जाए, लेकिन यदि उत्तर 'हां' है, तो प्रमाण की जांच करने के लिए एक छोटा और त्वरित तरीका है। पहले मामले में 51 का एक गैर-तुच्छ कारक है; दूसरे में, पुलों को चलाने के लिए एक मार्ग (बाधाओं की फिटिंग)।
एक निर्णय समस्या हाँ या नहीं के साथ प्रश्नों का एक संग्रह है जो केवल एक पैरामीटर में भिन्न होता है। समस्या कहो COMPOSITE = {" n
समग्र है": n
एक पूर्णांक है} या EULERPATH = {"क्या ग्राफ़ G
में एक यूलर पथ है?": G
एक परिमित ग्राफ़ है}।
यदि स्पष्ट एल्गोरिदम नहीं है, तो अब कुछ निर्णय समस्याएं खुद को कुशल करने के लिए उधार देती हैं। 250 साल पहले यूलर ने "सेवन ब्रिग्स ऑफ़ कोनिग्सबर्ग" जैसी समस्याओं के लिए एक कुशल एल्गोरिथ्म की खोज की।
दूसरी ओर, कई निर्णय समस्याओं के लिए, यह स्पष्ट नहीं है कि उत्तर कैसे प्राप्त किया जाए - लेकिन यदि आप कुछ अतिरिक्त जानकारी जानते हैं, तो यह स्पष्ट है कि आपको यह साबित करना है कि आपको उत्तर सही कैसे मिला। COMPOSITE इस तरह से है: ट्रायल डिवीजन स्पष्ट एल्गोरिथ्म है, और यह धीमा है: 10 अंकों की संख्या को कारक करने के लिए, आपको 100,000 संभावित विभाजकों की तरह कुछ प्रयास करना होगा। लेकिन, अगर, उदाहरण के लिए, किसी ने आपको बताया कि 61 3233 का विभाजक है, तो साधारण लंबा विभाजन यह देखने का एक कारगर तरीका है कि वे सही हैं।
जटिलता वर्ग एनपी निर्णय की समस्याओं का वर्ग है, जहां 'हां' के जवाब में राज्य के लिए संक्षिप्त, साक्ष्यों की जांच करने के लिए त्वरित है। COMPOSITE की तरह। एक महत्वपूर्ण बात यह है कि यह परिभाषा कुछ भी नहीं कहती है कि समस्या कितनी कठिन है। यदि आपके पास किसी निर्णय समस्या को हल करने का एक सही, कुशल तरीका है, तो समाधान में चरणों को लिखना ही पर्याप्त है।
एल्गोरिदम अनुसंधान जारी है, और हर समय नए चतुर एल्गोरिदम बनाए जाते हैं। एक समस्या जिसे आप नहीं जानते कि कैसे कुशलतापूर्वक हल किया जाए आज कल एक कुशल (यदि स्पष्ट नहीं है) समाधान हो सकता है। वास्तव में, यह COMPOSITE का कुशल समाधान खोजने के लिए 2002 तक शोधकर्ताओं को ले गया! इन सभी अग्रिमों के साथ, किसी को वास्तव में आश्चर्य करना होगा: क्या यह छोटा सा सबूत होने के बारे में सिर्फ एक भ्रम है? हो सकता है कि हर निर्णय समस्या जो कुशल साक्ष्यों के लिए उधार देती है, एक कुशल समाधान है? किसी को पता नहीं है ।
शायद इस क्षेत्र में सबसे बड़ा योगदान एनपी समस्याओं की एक अजीब श्रेणी की खोज के साथ आया था। गणना के लिए सर्किट मॉडल के साथ खेलने के द्वारा, स्टीफन कुक ने एनपी किस्म की एक निर्णय समस्या पाई जो कि हर दूसरे एनपी समस्या की तुलना में कठिन या कठिन थी । के लिए एक कुशल समाधान बूलियन satisfiability समस्या के लिए एक कुशल समाधान बनाने के लिए इस्तेमाल किया जा सकता है किसी अन्य एनपी में समस्या। इसके तुरंत बाद, रिचर्ड कार्प ने दिखाया कि कई अन्य निर्णय समस्याएं उसी उद्देश्य को पूरा कर सकती हैं। ये समस्याएं, एनपी में "सबसे कठिन" समस्याओं के रूप में, एनपी-पूर्ण समस्याओं के रूप में जानी जाती हैं ।
बेशक, एनपी केवल निर्णय की समस्याओं का एक वर्ग है। कई समस्याओं को स्वाभाविक रूप से इस तरह से नहीं कहा गया है: "एन के कारकों को ढूंढें", "ग्राफ में सबसे छोटा रास्ता खोजें जो हर शीर्ष पर जाता है", "चर असाइनमेंट का एक सेट दें जो निम्नलिखित बूलियन अभिव्यक्ति को सच बनाता है"। हालाँकि, कुछ लोग ऐसी समस्याओं के बारे में अनौपचारिक रूप से "एनपी" में होने की बात कर सकते हैं, तकनीकी रूप से इसका कोई मतलब नहीं है - वे समस्याओं का निर्णय नहीं कर रहे हैं। इन समस्याओं में से कुछ में एनपी-पूर्ण समस्या के समान शक्ति भी हो सकती है: इन (गैर-निर्णय) समस्याओं का एक कुशल समाधान सीधे किसी भी एनपी समस्या के कुशल समाधान के लिए नेतृत्व करेगा। इस तरह की समस्या को एनपी-हार्ड कहा जाता है ।
पी (बहुपद समय): जैसा कि नाम से ही पता चलता है, ये ऐसी समस्याएं हैं जिन्हें बहुपद में हल किया जा सकता है।
एनपी (गैर-नियतात्मक-बहुपद समय): ये निर्णय समस्याएं हैं जिन्हें बहुपद समय में सत्यापित किया जा सकता है। इसका मतलब है, अगर मैं दावा करता हूं कि किसी विशेष समस्या के लिए एक बहुपद समय समाधान है, तो आप मुझे इसे साबित करने के लिए कहेंगे। फिर, मैं आपको एक प्रमाण दूंगा जिसे आप बहुपद समय में आसानी से सत्यापित कर सकते हैं। इस तरह की समस्याओं को एनपी समस्या कहा जाता है। ध्यान दें, यहां हम इस बारे में बात नहीं कर रहे हैं कि इस समस्या के लिए एक बहुपद समय समाधान है या नहीं। लेकिन हम बहुपद समय में किसी समस्या के समाधान की पुष्टि करने के बारे में बात कर रहे हैं।
एनपी-हार्ड: ये कम से कम एनपी में सबसे कठिन समस्याओं के रूप में कठिन हैं। यदि हम बहुपद समय में इन समस्याओं को हल कर सकते हैं, तो हम किसी भी एनपी समस्या को हल कर सकते हैं जो संभवतः मौजूद हो सकते हैं। ध्यान दें कि ये समस्याएं आवश्यक रूप से एनपी समस्याएं नहीं हैं। इसका मतलब है, हम बहुपद समय में इन समस्याओं के समाधान को सत्यापित / कर सकते हैं।
एनपी-कम्पलीट: ये वे समस्याएं हैं जो एनपी और एनपी-हार्ड दोनों हैं। इसका मतलब है, अगर हम इन समस्याओं को हल कर सकते हैं, तो हम किसी अन्य एनपी समस्या को हल कर सकते हैं और इन समस्याओं के समाधान को बहुपद समय में सत्यापित किया जा सकता है।
अन्य महान उत्तरों के अलावा, यहाँ विशिष्ट स्कीमा लोग एनपी, एनपी-पूर्ण और एनपी-हार्ड के बीच अंतर दिखाने के लिए उपयोग करते हैं:
P v। NP और इस तरह की तकनीकी में शामिल हुए बिना समझाने का सबसे आसान तरीका है "शब्द समस्याओं" की तुलना "बहुविकल्पी समस्याओं" से करना।
जब आप एक "शब्द समस्या" को हल करने की कोशिश कर रहे हैं, तो आपको खरोंच से समाधान ढूंढना होगा। जब आप एक "बहुविकल्पी समस्या" को हल करने की कोशिश कर रहे हैं, तो आपके पास एक विकल्प है: या तो इसे हल करें जैसा कि आप एक "शब्द समस्या" है, या आपके द्वारा दिए गए प्रत्येक उत्तर में प्लग करने का प्रयास करें, और फिट होने वाले उम्मीदवार के उत्तर को चुनें।
अक्सर ऐसा होता है कि एक "बहुविकल्पी समस्या" संबंधित "शब्द समस्या" की तुलना में बहुत आसान होती है: उम्मीदवार के उत्तरों को प्रतिस्थापित करना और यह जाँचना कि क्या वे फिट हैं, खरोंच से सही उत्तर खोजने की तुलना में काफी कम प्रयास की आवश्यकता हो सकती है।
अब, यदि हम बहुपद के समय को "आसान" मानने वाले प्रयास को स्वीकार करेंगे तो कक्षा P में "आसान शब्द समस्याएं" शामिल होंगी, और वर्ग NP में "आसान बहुविकल्पी समस्याएं" शामिल होंगी।
पी। वी। एनपी का सार प्रश्न है: "क्या कोई आसान बहुविकल्पी समस्याएं हैं जो शब्द समस्याओं के रूप में आसान नहीं हैं"? यही है, क्या ऐसी समस्याएं हैं जिनके लिए दिए गए उत्तर की वैधता को सत्यापित करना आसान है लेकिन खरोंच से उस उत्तर को ढूंढना मुश्किल है?
अब जब हम समझ लेते हैं कि एनपी क्या है, तो हमें अपने अंतर्ज्ञान को चुनौती देनी होगी। यह पता चला है कि "बहुविकल्पी समस्याएं" हैं, जो किसी भी तरह से, उन सभी में सबसे कठिन हैं: यदि कोई उन सभी में से किसी एक का "सबसे कठिन" समाधान ढूंढ लेगा, तो सभी को एक समाधान मिल सकेगा एनपी की समस्या! 40 साल पहले जब कुक को यह पता चला तो यह पूरी तरह से आश्चर्यचकित कर देने वाला था। इन "उन सभी में सबसे कठिन" समस्याओं को एनपी-हार्ड के रूप में जाना जाता है। यदि आप उनमें से एक के लिए "शब्द समस्या समाधान" पाते हैं, तो आप प्रत्येक "आसान समस्या समाधान" के लिए स्वचालित रूप से "शब्द समस्या समाधान" पाएंगे!
अंत में, एनपी-पूर्ण समस्याएं वे हैं जो एक साथ एनपी और एनपी-हार्ड हैं। हमारे सादृश्य के बाद, वे एक साथ "बहुविकल्पी समस्याओं के रूप में आसान" और "शब्द की समस्याओं के रूप में उन सभी में सबसे कठिन" हैं।
एनपी-पूर्ण समस्याएं वे समस्याएं हैं जो एनपी-हार्ड और जटिलता वर्ग एनपी दोनों हैं। इसलिए, यह दिखाने के लिए कि कोई भी समस्या एनपी-पूर्ण है, आपको यह दिखाने की आवश्यकता है कि समस्या एनपी दोनों में है और यह एनपी-हार्ड है।
एनपी जटिलता वर्ग में आने वाली समस्याओं को बहुपद में गैर-नियतात्मक रूप से हल किया जा सकता है और एनपी में एक समस्या के लिए एक संभावित समाधान (यानी, एक प्रमाण पत्र) को बहुपद समय में शुद्धता के लिए सत्यापित किया जा सकता है।
K-clique समस्या के लिए गैर-नियतात्मक समाधान का एक उदाहरण कुछ इस प्रकार होगा:
1) बेतरतीब ढंग से एक ग्राफ से कश्मीर नोड का चयन करें
2) सत्यापित करें कि ये k नोड्स एक क्लिक बनाते हैं।
उपरोक्त रणनीति इनपुट ग्राफ के आकार में बहुपद है और इसलिए k-clique समस्या NP में है।
ध्यान दें कि बहुपद समय में नियत रूप से हल करने वाली सभी समस्याएं एनपी में भी हैं।
यह दर्शाता है कि एक समस्या एनपी-हार्ड है जिसमें आमतौर पर एक बहुपद समय मैपिंग का उपयोग करके आपकी समस्या के लिए कुछ अन्य एनपी-हार्ड समस्या से कमी शामिल है: http://en.wikipedia.org/wiki/Reduction_(complexity)
मुझे लगता है कि हम इसका जवाब ज्यादा सक्सेसफुल तरीके से दे सकते हैं। मैंने एक संबंधित प्रश्न का उत्तर दिया, और वहां से मेरे उत्तर की प्रतिलिपि बनाई
लेकिन सबसे पहले, एक एनपी-हार्ड समस्या एक ऐसी समस्या है जिसके लिए हम यह साबित नहीं कर सकते कि एक बहुपद समय समाधान मौजूद है। कुछ "समस्या-पी" की एनपी-कठोरता आमतौर पर बहुपद समय में पहले से ही साबित एनपी-कठिन समस्या को "समस्या-पी" में परिवर्तित करके साबित होती है।
शेष प्रश्न का उत्तर देने के लिए, आपको सबसे पहले यह समझने की आवश्यकता है कि एनपी-कठिन समस्याएं भी एनपी-पूर्ण हैं। अगर NP- हार्ड समस्या NP सेट करने के लिए आती है, तो यह NP-complete है। एनपी सेट करने के लिए, एक समस्या होने की जरूरत है
(i) एक निर्णय समस्या,
(ii) समस्या के समाधान की संख्या परिमित होनी चाहिए और प्रत्येक समाधान बहुपद लंबाई का होना चाहिए, और
(iii) एक बहुपद लंबाई समाधान दिया जाए, हम यह कहने में सक्षम होना चाहिए कि क्या उत्तर समस्या हाँ / नहीं हैअब, यह देखना आसान है कि कई एनपी-मुश्किल समस्याएं हो सकती हैं जो एनपी सेट करने के लिए नहीं हैं और हल करने के लिए कठिन हैं। एक सहज उदाहरण के रूप में, ट्रैवलिंग सेल्समैन का ऑप्टिमाइज़ेशन-संस्करण जहां हमें एक वास्तविक शेड्यूल खोजने की आवश्यकता होती है, ट्रैवल सेल्समैन के निर्णय-संस्करण की तुलना में कठिन है, जहां हमें यह निर्धारित करने की आवश्यकता है कि लंबाई के साथ एक शेड्यूल <= k मौजूद है या नहीं।
इस विशेष प्रश्न के लिए वास्तव में बहुत अच्छे उत्तर हैं, इसलिए मेरी खुद की व्याख्या लिखने का कोई मतलब नहीं है। इसलिए मैं कम्प्यूटेशनल जटिलता के विभिन्न वर्गों के बारे में एक उत्कृष्ट संसाधन के साथ योगदान करने की कोशिश करूंगा।
किसी के लिए जो सोचता है कि कम्प्यूटेशनल जटिलता केवल पी और एनपी के बारे में है, यहां विभिन्न कम्प्यूटेशनल जटिल समस्याओं के बारे में सबसे अधिक संपूर्ण संसाधन है। ओपी द्वारा पूछे जाने वाली समस्याओं के अलावा, इसने कम्प्यूटेशनल समस्याओं के लगभग 500 अलग-अलग वर्गों को अच्छे विवरणों के साथ सूचीबद्ध किया और मौलिक शोध पत्रों की सूची भी दी, जो कक्षा का वर्णन करते हैं।
जैसा कि मैं इसे समझता हूं, एक एनपी-हार्ड समस्या एक एनपी-पूर्ण समस्या की तुलना में "कठिन" नहीं है। वास्तव में, परिभाषा के अनुसार, हर np-complete समस्या है:
- परिचय। कॉर्मेन, लिसेर्सन, रिवेस्ट, और स्टीन द्वारा एल्गोरिथम (3ed), पृष्ठ 1069
I
पर प्रस्ताव के रूप में दिए गएn
, चर के लिए सभी2^n
संभव असाइनमेंट का प्रयास करें और अगर प्रस्ताव को संतुष्ट करता है और अन्यथा एक अनंत लूप दर्ज करें। हम देखते हैं कि यह एल्गोरिथ्म अगर और केवल अगरI
संतोषजनक है तो रुक जाता है। इस प्रकार, अगर हम रुकने की समस्या को हल करने के लिए एक बहुपद समय एल्गोरिथ्म थे तो हम बहुपद समय में SAT को हल कर सकते थे। इसलिए, रोकने की समस्या एनपी-हार्ड है।