क्वांटम कंप्यूटिंग और AIमध्यमपाठ 3037 मिनट का पाठ

बिट्स और क्यूबिट्स (Bits and qubits)

एक बिट 0 या 1 होता है। एक क्यूबिट को दो नंबरों से समझाया जाता है जिन्हें एम्प्लीट्यूड (amplitudes) कहते हैं, लेकिन जब आप इसे देखते हैं तो आपको केवल 0 या 1 ही मिलता है। जानिए कि इसका असल में क्या मतलब है।

पाठ वीडियो में

60 सेकंड में

बिट्स और क्यूबिट्स (Bits and qubits)

एक बिट 0 या 1 होता है। एक क्यूबिट को दो नंबरों से समझाया जाता है जिन्हें एम्प्लीट्यूड (amplitudes) कहते हैं, लेकिन जब आप इसे देखते हैं तो आपको केवल 0 या 1 ही मिलता है। जानिए कि…

1/4
आसान शब्दों में
बिजली का एक स्विच या तो बंद (off) होता है या चालू (on)। यह एक बिट है: 0 या 1। एक क्यूबिट ज़मीन पर गिरने से पहले हवा में घूमते हुए सिक्के की तरह होता है। जब तक वह घूमता है, हम उसे ऐसे नंबरों से समझाते हैं जो बताते हैं कि हेड्स या टेल्स आने की संभावना कितनी है। जब वह गिरता है, तो आपको सिर्फ हेड्स या टेल्स दिखाई देता है। यह तुलना पूरी तरह सटीक नहीं है, लेकिन शुरुआत के लिए अच्छी है: एक क्यूबिट की स्थिति (state) बिट की तुलना में ज़्यादा बेहतर और विस्तृत होती है, और इसे देखने पर केवल एक सीधा जवाब मिलता है।
आपके फ़ोन से लेकर UPI सर्वर तक, हर सामान्य कंप्यूटर बिट्स पर काम करता है। एक बिट हमेशा बिल्कुल 0 या बिल्कुल 1 होता है। आठ बिट मिलकर एक बाइट बनाते हैं। 3 बिट्स के साथ आप 8 पैटर्न में से किसी एक को स्टोर कर सकते हैं: 000, 001, 010, 011, 100, 101, 110, 111। n बिट्स के साथ 2n पैटर्न होते हैं, लेकिन बिट्स एक बार में उनमें से केवल एक को ही रख सकते हैं।

क्यूबिट क्या होता है

एक क्यूबिट (क्वांटम बिट) एक छोटा सा भौतिक सिस्टम (physical system) होता है जिसकी दो साफ़ स्थितियाँ (states) होती हैं जिन्हें हम |0⟩ और |1⟩ कहते हैं। ये अजीब दिखने वाले ब्रैकेट सिर्फ़ लेबल हैं, जिन्हें "केट 0" (ket 0) और "केट 1" (ket 1) पढ़ा जाता है। इंजीनियर क्यूबिट्स को कई तरीकों से बनाते हैं, उदाहरण के लिए बहुत ठंडे रखे गए छोटे सुपरकंडक्टिंग सर्किट, इलेक्ट्रिक फ़ील्ड द्वारा रोके गए अकेले चार्ज्ड एटम (आयन), या प्रकाश के कण (फ़ोटॉन)।
एक क्यूबिट की स्थिति (state) दो नंबरों से लिखी जाती है, जिन्हें एम्प्लीट्यूड (amplitudes) कहा जाता है:
A qubit statetext
state = a|0⟩ + b|1⟩

a = amplitude for 0
b = amplitude for 1
rule: |a|² + |b|² = 1
नीचे दिया गया नियम बहुत ज़रूरी है। जब आप क्यूबिट को मापते (measure करते) हैं, तो आपको |a|² संभावना (probability) के साथ 0 मिलता है और |b|² संभावना के साथ 1 मिलता है। इन दोनों संभावनाओं का जोड़ 1 होना चाहिए। अभी के लिए आप a और b को साधारण नंबर मान सकते हैं, जो शायद नेगेटिव भी हो सकते हैं। आम तौर पर वे काम्प्लेक्स नंबर (complex numbers) भी हो सकते हैं; अगला पाठ इसे संक्षेप में समझाएगा।
बिट (Bit)क्यूबिट (Qubit)
यह क्या हो सकता है0 या 1कोई भी स्थिति a|0⟩ + b|1⟩ जहाँ |a|² + |b|² = 1 हो
पढ़ने पर क्या मिलता है0 या 1, बिल्कुल वैसा ही जैसा स्टोर किया गया था0 या 1, रैंडम तरीके से, |a|² और |b|² संभावना के साथ
क्या आप इसे कॉपी कर सकते हैं?हाँ, जितनी बार चाहेंनहीं: एक अज्ञात (unknown) क्यूबिट स्थिति को कॉपी नहीं किया जा सकता (नो-क्लोनिंग थ्योरम)
ऐसे n को समझाने के लिए ज़रूरी नंबरn बिट्स2ⁿ एम्प्लीट्यूड (n क्यूबिट्स की एक सामान्य स्थिति के लिए)

