क्वांटम कंप्यूटिंग के साथ शास्त्रीय कंप्यूटिंग की तुलना करते समय ants अवशिष्टों की अनदेखी ’का सामान्य कंप्यूटर विज्ञान उपयोगी है?


14

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

जटिलता सिद्धांत, अनंत आकार स्केलिंग सीमाओं के साथ बहुत अधिक जुनूनी है। वास्तविक जीवन में क्या मायने रखता है कि आप अपनी समस्या का जवाब कितनी तेजी से देते हैं।

कंप्यूटर विज्ञान में, एल्गोरिदम में स्थिरांक को अनदेखा करना आम है, और सभी में, यह अच्छी तरह से काम करने के लिए निकला है। (मेरा मतलब है, वहाँ रहे हैं अच्छा है और व्यावहारिक एल्गोरिदम। मुझे आशा है कि आप अनुदान देगा मुझे (सैद्धांतिक) एल्गोरिदम शोधकर्ताओं ने इस में एक नहीं बल्कि बड़े हाथ पड़ा है!)

लेकिन, मैं समझता हूं कि यह थोड़ी अलग स्थिति है क्योंकि अब हम हैं:

  1. एक ही कंप्यूटर पर चलने वाले दो एल्गोरिदम की तुलना नहीं, लेकिन दो (थोड़ा) दो अलग-अलग कंप्यूटरों पर अलग-अलग एल्गोरिदम ।
  2. अब हम क्वांटम कंप्यूटर के साथ काम कर रहे हैं , जिसके लिए शायद पारंपरिक इत्र माप अपर्याप्त हो सकते हैं।

विशेष रूप से, एल्गोरिथ्म विश्लेषण के तरीके केवल विधियां हैं । मुझे लगता है कि मौलिक रूप से नए कंप्यूटिंग तरीके हमारे मौजूदा प्रदर्शन मूल्यांकन विधियों की समीक्षा के लिए महत्वपूर्ण हैं!

तो, मेरा सवाल है:

जब किसी शास्त्रीय कंप्यूटर पर क्वांटम कंप्यूटर बनाम एल्गोरिदम पर एल्गोरिदम के प्रदर्शन की तुलना की जाती है, तो एक अच्छे अभ्यास को 'अनदेखा' करना निरंतर है?


क्लासिकल कंप्यूटिंग में स्थिरांक को अनदेखा करना भी हमेशा एक अच्छा विचार नहीं है। यह क्वांटम कंप्यूटिंग प्रश्न कैसे है और एल्गोरिदम संसाधन स्केलिंग के बारे में सोचने का प्रश्न नहीं है? दूसरे शब्दों में, जब गणना करने के लिए आवश्यक समय या अन्य संसाधनों के बारे में बात की जाती है, तो क्या गणना क्वांटम या शास्त्रीय है, इस सवाल के लिए अप्रासंगिक लगता है कि आप एक सौ मिलियन गति के कारक के बारे में परवाह करते हैं या नहीं।
डैनियलस्कैन

1
@DanielSank जैसा कि मैंने उल्लेख किया है, एल्गोरिथम विश्लेषण में स्थिरांक की अनदेखी ने शास्त्रीय कंप्यूटिंग के लिए अच्छी तरह से काम किया है। यह एल्गोरिदम शोधकर्ताओं के लिए डी-फैक्टो मानक भी है । मैं उन सभी एल्गोरिदम शोधकर्ताओं के बारे में सुनने में काफी दिलचस्पी रखता हूं जो स्पष्ट रूप से असहमत हैं। मुख्य कारण जो मैं यह सवाल पूछ रहा हूं, वह यह है कि 'कॉन्स्टेंट की अनदेखी' लगभग किसी भी एल्गोरिदम शोधकर्ता के लिए नहीं बल्कि एक नियम से अधिक है। जैसा कि मुझे यकीन है कि इस साइट में उपयोगी योगदानकर्ताओं के रूप में ऐसे लोग होंगे, यह जानना दिलचस्प हो सकता है कि क्या शास्त्रीय के साथ क्वांटम की तुलना करते समय ऐसी सोच को समायोजित किया जाना चाहिए।
छिपकली

3
इस प्रश्न के बारे में एक दिलचस्प बातचीत यहाँ है
डैनियलस्कैन

जवाबों:


9

'अनदेखी करने वालों' का सामान्य कंप्यूटर विज्ञान उपयोग केवल उपयोगी है जहां विभिन्न प्रकार के हार्डवेयर आर्किटेक्चर या सॉफ़्टवेयर के प्रदर्शन में अंतर को थोड़ी सी मालिश के साथ अनदेखा किया जा सकता है। लेकिन शास्त्रीय गणना में भी, यदि आप कठिन समस्याओं, या बड़ी समस्याओं को हल करना चाहते हैं, तो वास्तुकला (कैशिंग व्यवहार, हार्ड डिस्क का उपयोग) के प्रभाव के बारे में पता होना महत्वपूर्ण है।

