कंप्यूटर विज्ञान में एनपी-पूर्ण क्या है?


429

एनपी-पूर्ण समस्या क्या है? कंप्यूटर विज्ञान में यह इतना महत्वपूर्ण विषय क्यों है?


5
इस सवाल के जवाब में आपकी दिलचस्पी हो सकती है: stackoverflow.com/questions/111307/…
डैन डायर

1
खैर मैंने अपना जवाब लिखने का फैसला किया क्योंकि मुझे स्वीकार किए गए उत्तर को प्रस्तुत करने का तरीका पसंद नहीं आया और इसमें P = NP प्रश्न का लिंक शामिल था।
ग्रोम

1
असतत गणित पर एक बहुत अच्छा arsdigita व्याख्यान है जो बताता है कि एनपी-पूर्ण समस्या क्या है। पहले 50 मिनट मुख्य रूप से बूलियन बीजगणित पर होते हैं। तो ठीक 53 मिनट की शुरुआत में कूदें यदि आप केवल पी, एनपी, एनपी-पूर्णता, बूलियन संतोषजनक समस्या और कमी की अवधारणाओं में रुचि रखते हैं।
डेविटेनियो

1
हम कभी नहीं जान पाएंगे क्योंकि बड़े एन के साथ यह कभी पूरा नहीं होगा;)
पीट एल्विन

1
मैं बहुत पसंद करता हूं और वास्तव में इस वीडियो स्पष्टीकरण की जांच करने की सलाह देता हूं: youtube.com/watch?v=YX40hbAHx3s
मैक्सीम ओवसियनिकोव

जवाबों:


209

एनपी गैर-नियतात्मक बहुपद समय के लिए खड़ा है ।

इसका अर्थ है कि गैर-नियतात्मक ट्यूरिंग मशीन (एक नियमित ट्यूरिंग मशीन की तरह लेकिन गैर-निर्धारक "पसंद" फ़ंक्शन सहित) का उपयोग करके समस्या को बहुपद समय में हल किया जा सकता है। मूल रूप से, एक समाधान को पाली समय में परीक्षण करने योग्य होना चाहिए । अगर ऐसा है, और एक ज्ञात एनपी समस्या को संशोधित इनपुट के साथ दी गई समस्या का उपयोग करके हल किया जा सकता है (एनपी समस्या को दी गई समस्या को कम किया जा सकता है) तो समस्या एनपी पूर्ण है।

एनपी-पूर्ण समस्या से दूर करने के लिए मुख्य बात यह है कि इसे किसी भी ज्ञात तरीके से बहुपद समय में हल नहीं किया जा सकता है। एनपी-हार्ड / एनपी-कम्प्लीट यह दिखाने का एक तरीका है कि यथार्थवादी समय में समस्याओं की कुछ कक्षाएं हल नहीं हैं।

संपादित करें: जैसा कि अन्य ने उल्लेख किया है, एनपी-पूर्ण समस्याओं के लिए अक्सर अनुमानित समाधान होते हैं। इस मामले में, अनुमानित समाधान आमतौर पर विशेष संकेतन का उपयोग करते हुए एक अनुमान लगाता है जो हमें बताता है कि सन्निकटन कितना करीब है।


2
"... एक एनपी समस्या को दी गई समस्या को कम किया जा सकता है ..." - कमी पर एक महत्वपूर्ण बाधा यह है कि यह नियतात्मक रूप से बहुपद होना चाहिए।
राफेल डाउगर्ड

2
O () संकेतन एक सामान्य गणितीय संकेतन है जिसका उपयोग हर जगह किया जाता है: सन्निकटन एल्गोरिदम वास्तव में O () सटीकता के लिए दिए गए हैं - arxiv.org पर किसी भी सन्निकटन एल्गोरिथ्म के पेपर को देखें
यिंग जिओ

1
थोड़ा स्पष्ट करने के लिए, एनपी समस्याएं गैर-नियतात्मक ट्यूरिंग मशीनों को संदर्भित कर रही हैं। यह अभी भी अज्ञात है कि क्या एनपी-पूर्ण समस्या को एक नियतात्मक ट्यूरिंग मशीन पर बहुपद समय में हल किया जा सकता है।
rjzii

