क्या यह निर्धारित किया जा सकता है कि भाषा L एनपी में निहित है?


15

ट्यूरिंग मशीन द्वारा परिभाषित एक भाषा L को देखते हुए, जो इसे तय करती है, क्या यह एल्गोरिदमिक रूप से निर्धारित करना संभव है कि L, NP में निहित है या नहीं?


जटिलता सिद्धांत के लिए फिर से तैयार। यह निश्चित नहीं है कि एनपी-पूर्णता के साथ यह क्या करने के लिए मिला है।
आर्यभट्ट

1
एफडब्ल्यूआईडब्ल्यू, प्रस्ताव स्थल पर वोट के बावजूद, मुझे लगता है कि यह सवाल वास्तव में फैक्टरिंग की तुलना में अधिक ऑन-स्कोप है क्योंकि फैक्टरिंग के बारे में प्रश्न अधिकांश इंट्रो कॉम्प्लेक्सिटी पाठ्यक्रमों में कवर किया जाएगा, लेकिन यह एक भी कई स्नातक-स्तर में शामिल नहीं है। जटिलता पाठ्यक्रम।
जोशुआ ग्रूचो

1
क्या यह चावल के प्रमेय के एक विशिष्ट अनुप्रयोग के रूप में संगणना पर इंट्रो पाठ्यक्रमों में शामिल नहीं है?
मोरिट्ज़

3
मोरिट्ज़ - हालाँकि इस सवाल का हां / ना में उत्तर चावल के प्रमेय द्वारा कवर किया गया है, अधिक दिलचस्प परिणामों के लिए नीचे मेरा जवाब देखें। हो सकता है, txwikinger, आपको यह सवाल बदलना चाहिए कि "सेट की जटिलता क्या है {i: L (M_i) NP} में?"?
जोशुआ ग्रूको

मैं यहाँ यहोशू का उत्तर दूंगा। उत्तर स्पष्ट हो सकता है जब भाषा एक ट्यूरिंग मशीन द्वारा निर्दिष्ट की जाती है, लेकिन यदि हम भाषा को कुछ मनमाने प्रारूप में निर्दिष्ट करने की अनुमति देते हैं, तो इसका उत्तर एक ही है (और शायद इतना स्पष्ट नहीं है)।
आनंद कुलकर्णी

जवाबों:


24

नहीं। पहले, राइस के प्रमेय द्वारा, यह टीएम की एक संपत्ति है जो केवल उस भाषा पर निर्भर करता है जिसे वे गणना करते हैं, इसलिए यह गणना योग्य नहीं हो सकता है।

लेकिन, उससे कहीं अधिक, यह ज्ञात है कि के सूचकांक सेट (है कि, TM के सेट है कि में गणना भाषाओं एन पी ) है Σ 0 3 -Complete ( Σ 0 3 में अंकगणित कम्प्यूटेबिलिटी के पदानुक्रम, नहीं बहुपद पदानुक्रम)।एनपीएनपीΣ30Σ30

इस तरह के सवालों की जांच सबसे पहले हजेक ने की थी । अधिक के लिए, केन रेगन का यह लेख देखें ।

हजेक के कागज से कुछ और महान डला:

  • के सूचकांक सेट है Σ 0 3 -Complete।पीΣ30
  • है Π 0 2 -Complete{मैं:पीएल(मैं)एनपीएल(मैं)}Π20
  • कुल ट्यूरिंग मशीन है (सभी इनपुट पर पड़ाव) ऐसा है कि P L i = N P L i लेकिन स्टेटमेंट " P L i = N P L i " स्वतंत्र है (जहाँ L i = L ( M i ) ) । इसी तरह relativizations जहां के लिए पी एन पीमैंपीएलमैं=एनपीएलमैंपीएलमैं=एनपीएलमैंएलमैं=एल(मैं)पीएनपी

1
यहाँ प्रश्न एक वादा निर्णय की समस्या प्रतीत होता है (दी गई भाषा को एक टीएम द्वारा तय किए जाने का वादा किया जाता है, न केवल मान्यता प्राप्त) कुल निर्णय समस्या के विपरीत। क्या राइस की प्रमेय अभी भी यहाँ लागू होगी? स्मरण करो कि राइस के प्रमेय का प्रमाण रुकने की अपरिहार्यता को नियोजित करता है, इसलिए वहां अनिर्वायता आवश्यक है।
Zeyu

