सिमुलेशन में एक क्वांटम कंप्यूटर का निर्माण


13

यदि कोई सिमुलेशन के अंदर स्क्रैच से क्वांटम कंप्यूटर का निर्माण शुरू करना चाहता है (जैसे कि लोगों को नंद 2 टेट्रिस पाठ्यक्रम में स्क्रैच से शास्त्रीय कंप्यूटर बनाने के लिए कैसे मिलता है ), क्या यह संभव है?

यदि हाँ, तो कुछ संभावित दृष्टिकोण क्या होंगे?

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


जवाबों:


5

आपके प्रश्न का पहला भाग मौजूदा QC SE पोस्ट के डुप्लिकेट जैसा लगता है: क्या क्वांटम कंप्यूटर के लिए एमुलेटर हैं?

मैं पूरी तरह से सुनिश्चित करें कि आप द्वारा क्या मतलब है नहीं कर रहा हूँ निर्माण एक क्वांटम कंप्यूटर खरोंच से अंदर सिमुलेशन । हालाँकि, हाँ, आप अपने औसत लैपटॉप / डेस्कटॉप का उपयोग करके क्वांटम कंप्यूटर के सॉफ्टवेयर सिमुलेशन कर सकते हैं। सटीक "सीमा" कंप्यूटर विनिर्देशों पर निर्भर करेगी।

चूंकि क्वांटम कंप्यूटर चर्च-ट्यूरिंग थीसिस का उल्लंघन नहीं करता है , सिद्धांत रूप में एक आदर्श ट्यूरिंग मशीन का उपयोग करके क्वांटम कंप्यूटर का अनुकरण करना निश्चित रूप से संभव है । इस तरह की प्रणाली का अनुकरण करने के लिए स्पष्ट दृष्टिकोण को एक शास्त्रीय कंप्यूटर पर घातीय समय की आवश्यकता होती है और अंतरिक्ष जटिलता क्वांटम बिट्स की संख्या का घातीय कार्य है। कहो, आप एक -bit क्वांटम कंप्यूटर का अनुकरण करते हैं, आपको अपने शास्त्रीय कंप्यूटर में हर पल में बिट्स के बारे में जानकारी संग्रहीत करनी होगी । इसके अलावा, क्वांटम गेट्स के कार्यान्वयन से समय और स्थान की जटिलता के संदर्भ में फिर से भारी मात्रा में संसाधन प्राप्त होंगे। पर एक लंबी गेट ऑपरेटिंग के एक कार्यान्वयन -qubits के बारे में दुकान करने के लिए होगा2 n n 4 n 2 n × 2 nn2nn4n (क्योंकि आप आकार के मैट्रिक्स के रूप में सभी क्वांटम गेट संचालन का प्रतिनिधित्व कर सकते हैं ) बिट्स की जानकारी।2n×2n

आप शास्त्रीय कंप्यूटर की विशिष्टताओं के आधार पर "सीमा" का अनुमान लगा सकते हैं। उदाहरण के लिए यदि आपके शास्त्रीय कंप्यूटर की सुलभ (सुलभ) मेमोरी का आकार टीबी के आसपास है, तो मुझे उम्मीद है कि आप एक अनुकरण कर सकते हैं। बिट क्वांटम कंप्यूटर (सुरक्षित पक्ष में) चलो कहते हैं )। हालांकि, ध्यान रखें कि वास्तविक क्वांटम कंप्यूटर (क्वांटम कंप्यूटर के हार्डवेयर पर निर्भर करता है) की तुलना में शास्त्रीय कंप्यूटरों को जानकारी के सभी व्यक्तिगत बिट्स तक पहुंचने में बहुत बड़ा समय लगेगा । तो यह एक वास्तविक क्वांटम कंप्यूटर की तुलना में धीमा होने जा रहा है ! कुछ अन्य सीमाएँ हैं कि प्रत्येक की कार्रवाई के बादलॉग 4 ( 8 × 10 12 ) 21 20 n1log4(8×1012)2120n-क्वेट गेट पर आपको यह ध्यान रखने की जरूरत है कि कौन सी आउटपुट क्वैब उलझी हुई है, जो एनपी-हार्ड समस्या है। इसके अलावा, माप को एक शास्त्रीय कंप्यूटर पर सटीक रूप से अंकित नहीं किया जा सकता है, क्योंकि शास्त्रीय रूप से वास्तव में यादृच्छिक संख्या जनरेटर नहीं है।


