क्या अधिकांश बहुपद स्थान पर (लेकिन घातीय समय का उपयोग करते हुए) किसी भी एनपी-कम्पलीट समस्या को हल किया जा सकता है?


12

मैं के बारे में पढ़ा एनपीसी से उसके संबंध PSPACE और मुझे पता है कि एनपीसी समस्याओं deterministicly होना सबसे ज्यादा मामले बहुपद अंतरिक्ष आवश्यकता के साथ एक कलन विधि का उपयोग कर लिया, लेकिन संभावित घातीय समय देने के लिए कर सकते हैं कि इच्छा (2 ^ पी (एन) जहां पी बहुपद है)।

इसके अलावा, क्या इसे सामान्य रूप से EXPTIME के लिए सामान्यीकृत किया जा सकता है ?

इसका कारण मैं यह पूछ रहा हूं कि मैंने एनपीसी समस्या के पतित मामलों को हल करने के लिए कुछ कार्यक्रम लिखे, और वे कठिन उदाहरणों के लिए बहुत बड़ी मात्रा में रैम का उपभोग कर सकते हैं, और मुझे आश्चर्य है कि क्या कोई बेहतर तरीका है। संदर्भ के लिए https://fc-solve.shlomifish.org/faq.html देखें

जवाबों:


27

सामान्यतया, निम्नलिखित किसी भी एल्गोरिथ्म के लिए सही है:

  1. मान लीजिए एक एल्गोरिथ्म है कि में रन है समय। तब , स्पेस से अधिक नहीं ले सकता था , क्योंकि बिट्स लिखने के लिए समय की आवश्यकता होती है ।Af(n)Af(n)f(n)f(n)
  2. मान लीजिए एक एल्गोरिथ्म है कि आवश्यकता है अंतरिक्ष। फिर समय में, अपने प्रत्येक अलग-अलग राज्यों का दौरा कर सकता है, इसलिए समय से अधिक चलाकर कुछ भी हासिल नहीं कर सकता है ।Af(n)2f(n)A2f(n)

यह इस प्रकार है कि:

NP PSPACE

निम्नांकित आरेख द्वारा दर्शाए गए अनुसार, राजकीय वर्गों के बीच संबंधों के हिस्से के रूप में जाना जाता है:

वर्गों के बीच संबंध

स्पष्टीकरण सरल है: एक समस्या में बहुपद लंबाई प्रमाणपत्र । एक एल्गोरिथ्म जो सभी संभावित प्रमाणपत्रों का परीक्षण करता है, एक एल्गोरिथ्म है जो समय में तय करता है ।Q NPyQ2nO(1)

इसकी अंतरिक्ष आवश्यकता है:

  • y (बहुपद )n
  • सत्यापित करने के लिए आवश्यक स्थान । चूंकि एक बहुपद प्रमाणपत्र है, इसलिए इसे बहुपद समय में सत्यापित किया जा सकता है, इसलिए संभवतः बहुपद स्थान की आवश्यकता नहीं हो सकती है।yy

चूंकि दो बहुपद का योग भी एक बहुपद है, को बहुपद के स्थान के साथ तय किया जा सकता है।Q


उदाहरण:

मान लीजिए कि शाब्दिक पर 3-CNF का एक उदाहरण है , जिसमें cles है। एक असाइनमेंट कुछ फंक्शन ।φx1xnmff:{x1xn}{0,1}

यह है कि:

  • कर रहे हैं विभिन्न कार्य।2n
  • असाइनमेंट को देखते हुए , यह के मान की गणना करने के लिए समय लेता है , इसलिए इसे स्थान से अधिक की आवश्यकता नहीं हो सकती है।fO(m)φO(m)

तो एक एल्गोरिथ्म जो सभी संभावित असाइनमेंट की जांच करता है, बहुपद स्थान का उपयोग करेगा, घातीय समय में चलेगा और 3-सैट का फैसला करेगा।A

यह इस प्रकार है कि:

3-SAT , और 3-SAT के बाद से NP-Complete,PSPACENP PSPACE