एक आम भ्रम को दूर करना

भ्रम
  • एक क्यूबिट एक ही समय में 0 और 1 दोनों होता है, इसलिए यह दोगुनी जानकारी रखता है
  • एक क्वांटम कंप्यूटर एक साथ हर जवाब आज़माता है और सबसे अच्छा चुनता है
  • क्यूबिट्स जादुई होते हैं, और कोई भी उन्हें नहीं समझता
असल में क्या सच है
  • एक क्यूबिट की स्थिति में दो एम्प्लीट्यूड होते हैं, लेकिन एक बार मापने पर आपको केवल एक बिट मिलता है
  • मापने पर एक रैंडम नतीजा मिलता है; एक अच्छा क्वांटम एल्गोरिदम सही जवाबों की संभावना बढ़ाने के लिए इंटरफ़ेरेंस (interference) का उपयोग करता है
  • क्वांटम मैकेनिक्स साफ़ गणित के साथ एक सटीक, अच्छी तरह से परखा हुआ सिद्धांत है, वही गणित जो आप इस कोर्स में इस्तेमाल करेंगे
तो फिर इसकी शक्ति कहाँ से आती है? दो चीज़ों से जो आप जल्द ही देखेंगे। पहला, कई क्यूबिट्स के एम्प्लीट्यूड आपस में इंटरफ़ेयर (interfere) कर सकते हैं: पानी की लहरों की तरह, वे जुड़ सकते हैं या एक-दूसरे को काट सकते हैं। दूसरा, क्यूबिट्स एंटैंगल (entangled) हो सकते हैं, जिससे n क्यूबिट्स को एक साथ समझाने के लिए 2ⁿ एम्प्लीट्यूड की ज़रूरत होती है। समझदार एल्गोरिदम इंटरफ़ेरेंस को इस तरह निर्देशित करते हैं कि गलत जवाब कट जाएँ और सही जवाब मज़बूत हो जाएँ। यह केवल कुछ खास समस्याओं के लिए ही काम करता है।
नोट
मापने से क्यूबिट बदल जाता है। आपके मापने और 1 मिलने के बाद, क्यूबिट अब |1⟩ स्थिति में आ जाता है। तुरंत दोबारा मापेंगे तो आपको फिर से 1 ही मिलेगा। मूल एम्प्लीट्यूड खत्म हो चुके हैं। यही कारण है कि आप किसी क्यूबिट के एम्प्लीट्यूड को पढ़ने के लिए उसमें "झांक" नहीं सकते।

स्थिति की जाँच करना

Python: is this a valid qubit state?python
import numpy as np

states = {
    "|0>":              [1.0, 0.0],
    "equal mix":        [1 / np.sqrt(2), 1 / np.sqrt(2)],
    "60/40 style":      [0.6, 0.8],
    "not valid":        [0.5, 0.5],
}

for name, (a, b) in states.items():
    total = abs(a) ** 2 + abs(b) ** 2
    print(f"{name:12s} a={a:.3f} b={b:.3f}  |a|^2+|b|^2 = {total:.3f}")
इसे रन करें। आखिरी वाला नियम का पालन नहीं करता: 0.5² + 0.5² = 0.5, 1 नहीं। यह एक वास्तविक क्यूबिट स्थिति नहीं है। "60/40 स्टाइल" वाली स्थिति 0.36 संभावना के साथ 0 और 0.64 संभावना के साथ 1 देती है।
इसे आज़माएँ। ऐसे नंबर a और b खोजें जिससे क्यूबिट 0.25 संभावना के साथ 0 दे। (संकेत: a = 0.5। b क्या होना चाहिए?)

और देखें और पढ़ें

लैब

दो छोटे Python फ़ंक्शन: एक जो सभी क्लासिकल बिट पैटर्न को लिस्ट करता है, और एक जो जाँचता है कि क्या दो एम्प्लीट्यूड एक मान्य क्यूबिट स्थिति बनाते हैं।

~20 min

समस्या