यदि आप अपने बड़े एकात्मकता को विघटित करने के लिए केवल 1 और 2 qubit फाटकों का उपयोग करते हैं, और शुद्ध स्थिति पर कार्य करते हैं, तो आप वास्तव में थोड़ा और qubits अनुकरण कर सकते हैं। 8GB रैम के साथ आप आसानी से डबल क्विट में 25 क्विट कर सकते हैं।
vsoftco

4

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

वहाँ से, एक का विस्तार हो सकता है, ज़ाहिर है, इंटरफ़ेस। कोई इसे एक नॉनडियल क्वांटम कंप्यूटर का सिम्युलेटर बनाने की कोशिश करने पर भी विचार कर सकता है, जो कि डिकॉरेन्स बार और त्रुटि सुधार को ध्यान में रखता है।

फिर, आप भारी अपरिवर्तित क्षेत्र में पहुँच जाते हैं। आप क्वांटम कंप्यूटर के लिए निर्धारित निर्देश का निर्माण कैसे करते हैं? कौन जाने। आपको यह पता लगाना होगा। आपको अपनी असेंबली के संस्करण और यहां तक ​​कि उच्च स्तरीय प्रोग्रामिंग भाषाओं के अपने संस्करण का भी पता लगाना होगा।

तो, इसमें एक शास्त्रीय कंप्यूटर की सीमाएं? ठीक है, यह एक बहुत ही जटिल सवाल है (और अलग से पूछने के लायक है, इहो) लेकिन यहाँ एक त्वरित सारांश है:

  • हमें पता नहीं है कि क्वांटम कंप्यूटर वास्तव में शास्त्रीय कंप्यूटरों से बेहतर हैं या नहीं; शास्त्रीय कंप्यूटरों के लिए एल्गोरिदम अभी तक पर्याप्त नहीं हो सकता है (क्वांटम वर्चस्व)
  • मान लीजिए, जैसा कि स्पष्ट रूप से संभावना है, कि क्वांटम कंप्यूटर शास्त्रीय कंप्यूटरों से बेहतर हैं । यह सुधार समस्या पर बहुत अधिक निर्भर करेगा - क्वांटम कंप्यूटर, उदाहरण के लिए, ईमेल की तुलना में प्राइम फैक्टर को खोजने में बहुत अधिक गति में सुधार हो सकता है। (यह भी देखें इस P.SE क्ष / a।)
  • O(e649(logN)13(loglogN)23)O((logN)2(loglogN)(logloglogN))
  • |0|1

4

मुझे ऐसा लगता है कि यह जवाब ज्यादातर अंतर्निहित गलतफहमी पर टिकी हुई है कि इसका मतलब कुछ "अनुकरण" करने का क्या है।

आम तौर पर बोलते हुए, एक जटिल प्रणाली को "अनुकरण" करने के लिए एक मंच के साथ ऐसी प्रणाली की कुछ विशेषताओं को पुन: पेश करना है जो नियंत्रण के लिए आसान है (अक्सर, लेकिन हमेशा नहीं, एक शास्त्रीय कंप्यूटर)।

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

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

import numpy as np
identity_2d = np.diag([1, 1])
pauliX_gate = np.array([[0, 1], [1, 0]])
hadamard_gate = np.array([[1, 1], [1, -1]]) / np.sqrt(2)

