पी, एनपी और विशेष ट्यूरिंग मशीनें


13

मैं नए तरह का हूं, लेकिन कंप्यूटिंग और जटिलता सिद्धांत के क्षेत्र में बहुत दिलचस्पी रखता हूं, और मैं अपनी समझ को स्पष्ट करना चाहता हूं कि कक्षा की समस्याएं कैसे होती हैं, और उन्हें हल करने के लिए उपयोग की जा रही मशीन से संबंधित समस्याएं कितनी दृढ़ता से होती हैं।

मेरी समझ

  • स्टैंडर्ड ट्यूरिंग मशीन - एक ट्यूरिंग मशीन जिसमें एक परिमित वर्णमाला, राज्यों की सीमित संख्या और एक एकल दाईं-अनंत टेप होती है
  • ट्यूरिंग-समतुल्य मशीन - एक ट्यूरिंग मशीन, जिसका अनुकरण किया जा सकता है, और इसका अनुकरण किया जा सकता है, एक मानक ट्यूरिंग मशीन (एमुलेशन द्वारा प्राप्त अंतरिक्ष और समय के बीच कुछ व्यापार-बंद के साथ अक्सर)
  • P - मानक ट्यूरिंग मशीन (ऊपर परिभाषित) का उपयोग करके बहुपद समय में हल की जा सकने वाली समस्याओं का वर्ग
  • NP - समस्याओं का वर्ग जो मानक ट्यूरिंग मशीन का उपयोग करके बहुपद समय में सत्यापित किया जा सकता है
  • NP-complete- सबसे कठिन समस्याएं जो अभी भी हैं NP, जिन्हें सभी NPसमस्याओं को बहुपद समय में परिवर्तित किया जा सकता है

मेरा प्रश्न

एल्गोरिथ्म, या एल्गोरिथ्म और मशीन से संबंधित जटिलता वर्ग ( Pऔर NP, NP-completeआदि) हैं?

एक अन्य तरीके से कहा, अगर आप एक ट्यूरिंग इक्विवलेंट मशीन बना सकते हैं (जो सभी समस्याओं को हल कर सकती है जो एक मानक टीएम कर सकता है, लेकिन एक अलग समय / स्थान में) और यह नई मशीन एक NP-completeसमस्या को हल कर सकती है जो समय के साथ बढ़ती है इनपुट के संबंध में बहुपद, क्या इसका मतलब होगा P=NP?

या क्या इस NP-completeसमस्या पर विचार करने के लिए बहुपद समय में सभी संभव ट्यूरिंग मशीनों पर हल होना चाहिए P?

या क्या मैं ऊपर कुछ मूलभूत गलत समझ रहा हूं?

मेरे पास एक नज़र है (शायद सही खोज शब्दों के साथ नहीं, मैं सभी शब्दजाल को अच्छी तरह से नहीं जानता) लेकिन ऐसा लगता है कि अधिकांश व्याख्यान / नोट्स आदि मानक मशीनों पर ध्यान केंद्रित करते हैं, लेकिन कहते हैं कि कस्टम मशीनों में अक्सर कुछ समय / स्थान की गति होती है अंतरिक्ष / समय की कीमत पर, बिना यह कहे कि यह कैसे जटिलता वर्गों पर आधारित है। मैं वास्तव में इस क्षेत्र में शब्दजाल से बहुत परिचित नहीं हूं, फिर भी वे कागजात ढूंढते हैं जो यह बताते हैं।


मुझे लगता है कि आपका उत्तर इस पोस्ट उत्तर के समान है: मूल शब्दों में, पी, एनपी, एनपी-पूर्ण और एनपी-हार्ड की परिभाषा क्या है? इस पर एक नज़र डालो।
रेजा

जवाबों:


9

एल्गोरिदम और मशीनों को आपके प्रश्न में परिभाषित नहीं किया गया है और मुझे नहीं लगता कि उन्हें यह पूछने की आवश्यकता है कि आप क्या पूछना चाहते हैं।

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

मुझे यह जोड़ना चाहिए कि एक परिकल्पना है जो कहती है कि किसी भी "उचित" "मशीन" में "कुशल" "अभिकलन" समान संख्या सिद्धांत कार्यों को पकड़ लेगा। हालाँकि यह तब तक एक सिद्ध कथन नहीं है जब तक कि कोई उद्धृत शर्तों को परिभाषित न करे। हम इसे कई मशीनों के लिए साबित कर सकते हैं लेकिन सभी मशीनों के लिए नहीं। मशीन बराबर ट्यूरिंग होने के नाते पर्याप्त नहीं है, हम उन्हें होना चाहते हैं दृढ़ता , इसलिए यानी हम विपरीत कुशलतापूर्वक ट्यूरिंग मशीन और इसके साथ उन मशीनों अनुकरण करने के लिए सक्षम होना चाहिए। और बारे में अच्छी बातएन पी पीPNPयह है कि वे बहुत मजबूत वर्ग हैं, यानी मशीन के मॉडल में छोटे और बड़े अंतर से वर्ग में बदलाव नहीं होता है। हालांकि यह हर समय सच है। उदाहरण के लिए, मैं गणना के एक सरल नए मॉडल को परिभाषित कर सकता हूं, जहां मेरा एक मूल ऑपरेशन है जो निरंतर समय में एक समस्या को हल करता है जो कि में असाध्य है । तब यह स्पष्ट है कि यह मॉडल ट्यूरिंग मशीनों के बराबर नहीं होगा।P