1
@ युवल: बस इसे स्पष्ट करने के लिए। आपने जो पहले किया था वह पूरी तरह से गलत था (जब तक कि पी = एनपी)। आपकी टिप्पणी से मुझे लगता है कि आपको लगता है कि दोनों संस्करण सही थे। यदि नहीं, तो मैं माफी चाहता हूं।

33
यह उत्तर पूर्ण और समझ से बहुत दूर है, और मुझे समझ नहीं आ रहा है कि इसके इतने ऊपर क्यों हैं।
नबर

428

एनपी क्या है ?

एनपी सभी निर्णय की समस्याओं का सेट है (हाँ-या-उत्तर के साथ प्रश्न) जिसके लिए 'हाँ'-उत्तर को बहुपद समय (O (n k )) में सत्यापित किया जा सकता है जहाँ n समस्या का आकार है, और k एक है एक नियतात्मक ट्यूरिंग मशीन द्वारा निरंतर) । बहुपद समय का उपयोग कभी-कभी तेज या जल्दी की परिभाषा के रूप में किया जाता है ।

पी क्या है ?

पी सभी निर्णय समस्याओं का एक सेट है जिसे एक नियतात्मक ट्यूरिंग मशीन द्वारा बहुपद समय में हल किया जा सकता है । चूंकि उन्हें बहुपद समय में हल किया जा सकता है, इसलिए उन्हें बहुपद समय में भी सत्यापित किया जा सकता है। इसलिए P, NP का सबसेट है।

एनपी-पूर्ण क्या है ?

एक समस्या x जो NP में है वह NP-Complete में भी है और यदि केवल NP की हर दूसरी समस्या जल्दी (यानी बहुपद में) x में तब्दील हो सकती है।

दूसरे शब्दों में:

  1. x एनपी में है, और
  2. NP की हर समस्या x के लिए reducible है

तो, एनपी-पूर्ण क्या इतना दिलचस्प है कि अगर एनपी-पूर्ण समस्याओं में से किसी एक को जल्दी से हल किया जाना था, तो सभी एनपी समस्याओं को जल्दी से हल किया जा सकता है।

पोस्ट भी देखें "पी = एनपी?", और यह इतना प्रसिद्ध प्रश्न क्यों है?

क्या है एनपी-हार्ड ?

एनपी-हार्ड ऐसी समस्याएं हैं जो कम से कम एनपी में सबसे कठिन समस्याएं हैं। ध्यान दें कि एनपी-पूर्ण समस्याएं भी एनपी-हार्ड हैं। हालाँकि, NPउपसर्ग के रूप में होने के बावजूद सभी एनपी-हार्ड समस्याएं एनपी (या यहां तक ​​कि एक निर्णय समस्या) नहीं हैं । यही एनपी में एनपी-हार्ड का मतलब गैर-नियतात्मक बहुपद समय नहीं है । हां, यह भ्रामक है, लेकिन इसका उपयोग उलझा हुआ है और बदलने की संभावना नहीं है।


4
"वह NP- एनपी-हार्ड में एनपी का मतलब गैर-बहुपद नहीं है" <- एनपी में एनपी-पूर्ण (या कहीं और) का मतलब गैर-बहुपद भी नहीं है।
sepp2k

1
धन्यवाद सुधार के लिए sepp2k। मेरे कहने का मतलब यह है कि इसका मतलब एनपी (यानी गैर-नियतात्मक बहुपद समय) नहीं है।
grom

1
मुझे लगता है कि इस धागे में आपका जवाब दूसरों की तुलना में अधिक या सरल है। लेकिन यह अभी भी मेरे लिए एक बहुत ही कठिन समस्या है ... मुझे लगता है यही कारण है कि वे एल्गोरिदम को बड़े रुपये का भुगतान करते हैं।
SoftwareSavant

3
एनपी के बारे में: मुझे लगता है कि यह होना चाहिए: समस्या को नोंडेटर्मिनिस्टिक ट्यूरिंग मशीन द्वारा हल किया जा सकता है। (डर्मिनिस्टिक के बजाय नॉनटेरडर्मिस्टिक)
hqt

2
@hqt मैंने जो लिखा है वह सही है .. "सत्यापित" शब्द पर ध्यान दें। आप सही भी हैं, गैर-नियतात्मक ट्यूरिंग मशीन द्वारा एनपी को बहुपद समय में हल किया जा सकता है
ग्रोम

32

एनपी-कम्प्लीट का मतलब कुछ बहुत विशिष्ट है और आपको सावधान रहना होगा या आपको परिभाषा गलत मिलेगी। सबसे पहले, एक एनपी समस्या एक हाँ / ऐसी कोई समस्या नहीं है

  1. "हाँ" उत्तर के साथ समस्या के हर उदाहरण के लिए बहुपद-समय प्रमाण है कि उत्तर "हाँ" है, या (समतुल्य)
  2. एक बहुपद-समय एल्गोरिथ्म (संभवतः यादृच्छिक चर का उपयोग करके) मौजूद है जिसमें "हां" का जवाब देने की गैर-शून्य संभावना है यदि समस्या का एक उदाहरण "हां" है और कहेंगे "नहीं" 100% समय जवाब न है।" दूसरे शब्दों में, एल्गोरिथ्म में झूठी नकारात्मक दर 100% से कम होनी चाहिए और झूठी सकारात्मक नहीं होनी चाहिए।

एक समस्या X, NP- पूर्ण है यदि

  1. एक्स एनपी में है, और
  2. एनपी में किसी भी समस्या वाई के लिए, वाई से एक्स तक "कमी" है: एक बहुपद-समय एल्गोरिथ्म जो वाई के किसी भी उदाहरण को एक्स के एक उदाहरण में बदल देता है जैसे कि वाई-उदाहरण का उत्तर "हां" है यदि और केवल यदि उत्तर X- इंस्टेंस "हाँ" है।

यदि X एनपी-पूर्ण है और एक नियतात्मक, बहुपद-समय एल्गोरिथ्म मौजूद है जो X के सभी उदाहरणों को सही ढंग से हल कर सकता है (0% गलत-सकारात्मक, 0% गलत-नकारात्मक), तो NP की किसी भी समस्या को निर्धारक-बहुपद में हल किया जा सकता है- समय (एक्स में कमी करके)।

अब तक, कोई भी इस तरह के निर्धारक बहुपद-समय एल्गोरिथ्म के साथ नहीं आया है, लेकिन किसी ने भी साबित नहीं किया है कि कोई मौजूद नहीं है (किसी के लिए भी एक लाख रुपये हैं जो या तो कर सकते हैं: पी = एनपी समस्या है )। इसका मतलब यह नहीं है कि आप NP-Complete (या NP-Hard) समस्या के किसी विशेष उदाहरण को हल नहीं कर सकते। इसका मतलब यह है कि आपके पास ऐसा कुछ नहीं हो सकता है जो किसी समस्या के सभी उदाहरणों पर उसी तरह से काम करेगा जैसे आप पूर्णांकों की सूची को विश्वसनीय ढंग से क्रमबद्ध कर सकते हैं। आप बहुत अच्छी तरह से एक एल्गोरिथ्म के साथ आने में सक्षम हो सकते हैं जो एनपी-हार्ड समस्या के सभी व्यावहारिक उदाहरणों पर बहुत अच्छी तरह से काम करेगा।


1
मुझे डींग मारना पसंद नहीं है, लेकिन मुझे अपने नियतात्मक बहुपद-समय एल्गोरिथ्म पर बहुत गर्व है जो मैंने साबित किया है कि वह मौजूद नहीं है। ;)
काइल क्रोनिन

20
मैंने इसके बारे में वास्तव में एक अद्भुत सबूत खोजा है, जो इस टिप्पणी को शामिल करने के लिए बहुत संकीर्ण है;)
जल्दी_डिग्री

शर्त # 2 P =? NP का कथन है, NP- पूर्णता की मानक परिभाषा नहीं। यह होना चाहिए: एक निर्धारक पॉली-टाइम एल्गोरिथ्म मौजूद है जो किसी भी अन्य एनपी इंस्टेंस एक्स को एक उदाहरण में बदल सकता है वाई की इस समस्या का जवाब है कि वाई का उत्तर "हां" है और यदि केवल एक्स का उत्तर "हां" है।
क्रिस कॉनवे

"आपको सावधान रहना होगा या आपको परिभाषा गलत मिलेगी" - जैसा कि इस बहुत ही उत्तर से साबित होता है। यह उत्तर आंशिक रूप से सही है लेकिन यह निश्चित रूप से स्वीकार नहीं किया जाना चाहिए था।
विंडोज प्रोग्रामर

29

मूल रूप से इस दुनिया की समस्याओं को वर्गीकृत किया जा सकता है

         1) अनसॉल्वेबल प्रॉब्लम 2) इंट्रेक्टेबल प्रॉब्लम 3) एनपी-प्रॉब्लम 4) पी-प्रॉब्लम


         1) पहली समस्या का कोई हल नहीं है। 2) दूसरा जरूरत घातीय समय है (जो कि O (2 ^ n) ऊपर है)। 3) तीसरे को एनपी कहा जाता है। 4) चौथी आसान समस्या है।


P: बहुपद समय की समस्या के समाधान को संदर्भित करता है।

एनपी: एक समाधान खोजने के लिए अभी तक बहुपद समय को संदर्भित करता है। हमें यकीन नहीं है कि बहुपद समय समाधान नहीं है, लेकिन एक बार जब आप कोई समाधान प्रदान करते हैं, तो इस समाधान को बहुपद समय में सत्यापित किया जा सकता है।

एनपी पूरा: बहुपद समय में संदर्भित करता है हम अभी भी एक समाधान खोजने के लिए अभी भी है, लेकिन यह बहुपद समय में सत्यापित किया जा सकता है। एनपी में समस्या एनपीसी अधिक कठिन समस्या है, इसलिए यदि हम यह साबित कर सकते हैं कि हमारे पास एनपीसी समस्या का पी समाधान है तो एनपी समस्याएं जिन्हें पी समाधान में पाया जा सकता है।

एनपी हार्ड: संदर्भित करता है बहुपद समय अभी तक एक समाधान खोजने के लिए है, लेकिन यह सुनिश्चित नहीं है कि बहुपद समय में सत्यापित किया जा सकता है। एनपी हार्ड समस्या एनपीसी कठिनाई को पार करती है।


खुशी है कि इस जवाब को देखने के लिए, श्रेणीकरण भाग पूरी अवधारणा के लिए काफी स्पष्ट है। मुझे लगा कि इंटरएक्टिव समस्याएं एनपी-प्रॉब्लम हैं।
पीरनेट

22

एनपी-कम्पलीट समस्याओं की एक श्रेणी है।

वर्ग Pमें वे समस्याएं होती हैं जो बहुपद समय में हल करने योग्य होती हैं । उदाहरण के लिए, उन्हें कुछ स्थिर कश्मीर के लिए O (n k ) में हल किया जा सकता है , जहां n इनपुट का आकार है। सीधे शब्दों में कहें, आप एक कार्यक्रम लिख सकते हैं जो उचित में चलेगा समय ।

वर्ग NPमें वे समस्याएं होती हैं जो सत्य हैं बहुपद समय में। यही है, अगर हमें एक संभावित समाधान दिया जाता है, तो हम जांच सकते हैं कि क्या दिए गए समाधान बहुपद समय में सही हैं।

कुछ उदाहरण बूलियन संतुष्टि (या सैट ) समस्या, या हैमिल्टन-चक्र समस्या हैं। कई समस्याएं हैं जिन्हें एनपी श्रेणी में जाना जाता है।

NP-Completeइसका मतलब यह है कि समस्या कम से कम एनपी में किसी भी समस्या के रूप में कठिन है।

यह कंप्यूटर विज्ञान के लिए महत्वपूर्ण है क्योंकि यह साबित हो गया है कि एनपी में कोई भी समस्या एनपी-पूर्ण में एक और समस्या में बदल सकती है । इसका मतलब है कि किसी एक एनपी-पूर्ण समस्या का समाधान सभी एनपी समस्याओं का समाधान है।

सुरक्षा में कई एल्गोरिदम इस तथ्य पर निर्भर करते हैं कि एनपी कठिन समस्याओं के लिए कोई ज्ञात समाधान मौजूद नहीं है। यह निश्चित रूप से कंप्यूटिंग पर एक महत्वपूर्ण प्रभाव पड़ेगा अगर कोई समाधान पाया गया।


ये गलत है। एनपी में एक समस्या एनपी में किसी भी समस्या में बदल सकती है, एनपी में कोई समस्या नहीं। यह एक बड़ा अंतर है।
डेविड नेहम

इसके अलावा, "समस्या एनपी में किसी भी समस्या के रूप में कठिन है" - सच है, लेकिन बेहतर शब्दांकन "कम से कम उतना ही कठिन" होगा। कुल मिलाकर, यह उत्तर मेरे द्वारा देखे गए किसी भी अन्य उत्तर की तुलना में करीब है, और दुर्भाग्य से स्वीकृत उत्तर की तुलना में करीब है।
विंडोज प्रोग्रामर