cnot_gate = np.kron(identity_2d, pauliX_gate)
H1_gate = np.kron(hadamard_gate, identity_2d)

awesome_entangling_gate = np.dot(cnot_gate, H1_gate)

initial_state = np.array([1, 0, 0, 0])
final_state = np.dot(awesome_entangling_gate, initial_state)
print(final_state)

बधाई हो, आपने बेल राज्य में एक अलग दो-स्तरीय राज्य के विकास को "नकली" कर दिया!

हालाँकि, यदि आप ऐसा ही करने की कोशिश करते हैं, तो कहते हैं, 40 qubits और एक nontrivial गेट, आप इसे आसानी से खींचने में सक्षम नहीं होंगे। भोला कारण यह है कि यहां तक ​​कि एक -bit (गैर-विरल) स्थिति को भी संग्रहीत करने के लिए आपको ~ जटिल संख्या निर्दिष्ट करने की आवश्यकता है , और यह बहुत जल्दी स्मृति लेना शुरू कर देता है। मैं यहां "भोला" कहता हूं क्योंकि कई मामलों में ऐसी चालें हो सकती हैं जो आपको इस समस्या से बचने की अनुमति देती हैं । यही कारण है कि बहुत से लोग शास्त्रीय कंप्यूटरों के साथ क्वांटम सर्किट (और अन्य प्रकार के क्वांटम सिस्टम) का अनुकरण करने के लिए चतुर चालें खोजने की कोशिश करते हैं, और यह क्यों तुच्छ से ।2 एन ( 1 ) ( 2 )n2n(1)(2)

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


(1) इसका एक दिलचस्प उदाहरण एक बोसोन सैंपलिंग डिवाइस का अनुकरण करने की समस्या है (यह एक क्वांटम एल्गोरिथ्म नहीं है, जो कि किसी गेट्स की श्रृंखला के माध्यम से विकसित होने वाली स्थिति के संदर्भ में क्वांटम एल्गोरिथम नहीं है, लेकिन फिर भी यह एक परिमाणात्मक क्वांटम डिवाइस का एक उदाहरण है)। BosonSampling एक है नमूना समस्या है, जिसमें एक की समस्या से काम सौंपा जाता है नमूनाएक विशिष्ट संभाव्यता वितरण से, और इसे एक शास्त्रीय डिवाइस के साथ कुशलता से करने के लिए असंभव होने की संभावना के तहत दिखाया गया है। यद्यपि यह कभी भी इस कठोरता का एक मूलभूत पहलू नहीं दिखाया गया था, लेकिन बोसॉन नमूनाकरण उपकरण के अनुकरण से जुड़ा एक निश्चित रूप से गैर-महत्वपूर्ण मुद्दा यह था कि एक बड़ी संख्या में संभावनाओं की गणना की जाए जिसमें से नमूना लिया जाए। हालाँकि, यह हाल ही में दिखाया गया था कि वास्तव में किसी व्यक्ति को नमूना लेने के लिए संभावनाओं के पूरे सेट की गणना करने की आवश्यकता नहीं है ( 1705.00686 और 1706.01260)। यह किसी भी बिंदु पर सिस्टम की पूरी स्थिति को स्टोर किए बिना एक क्वांटम सर्किट में बहुत सारी qubits के विकास का अनुकरण करने से सिद्धांत रूप में दूर नहीं है। अधिक सीधे क्वांटम सर्किट के बारे में, सिमुलेशन क्षमताओं में हाल की सफलता के उदाहरण 1704.01127 और 1710.05867 (एक सुपर-हाल ही में, अभी तक प्रकाशित नहीं है, 1802.06952 है )।

(२) वास्तव में, यह दिखाया गया है (या यों कहें कि इस तथ्य के लिए पुख्ता प्रमाण उपलब्ध कराए गए हैं) कि अधिकांश क्वांटम सर्किटों को कुशलतापूर्वक बनाना संभव नहीं है, १५०४.०३ ९९९ देखें ।

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