2
सवाल में पूछा गया कि भाषा एल "एक मशीन द्वारा दी गई थी जो इसे तय करती है।" तो यह वास्तव में था: ट्यूरिंग मशीन एम, यह निर्धारित किया जा सकता है कि क्या एल (एम) एनपी में है। यदि भाषा L को एक TM द्वारा निर्दिष्ट नहीं किया गया था, लेकिन केवल प्राकृतिक संख्याओं के सबसेट के रूप में दिया गया है, तो L के एनपी में होने पर एल्गोरिदम को तय करने का क्या मतलब होगा? विशेष रूप से, हम एल को एक एल्गोरिथ्म में इनपुट के रूप में कैसे सोच सकते हैं जब एल खुद ही एक परिमित विवरण द्वारा नहीं दिया जाता है?
जोशुआ ग्रूको

1
हाँ मैं जानता हूँ। लेकिन राइस के प्रमेय में यह संभव है कि टीएम एक भाषा तय नहीं करता है, अर्थात, यह कुल फ़ंक्शन की गणना नहीं करता है।
Zeyu

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

2
बहुपद पदानुक्रम के लिए नीचे स्केलिंग, चीजों को इतनी अच्छी तरह से व्यवहार करने की संभावना कम है। उदाहरण के लिए, संपत्ति पर विचार करें "सी न्यूनतम आकार का एक बूलियन सर्किट है (फ़ंक्शन यह गणना करता है)"। यह समस्या एनपी-हार्ड है और इसे बहुपद पदानुक्रम में रखा जा सकता है, लेकिन यह खुला है कि क्या यह उस स्तर के लिए पूरा है जहां यह स्वाभाविक रूप से रहता है। (इस तरह के परिणाम सर्किट के कुछ प्रतिबंधित वर्गों के लिए जाने जाते हैं, उदाहरण के लिए DNFs; स्केफर और उमानस द्वारा 2-भाग सर्वेक्षण "पोलीनॉमिअल पदानुक्रम में पूर्णता" देखें।)
एंडी ड्रकर

5

आपके शाब्दिक प्रश्न का उत्तर नहीं है, जैसा कि जोशुआ ग्रोचो ने बताया है।

हालांकि, जैसा कि होल्गर ने कहा, रैखिक समय में यह जांचना संभव है कि क्या nondeterministic Turing machine (NTM) "खुद को घड़ियां" और कुछ स्थिर k के लिए n ^ k चरणों के बाद एक घड़ी के अनुकरण के कुछ मानक तरीके (जैसे) नीचे कोड)। अक्सर जब कोई पेपर या किताब (गलत तरीके से) सुझाव देगा कि यह निर्धारित करना संभव है कि क्या NTM बहुपद समय है, तो यह वही है जो वास्तव में उनका मतलब है। शायद यही कारण है कि आपने सवाल पूछा? (जब मैं पहली बार जटिलता सिद्धांत सीखता था तो मेरा भी यही प्रश्न था और कहीं-कहीं यह कथन देखा गया कि क्या यह जाँचना संभव है कि क्या कोई टीएम पाली-टाइम है।) असली सवाल यह है कि कोई ऐसा क्यों करना चाहेगा, जिसे मैं समझाने के बाद नीचे चर्चा करता हूँ। कैसे

इस तरह की घड़ी की सुविधा को जोड़ने के कई तरीके हैं। उदाहरण के लिए, लंबाई n के इनपुट x पर कल्पना करें, "प्राथमिक एल्गोरिथ्म" के एक कथन को बारी-बारी से निष्पादित किया जा रहा है, और फिर निम्न एल्गोरिथ्म का एक कथन, जो (कुछ पास) n ^ k चरणों में समाप्त होता है:

i_1 = 1 से n के लिए
  i_2 = 1 से n के लिए
...
        i_k = 1 से n के लिए
          कोई सेशन;
वापसी;

यदि प्राथमिक एल्गोरिथ्म के रुकने से पहले उपरोक्त कोड वापस आ जाता है, तो संपूर्ण गणना को रोक दें (जैसे कि अस्वीकृति के साथ)।

एल्गोरिथ्म जो यह तय करता है कि यदि NTM इस रूप का है, यदि एल्गोरिथ्म में एक प्रयास के रूप में व्याख्या की जाती है कि क्या इसका इनपुट पॉली-टाइम NTM है, तो कुछ गलत नकारात्मक रिपोर्ट करेंगे: कुछ NTM को बहुपत्नी समय में रुकने की गारंटी दी जाती है, भले ही वे ऊपर दिए गए कोड की तरह एक घड़ी के एक बयान के साथ एक एल्गोरिथ्म के एक बयान को निष्पादित करने का विकल्प नहीं देते हैं (इसलिए पाली-टाइम होने के बावजूद खारिज कर दिया जाएगा)।