इसे ब्राउज़र में, या Python 3 और numpy के साथ रन करें।

  1. bit_patterns(n) को पूरा करें ताकि यह हर n-बिट स्ट्रिंग की एक लिस्ट दे, उदाहरण के लिए bit_patterns(2) से ["00", "01", "10", "11"] मिले। (संकेत: itertools.product("01", repeat=n)।)
  2. is_valid_state(a, b) को पूरा करें ताकि यह केवल तभी True लौटाए जब |a|² + |b|² का मान 1 हो। राउंडिंग की थोड़ी सी गड़बड़ी को स्वीकार करें, उदाहरण के लिए 1e-9।
  3. प्रिंट करें कि n = 1 से 10 के लिए कितने पैटर्न हैं। एक वाक्य लिखें: 10 बिट्स का एक रजिस्टर एक साथ इनमें से कितने पैटर्न रख सकता है?

प्रैक्टिस लैब

कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।

आउटपुट

कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1अगर एक क्यूबिट में दो एम्प्लीट्यूड होते हैं जो कोई भी मान्य नंबर हो सकते हैं, तो हम एक क्यूबिट में पूरी किताब क्यों नहीं स्टोर कर सकते?दिखाएं

क्योंकि हम कभी भी एम्प्लीट्यूड को सीधे नहीं पढ़ सकते। एक माप केवल एक बिट देता है, और यह पुरानी स्थिति को नष्ट कर देता है। किसी स्थिति की कई कॉपियों के साथ भी आपको एम्प्लीट्यूड का मोटा अंदाज़ा लगाने के लिए कई मापों की ज़रूरत होगी, और नो-क्लोनिंग थ्योरम कहता है कि आप किसी अज्ञात स्थिति की कॉपियाँ नहीं बना सकते। एक प्रसिद्ध परिणाम (होलेवो की सीमा या Holevo's bound) कहता है कि इस स्थिति में एक क्यूबिट ज़्यादा से ज़्यादा केवल एक क्लासिकल बिट के बराबर पढ़ी जा सकने वाली जानकारी ले जा सकता है।

Q2एक दोस्त कहता है: "दो एम्प्लीट्यूड का मतलब है कि एक क्यूबिट 50% शून्य और 50% एक है।" यह कब सच होता है, और कब गलत?दिखाएं

यह केवल उन स्थितियों के लिए सच है जहाँ |a|² = |b|² = 0.5 हो, जैसे a = b = 1/√2। अन्य स्थितियाँ अलग संभावनाएँ देती हैं, जैसे 36% और 64%। और समान संभावनाओं के लिए भी, एम्प्लीट्यूड के चिह्न (और फेज़) मायने रखते हैं: 1/√2 और −1/√2 मापने पर समान संभावना देते हैं, लेकिन गेट्स लागू होने पर अलग तरह से व्यवहार करते हैं, क्योंकि वे अलग तरह से इंटरफ़ेयर करते हैं।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या क्यूबिट सिर्फ़ एक ऐसा बिट है जिसके बारे में हम निश्चित नहीं हैं?

नहीं। जिस बिट के बारे में आप निश्चित नहीं हैं, वह वास्तव में 0 या 1 ही होता है, बस आपको पता नहीं होता कि वह क्या है। एक क्यूबिट के एम्प्लीट्यूड एक-दूसरे के साथ इंटरफ़ेयर कर सकते हैं, और प्रयोग ऐसे प्रभाव दिखाते हैं जिन्हें आम तौर पर कोई भी "छिपा हुआ 0 या 1" वाला तर्क नहीं समझा सकता। पाठ 3 में इस पर वापस चर्चा होगी।

क्यूबिट्स को इतना ठंडा या इतना अलग-थलग (isolated) रखने की ज़रूरत क्यों होती है?

बाहरी दुनिया से कोई भी छोटी सी गड़बड़ी, जैसे गर्मी, आवारा रोशनी या कंपन, एम्प्लीट्यूड को बिगाड़ सकती है। इसे शोर (noise) या डीकोहेरेंस (decoherence) कहा जाता है। ठंड और अलगाव इसे कम करते हैं, लेकिन इसे कोई भी पूरी तरह खत्म नहीं कर पाया है। आखिरी पाठ में इसे शामिल किया गया है।

क्या मेरे पास घर पर एक क्यूबिट हो सकता है?

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

|0⟩ नोटेशन का क्या मतलब है?

इसे डिराक (Dirac) या "ब्रा-केट" नोटेशन कहा जाता है। |0⟩ बस उस स्थिति का नाम है जो मापने पर हमेशा 0 देती है। कोड में हम इसे लिस्ट [1, 0] के रूप में लिखते हैं, और |1⟩ को [0, 1] के रूप में।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें