क्वांटम कंप्यूटिंग कैसे बदलेगी प्रोग्रामिंग? [बन्द है]


33

क्वांटम एल्गोरिथम को कैसे अलग किया जाता है? यदि भाषा को क्वैब के लिए डिज़ाइन किया गया है, तो सी क्या दिखेगी? क्या प्रकार बदलेंगे?


नोट: मुझे यकीन नहीं है कि यह एक वैध प्रश्न है। क्षमा करें यदि यह नहीं है।
MaiaVictor

4
मुझे लगता है ऐसा है। फिर, मैं वास्तव में इस साइट के नियमों को अच्छी तरह से नहीं जानता। और मेरे पास वास्तव में इस सवाल का एक बड़ा जवाब नहीं है, लेकिन मुझे इस एल्गोरिथ्म का पता है जो पूर्णांक को अधिक कुशलतापूर्वक उपयोग करने के लिए इस्तेमाल किया जा सकता है: arxiv.org/abs/0812.0380
जॉन डेविस

3
मुझे लगता है कि यह विषय अभी भी वैज्ञानिक अनुसंधान पर है, एक काल्पनिक क्वांटम कंप्यूटर की मूल बातें AFAIK अच्छी तरह से ज्ञात हैं, इसलिए प्रश्न एक डोमेन विशेषज्ञ (जो मैं नहीं हूं) द्वारा जवाबदेह होना चाहिए। इसलिए मैं इसे बंद नहीं करने के लिए वोट देता हूं ।
डॉक्टर ब्राउन

जवाबों:


17

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

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

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

की जाँच करें ग्रोवर खोजें एल्गोरिथ्म


ग्रोवर के एल्गोरिथ्म के मौलिक संचालन को दिखाने के लिए सम्मिलित किया गया। मान लीजिए कि कोई खोज समस्या है। संभावित उत्तर 0, 1, 2 और 3 हैं, लेकिन सही उत्तर 2 है। इसलिए क्वांटम कंप्यूटर को सभी चार राज्यों के सुपरपोजिशन में रखा गया है, और यह चरणों के अनुक्रम से गुजरता है यह देखने के लिए कि कौन सही है, और नीचे के काले बिंदुओं और तीरों की तरह इसके आयाम को प्रभावित करता है:

यहाँ छवि विवरण दर्ज करें

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

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

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

तो वे क्यों कहते हैं कि क्वांटम कंप्यूटर इतने तेज़ हैं ? क्योंकि हर बार जब आप क्वैबिट्स की संख्या को दोगुना कर देते हैं, तो आप समानता को स्क्वायर कर लेते हैं, लेकिन आप समय की लंबाई को स्क्वायर नहीं करते हैं, इसलिए अंततः यह जीत जाता है।

क्या यह मज़ेदार नहीं है?


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

जैसे अगर एल्गोरिथ्म में इनपुट 128 बाइट्स या 1024 बिट्स था, तो 2 ^ 1024 या 10 ^ 308 संभव विभिन्न इनपुट हैं। यह परीक्षण करने का कोई तरीका नहीं है कि पारंपरिक कंप्यूटर पर कई इनपुट, लेकिन एक क्वांटम कंप्यूटर उन सभी को समानांतर में आज़मा सकता है।


2
ग्रोवर की खोज एल्गोरिथ्म की जाँच ... ओह भगवान! मैं उसके लिए तैयार नहीं था!
फिलिप

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

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

@Philip: मान लीजिए कि आपके पास 1024-प्रवेश तालिका है, इसलिए इसे अनुक्रमित करने में 10 बिट लगते हैं। आपके पास 10- (क्व) बिट रजिस्टर है, और इसमें 1024 संभावित राज्य हैं। ठीक है, तो आप एक ब्रह्मांड बनाते हैं जिसमें रजिस्टर 0 है, एक और जिसमें यह 1 है, 1024 समानांतर ब्रह्मांड तक। फिर क्वांटम "निर्देश" समानांतर में इन सभी पर काम करते हैं। प्रत्येक ब्रह्मांड में एक "आयाम वेक्टर" है, जिसकी परिमाण इसकी संभावना है, लेकिन इसकी एक दिशा भी है, और उन में हेरफेर किया जा रहा है। चूंकि 1024 वैक्टरों के संग्रह में एक गैर-शून्य औसत वेक्टर है, रोटेशन एक बड़ा बनाता है, बाकी छोटा।
माइक डनलैवी