स्थिरांक को अनदेखा करने का अभ्यास एक अभ्यास नहीं है जो कार्यान्वयन के दृष्टिकोण से प्रेरित (लगातार होने की भावना में) है। यह ज्यादातर एल्गोरिदम के अध्ययन के लिए एक दृष्टिकोण से दिलचस्पी से प्रेरित होता है जो रचना के तहत अच्छी तरह से व्यवहार किया जाता है और शुद्ध गणित के करीब एक तरह से, सरल लक्षण वर्णन को स्वीकार करता है। ट्यूरिंग मशीनों के लिए गति-अप प्रमेय का मतलब था कि कोई भी समझदार परिभाषा एक समझदार सिद्धांत पर पहुंचने के लिए समस्याओं की जटिलता को बहुत सटीक रूप से इंगित करने का प्रयास नहीं कर सकती है; और इसके अलावा, कठिन समस्याओं के लिए अच्छे एल्गोरिदम खोजने के लिए संघर्ष में, लगातार कारक गणितीय रूप से दिलचस्प हिस्सा नहीं थे ...

एल्गोरिदम के अध्ययन के लिए यह अधिक सारगर्भित दृष्टिकोण काफी हद तक उपयोगी था। लेकिन अब हम एक ऐसी स्थिति से जूझ रहे हैं, जहां हमारे पास गणना के दो मॉडल हैं, जहां

  • एक तकनीकी परिपक्वता (शास्त्रीय गणना) की एक उन्नत स्थिति में है; तथा
  • एक बहुत ही अपरिपक्व अवस्था में है, लेकिन एक सैद्धांतिक मॉडल को साकार करने का प्रयास कर रहा है, जिससे महत्वपूर्ण स्पर्शोन्मुख सुधार (क्वांटम गणना) हो सकता है।

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

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

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

क्वांटम प्रौद्योगिकियों के संबंध में, हम उस सुखद स्थिति में नहीं हैं जहां हम किसी भी व्यावहारिक संदर्भ में निरंतर कारकों पर सुरक्षित रूप से चमक सकते हैं। लेकिन शायद एक दिन हम ऐसा कर पाएंगे। यह क्वांटम सूचना प्रौद्योगिकियों का लंबा खेल है - अब तक, लगभग एकमात्र खेल जो अकादमिक कंप्यूटर वैज्ञानिकों ने कभी खेला है, जहां तक ​​क्वांटम सूचना प्रौद्योगिकी का संबंध है। उस दिन को देखते हुए जब क्वांटम तकनीक अपना पैर पसारती है, तो यह हमारे लिए अच्छा होगा कि हम क्वांटम एल्गोरिदम के प्रदर्शन में जांच की एक पंक्ति के रूप में स्पर्शोन्मुख विश्लेषण जारी रखें ।


तो, निष्कर्ष में, आप 'स्थिरांक को दूर नहीं फेंकने' के पक्ष में प्रतीत होते हैं , अभी के लिए , जबकि हम अभी भी उस चरण में हैं जहां कार्यान्वयन महत्वपूर्ण है। दिलचस्प। मुझे आपके तर्क की रेखा पसंद है, लेकिन मैं थोड़ा असहमत हूं। मैं जल्द ही अपने स्वयं के उत्तर में इस पर विस्तार करूंगा।
छिपकली

1
@Discretelizard: मैं स्थिरांक को दूर नहीं फेंकने के पक्ष में हूं, उन स्थितियों में जहां स्थिरांक एक व्यावहारिक अंतर बनाते हैं। स्पष्ट रूप से 1e8 जैसे स्थिरांक भी शास्त्रीय गणना में व्यावहारिक रूप से मायने रखते हैं; लेकिन हम अन्य विवरणों को खोजने की कोशिश करने के लिए ऐसे स्थिरांक को अनदेखा कर सकते हैं जो बहुत दिलचस्प हो सकता है। लेकिन यह भी सच है कि 1e8 क्वांटम और शास्त्रीय प्रौद्योगिकियों के बीच तुलना में अधिक मायने रखता है क्योंकि वे आज भी खड़े हैं, क्योंकि यह शास्त्रीय संकलन के भीतर मायने रखता है।
निएल डे ब्यूड्रैप


2

क्वांटम अभिकलन की तुलना शास्त्रीय संगणना से करने पर आप निरंतर कारकों की अनदेखी नहीं कर सकते। वे बहुत बड़े हैं।

उदाहरण के लिए, यहां कुछ स्लाइड्स हैं जो मैंने पिछले साल प्रस्तुत की थीं :

क्वांटम और गेट

नीचे की ओर चीजें जादू राज्य कारखानों हैं। उनके पास 150K फिजिकल क्विट का पदचिह्न है। चूंकि AND गेट 0.6 मिलीसेकंड के लिए 150K qubits का उपयोग करता है, इसलिए हम अनुमान लगाते हैं कि क्वांटम और गेट का स्पेसटाइम वॉल्यूम 90 qubit सेकंड के क्रम पर है।