1
EXPSPACE और EXPTIME क्यों संबंधित हैं? मुझे लगा कि समय और स्थान अलग-अलग संसाधन हैं। एक उदाहरण जो मन में आता है वह एक क्रिप्टो योजना को तोड़ रहा है, जिसे EXPTIME की आवश्यकता होगी, लेकिन निरंतर स्थान
WeCanBeFriends

6
यहाँ सहज ज्ञान युक्त है, यदि आप स्पेस का उपयोग करते हैं, तो आपको कम से कम समय का उपयोग करना चाहिए, और आपको समय से अधिक का उपयोग नहीं करना चाहिए , क्योंकि तब आपको फिर से आना चाहिए वही राज्यों। इसलिए EXPf(n)f(n)2f(n)
lox

क्या f (n) आपके उदाहरण में O (n) से भिन्न है?
WeCanBeFriends

1
@WeCanBeFriends कोई निरंतर स्थान के साथ घातीय समय को नियोजित नहीं कर सकता है: आपको उस घातीय संख्या (जैसे विधानसभा भाषा का कार्यक्रम काउंटर) तक गिनने के लिए कम से कम स्थान की आवश्यकता होती है, जो बहुपद है (घातांक में लघुगणक)
गीगाबाइट्स

4
@gigabytes हम यह नहीं जानते हैं। सबसे अच्छा हम जानते हैं कि । PEXPTIME
टॉम वैन डेर ज़ंडेन

9

हाँ। यहाँ एक प्रत्यक्ष प्रमाण का एक स्केच है।

एक समस्या में है, तो , वहाँ एक गैर नियतात्मक ट्यूरिंग मशीन है  है कि यह निर्णय लेता है, और वहाँ एक बहुपद है  ऐसी है कि में से कोई भी लंबाई के इनपुट पर की गणना रास्तों  से ज्यादा लेना चरणों। इसका मतलब है कि एक एकल पथ टेप कोशिकाओं से अधिक का उपयोग नहीं कर सकता है , इसलिए हम बहुपद स्थान में नियत रूप से एकल पथ का अनुकरण कर सकते हैं।NPMpMnp(n)p(n)

लेकिन हमें सभी रास्तों को अनुकरण करने की आवश्यकता है । खैर, एक निरंतर  जो केवल के संक्रमण फ़ंक्शन (और इसके इनपुट पर नहीं) पर निर्भर करता है  जैसे कि में किसी भी चरण  में अधिकांश  nondeterministic विकल्प हैं। इसका मतलब है कि लंबाई किसी भी इनपुट के लिए अधिकांश अलग-अलग संगणना पथ हैं  । हम इन सभी रास्तों का अनुकरण इस प्रकार कर सकते हैं। सबसे पहले, आधार- में एक -digit नंबर लिखें (इसमें space लेकिन यह बहुपद है, इसलिए यह ठीक है)। फिर, के संचालन का अनुकरण करें  और,cMMccp(n)ncp(n)p(n)cp(n)Miसंगणना का वें चरण, संख्या के वें अंक का उपयोग करके यह तय करें कि कौन सी nondeterministic चुनाव करना है। यदि, उदाहरण के लिए, वें अंक  और केवल चार विकल्प हैं जो किए जा सकते हैं, तो उस अनुकरण को छोड़ दें और अगले पर जाएं।ii6

इसलिए, अब, पूरे सिमुलेशन को करने के लिए, हम नंबर लिखकर शुरू करते हैं , उस पथ का  अनुकरण करते हैं, संख्या बढ़ाते हैं, अगले पथ का अनुकरण करते हैं, और इसी तरह, जब तक हम उस संख्या तक नहीं पहुँच जाते जहाँ हर अंक है। । हमने अब हर संभव संगणना पथ का अनुकरण किया है, और हमने समय के साथ बारे में किया है, बारे में जगह का उपयोग करते हुए । आवश्यकतानुसार घातीय समय और बहुपद स्थान।00Mc1cp(n)p(n)2p(n)

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