आपकी टिप्पणियों के लिए धन्यवाद। मैंने जवाब दिया है कि tio में आपके सुधार शामिल हैं।
विंसेंट रामधनी

1
एनपी-पूर्ण की आपकी परिभाषा पूरी नहीं है, आपको यह भी निर्दिष्ट करने की आवश्यकता है कि एनपी-पूर्ण समस्याएं भी एनपी (और एनपी-हार्ड) समस्याएं हैं और न केवल किसी भी एनपी समस्याओं के समान कठिन हैं। मैं नीचे जाऊंगा, अगर आप बदलने का फैसला करते हैं, तो मुझे बताएं और मैं नीचे को हटा दूं।
14:15 बजे जुबेर

20

यह समस्याओं का एक वर्ग है जहां हमें हर संभावना का अनुकरण करना चाहिए सुनिश्चित करें कि हमारे पास इष्टतम समाधान है।

कुछ एनपी-पूर्ण समस्याओं के लिए बहुत सारे अच्छे आंकड़े हैं, लेकिन वे केवल एक शिक्षित अनुमान हैं।


लगभग सही। एक समस्या का एक गैर-संपूर्ण समाधान हो सकता है जो अभी भी प्रकृति में बहुपद नहीं है।
मार्क बेसी

1
हालांकि बिल्कुल सही नहीं है, यह व्यावहारिक उपयोग के लिए पर्याप्त है। पांडित्य की परिभाषा आवश्यक नहीं है, हालांकि ओपी संभवतः पांडित्य की परिभाषा चाहता है। यह एक अच्छा सन्निकटन है!
dgg65536

18

यदि आप एनपी-पूर्ण समस्या का एक उदाहरण देख रहे हैं तो मेरा सुझाव है कि आप 3-सैट पर एक नज़र डालें

मूल आधार यह है कि आपके पास सामान्य सामान्य रूप में एक अभिव्यक्ति है , जो यह कहने का एक तरीका है कि आपके पास ओआरएस में शामिल होने वाले अभिव्यक्तियों की एक श्रृंखला है जो सभी को सच होनी चाहिए:

(a or b) and (b or !c) and (d or !e or f) ...

3-SAT समस्या का एक समाधान खोजना है जो उस अभिव्यक्ति को संतुष्ट करेगा जहां प्रत्येक OR-अभिव्यक्तियों में मिलान करने के लिए वास्तव में 3 बूलियन हैं:

(a or !b or !c) and (!a or b or !d) and (b or !c or d) ...

इसका एक समाधान (a = T, b = T, c = F, d = F) हो सकता है। हालांकि, कोई एल्गोरिथ्म नहीं खोजा गया है जो बहुपद समय में सामान्य स्थिति में इस समस्या को हल करेगा। इसका मतलब यह है कि इस समस्या को हल करने का सबसे अच्छा तरीका अनिवार्य रूप से एक ब्रूट फोर्स का अनुमान लगाना और जांचना है और जब तक आप काम नहीं करते तब तक विभिन्न संयोजनों का प्रयास करें।

3-SAT समस्या के बारे में विशेष बात यह है कि किसी भी NP- पूर्ण समस्या को 3-SAT समस्या में कम किया जा सकता है। इसका मतलब यह है कि यदि आप इस समस्या को हल करने के लिए एक बहुपद-समय एल्गोरिथ्म पा सकते हैं, तो आपको दुनिया भर के कंप्यूटर वैज्ञानिकों और गणितज्ञों के सम्मान और प्रशंसा का उल्लेख करने के लिए $ 1,000,000 मिलते हैं।


शायद मैं यहाँ अन्य स्पष्टीकरणों से उलझन में हूँ, लेकिन यह नहीं पढ़ा जाना चाहिए "किसी भी एनपी समस्या को 3-SAT समस्या में कम किया जा सकता है पॉलीओनोमिक समय।" क्योंकि ऐसा नहीं है कि 3-सैट एनपी-पूर्ण क्या है?
डबियसपशर 18

@DubiousPusher नोप। उत्तर सही ढंग से बताता है। यह छवि इसे स्पष्ट करती है stackoverflow.com/a/7367561/2686502
jayeshsolanki93

14

ईमानदारी से, इसका उत्तर खोजने के लिए विकिपीडिया सबसे अच्छी जगह हो सकती है।

यदि एनपी = पी, तो हम बहुत कठिन समस्याओं को बहुत तेजी से हल कर सकते हैं जितना हमने पहले सोचा था। यदि हम पी (बहुपद) समय में केवल एक एनपी-पूर्ण समस्या को हल करते हैं, तो इसे एनपी-पूर्ण श्रेणी में अन्य सभी समस्याओं पर लागू किया जा सकता है।


6
"अगर एनपी = पी, तो हम बहुत कठिन समस्याओं को बहुत तेजी से हल कर सकते हैं जितना हमने पहले सोचा था।" - नहीं। यदि एनपी = पी तो वहाँ समाधान मौजूद हैं (उन्हें हल करने के लिए निर्धारक एल्गोरिदम मौजूद हैं) लेकिन इसकी कोई गारंटी नहीं है कि हम कभी भी जान पाएंगे कि वे क्या हैं।
विंडोज प्रोग्रामर

एक उचित बिंदु। मेरा अनुमान किसी भी सबूत है कि पी = एनपी रचनात्मक होने की संभावना है (उदाहरण के लिए, 3-एसएटी के लिए एक बहुपद एल्गोरिथ्म का प्रकाशन)।
क्रिस कॉनवे

10

हमें एल्गोरिदम और समस्याओं को अलग करने की आवश्यकता है। हम समस्याओं को हल करने के लिए एल्गोरिदम लिखते हैं, और वे एक निश्चित तरीके से स्केल करते हैं। हालाँकि यह एक सरलीकरण है, आइए एक एल्गोरिथ्म को 'P' के साथ लेबल करें यदि स्केलिंग अच्छी है, और 'NP' यदि यह नहीं है।

हम उन समस्याओं के बारे में चीजों को जानना मदद कर रहे हैं जिन्हें हम हल करने के लिए उपयोग किए जाने वाले एल्गोरिदम के बजाय हल करने की कोशिश कर रहे हैं। तो हम कहेंगे कि अच्छी तरह से स्केलिंग एल्गोरिथम वाली सभी समस्याएं "पी" में हैं। और जिनके पास खराब-स्केलिंग एल्गोरिदम है, वे "एनपी" में हैं।

इसका मतलब है कि बहुत सी सरल समस्याएं "एनपी" में भी हैं, क्योंकि हम आसान समस्याओं को हल करने के लिए खराब एल्गोरिदम लिख सकते हैं। यह जानना अच्छा होगा कि एनपी में कौन सी समस्याएं वास्तव में मुश्किल हैं, लेकिन हम केवल यह नहीं कहना चाहते हैं "यह उन लोगों के लिए है जिन्हें हमने एक अच्छा एल्गोरिथ्म नहीं मिला है"। आखिरकार, मैं एक समस्या (इसे एक्स कह सकता हूं) के साथ आ सकता हूं जो मुझे लगता है कि एक सुपर-अद्भुत एल्गोरिथ्म की आवश्यकता है। मैं दुनिया को बताता हूं कि सबसे अच्छा एल्गोरिथ्म मैं एक्स तराजू को बुरी तरह से हल करने के लिए आ सकता हूं, और इसलिए मुझे लगता है कि एक्स वास्तव में एक कठिन समस्या है। लेकिन कल, हो सकता है कि मेरे मुकाबले कोई चतुर व्यक्ति एक एल्गोरिथ्म का आविष्कार करता है जो एक्स को हल करता है और पी में है। इसलिए यह कठिन समस्याओं की बहुत अच्छी परिभाषा नहीं है।

सभी समान, एनपी में बहुत सारी समस्याएं हैं जिनके लिए कोई भी अच्छा एल्गोरिथ्म नहीं जानता है। तो अगर मैं यह साबित कर सकता हूं कि एक्स एक निश्चित प्रकार की समस्या है: एक जहां एक्स को हल करने के लिए एक अच्छा एल्गोरिथ्म भी इस्तेमाल किया जा सकता है, कुछ राउंडअबाउट तरीके से, एनपी में हर दूसरी समस्या के लिए एक अच्छा एल्गोरिदम देने के लिए । खैर अब लोग थोड़ा और आश्वस्त हो सकते हैं कि X वास्तव में एक कठिन समस्या है। और इस मामले में हम एक्स एनपी-पूर्ण कहते हैं।


5