ऊपर का उदाहरण एक कृत्रिम था। हालाँकि अभी हमारे पास गणना का एक मॉडल है जो बहुपद-काल ट्यूरिंग मशीनों की तुलना में व्यवहारिक रूप से कुशल संगणना के करीब लगता है: बाउंड-एरर / रैंडमाइज्ड ट्यूरिंग मशीनें, उस मॉडल में कुशल एल्गोरिदम को रूप में संदर्भित किया जाता है ।BPP

कई विशेषज्ञों का मानना ​​है कि लेकिन हम इसे साबित करने से बहुत दूर हैं।BPP=P

हमारे पास गणना का एक और मॉडल है जो कुछ विशेषज्ञ भविष्य में व्यावहारिक होने की उम्मीद करते हैं: क्वांटम ट्यूरिंग मशीन, उस मॉडल में कुशल एल्गोरिदम को रूप में संदर्भित किया जाता है । हम यह नहीं जानते कि क्या यह से अलग है, लेकिन कुछ विशेषज्ञों का अनुमान है कि यह से अलग और अधिक शक्तिशाली है ।पी पीBQPPP


संक्षेप में, यदि आप और बारे में एक जटिलता सिद्धांत परिणाम साबित करना चाहते हैं, तो आपको ट्यूरिंग मशीनों का उपयोग करके या तो मूल परिभाषाओं का उपयोग करना होगा, या पहले उनके और उन कक्षाओं के बीच पत्राचार साबित करना होगा जो आप उपयोग कर रहे हैं। गणना के कुछ अन्य मॉडल पर आधारित है। जैसा कि मैंने ऊपर उल्लेख किया है कि मशीन मॉडल बनाना काफी आसान है जहाँ बहुपद "समय" उनमें से एक (या मनमाने ढंग से और अधिक कठिन) समस्या को हल कर सकता है: बस अपने मशीन मॉडल में एक बुनियादी ऑपरेशन जोड़ें जो उस समस्या को हल करता है। "समय" को बताएं कि ऑपरेशन एक समय की इकाई है।एन पी एन पीPNPNP


इसलिए, यदि आपकी कस्टम मशीन कुशलता से समस्याओं को हल कर सकती है, लेकिन एक मानक ट्यूरिंग मशीन द्वारा कुशलता से इसका अनुकरण नहीं किया जा सकता है, तो यह परिणाम P = = NP (भले ही मैं वास्तविक जीवन में इस मशीन का निर्माण कर सकता हूं) के लिए प्रासंगिक नहीं है?
बिंगो

हां यह सही है।
केवह

और फिर यह विस्तारित चर्च-ट्यूरिंग थीसिस का उल्लंघन होगा?
बिंगो

जरुरी नहीं।
केव

6

बस एक तुच्छ नोट को रेखांकित करने के लिए कि ट्यूरिंग मशीन के कुशल सिमुलेशन का मतलब न केवल यह है कि यह ट्यूरिंग मशीन की गणना का अनुकरण कर सकता है और इसके विपरीत कुशलतापूर्वक (बहुपद समय मंदी); लेकिन यह भी कि इसके इनपुट / आउटपुट को एक मॉडल से दूसरे मॉडल में कुशलतापूर्वक परिवर्तित किया जाना चाहिए

एक तुच्छ उदाहरण: यदि आपको एक ट्यूरिंग समतुल्य उपकरण मिल जाता है जो निरंतर समय में SAT समस्या को हल कर सकता है, लेकिन इनपुट के ढेर (यूनरी) के रूप में उपयोग करता है, तो आप कुछ भी निष्कर्ष नहीं निकाल सकते। वही यदि आपका डिवाइस एक बाइनरी इनपुट का उपयोग करता है, लेकिन इसके लिए उपयोग किए गए इनपुट प्रारूप में SAT की एक आवृत्ति को परिवर्तित करने के लिए कई चरणों की संख्या होती है।


3

आपकी समझ बहुत अच्छी है! यदि आप रुचि रखते हैं, तो आप किसी पाठ में अधिक जानकारी भी पा सकते हैं, जैसे कि Sipser का Intro to the Computation।

इस विचार को चर्च-ट्यूरिंग थीसिस कहा जाता है जो कुछ भी कहता है कि किसी भी तरह गणना की जा सकती है, ट्यूरिंग मशीन का उपयोग करके गणना की जा सकती है। (यह साबित नहीं है, लेकिन सिर्फ एक विचार है, या प्रकृति का एक प्रकार का कानून जो हम सोचते हैं कि सच है)।

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

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

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

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