त्रुटि सुधार करते समय मेरे सहकर्मियों के लक्ष्यों में से एक 100 प्रति 1 सीपीयू का उपयोग करना है। इसलिए हम कह सकते हैं कि ९ ० क्विट सेकंड के लिए ०.९ सीपीयू सेकंड की आवश्यकता होती है। हमने ऊपर की छवि बनाने के बाद क्वांटम कंस्ट्रक्शन को कई गुना अधिक कुशल बनाया है, तो चलिए इसके बजाय इसे 0.1 सीपीयू सेकंड कहते हैं।

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

यह 64 बिट अतिरिक्त प्रदर्शन करने के लिए 63 और द्वार लेता है। 63 * 0.1 सीपीयू सेकंड ~ = 6 सीपीयू सेकंड। क्वांटमली, एक सीपीयू सेकंड की तुलना में 64 बिट अतिरिक्त लागत है। शास्त्रीय रूप से, 64 बिट अतिरिक्त लागत एक सीपीयू नैनोसेकंड से कम है। यहां 10 बिलियन का स्थिर कारक अंतर आसानी से है। यदि आप एक समानांतर शास्त्रीय मशीन, जैसे कि GPU के साथ तुलना करते हैं, तो संख्या और भी बदतर हो जाती है। आप कई अंकों के साथ निरंतर कारकों को अनदेखा नहीं कर सकते।

उदाहरण के लिए, ग्रोवर के एल्गोरिदम पर विचार करें, जो हमें एन मूल्यांकन के बजाय फंक्शन के sqrt (एन) फ़ंक्शन के संतोषजनक इनपुट की खोज करने की अनुमति देता है। 10 बिलियन के निरंतर कारक में जोड़ें, और इसके लिए हल करें जहां क्वांटम कंप्यूटर को कम मूल्यांकन की आवश्यकता होती है:

N>1010NN>1020

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

जब तक हम निरंतर कारकों को बहुत बेहतर नहीं बनाते हैं, कोई भी कभी भी उपयोगी कुछ के लिए ग्रोवर खोज का उपयोग करने वाला नहीं है। अभी क्वांटम-बनाम-शास्त्रीय स्थिति घातीय लाभ या बस्ट है।


1

जबकि अन्य उत्तर अच्छे अंक प्रदान करते हैं, मुझे लगता है कि मैं अभी भी थोड़ा असहमत हूं। इसलिए, मैं इस बिंदु पर अपने विचार साझा करूंगा।

संक्षेप में, मुझे लगता है कि निरंतर 'जैसा है' की विशेषता सबसे अच्छा अवसर है। शायद यह सबसे अच्छा है जो हम अभी तक प्राप्त करने में सक्षम हैं, लेकिन यह आदर्श से बहुत दूर है।

लेकिन पहले, मुझे लगता है कि एक संक्षिप्त भ्रमण नेसरी है।

हमारे पास एक प्रभावी एल्गोरिथम कब है?

106

  1. P
  2. P2P
  3. P2

P2PPP2

इसलिए, यह अनुचित नहीं है कि हमारे बकवास एल्गोरिदम को संयोग से 'चमत्कारी' स्पीडअप लगता है। अब, निश्चित रूप से कई प्रयोग डिजाइन तकनीकें हैं जो जोखिम को कम कर सकती हैं, लेकिन शायद अधिक चतुर 'तेज' एल्गोरिदम जो अभी भी कई में विफल हैं, लेकिन पर्याप्त उदाहरण हमें धोखा नहीं दे सकते हैं! (यह भी ध्यान दें कि मैं मान रहा हूं कि कोई शोधकर्ता दुर्भावनापूर्ण नहीं है , जो मामलों को और भी बदतर बना देता है!)

तो, अब मैं जवाब दूंगा: "जब कोई बेहतर प्रदर्शन मीट्रिक हो तो मुझे जगाएं"।

हम कैसे बेहतर कर सकते हैं, फिर?

यदि हम सभी मामलों पर अपने 'ब्लैक बॉक्स' एल्गोरिदम का परीक्षण कर सकते हैं, तो हमें ऊपर से मूर्ख नहीं बनाया जा सकता। हालांकि, व्यावहारिक स्थितियों के लिए यह असंभव है। (यह सैद्धांतिक मॉडल में किया जा सकता है!)

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

O(n3)

तो, स्थिरांक के साथ क्या करना है?

109

मुझे लगता है कि यह एक विसंगति के रूप में जिज्ञासु स्थिरांक के संबंध में सबसे उपयोगी है , अर्थात यह दावा है कि अपने आप में आगे की जांच करता है। मुझे लगता है कि 'हमारे एल्गोरिथ्म में X समय लगता है' की तुलना में अधिक सामान्य मॉडल के आधार पर परिकल्पना बनाना एक अच्छा साधन है। इसलिए, जब तक मुझे नहीं लगता कि हम बस यहाँ सीएस सम्मेलनों को ले सकते हैं, पूरी तरह से स्थिरांक के लिए 'तिरस्कार' की अवहेलना करना एक बुरा विचार है।

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