ऊपर एनपी पूर्ण समस्याओं के लिए परिभाषा सही है, लेकिन मैंने सोचा कि मैं उनके दार्शनिक महत्व के बारे में गीतात्मक रूप से मोम लगा सकता हूं क्योंकि किसी ने भी उस मुद्दे को संबोधित नहीं किया है।

लगभग सभी जटिल समस्याएं जो आप के खिलाफ आएंगी वे एनपी कम्प्लीट होंगी। इस वर्ग के बारे में बहुत कुछ मौलिक है, और जो आसानी से हल करने योग्य समस्याओं से कम्प्यूटेशनल रूप से अलग प्रतीत होता है। उनका अपना स्वाद है, और उन्हें पहचानना इतना कठिन नहीं है। यह मूल रूप से इसका मतलब है कि किसी भी सामान्य रूप से जटिल एल्गोरिथ्म आपके लिए सटीक रूप से हल करना असंभव है - शेड्यूलिंग, अनुकूलन, पैकिंग, कवरिंग आदि।

लेकिन अगर आप एनकाउंटर पूरा कर रहे हैं तो कोई समस्या नहीं है। एक विशाल और बहुत ही तकनीकी क्षेत्र है जहां लोग सन्निकटन एल्गोरिदम का अध्ययन करते हैं, जो आपको एनपी पूर्ण समस्या के समाधान के करीब होने की गारंटी देगा। इनमें से कुछ अविश्वसनीय रूप से मजबूत गारंटी हैं - उदाहरण के लिए, 3sat के लिए, आप वास्तव में स्पष्ट एल्गोरिथ्म के माध्यम से 7/8 गारंटी प्राप्त कर सकते हैं। इससे भी बेहतर, वास्तव में, कुछ बहुत ही मजबूत आंकड़े हैं, जो इन समस्याओं के लिए महान जवाब (लेकिन कोई गारंटी नहीं!) देने में उत्कृष्टता प्राप्त करते हैं।

ध्यान दें कि दो बहुत प्रसिद्ध समस्याएं - ग्राफ समरूपता और फैक्टरिंग - पी या एनपी होने के लिए ज्ञात नहीं हैं।


5

मैंने एक स्पष्टीकरण सुना है, वह यह है: "एनपी-पूर्णता शायद एल्गोरिदम के अध्ययन में अधिक गूढ़ विचारों में से एक है।" एनपी "का अर्थ" नॉनडेर्मिनिस्टिक बहुपद समय, "है और जिसे जटिलता वर्ग कहा जाता है उसका नाम है। कौन सी समस्याएं हो सकती हैं। एनपी जटिलता वर्ग के बारे में महत्वपूर्ण बात यह है कि उस वर्ग के भीतर समस्याएं हो सकती हैं सत्यापित हैएक बहुपद समय एल्गोरिथ्म द्वारा। एक उदाहरण के रूप में, सामान गिनने की समस्या पर विचार करें। मान लीजिए कि एक मेज पर सेब का एक गुच्छा है। समस्या यह है कि "कितने सेब हैं?" आपको एक संभावित उत्तर प्रदान किया जाता है। 8. आप इस उत्तर को बहुपद समय में, दोहे के एल्गोरिथ्म का उपयोग करके, सेब की गिनती करके सत्यापित कर सकते हैं। सेब की गिनती O (n) (वह बिग-ओह अंकन) समय में होती है, क्योंकि प्रत्येक सेब को गिनने में एक कदम लगता है। एन सेब के लिए, आपको एन चरणों की आवश्यकता है। यह समस्या एनपी जटिलता वर्ग में है।

एक समस्या को एनपी-पूर्ण के रूप में वर्गीकृत किया जाता है यदि यह दिखाया जा सकता है कि यह एनपी-हार्ड और बहुपद समय में सत्यापन दोनों है । एनपी-हार्ड की चर्चा में बहुत गहराई से जाने के बिना, यह कहने के लिए पर्याप्त है कि कुछ समस्याएं हैं जिनके लिए बहुपद समय समाधान नहीं मिला है। अर्थात, यह n जैसा कुछ लेता है! (एन factorial) उन्हें हल करने के लिए कदम। हालाँकि, यदि आपको एनपी-पूर्ण समस्या का समाधान दिया गया है, तो आप इसे बहुपद समय में सत्यापित कर सकते हैं।