लेकिन झूठी सकारात्मकताएं नहीं हैं। यदि कोई एनटीएम परीक्षण पास करता है, तो यह निश्चित रूप से बहुपद में रुकता है, इसलिए यह कुछ एनपी भाषा को परिभाषित करता है। हालांकि, शायद इसके अंतर्निहित प्राथमिक एल्गोरिथ्म के व्यवहार को बदल दिया जाता है, अगर घड़ी कभी-कभी प्राथमिक एल्गोरिथ्म से पहले ही बाहर निकल जाती है, जिससे गणना को अस्वीकार करने का कारण बनता है, भले ही प्राथमिक एल्गोरिथ्म ने स्वीकार कर लिया हो अगर खत्म करने के लिए पर्याप्त समय दिया गया हो। इसलिए तय की गई भाषा प्राथमिक एल्गोरिथ्म से भिन्न हो सकती है। परंतु, और यह कुंजी है, यदि प्राथमिक एल्गोरिथ्म को निष्पादित किया जा रहा है, वास्तव में एक बहुपद-काल एल्गोरिथ्म है जो समय p (n) में चल रहा है, और यदि घड़ी में निरंतर k काफी बड़ा है कि n ^ k> p (n), तो घड़ी खत्म होने से पहले प्राथमिक एल्गोरिथ्म हमेशा रुक जाएगा। इस मामले में, प्राथमिक एल्गोरिथ्म के उत्तर में बदलाव नहीं किया गया है, इसलिए प्राथमिक एल्गोरिथ्म और क्लॉक एनटीएम ने इसे अनुकरण करते हुए इसलिए उसी एनपी भाषा को तय किया।

यह महत्वपूर्ण क्यों है? इसका मतलब यह है कि "सभी एनपी भाषाओं की गणना करना संभव है" (जैसा कि मैंने कहा कि साहित्य में अक्सर गलत कहा गया है "यह तय करें कि क्या एक दिया गया एनटीएम पॉली-टाइम है" या "सभी पॉली-टाइम एनटीएम की गणना करें")। अधिक सटीक रूप से, एनटीएम के M_1 M_2, ... की अनंत सूची की गणना करना संभव है, गुणों के साथ

  1. प्रत्येक M_k बहुपद समय में चलता है (उदाहरण के लिए, M_k को ^ k- समय घड़ी संलग्न करके), इसलिए कुछ NP भाषा तय करता है, और
  2. प्रत्येक एनपी भाषा सूची में कुछ M_i द्वारा तय की गई भाषा है।

क्या नहीं होता है कि सूची में प्रत्येक बहुपद-काल NTM है। लेकिन प्रत्येक एनपी भाषा में एनटीएम की एक अनंत संख्या होती है। इस प्रकार, प्रत्येक एनपी भाषा की सूची में कम से कम कुछ प्रतिनिधि एनटीएम के होने की गारंटी है, विशेष रूप से उन सभी एनटीएम के बड़े पर्याप्त सूचकांक k पर जो n ^ k M_k के चलने के समय से अधिक है।

यह विकर्ण जैसे ट्रिक्स करने के लिए उपयोगी है, जिसमें सभी एनपी भाषाओं की अनंत (या अनबाउंड) सूचियों की गणना करने की आवश्यकता होती है। और निश्चित रूप से, यह पूरी चर्चा पॉली-टाइम एनटीएम के अलावा कई अन्य प्रकार की मशीनों पर भी लागू होती है, जैसे कि पॉली-टाइम निर्धारक टीएम।


3

पी(n)


2
यह तभी काम करता है जब यह एक क्लोस्ड नॉनडेर्मिनिस्टिक टीएम हो। अगर मैं आपको सिर्फ एक क्लॉक टीएम देता हूं (यहां तक ​​कि वह जो घातीय समय में चलता है), यह अभी भी अनिर्दिष्ट है कि वह जिस भाषा में फैसला करता है वह एनपी में है या नहीं। हालाँकि, अगर N_1, N_2, ... घातीय घड़ियों के साथ TM की गणना है, तो सेट {i: L (N_i) NP में है} शायद अब सिग्मा_3-पूर्ण नहीं है, क्योंकि आप पहले से ही गारंटी हैं कि N_i हैं कुल, लेकिन यह अभी भी निश्चित रूप से कम्प्यूटेशनल नहीं है।
जोशुआ ग्रूको
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.