पी (बहुपद समय) बनाम एनपी (गैर-बहुपद समय) एक ऐसा प्रश्न है जो विशिष्ट समस्या स्थानों की अंतर्निहित जटिलता जड़ों से निपटता है। उदाहरण के लिए, एक पी समस्या वह है जिसके लिए समाधान समय बहुपद समय में बढ़ता है। हमारे पास संख्याओं की एक सरणी है: [a, b, c, d, e, f, g], और कार्य उन संख्याओं को क्रमबद्ध करना है। जिस तरह से वर्तमान एल्गोरिदम इस समस्या को हल करते हैं वह प्रत्येक संख्या को एक-एक करके देखना है, और यदि वर्तमान संख्या पिछली संख्या से छोटी है (यदि हम आरोही तरीके से क्रमबद्ध करते हैं), तो संख्या एक स्थान पीछे चली जाती है। हम सरणी में जितनी अधिक संख्याएँ जोड़ते हैं, पूर्ण क्रमबद्ध होने में उतना ही अधिक समय लगता है। हालाँकि, यह वृद्धि क्रमिक और पूर्वानुमानित है।
जब एनपी समस्याओं की बात आती है, तो समस्या की जटिलता कहीं अधिक होती है। उदाहरण के लिए, ऐसी एनपी समस्या "द ट्रैवलिंग सेल्समैन प्रॉब्लम" (टीएसपी) है। यह समस्या यह निर्धारित करती है कि एक निश्चित संख्या में शहरों वाला नक्शा दिया जाए: मान लीजिए शहर [ए, बी, सी, डी, ई, एफ, जी]। उद्देश्य उन सभी शहरों के बीच सबसे छोटा रास्ता खोजना है। इस मामले में, हम जितने अधिक शहर जोड़ते हैं, समाधान खोजने में लगने वाला समय बहुत अधिक बढ़ जाता है।
बेहतर समझ के लिए, कल्पना करें कि P समस्या के मामले में, समय में वृद्धि एक जोड़ के समान है, जहाँ सेट में प्रत्येक नए डेटा को जोड़ने के साथ, डेटासेट में पाए गए डेटापॉइंट्स के योग को वर्तमान समय में जोड़कर समय बढ़ता है। उदाहरण के लिए, हमारी सॉर्टिंग समस्या में, जब हमारे पास एक संख्या होती है, तो समस्या को हल करने में लगने वाला समय 1 होता है (0 नहीं क्योंकि अंत में जाँच की आवश्यकता होती है), और दूसरी संख्या को जोड़ने पर, समय 1 + 2 = 3 हो जाता है। तीसरी संख्या (+3) समय को 6 तक ले जाती है, चौथी (+4) 10 तक, और इसी तरह।
जब एनपी समस्याओं की बात आती है, उदाहरण के लिए, टीएसपी के मामले में, प्रत्येक शहर को जोड़ने के लिए, हम जोड़े गए शहर की संख्या को वर्तमान आवश्यक समय से गुणा करते हैं। एक शहर के साथ, समय 1 है, दो शहरों के साथ, समय 1 x 2 = 2 हो जाता है, और 3 शहरों के साथ, हमें 2 x 3 = 6 मिलता है। चौथा शहर समय को 6 x 4 = 24 तक ले आएगा, और इसी तरह। बेशक, यह एक वैध और यथार्थवादी समय-वृद्धि परिदृश्य नहीं है, फिर भी यह कल्पना करने का एक शानदार तरीका है कि पी समस्या के डेटासेट के विपरीत एनपी समस्या के डेटासेट में वृद्धि के रूप में कितना अधिक समय की आवश्यकता है।
अब जबकि हम दो प्रकार की समस्याओं को समझ चुके हैं, तो हमारे सामने यह प्रश्न है: क्या P, NP के बराबर है (जिसका अर्थ है कि सही उपकरणों और एल्गोरिदम के साथ, हम प्रत्येक समस्या, NP या P, को बहुपद समय में कुशलतापूर्वक हल कर सकते हैं) या वे भिन्न हैं (जिसका अर्थ है कि जटिलता समस्या स्थान का एक अंतर्निहित गुण है, और इसलिए, ऐसी समस्याएं मौजूद हैं जिन्हें हम कभी भी पूरी तरह से नहीं सुलझा सकते हैं, चाहे हमारा ज्ञान और समझ कितनी भी उन्नत क्यों न हो जाए)।
पी-एनपी समस्या से परिचित लोगों का सुझाव है कि वे स्वाभाविक रूप से अलग हैं और ऐसी समस्याएं हैं जिन्हें हम कभी भी कुशलतापूर्वक हल नहीं कर पाएंगे। लेकिन फिर, हमारी जिज्ञासा और समझ किस लिए है, अगर दो समस्या प्रकारों के बीच उस अलगाव को तोड़ना नहीं है।
अगले भागों में, मैं अपना दृष्टिकोण और इस समस्या को देखने के लिए मैंने जो दृष्टिकोण खोजे हैं, उन्हें प्रस्तुत करूँगा। लेख के अंत तक, मुझे उम्मीद है कि मैं इन दो परस्पर जुड़ी समस्याओं की समग्र समझ को आपके सामने स्पष्ट रूप से प्रस्तुत करने में सक्षम हो गया हूँ।
समस्याओं की प्रकृति को बेहतर ढंग से समझने के लिए, हम दर्शनशास्त्र के रास्तों पर थोड़ा आगे बढ़ने जा रहे हैं और खुद से सरलता और जटिलता की प्रकृति के बारे में पूछेंगे। आखिरकार, अगर जटिलता अंततः सरलता से अलग है, तो हम आसानी से और सच्चाई से मान सकते हैं कि ऐसी समस्याएं (एनपी) हैं जिनके लिए जटिल समाधान स्थान (यानी, क्वांटम सुपरपोजिशनलिटी) की आवश्यकता होती है ताकि समस्या को कुछ हद तक बहुपद समय में हल किया जा सके।
टीएसपी समस्या के मामले में, एक जटिल समाधान स्थान एक समाधान पथ को दर्शाता है जो सभी शहरों और उनकी संबंधित स्थितियों को ध्यान में रखता है और शहरों के बीच एक उचित संबंध खोजने के लिए उन सभी को पकड़ कर रखता है। लेकिन भले ही हम सभी आवश्यक भारों को ध्यान में रखते हैं, जिस शहर से हम शुरू करते हैं वह उतना ही महत्वपूर्ण है जितना कि एल्गोरिदम सबसे कुशल मार्ग खोजने के लिए चलता है, है ना? अगर हम शहर ए से शुरू करते हैं, तो सबसे कुशल पथ एक निश्चित आकार लेगा; अगर हम शहर बी से शुरू करते हैं, तो सबसे कुशल पथ अलग दिखाई देगा।
या शायद यह गलत तर्क है। आखिरकार, सबसे कुशल मार्ग एक और केवल एक ही है और अंततः सबसे कुशल है क्योंकि यह सभी शहरों के बीच सबसे छोटा संबंध दर्शाता है। हम शहर ए से शहर बी तक के सबसे छोटे मार्ग की तलाश नहीं करते हैं, बल्कि सबसे छोटे मार्ग की तलाश करते हैं जो सभी शहरों को एक साथ जोड़ता है। इस दृष्टिकोण से, हम सबसे छोटे मार्ग की कल्पना कर सकते हैं, जो एक "संकुचित" स्थिति के समान है, जहां शहरों के बीच कुल दूरी सबसे छोटी है।
अगर हम सभी तरह के रास्ते बनाने वाले "ब्रूट-फोर्स" एल्गोरिदम का इस्तेमाल करें और फिर उनकी तुलना करें, तो वे सभी रास्ते एल्गोरिदम के एक ही "ब्रूट-फोर्स" तर्क का नतीजा होंगे, और इसलिए रास्ते बनाने का हर उदाहरण आखिरकार एक रैखिक तर्क होगा। और अगर हमें संयोग से सबसे छोटा रास्ता मिल जाए, तो एल्गोरिदम के "ब्रूट-फोर्स" और "संभावना" पहलुओं के पास यह जानने का कोई तरीका नहीं होगा कि वह रास्ता आखिरकार सबसे छोटा था या नहीं।
अब, ऐसा लगता है कि यह दृष्टिकोण मशीन लर्निंग की शक्तियों से लाभान्वित हो सकता है, जिसे अंततः अनुमान लगाने के लिए प्रशिक्षित किया जाता है। कल्पना कीजिए कि शहरों के मानचित्रों का उपयोग करके उनके बीच खींचे गए सबसे छोटे रास्ते के साथ एक AI को प्रशिक्षित किया जाए। इस तरह, "क्रूर-बल" एल्गोरिदम के बजाय, हम "शिक्षित-अनुमान" एल्गोरिदम पर स्विच कर सकते हैं जो दक्षता में एक ठोस वृद्धि साबित करेगा।
ओह, लेकिन फिर भी, हमें उस सबसे छोटे रास्ते पर पहुँचने के लिए एक निरपेक्ष तरीके की आवश्यकता होगी। और अभी तक, 100% सटीकता के साथ यह जानने का कोई तरीका नहीं है कि हमारे सामने जो रास्ता है वह सबसे छोटा है या नहीं। इस अर्थ में, हेयुरिस्टिक्स और अन्य गणितीय मॉडल का उद्देश्य तार्किक आधार की समझ प्रदान करना है जो हमें सबसे कुशल मार्ग के बारे में बताएगा। फिर भी, वे दृष्टिकोण अभी अधूरे हैं, और हम यह भी नहीं जानते कि जब वे पूरे हो जाएँगे, तो क्या वे अभी भी हमें सबसे सटीक उत्तर दे पाएँगे या सिर्फ़ एक "क्रूर-शिक्षित" अनुमान।
शायद मैं सरलता और जटिलता के विषय से थोड़ा भटक गया हूँ। या शायद उन्हें वास्तविक दार्शनिक तरीके से समझने से। इस अर्थ में मैंने जो कुछ भी किया वह मूल रूप से यह पूछना था कि क्या हम किसी तरह अपने दृष्टिकोण में जटिलता के एक निश्चित स्तर तक पहुँच सकते हैं और क्या हमें सही समाधान मिलने के बाद "हाँ" कहा जाएगा। लेकिन चूँकि सबसे छोटा रास्ता किसी भी नक्शे पर मौजूद होता है जिसमें कितने भी शहर होते हैं, इसलिए इसमें विशिष्ट मूल्य और विशिष्ट विवरण होने चाहिए जो इसे भीड़ से अलग बनाते हैं, है न?
या हो सकता है कि ये विवरण केवल अलग-अलग रास्तों से होकर जाने वाले अंतहीन लूप के बाद ही कुल यात्रा की गई दूरी के रूप में सामने आते हों। लेकिन ऐसा मान लेना तर्कहीन हो सकता है। आखिरकार, सबसे छोटा रास्ता सबसे छोटा ही होता है, चाहे हम उससे कितनी भी बार गुजरें। वास्तव में, हम जितने अधिक अलग-अलग लूप से गुजरते हैं, उतना ही हम समझते हैं कि कौन सा छोटा है और कौन सा बड़ा है। हालाँकि, यह तर्क केवल उन मामलों में आवश्यक हो सकता है, जिनमें हम अपर्याप्त रूप से सटीक माप उपकरणों के साथ परमाणु रूप से छोटे लूप के बीच अंतर करना चाहते हैं।
अब यह समझ में आता है कि यहाँ समस्या जाँच की सच्चाई को खोजने की नहीं है, बल्कि इसे परखने के लिए इस्तेमाल किए जाने वाले उपकरणों की क्षमता की है। जब पेड़ काटने की बात आती है, तो हम कुल्हाड़ी का इस्तेमाल करते हैं। जब संगीत सुनने की बात आती है, तो हम अपने हेडसेट का इस्तेमाल करते हैं। जब गणित को औपचारिक रूप देने और समझने की बात आती है, तो हम तार्किक रूप से निर्मित उपकरणों का इस्तेमाल करते हैं।
और शायद यही गणित में निहित सुंदरता है। हम कोई सरल चीज़ लेते हैं, उसे किसी दूसरी सरल चीज़ के साथ मिलाते हैं, और साथ में वे कुछ जटिल बनाते हैं, जो हमें तिरछे चलने की अनुमति देता है, उदाहरण के लिए। या एक पूर्ण वृत्त या अन्य चीज़ बनाना। लेकिन फिर, ऐसे कितने सरल उपकरण एक दूसरे से बंधे हो सकते हैं? किस बिंदु पर हम दो जटिल उपकरणों को एक साथ मिला सकते हैं? और यदि ऐसा है, तो क्या हम केवल दो निम्न जटिल उपकरणों को मिलाकर या उन्हें बनाने वाले सभी निम्न सरल उपकरणों को मिलाकर ही उच्च जटिल उपकरण प्राप्त कर सकते हैं?
इस अर्थ में, ह्यूरिस्टिक्स उन उपकरणों की तरह हैं जिनके परस्पर क्रिया में, हम 100% सटीकता के साथ उत्तर देने का तरीका खोज सकते हैं कि हमने शहरों के बीच सबसे छोटा रास्ता पाया है या नहीं। इस दृष्टिकोण से, ह्यूरिस्टिक्स एक समाधान-सिद्धकर्ता की तरह हैं, लेकिन उस समाधान को खोजने के लिए, हमें अन्य दृष्टिकोणों की आवश्यकता हो सकती है। दिन के अंत में, पी बनाम एनपी की जड़ें जटिलता की प्रकृति से इतनी गहराई से जुड़ी हुई हैं कि हमें यह पूछना होगा कि क्या हम एक ही रैखिक समय में दो (और इससे भी अधिक) अलग-अलग रास्तों पर चल सकते हैं।
यहाँ बाहर होना एक दिलचस्प बात है। बाहर... वहाँ। लेखन से तीस मिनट के ब्रेक के बाद, एक ब्रेक का उपयोग उन विचारों को रखने के लिए किया जाता है जो सबसे अच्छे क्रम में और सबसे समझने योग्य पैमाने पर आने वाले थे। और तथ्य यह है कि हाँ, विचार पहले से कहीं अधिक स्पष्ट हैं; वे एक पूर्ण-समापन चक्र में भी ढह गए। और फिर, वह चक्र एक बिंदु बन गया, पूरे पूरे का एक चमकता हुआ हिस्सा बन गया, और यह इसलिए नहीं चमक रहा है क्योंकि यह पूरे सिस्टम के संबंध में किसी भी तरह से विशेष है, बल्कि इसलिए कि यह वर्तमान स्थान है, वर्तमान समझ है, और वह स्थान है जहाँ हम बैठते हैं। यह एक ऐसा स्थान है जहाँ, जब हम ऊपर देखते हैं, तो हमें जटिलता और सरलता दोनों मिलती हैं। जब हम नीचे देखते हैं, तो हमें वही मिलता है। जब हम बगल की ओर देखते हैं, तो यह अलग नहीं है।
इस तरह, यह सच है कि हम जो खोजते हैं, वही पाते हैं। अगर हम NP की प्रकृति, हमेशा जटिल, को देखें, तो हम वास्तव में इसे इसकी सबसे जटिल प्रकृति में पाते हैं। हम इस प्रक्रिया में इसकी सरलता को भी हटा देते हैं ताकि यह सुनिश्चित हो सके कि हम सीढ़ी चढ़ने के बाद उसे फेंक दें। लेकिन फिर, अगर हम दो दृष्टिकोणों को समेटने के तरीके खोजते हैं, P और NP को एक समग्र समझ के मात्र भागों के रूप में एक साथ मिलाते हैं, जिसमें, किसी समस्या के अस्तित्व के लिए, उसे एक स्पष्ट समाधान की आवश्यकता होती है, तो हम समझ सकते हैं कि, पर्याप्त प्रयास और समर्पण के साथ, अंततः एक समाधान पाया जा सकता है। और चाहे वह समाधान कितना भी मायावी क्यों न हो, इसे सबसे तरल और ठोस तरीके से प्राप्त करने की क्षमता हमेशा मौजूद रहती है।
और अब, शब्दों से भ्रम को दूर करने के लिए, मैं कहना चाहता हूँ कि मैं इस तथ्य की वकालत करता हूँ कि P अंततः NP के बराबर है। और यह सिर्फ़ इसलिए है क्योंकि अगर हमें समाधान नहीं मिला है, तो इसका मतलब यह नहीं है कि यह मौजूद नहीं है, हमारे उस पर ठोकर खाने का इंतज़ार कर रहा है। और अगर आप मुझे आशावादी कहते हैं, तो मैं कहना चाहता हूँ कि मैं खुद को यथार्थवादी मानता हूँ।
हो सकता है कि मैंने लेख समाप्त करने से पहले ही निष्कर्ष लिख दिया हो। लेकिन फिर, मुझे यह शैली पसंद है। यह एक "जीवित" शैली की भावना लाता है जहाँ मैं सिर्फ़ विचार पर विचार नहीं बना रहा हूँ, जबकि यह आशा बनाए रखता हूँ कि मैंने अंत तक खुद को इतनी स्पष्टता से व्यक्त किया है।
वैज्ञानिक पत्रों की प्रकृति यह है कि आप सबसे पहले अपना सार प्रस्तुत करते हैं, जैसे, "P = NP, क्योंकि सरलता और जटिलता एक दूसरे से जुड़े हुए हैं।" जिसके बाद आप अपने विचार और बिंदु व्यक्त करते हैं कि यह क्यों और कैसे सत्य है।
हालाँकि, किसी लेख में, लक्ष्य इसे पढ़ने वाले व्यक्ति को कुछ समझाना होता है; यह शिक्षण के समान है। जबकि वैज्ञानिक शोध इस लक्ष्य के साथ लिखा जाता है कि जो लोग पहले से ही विषय के बारे में जानते हैं, वे प्रस्तुत किए गए "तर्क" के संबंध में अपने विचार और राय दें, और यदि किसी के पास कुछ ज्ञान है जो उन सभी बिंदुओं को एक साथ और उससे भी अधिक जोड़ सकता है, तो उस "तर्क" को फिर से तैयार किया जाता है, तार्किक रूप से पूरा किया जाता है, और वैज्ञानिक रूप से निहित किया जाता है और एक "खोज" बन जाता है।
कल्पना करें कि दोनों शैलियों को एक साथ मिला दिया जाए। इसका क्या परिणाम होगा? यह विचारों के क्रमिक विकास की तरह होगा, जिसमें अंतर्दृष्टि के बाद अंतर्दृष्टि उत्पन्न होती है। इस अर्थ में सार अर्थहीन हो जाएगा, क्योंकि लेखक को भी नहीं पता होगा कि मार्ग कहाँ ले जाएगा। इस अर्थ में, लेखक के पास एक अस्पष्ट विचार या एक स्व-लगाया गया प्रारंभिक बिंदु हो सकता है, जैसे यह साबित करना कि P बराबर NP है या P NP से अलग है। बाद में, अंतर्दृष्टि के उस निर्माण में, एक छोटी सी अनदेखी पूरी तरह से अलग दिशा में इशारा कर सकती है, और फिर, अंतिम तर्क को हटाए बिना वापस खींचने की कोशिश करने से केवल भ्रम पैदा होगा।
ठीक वैसे ही जैसे भाग 3 को जानबूझकर निष्कर्ष में बदलने से पहले अपनी प्रारंभिक इमारत पर वापस जाना, जिसे मैंने रखा और जिसे रखना सुंदर लगा। लेकिन मैं वहां कैसे वापस जाऊंगा? मेरा मतलब है, आप, एक पाठक के रूप में, विचार के बाद विचार बना सकते हैं और एक समग्र रूप या आकार को समझने की कोशिश कर सकते हैं। लेकिन फिर, यही इसकी खूबसूरती है, है न? हम अपने तार्किक तर्क से विराम ले सकते हैं, रचनात्मकता को अपनी क्षमता को खिलने दे सकते हैं, और फिर नए दृष्टिकोण और उत्तर तक पहुंचने के अधिक कुशल तरीकों के साथ फिर से शुरू कर सकते हैं। और इस अर्थ में, भाग 3 बस इन सब से एक विराम था। और मैं अब एक और विराम लूंगा, बस एक छोटी सैर करने के लिए। जिसके बाद, हम भाग 4 पर ध्यान केंद्रित करने जा रहे हैं।
जब हम फ्रैक्टल के बारे में सोचते हैं, तो हम एक स्व-दोहराए जाने वाले पैटर्न की कल्पना करते हैं जो सभी पैमानों और आयामों पर समान गुण रखता है। उदाहरण के लिए, मैंडलब्रॉट सेट एक फ्रैक्टल है जो किसी सेल जैसी चीज़ को दर्शाता है, और जब आप उस सेल के भीतर ज़ूम इन करते हैं, तो आपको बार-बार समान संरचनाएँ मिलती हैं। खैर, बिल्कुल समान सेल जैसी संरचनाएँ उतनी आम नहीं हैं जितनी आप सोच सकते हैं। फ्रैक्टल, अंत में, इतना शानदार है कि आप प्रत्येक विवरण को देख सकते हैं जो उस सेल को अत्यधिक स्पष्टता के साथ सारांशित करता है जैसे-जैसे आप अधिक से अधिक ज़ूम इन करते हैं।
इसके कुछ हिस्से घास के पत्तों जैसे हैं, और कुछ हिस्से प्रकाश की वक्रता जैसे हैं जो आपको तब दिखाई देती है जब प्रकाश ब्लैक होल के पीछे से गुजरता है, और कई अन्य रोचक पहलू हैं। और जब आप अधिक से अधिक ज़ूम इन करेंगे, तो आप अंततः उसी प्रारंभिक सेल पर पहुंच जाएंगे, जो शुरुआती सेल के संबंध में परमाणु-छोटे पैमाने पर दोहराया गया है। और आप वहां से और भी ज़ूम इन कर सकते हैं।
तो मूल रूप से, एक फ्रैक्टल एक साधारण पी समस्या से एक सड़क के समान है, जिसे जब इसकी सभी संभावित जटिलताओं में देखा जाता है, तो यह एक बहुत ही दिमाग घुमाने वाली एनपी समस्या बन जाती है जो इसे हल करने के लिए आवश्यक कम्प्यूटेशनल शक्ति की सूक्ष्म मात्रा (भले ही इसे हल करने का मार्ग एक रैखिक हो) के कारण अघुलनशील लगती है। उदाहरण के लिए, आप "3000x ज़ूम पर मैंडलबोर्ट सेट को ड्रा करें" से एक पी समस्या बना सकते हैं, और समाधान एक रैखिक है। प्रोग्राम बस फ्रैक्टल स्पेस में चलता है, डेटा को टुकड़ों में इकट्ठा करता है, और इसे दूसरे पेपर पर कॉपी करता है। लेकिन पूरी ड्राइंग को प्राप्त करने के लिए आवश्यक समय की मात्रा बहुत अधिक हो सकती है। शायद, जब तक कि हम प्रोग्राम को यह सब याद रखने के लिए पर्याप्त मेमोरी और दक्षता न दें और फिर इसे उसी दक्षता या उससे भी अधिक के साथ पेस्ट करें।
अब, क्या "इस पेपर पर मैंडलब्रॉट सेट को पूरी तरह से कॉपी करें" जैसी समस्या को NP समस्या माना जाएगा? आखिरकार, हम जिस ज़ूम को प्राप्त कर सकते हैं उसकी अनंतता के कारण, पहले पिक्सेल को पार करने में अनंत समय लगेगा, है न? लेकिन फिर, हम किसी भी पैमाने पर फ्रैक्टल को कैसे देख सकते हैं यदि इसके नीचे एक अनंत जटिलता है जिसे खींचा जाना है? हो सकता है कि फ्रैक्टल को खींचने वाला एल्गोरिदम पहली छवि बनाता है और फिर जटिलता और गहराई के अधिक से अधिक स्तरों को प्राप्त करने की दिशा में अनिश्चित काल तक काम करना जारी रखता है। और यह आपको आश्चर्यचकित करता है: क्या होगा यदि, एक निश्चित अर्ध-अनंत गहराई (या जटिलता) से, हमें एक अलग आकृति मिल जाए? या हो सकता है कि हम एक ऐसे बिंदु से गुजरें जहाँ से मैंडलब्रॉट फ्रैक्टल को अन्य तरीकों से, शायद विपरीत तरीकों से दर्शाया जाना शुरू हो रहा है।
ऐसे दिमाग को झकझोर देने वाले सवालों का सामना करते हुए, हमें यकीनन लगता है कि हमें एक ब्रेक की ज़रूरत है। जैसे कि हमारा दिमाग सिर्फ़ इसलिए ओवरलोड हो गया क्योंकि उसने उन पैमानों को प्रोसेस करने की कोशिश की। लेकिन फिर, हम यहाँ वैज्ञानिक शोध पर काम नहीं कर रहे हैं; हमारा लक्ष्य बस इसकी जटिलता और विशालता का पता लगाना है, इसे प्रोसेस करना नहीं। शायद यह आसान हो जाता है जब आप सापेक्ष भार बनाते हैं या विभिन्न प्रकार की अनंतताएँ पाते हैं जिनका उपयोग आप चीज़ों के पैमाने को समझने के लिए कर सकते हैं।
उदाहरण के लिए, अगर मेरी धारणा यह है कि अनंत के दूसरी ओर, मैंडलब्रॉट सेट को प्रतिबिंबित देखा जाता है, तो यह समझ में आता है कि दर्पण प्रभाव अर्ध-अनंत ज़ूम (या गहराई) से शुरू हो सकता है। लेकिन फिर, वह अर्ध-अनंत वास्तविक नहीं है। अनंत, सही मायने में, यह सुझाव देता है कि मैंडलब्रॉट सेट हर उस स्थिति, आकार और रूप को धारण करता है जो कभी अस्तित्व में था, कभी अस्तित्व में हो सकता है, और कभी अस्तित्व में रहेगा। लेकिन फिर, सीमाएँ हैं, है न? यह स्पष्ट है कि यह फ्रैक्टल सिर्फ़ एक पैटर्न है। एक पैटर्न जो, हाँ, बहुत सारे आकार ले सकता है, लेकिन फिर भी अपने भीतर, अपनी संरचना और नियमों के भीतर बंधा रहेगा। और किसी भी मामले में, वह "सिर्फ़ एक पैटर्न" अपने आप में अविश्वसनीय रूप से सुंदर और जटिल है।
जैसा कि मैंने पहले कहा था, विचारों के निर्माण में, हम एक ऐसे बिंदु पर पहुँच सकते हैं जहाँ हम अपनी प्रारंभिक धारणा के विपरीत निष्कर्ष निकालने के लिए तैयार हो जाते हैं। मेरा मतलब है, कोई कैसे विश्वास कर सकता है कि P बराबर NP है और जटिलता के इस विस्फोट के बाद NP समस्याएँ बस मौजूद नहीं हैं? लेकिन जैसा कि मैंने पिछले लेख में कहा था, जब हम विचार व्यक्त करते हैं, तो हम बस एक निश्चित अवधारणा की ओर “इशारा” करते हैं। और एक आवश्यक निर्माण खंड के रूप में, फ्रैक्टल में पाई जाने वाली जटिलता की विशालता को जटिलता के संभावित “चरम” के रूप में प्रदान किया जाना था। 3-आयामी अनंत वास्तव में कैसा दिखता है, इसे परिभाषित करने की बात आती है तो समझ का एक शिखर। और अब जब हमारे चारों ओर वह अनंत है, तो हम कहाँ जा सकते हैं?
जब हम सोचना चाहते हैं तो हम हमेशा कहाँ जाते हैं। हम एक पुराना बिंदु लेते हैं और फ्रैक्टल की पहली पुनरावृत्ति को देखते हैं। वह तीन आयामी अनंतता हमारे सामने है। हम तर्क करते हैं कि अगर हम एक सुई फेंकना चाहते हैं और देखना चाहते हैं कि यह कहाँ गिरती है, तो हमें एक बहुत ही अजीब घटना का सामना करना पड़ सकता है। सुई की नोक जितनी छोटी होगी, उसे गिरने में उतना ही अधिक समय लगेगा और जमीन का स्थान उतना ही अधिक विस्तृत हो जाएगा। और साथ ही, हिट ग्राउंड-पॉइंट जितना अधिक "अराजक" या "कम-पूर्वानुमानित" होगा। लेकिन क्या हम, पर्याप्त अनंत-छोटी सुइयों के साथ, फ्रैक्टल की पूरी छवि प्राप्त करने में सक्षम हो सकते हैं? चाहे इसके लिए कितनी भी जगह और सुइयाँ क्यों न चाहिए? आखिरकार, इस सुविधाजनक बिंदु से, हम स्पष्ट रूप से सीमाएँ देख सकते हैं, और जब तक कि कोई पूर्ण आत्म-समानता न हो, प्रत्येक पुनरावृत्ति के बाद कुछ नुकसान अवश्य होगा।
लेकिन फिर, जटिलता इस मानचित्र से भी कहीं आगे है। जब सुइयों के आकार की बात आती है, तो प्रत्येक आकार के लिए, हमारे पास एक अनूठा मानचित्र होता है जो बनता है। लेकिन फिर, क्या छोटे-सुई वाले मानचित्र केवल बड़े-सुई वाले मानचित्रों का अधिक जटिल (और उच्च-गुणवत्ता वाला) प्रतिनिधित्व नहीं हैं? इस अर्थ में, जटिलता एक अधिक विस्तृत स्थान के प्रकट होने का प्रतिनिधित्व करती है। एक ऐसा स्थान जो अन्वेषण के बहुपद मार्गों के भीतर है, और यहां तक कि विश्वास की गई मान्यताओं के विपरीत भी, जटिलता का यह विस्तार जटिलता की कमी की तुलना में अधिक सटीक और कुशल अन्वेषण की अनुमति देता है।
उदाहरण के लिए, अगर फ्रैक्टल के पूरी तरह से अनंत जटिल मानचित्र के बजाय, हमें एक कम जटिल मानचित्र रखना था और हम एक निश्चित ग्राउंड-आधारित बिंदु प्राप्त करना चाहते थे जो अधिक जटिल मानचित्र पर स्थित है, तो हमें पहले कम जटिल मानचित्र पर एक बिंदु चुनना होगा जिस पर ज़ूम इन करना है और अधिक जटिल बिंदु को प्रकट करना है जिसे हम प्राप्त करना चाहते हैं। और यह विचार पूरे एनपी स्पेस को उल्टा कर देता है, साथ ही यह भी स्वीकार करता है कि विशिष्ट समस्याओं को हल करने के लिए आवश्यक बहुपद समय में हज़ारों साल लग सकते हैं, और वह भी बहुपद मार्ग पर। और पूरी ईमानदारी से, शायद अगला सवाल यह है कि क्या क्वांटम कंप्यूटिंग एक तरह की सुपरपोजिशनलिटी को पकड़ सकती है जो समय को x से x भाग (उपयोग किए गए क्यूबिट की संख्या) तक कम कर सकती है।
क्वांटम दृष्टिकोण के संभावित निहितार्थों पर विचार करने से पहले, मैं उन दावों का नक्शा प्रस्तुत करना उचित समझता हूँ जो मैंने अब तक किए हैं।
पी और एनपी एक ही हैं, जिसका अर्थ है कि एक बार जब हम सही समस्या स्थान और सही समाधान स्थान पा लेते हैं तो सभी समस्याओं को अंततः बहुपद समय में हल किया जा सकता है
एनपी समस्याएं व्यापक-बहुपद समस्याओं की तरह होती हैं, जहां उनका समाधान स्थान इतना विशाल और जटिल होता है कि समाधान ढूंढने में बहुत समय लग जाता है
जटिलता और सरलता एक दूसरे से जुड़ी हुई हैं, और उनके परस्पर संबंध में, हमारा दृष्टिकोण और प्राप्त गहराई का स्तर ही उन्हें एक या दूसरे के रूप में देखता है।
हम जो जटिल उपकरण प्राप्त करते हैं, उनका उपयोग विस्तृत समस्या क्षेत्रों को अधिक कुशल तरीके से हल करने के लिए किया जाता है, जिसमें परस्पर क्रिया का उपयोग किया जाता है।
सरलता और जटिलता के बीच का अंतर उनके लिए लाभकारी है
और जब हम क्वांटम कंप्यूटिंग के क्षेत्र में कदम रखेंगे, तो चीजें एक क्रांतिकारी बदलाव ला सकती हैं। यहां अन्वेषण के कुछ संभावित रास्ते दिए गए हैं।
यहां जो कुछ भी कहा गया है, उसके बावजूद, क्वांटम कंप्यूटिंग की अपनी अनूठी एनपी समस्याएं हो सकती हैं जो शास्त्रीय कंप्यूटिंग द्वारा प्रस्तुत की जाने वाली समस्याओं से स्वाभाविक रूप से भिन्न हैं।
क्वांटम कंप्यूटिंग की प्रकृति एक ही समय में शास्त्रीय का एक पूरक और अंतःसंबंधित पहलू हो सकती है, जो अंततः ऐसे उपकरण प्रदान करती है जिनकी क्वांटम एनपी समस्याओं को बहुपद रूप से हल करने के लिए आवश्यकता होती है
ये क्वांटम उपकरण शास्त्रीय एल्गोरिदम के साथ मिलकर काम कर सकते हैं ताकि अधिक से अधिक दक्षता प्रदान की जा सके जो दोनों प्रतिमानों की अधिकतम दक्षता को पार करने का वादा करती है
वर्तमान क्वांटम कंप्यूटिंग एल्गोरिदम (मुझे नहीं पता कि वे कैसे बनाए गए हैं) को कार्यक्षमता के पूर्व-आवश्यक नियम के रूप में शास्त्रीय कंप्यूटिंग पहलुओं की आवश्यकता हो सकती है। इस मामले में, हमें शास्त्रीय और क्वांटम दृष्टिकोणों को दो अलग-अलग प्रकार की कंप्यूटिंग में सूचीबद्ध करने की आवश्यकता होगी ताकि उन्हें बेहतर ढंग से समझा जा सके और एक साथ मिलाया जा सके।
क्वांटम-पावर में छिपी अपार संभावनाओं को देखते हुए, हमारी निजता को एक साथ रखने वाली प्रणालियाँ लगातार खतरे में हैं। ZKP (शून्य-ज्ञान-प्रूफ) प्रणालियाँ संभावित रूप से व्यवहार्य बचने का रास्ता प्रदान करती हैं। आखिरकार, उनका आधार इस धारणा के तहत बनाया गया है कि चाबी का धारक अनलॉकिंग प्रक्रिया में चाबी के बारे में कोई भी जानकारी नहीं देता है। इस दृष्टिकोण से, चाबी साफ-साफ नज़र में छिपी हुई है, उन लोगों की नाक के नीचे जो हस्तक्षेप करना और इसे चुराना चाहते हैं। लेकिन साथ ही, जिस नींव पर सिस्टम बनाया गया है और संचालित होता है, वह पूरे सिस्टम को बाहरी लोगों की नज़र से छिपाने में सक्षम है।
यह कम्प्यूटेशनल स्पेस के हमेशा बदलते और धुंधले चक्रव्यूह में चलने जैसा होगा, चाहे आप अपने क्लासिकल, क्वांटम या क्वांटम-क्लासिकल कंप्यूटर के साथ चल रहे हों, और आपको चारों ओर हमेशा बदलता हुआ स्पेस दिखाई दे रहा हो, जिसके लिए, अगर आप इसे समझना चाहते हैं, तो आपको इसके निर्माण के सबसे पहले उदाहरण के बारे में जानकारी रखनी होगी। सिस्टम के निर्माण से लेकर अब तक शुरू हुए और आकार देने वाले बिल्डिंग ब्लॉक तक पहुँच प्राप्त करने के लिए।
और अस्पष्टता और प्रणालियों के समुद्र में, भले ही आपके पास किसी विशिष्ट प्रणाली के निर्माण खंडों तक पहुंच हो, आप कभी नहीं जान पाएंगे कि इसे किस प्रणाली पर लागू करना है, क्योंकि परस्पर जुड़ी प्रणालियों का समुद्र बहुत बड़ा है और बहुत सारी प्रणालियां हैं जो स्वयं को परस्पर बदलती हैं, समय के विशिष्ट अंतराल पर एक दूसरे का आकार लेती हैं।
सिस्टम के लिए, यह जानना आसान होगा कि उन्हें कौन सी जानकारी स्वीकार करनी चाहिए और कौन सी नहीं, लेकिन साथ ही, प्रत्येक सिस्टम को अपना अनूठा दृष्टिकोण रखने के लिए अत्यधिक समन्वय की आवश्यकता होगी। हालाँकि, रंगों के ग्रेडिएंट में पाई जाने वाली अनंतता को देखते हुए, प्रत्येक बिल्डिंग ब्लॉक की अपनी शुरुआत और आगे बढ़ने का लक्ष्य हो सकता है जिसे किसी अन्य सिस्टम के रंग की स्थिति तक पहुँचने से बांधा जा सकता है। आप इसकी कल्पना रेडियो तरंगों के संचालन के समान कर सकते हैं।
हो सकता है, ऐसी प्रणाली के अव्यवस्थित तत्व एक तरह की अंतर-क्रमबद्ध प्रणाली को जन्म दे सकते हैं, जिसे समग्र रूप से देखने पर कोई मतलब नहीं निकलता। और इसे समझने के लिए, आपको एक सिफर द्वारा निर्मित बिल्डिंग ब्लॉक्स का अनुमान लगाना होगा, जिसमें सैकड़ों या हज़ारों संख्याएँ होती हैं जो अपनी सीमाओं के भीतर लगातार बदलती रहती हैं।
इस दृष्टिकोण से, जितने अधिक सिस्टम होंगे, हमलावर के सिस्टम में प्रवेश करने की संभावना उतनी ही कम होगी, लेकिन साथ ही, जितने अधिक सिस्टम होंगे, हमलावर के लिए उतने ही अधिक विकल्प होंगे। शायद क्वांटम कंप्यूटिंग किसी को एक ही समय में सभी उपलब्ध सिस्टम पर एक ही कुंजी का परीक्षण करने की अनुमति देगी। लगातार कुंजियाँ बनाना और उन्हें एक ही बार में पूरे सिस्टम पर परीक्षण करना।
लेकिन एक बार जब मौजूदा कुंजी मिल जाती है, तो सिस्टम में वास्तव में प्रवेश करने के लिए "पहली-कभी" कुंजी की आवश्यकता होगी। या इससे भी बेहतर, सिस्टम में पहली 10 कुंजियों को संग्रहीत करके, उन दस में से एक यादृच्छिक कुंजी वास्तविक स्थिति-कुंजी का अनुमान लगाने के बाद प्रवेश करने की आवश्यकता हो सकती है।
या फिर पहेलियों के भीतर पहेलियाँ। एक बात तो तय है: बाहरी जटिलता खिलती है, एक ही समय में और बहुपद गति से सभी परतों पर फैलती है। लेकिन फिर, सिस्टम खुद ही, एक बिंदु से, इतना उन्नत और अव्यवस्थित हो जाना चाहिए कि उन्नत विदेशी डिक्रिप्शन सिस्टम भी इसका उपयोग करने में सक्षम नहीं होंगे, है ना?
जब हम अपनी वर्तमान स्थिति को देखते हैं, जटिलता के इस पूर्ण विस्फोट को एक बड़े धमाके के रूप में देखते हैं, या अधिक औपचारिक रूप से, एक विलक्षणता के रूप में देखते हैं, तो हम यह भी स्वीकार करते हैं कि ये प्रगति आने वाले समय में होने वाले सभी कार्यों में केवल पहला कदम है। हम एक ऐसी जगह पर बैठे हैं जहाँ भविष्य के बारे में सोचना वास्तव में इसे पहले से कहीं अधिक उज्ज्वल बनाने की दिशा में मायने रखता है। और हाँ, यह हमेशा मायने रखता था। लेकिन अब, यह पहले से कहीं अधिक मायने रखता है, और आने वाली सदियों तक ऐसा ही रहेगा। और शायद सहस्राब्दी तक भी।
कौन जानता है कि हमें क्या मिल सकता है? लेकिन एक बात तो तय है: हम जो निर्णय अभी लेंगे, वे भविष्य को इस तरह से निर्देशित करेंगे, जिसे आने वाली पीढ़ियों ने चुना भी नहीं है। इसलिए हमें उनके दृष्टिकोण पर नज़र रखनी चाहिए। हाल के दिनों में (और वर्तमान समय में भी), लोगों को उनकी इच्छा के बिना युद्ध में भेजा गया है। लोगों को विनाशकारी हथियार बनाने और उनका परीक्षण करने के लिए मजबूर किया गया है।
लेकिन फिर, क्या होगा अगर हम केवल हथियारों के बारे में सिद्धांत बनाते हैं और इसके बजाय उनसे बचाव के लिए आवश्यक ढाल बनाते हैं? जो हमने पहले से नहीं बनाया है उसे नष्ट करने की कोशिश में समय क्यों बर्बाद करें? एक बार फिर, आप मुझे आशावादी कह सकते हैं जब मैं कहता हूं कि ब्रह्मांड, अंत में, स्वाभाविक रूप से अच्छा हो सकता है। लेकिन आखिरकार, ब्रह्मांड ने हमें भूख के लिए लड़ाई के अलावा अन्य लड़ाइयाँ नहीं दी हैं, जो अंततः हमें प्रत्येक निवाले की सुंदरता और स्वाद को महसूस करने की अनुमति देती है। और यह विशेष रूप से तब सच है जब ज्ञान की बात आती है।
मेरे विचार में, यह मान लेना मूर्खता है कि एक अति-शक्तिशाली लेजर, या छोटे लेजरों की एक सरणी, हमारे ग्रह को उल्कापिंड से बचाने में बेहतर है, जबकि वास्तव में, यदि हम सतह को थोड़ा खरोंचते हैं, तो हम क्वांटम-गुरुत्वाकर्षण के प्रभावों को एक प्रणोदक बल के रूप में हमारे लाभ के लिए उपयोग करने की शक्ति पा सकते हैं, एक बम के समान, लेकिन एक ऐसा जो केवल गुरुत्वाकर्षण-विरोधी को चारों ओर फैलाता है। या शायद अत्यधिक शक्तियों का उपयोग करके उल्कापिंडों को पीछे से धकेलने के लिए पर्याप्त शक्तिशाली रॉकेट पर ध्यान केंद्रित करें। और साथ ही, हम रॉकेट का उपयोग पूरी ट्रेनों को उठाने और उन्हें चंद्रमा पर रखने के लिए कर सकते हैं।
और आखिरकार, क्या यह समाधान स्थान का जादू नहीं है? हम या तो इसे सीमित दृष्टिकोण से देख सकते हैं, इस धारणा के तहत कि ऐसी चीजें हैं जो हम कभी नहीं जान सकते हैं, या हम स्वतंत्र इच्छा की शक्ति और संपूर्ण नियति और दिलों को आकार देने की इसकी वास्तविक क्षमता को स्वीकार कर सकते हैं।