मैं एक सुधारवादी भौतिक विज्ञानी हूं और मैंने इस उत्तर को अस्वीकार कर दिया क्योंकि यह भ्रामक है। 1) क्वांटम एल्गोरिदम अक्सर हैं (- ओ (sqrt (एन में ग्रोवर के खोज एल्गोरिदम रन तेजी से asymptotically))) जबकि सबसे अच्छा एक शास्त्रीय कंप्यूटर कर सकते हैं हे (एन) है विशेष रूप से। यदि क्वांटम कंप्यूटर असमान रूप से तेज नहीं थे, तो वे बहुत दिलचस्प नहीं होंगे। हार्डवेयर अभी धीमा हो सकता है लेकिन यह एल्गोरिदम की गलती नहीं है!
बेंजामिन हॉजसन

7

यदि भाषा को क्वैब के लिए डिज़ाइन किया गया है, तो सी क्या दिखेगी? क्या प्रकार बदलेंगे?

यह सी के रूप में समझ से बाहर होने के रूप में बहुत भिन्न होगा।

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

क्वांटम कंप्यूटरों के लिए प्रोग्रामिंग एल्गोरिदम (फिर, जैसा कि मैं उन्हें समझता हूं) कार्यात्मक प्रोग्रामिंग शैली के नक्शे / कम करने के करीब आते हैं, क्योंकि क्वांटम कंप्यूटिंग सभी उम्मीदवारों के 'कम' हिस्से में समवर्ती रूप से मौजूद है और कंप्यूटर के "फॉल आउट" की अनुमति देता है। जब मनाया।

ध्यान दें कि क्वांटम कंप्यूटर के लिए कुछ मौजूदा एल्गोरिदम हैं, भले ही डिवाइस उन्हें चलाने के लिए मौजूद न हों। उदाहरण के लिए साइमन का एल्गोरिथ्म


क्वांटम एल्गोरिथ्म के लिए ELI5 बहुत अच्छा होगा।
MaiaVictor

3

क्वांटम कंप्यूटर का सबसे प्रभावी संभव उपयोग करने के लिए, किसी को इनपुट और आउटपुट से निपटने में सक्षम होना चाहिए जो क्वांटम रजिस्टर की स्थिति है, जिसके लिए वास्तव में कोई शास्त्रीय एनालॉग नहीं है। क्वांटम सूचना के क्षेत्र में कुछ वर्षों के अनुभव से बोलते हुए, मुझे आपको चेतावनी देनी चाहिए कि कोई भी वास्तव में C * बीजगणित के अमूर्त गणित से परे इसके लिए एक अच्छा अंतर्ज्ञान नहीं है, और मुझे बताया गया है कि यह अंतर्ज्ञान अपर्याप्त है। यदि आप सापेक्षता सिद्धांत के बारे में सोचना शुरू करते हैं।

एक क्वांटम कंप्यूटर पर कुशलता से हल करने वाली समस्याओं का वर्ग बाउंडेड क्वांटम बहुपद के लिए BQP के रूप में जाना जाता है। यह BPP का क्वांटम संस्करण है, और आप इस पत्र में अधिक जानकारी प्राप्त कर सकते हैं: http://www.scottaaronson.com/papers/bqpph.pdf

मुझे कल रात एक क्वांटम एल्गोरिदम शोधकर्ता ने बताया था कि एक बहुत महत्वपूर्ण समस्या है जो बीक्यूपी-पूर्ण है: एन समीकरणों के एक रैखिक प्रणाली को हल करना। शास्त्रीय रूप से, यह गौसियन उन्मूलन के साथ ओ (एन) चरणों में हल करने योग्य है। हैरो-हासिडिम-लॉयड एल्गोरिथ्म ( http://arxiv.org/abs/0811.3171 ) इसे पॉलीलॉग (एन) में हल करता है, बशर्ते आप एक उत्तर को स्वीकार करने के लिए तैयार हों जिसमें समाधान क्वांटम राज्य के रूप में एन्कोड किया गया हो। यदि आप क्वांटम कंप्यूटर का पूर्ण उपयोग करना चाहते हैं, तो इसलिए आपको क्वांटम रजिस्टर की स्थिति के अनुरूप एक प्रकार का होना आवश्यक है।

हालाँकि मैं अभी अपनी विशेष विशेषज्ञता से थोड़ा बाहर हूं, फिर भी मैं एक अनुमान लगाऊंगा कि आप क्वांटम कंप्यूटर को तब तक प्रोग्राम कर पाएंगे जब तक आपके पास मैजिक स्टेट्स के अनुरूप एक प्रकार का एक्सेस था। हालांकि, यह एक कठिन अवधारणा है, इसके लिए विषय के कुछ अध्ययनों की आवश्यकता है।

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

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