एनपी-कम्प्लीट प्रॉब्लम का एक क्लासिक उदाहरण द ट्रैवलिंग सेल्समैन प्रॉब्लम है। "

लेखक: ApoxyButt From: http://www.everything2.com/title/NP-complete


2

एनपी समस्या: -

  1. एनपी समस्या ऐसी समस्या है जिसे गैर-नियतात्मक बहुपद समय में हल किया जा सकता है।
  2. गैर नियतात्मक एल्गोरिथ्म दो चरण में काम करता है।
  3. गैर नियतात्मक अनुमान चरण और गैर नियतात्मक सत्यापन चरण।

एनपी समस्या का प्रकार

  1. एनपी पूरा
  2. एनपी हार्ड

एनपी पूरी समस्या: -

1 निर्णय समस्या A को दो संपत्तियों का पालन करने पर एनपी पूर्ण कहा जाता है: -

  1. यह वर्ग एनपी से संबंधित है।
  2. एनपी में हर दूसरी समस्या को बहुपद समय में पी में परिवर्तित किया जा सकता है।

कुछ पूर्व: -

  • नैकपैक की समस्या
  • उप सेट राशि समस्या
  • वर्टेक्स कवरिंग की समस्या

आपके चरणों के बारे में त्वरित प्रश्न ... क्या सत्यापन चरण निर्धारक नहीं हो सकता है? पी-टाइम में एनपी की समस्याओं का सत्यापन नहीं किया गया
ब्रेंडेन कीक

1

एनपी-पूर्ण समस्याएं उन समस्याओं में से एक हैं, जिनमें से किसी भी अन्य एनपी-समस्या को बहुपद समय में कम किया जा सकता है, और जिसका समाधान अभी भी बहुपद समय में सत्यापित किया जा सकता है। यानी किसी भी NP समस्या को किसी भी NP-complete समस्या में बदला जा सकता है। - अनौपचारिक रूप से, एक एनपी-पूर्ण समस्या एक एनपी समस्या है जो एनपी में किसी भी अन्य समस्या के रूप में कम से कम "कठिन" है।


1

जहां तक ​​मैं समझता हूं

P उन समस्याओं का समूह है, जिन्हें एक नियतकालिक TM के साथ बहुपदों में हल किया जा सकता है।

एनपी उन समस्याओं का समूह है जिनके लिए एक गैर-नियतात्मक TM की आवश्यकता होती है ताकि बहुपद समय में हल किया जा सके। इसका मतलब है कि सभी संभव चर की समानांतर जांच करना, प्रत्येक उदाहरण बहुपद समय ले रहा है। यदि समस्या हल होती है, तो कम से कम उन समानांतर राज्यों में से एक समस्या का समाधान होना चाहिए। इसका मतलब यह भी है कि यदि आपने समाधान चर के बारे में अनुमान लगाया है, तो केवल एक चीज की आवश्यकता है कि बहुपद समय में समाधान की वैधता की जांच करें।

एनपी-हार्ड वह सेट है जहां समस्याएं कम से कम एनपी जितनी कठिन हैं। एनपी में कोई भी समस्या बहुपद समय में एनपी-हार्ड समस्या में बदल सकती है। इन समस्याओं को बहुपद समय में हल नहीं किया जा सकता है यदि P, NP के बराबर नहीं है। जब एनपी में सबसे कठिन समस्या बहुपद समय हल है तो केवल एनपी-हार्ड समस्याएं बहुपद समय हल कर सकते हैं।

एनपी-पूरा एनपी और एनपी-हार्ड का चौराहा सेट है। किसी भी एनपी समस्या को बहुपद समय में एनपी-पूर्ण समस्या में बदला जा सकता है। इसका मतलब है कि अगर एनपी-कम्पलीट में से कोई एक कुशल समाधान हो सकता है तो किसी भी एनपी समस्या को उसी दक्षता के साथ हल किया जा सकता है।

कृपया मुझे बताएं कि क्या मैंने कोई गलती की है।


-17

एक एनपी समस्या वह है जहां एक कंप्यूटर एल्गोरिथ्म जो एक समाधान का सत्यापन करता है उसे बहुपद में बनाया जा सकता है।

एक एनपी-पूर्ण समस्या एनपी है, लेकिन यह भी यदि आप इसे बहुपद समय (पी कहा जाता है) में हल कर सकते हैं तो सभी एनपी समस्याएं हैं।

तो क्रैकिन मिलता है ’।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.