ग्रोवर का एल्गोरिथ्म: ओरेकल के लिए इनपुट क्या है?


9

मैं इस बारे में उलझन में हूँ कि ग्रोवर के एल्गोरिथ्म में ओरेकल के लिए क्या इनपुट किया जाए।

क्या हमें इनपुट करने की आवश्यकता नहीं है कि हम क्या ढूंढ रहे हैं और सुपरपोजिट किए गए क्वांटिटी स्टेट्स के अलावा ओरेकल के लिए हम क्या ढूंढ रहे हैं?

उदाहरण के लिए, मान लें कि हमारे पास लोगों के नाम {"ऐलिस", "बॉब", "कोरी", "डियो"} हैं, और हम यह खोजना चाहते हैं कि "डियो" सूची में है या नहीं। फिर, ओरेकल को इनपुट और आउटपुट रूप में । मुझे उस तरह की समझ है।1/2(|00+|01+|10+|11)1/2(|00+|01+|10|11)

लेकिन क्या हमें ओरेकल शब्द "डियो" और सूची {"ऐलिस", "बॉब", "कोरी", "डियो"} को भी इनपुट करने की आवश्यकता नहीं है? अन्यथा, ओरेकल आउटपुट कैसे कर सकता है? क्या यह स्पष्ट रूप से उल्लिखित नहीं है क्योंकि ओरेकल एक ब्लैक बॉक्स है और हमें यह सोचने की ज़रूरत नहीं है कि इसे कैसे लागू किया जाए?

Oracle के बारे में मेरी समझ है,

  • यदि सूची में "डियो" शब्द है, तो ओरेकल को पहचानने की क्षमता है।
  • ऐसा करने के लिए, ओरेकल एक इनपुट के रूप में सुपरपोज्ड क्वांटम राज्यों को लेता है, जहां प्रत्येक क्वांटम राज्य सूची के सूचकांक का प्रतिनिधित्व करता है।
  • तो, इनपुट to Oracle का अर्थ है, जांचें कि क्या "Dio" शब्द सूची के इंडेक्स 0 में है और वापस लौटें यदि हां और रिटर्न अन्यथा।|00-|00|00
  • हमारे मामले में, Oracle ।1/2(|00+|01+|10-|1 1)
  • लेकिन सूची और शब्द के बारे में क्या?

1
उसी तरह से काम नहीं करते हुए, मेरा मानना ​​है कि आपका प्रश्न कमोबेश यही है: ग्रोवर का एल्गोरिदम: सूची कहां है?
दफ्तुल्ली

जवाबों:


4

यद्यपि ग्रोवर के एल्गोरिथ्म के लोकप्रिय स्पष्टीकरण एक सूची में खोज करने के बारे में बात करते हैं, वास्तविकता में आप इसका उपयोग किसी फ़ंक्शन के संभावित इनपुट 0..N-1 पर खोज करने के लिए करते हैं। एल्गोरिथ्म की लागत हैहे(एनएफ) कहाँ पे एन उन इनपुटों की संख्या है, जिन्हें आप खोजना चाहते हैं और एफफ़ंक्शन का मूल्यांकन करने की लागत है। यदि आप चाहते हैं कि फ़ंक्शन किसी सूची पर खोज करे, तो आपको सूची में फ़ंक्शन को हार्डकोड करना होगा।

की सूची का उपयोग करने के लिए हार्ड कोडिंग फ़ंक्शन एन आइटम आमतौर पर एक बहुत बुरा विचार है, क्योंकि यह कारण बनता है एफ बराबर हे(एन)। जो ग्रोवर के एल्गोरिथ्म की कुल लागत का निर्माण करेगाहे(एनएफ)=हे(एनएन)=हे(एन1.5)। जो पूरे उद्देश्य को हरा देता है, तब सेएन1.5>एन


क्या आप ऑर्डर की गई सूची को इनपुट नहीं करेंगे , जिससे लुकअप बहुत तेज हो जाएगा? बेशक, आप तब सूची को क्रमबद्ध करने की लागत को शामिल करना चाह सकते हैं, लेकिन मुझे लगता है कि अभी भी जैसा भी होहे(एनलॉग(एन))समग्र।
दफ्तुल्ली

@DaftWullie मुद्दा यह है कि ग्रोवर को सुपरपोज़िशन के तहत एक लुकअप करना चाहिए, और इसके लिए एन एंड गेट्स (या अन्य नॉन-क्लिफोर्ड ऑपरेशन) के साथ मल्टीप्लेक्स सर्किट की आवश्यकता होती है। एक क्वांटम और गेट (यानी एक टोफोली) त्रुटि सुधार करते समय गैर-नगण्य लागत होती है। यह लागत तकनीकी रूप से शास्त्रीय मशीन में मौजूद है (यानी RAM में O (N) और द्वार हैं), यह सिर्फ उस संदर्भ में नगण्य और यहां तक ​​कि परिहार्य होने के लिए होता है।
क्रेग गिदनी

मुझे समझ नहीं आ रहा है कि आप क्या कह रहे हैं। क्या आप विवरण दिखाने के लिए किसी प्रश्न को व्यक्त करने और उसका उत्तर देने में सक्षम होंगे? (मुझे नहीं लगता कि मैं इस बिंदु पर एक अच्छा पर्याप्त प्रश्न वाक्यांश कर सकता हूं)
DaftWullie

@DaftWullie मुझे लगता है कि सवाल कुछ ऐसा होगा कि "मैं एक क्वांटम कंप्यूटर को शास्त्रीय डेटाबेस तक कैसे पहुंचाता हूं और यह कितना महंगा है"।
क्रेग गिदनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.