ट्यूरिंग मशीन द्वारा परिभाषित एक भाषा L को देखते हुए, जो इसे तय करती है, क्या यह एल्गोरिदमिक रूप से निर्धारित करना संभव है कि L, NP में निहित है या नहीं?
ट्यूरिंग मशीन द्वारा परिभाषित एक भाषा L को देखते हुए, जो इसे तय करती है, क्या यह एल्गोरिदमिक रूप से निर्धारित करना संभव है कि L, NP में निहित है या नहीं?
जवाबों:
नहीं। पहले, राइस के प्रमेय द्वारा, यह टीएम की एक संपत्ति है जो केवल उस भाषा पर निर्भर करता है जिसे वे गणना करते हैं, इसलिए यह गणना योग्य नहीं हो सकता है।
लेकिन, उससे कहीं अधिक, यह ज्ञात है कि के सूचकांक सेट (है कि, TM के सेट है कि में गणना भाषाओं एन पी ) है Σ 0 3 -Complete ( Σ 0 3 में अंकगणित कम्प्यूटेबिलिटी के पदानुक्रम, नहीं बहुपद पदानुक्रम)।
इस तरह के सवालों की जांच सबसे पहले हजेक ने की थी । अधिक के लिए, केन रेगन का यह लेख देखें ।
हजेक के कागज से कुछ और महान डला:
आपके शाब्दिक प्रश्न का उत्तर नहीं है, जैसा कि जोशुआ ग्रोचो ने बताया है।
हालांकि, जैसा कि होल्गर ने कहा, रैखिक समय में यह जांचना संभव है कि क्या 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, ... की अनंत सूची की गणना करना संभव है, गुणों के साथ
क्या नहीं होता है कि सूची में प्रत्येक बहुपद-काल NTM है। लेकिन प्रत्येक एनपी भाषा में एनटीएम की एक अनंत संख्या होती है। इस प्रकार, प्रत्येक एनपी भाषा की सूची में कम से कम कुछ प्रतिनिधि एनटीएम के होने की गारंटी है, विशेष रूप से उन सभी एनटीएम के बड़े पर्याप्त सूचकांक k पर जो n ^ k M_k के चलने के समय से अधिक है।
यह विकर्ण जैसे ट्रिक्स करने के लिए उपयोगी है, जिसमें सभी एनपी भाषाओं की अनंत (या अनबाउंड) सूचियों की गणना करने की आवश्यकता होती है। और निश्चित रूप से, यह पूरी चर्चा पॉली-टाइम एनटीएम के अलावा कई अन्य प्रकार की मशीनों पर भी लागू होती है, जैसे कि पॉली-टाइम निर्धारक टीएम।