✉ نیوز لیٹر
🌐 اردو
وضاحتی مضمون11 منٹ مطالعہ

کوانٹم ایرر کریکشن اور منطقی کیوبٹس کی وضاحت

کوانٹم ایرر کریکشن یہ بتاتی ہے کہ کس طرح بہت سے شور زدہ فزیکل کیوبٹس کو زیادہ قابلِ اعتماد منطقی کیوبٹس میں بدلا جاتا ہے، اور کوڈ ڈسٹنس، تھریش ہولڈز، اور سرفیس کوڈز کیوں اہم ہیں۔

یہ صفحہ انگریزی سے ترجمہ کیا گیا ہے۔ کمپنیوں اور مصنوعات کے نام اور ماخذ کے روابط تبدیل نہیں کیے گئے۔ اصل متن انگریزی میں پڑھیں

کوانٹم ایرر کریکشن اُن طریقوں کا مجموعہ ہے جن کے ذریعے شور، ڈی کوہرنس، اور نامکمل آپریشنز کے باوجود نازک کوانٹم معلومات کو قابلِ استعمال رکھا جاتا ہے۔ بنیادی تصور یہ ہے کہ ایک یا ایک سے زیادہ منطقی کیوبٹس کو فزیکل کیوبٹس کے ایک بڑے مجموعے میں انکوڈ کیا جائے، پھر باقاعدگی سے ایسے محتاط چیکس ناپے جائیں جو محفوظ شدہ کوانٹم حالت کو ظاہر کیے بغیر غلطی سے متعلق معلومات سامنے لائیں، اور اس کے بعد مشاہدہ شدہ سنڈروم کی بنیاد پر بحالی کے اقدامات کیے جائیں۔

کوانٹم کمپیوٹرز کو ایرر کریکشن کی ضرورت کیوں ہوتی ہے

کوانٹم معلومات غیر معمولی حد تک نازک ہوتی ہیں۔ غلطیاں ڈی کوہرنس اور کوانٹم شور کے دیگر ذرائع سے پیدا ہو سکتی ہیں، اور عملی کوانٹم کمپیوٹنگ میں خراب گیٹس، نامکمل اسٹیٹ پریپریشن، اور پیمائش کی غلطیوں سے بھی نمٹنا پڑتا ہے۔ اسی لیے ایرر کریکشن صرف کوانٹم حالتوں کو محفوظ رکھنے کے لیے نہیں بلکہ طویل حسابات چلانے کے لیے بھی مرکزی اہمیت رکھتی ہے۔

کلاسیکی ایرر کریکشن بِٹس میں اضافی تکرار شامل کرکے کام کرتی ہے۔ کوانٹم ایرر کریکشن بھی اسی جیسا ہدف رکھتی ہے، لیکن ایک بڑی پابندی کے ساتھ: کیوبٹ کی براہِ راست پیمائش عموماً اس کی حالت کو بگاڑ دیتی ہے۔ اس لیے کسی کوانٹم کوڈ کو کیا غلط ہوا اس کے بارے میں معلومات حاصل کرنا ہوتی ہیں، مگر خود منطقی معلومات کو ظاہر کیے بغیر۔ بہت سے کوڈز میں یہ کام stabilizers کہلانے والے commuting operators کی پیمائش کے ذریعے کیا جاتا ہے۔

کوانٹم ایرر کریکشن کے وعدے کو سمجھنے کا ایک مفید طریقہ یہ ہے کہ اسے ایک simulation layer کے طور پر دیکھا جائے: اگر ایک شور زدہ physical channel کسی مخصوص error model کے مطابق ہو، تو ایک quantum error-correcting code کے ذریعے ایک noiseless logical channel کی اتنی اچھی تقریب حاصل کی جا سکتی ہے کہ مواصلات یا حساب کتاب عملی بن جائیں۔

فزیکل کیوبٹس، منطقی کیوبٹس، اور کوڈ ڈسٹنس

کسی کوانٹم کوڈ کے لیے ایک معیاری علامت [[n,k,d]] ہے، جس کا مطلب ہے کہ کوڈ k منطقی کیوبٹس کو n فزیکل کیوبٹس میں کوڈ کرتا ہے اور اس کی code distance d ہوتی ہے۔

یہ تینوں پیرامیٹرز زیادہ تر بنیادی توازنات کو ظاہر کرتے ہیں:

  • n: کوڈ کتنے فزیکل کیوبٹس استعمال کرتا ہے
  • k: کتنے منطقی کیوبٹس محفوظ کیے جاتے ہیں
  • d: code distance، ایک پیمانہ جو اس بات سے جڑا ہے کہ غلطیوں کے لیے منطقی آپریشن جیسا اثر پیدا کرنا کتنا مشکل ہے

Code rate، یعنی k/n، کارکردگی کا ایک بنیادی پیمانہ ہے۔ زیادہ rate کا مطلب ہے ہر منطقی کیوبٹ کے لیے کم overhead۔ لیکن زیادہ distance اور زیادہ rate عموماً ایک دوسرے کے مخالف سمت میں جاتے ہیں، اس لیے کوڈ ڈیزائن دراصل قابلِ اعتماد کارکردگی اور ہارڈویئر لاگت کے درمیان توازن قائم کرنے کا مسئلہ ہے۔

وسیع معنوں میں، کوانٹم ایرر کریکشن کے ایک سائیکل کے تین مراحل ہوتے ہیں:

  1. Encoding: منطقی معلومات کو ایک بڑے فزیکل نظام میں انکوڈ کرنا
  2. Storage or transmission: شور زدہ چینل کے ذریعے ذخیرہ یا ترسیل
  3. Syndrome extraction and recovery: ممکنہ غلطیوں کی شناخت اور ان کی درستی

اس میں سنڈروم نہایت اہم ہے۔ Stabilizer پیمائشیں اس طرح منتخب کی جاتی ہیں کہ وہ صرف غلطی سے متعلق معلومات ظاہر کریں، نہ کہ انکوڈ شدہ کوانٹم حالت۔ ورنہ درستی کا عمل انہی superpositions کو ختم کر دے گا جنہیں کمپیوٹر محفوظ رکھنے کی کوشش کر رہا ہوتا ہے۔

کوڈز کس قسم کی غلطیوں کو ہدف بناتے ہیں؟

غالب غلطیاں ہارڈویئر پلیٹ فارم پر بہت حد تک منحصر ہوتی ہیں۔ اہم مثالیں یہ ہیں:

  • Amplitude damping، یا excitation loss، جو equilibrium کی طرف relaxation سے وابستہ ہے
  • Coherent errors، جو نظام کی اندرونی dynamics سے پیدا ہوتی ہیں
  • Dephasing، جو بہت سی کیوبٹ implementations میں غالب noise processes میں سے ایک ہے

اس کے باوجود، بہت سے کوانٹم کوڈز ایک سادہ ماڈل کے ساتھ کام کرتے ہیں جس میں غلطیوں کو Pauli operations کے مجموعوں کے طور پر لیا جاتا ہے:

  • X بٹ-فلپ جیسی غلطیوں کے لیے
  • Z فیز-فلپ جیسی غلطیوں کے لیے
  • Y بٹ اور فیز دونوں قسم کی مشترکہ غلطیوں کے لیے

Pauli پر مبنی یہ تصویر ہر حقیقی noise process کا احاطہ نہیں کرتی، مگر یہ وسیع پیمانے پر استعمال ہوتی ہے کیونکہ اس سے تجزیہ اور کوڈ کی تشکیل زیادہ قابلِ عمل ہو جاتی ہے۔ اس ماڈل کے تحت syndrome extraction اور decoding کو اکثر ایسے انداز میں بیان کیا جا سکتا ہے جو کلاسیکی coding theory سے خیالات مستعار لیتا ہے۔

تاہم اس سادہ کاری کے ساتھ ایک احتیاط بھی جڑی ہے: decoding پھر بھی مشکل ہو سکتی ہے۔ جس کوڈ کے پیرامیٹرز [[n,k,d]] ہوں، اس کے لیے 2^(n-k) ممکنہ syndromes ہوتے ہیں، جو بہت جلد سادہ lookup tables کے لیے حد سے زیادہ بڑے ہو جاتے ہیں۔ عملی طور پر عموماً مؤثر classical decoding algorithms درکار ہوتے ہیں۔

فالٹ ٹالرنس: غلطیوں کو درست کرنا، بغیر حالات مزید خراب کیے

قابلِ توسیع حساب کتاب کے لیے صرف ایرر کریکشن کافی نہیں۔ کسی کمپیوٹر میں خود درستی کا نظام بھی ایسے gates، measurements، اور prepared ancillas استعمال کرتا ہے جو سب ناکام ہو سکتے ہیں۔ یہی وہ مقام ہے جہاں fault tolerance سامنے آتی ہے۔

مرکزی تصور یہ ہے کہ encoding، syndrome measurement، اور recovery کو اس طرح ڈیزائن کیا جائے کہ فزیکل سطح کی چند خرابیاں پھیل کر ایسی منطقی ناکامی میں نہ بدل جائیں جسے درست نہ کیا جا سکے۔ کوانٹم ایرر کریکشن کے مطابق یہ بات quantum threshold theorem سے جڑی ہے: اگر انفرادی quantum gates کی error rate ایک مخصوص threshold سے نیچے رہے، تو codes کو recursively concatenate کرکے من مانی طوالت کے quantum computations ممکن ہو جاتے ہیں۔

کوانٹم ایرر کریکشن 2004 کا ایک تاریخی تخمینہ بھی دیتی ہے کہ اگر کافی کیوبٹس دستیاب ہوں تو یہ threshold 1–3% تک ہو سکتی ہے۔ یہ اس intuition کی بھی وضاحت کرتی ہے کہ threshold کیوں اہم ہے: اس سے نیچے correction جتنی غلطیاں لاتی ہے اس سے زیادہ ختم کرتی ہے؛ اس سے اوپر correction کا عمل مجموعی طور پر نقصان دہ ہو سکتا ہے۔

Threshold کا یہی تصور ایک وجہ ہے کہ منطقی کیوبٹس اتنی مفید abstraction ہیں۔ ایک منطقی کیوبٹ کوئی ایک واحد device element نہیں بلکہ ایک انکوڈ شدہ شے ہے جس کی مؤثر error rate کو، اصولی طور پر، زیادہ فزیکل وسائل اور بہتر fault-tolerant طریقہ کار کے ذریعے کم کیا جا سکتا ہے۔

بڑی کوڈ فیملیز اور وہ کس چیز کو بہتر بناتی ہیں

مختلف کوڈ فیملیز overhead، distance، ساخت، اور implementation کی آسانی کے درمیان مختلف قسم کے توازنات اختیار کرتی ہیں۔

Code family بنیادی خیال Notable trade-off or feature
Shor code [[d^2,1,d]] تک generalize ہوتا ہے؛ bit-flip اور phase-flip غلطیوں کو الگ الگ سنبھالنے کے لیے inner اور outer repetition codes استعمال کرتا ہے distance بڑھاتا ہے، مگر code rate کم ہو جاتی ہے
Steane / quantum Hamming codes repetition structure کی جگہ کلاسیکی [7,4] Hamming code لیتا ہے اور X اور Z غلطیوں کو متقارن انداز میں برتتا ہے Shor طرز کی repetition کے مقابلے میں بہتر code rate
CSS codes Calderbank، Shor، اور Steane کی متعلقہ constructions سے اخذ کردہ عمومی framework X اور Z stabilizers کو الگ کرتا ہے، جو fault-tolerant syndrome measurement کے لیے مفید ہے
Five-qubit code X اور Z کو ملانے والے چار stabilizers استعمال کرتا ہے؛ یہ CSS code نہیں ایک منطقی کیوبٹ کو من مانی single-qubit غلطیوں سے محفوظ رکھنے والا سب سے چھوٹا ممکنہ کوڈ
Surface code 2D lattice پر topological stabilizer code local checks اور planar layout تجرباتی طور پر پرکشش ہیں

five-qubit code تصوری لحاظ سے خاص اہمیت رکھتا ہے۔ یہ سب سے چھوٹا ممکنہ کوڈ ہے جو ایک منطقی کیوبٹ کو من مانی single-qubit غلطیوں سے محفوظ رکھ سکتا ہے، اور یہ حقیقت quantum Hamming bound سے متعلق ہے۔

کوانٹم ایرر کریکشن non-additive codes کا بھی ذکر کرتی ہے، جو [[n,k,d]] additive codes میں استعمال ہونے والے stabilizer formalism سے آگے جاتی ہیں۔ بعض صورتوں میں یہ زیادہ code rates حاصل کر سکتی ہیں، مگر ان کی تشکیل اور تجزیہ کافی زیادہ مشکل ہے، اسی لیے ان پر نسبتاً کم تحقیق ہوئی ہے۔

سرفیس کوڈز اتنے اہم کیوں بن گئے

جدید کوڈ فیملیز میں surface codes سنہ 2025 میں قابلِ توسیع کوانٹم ایرر کریکشن کے لیے مرکزی حیثیت رکھتی ہیں۔ اس کی بنیادی وجہ معماریاتی ہے: یہ دو بُعدی lattice پر local stabilizer measurements کے ذریعے متعین کی جاتی ہیں، جو اُن کوڈز کے مقابلے میں بہت سے ہارڈویئر پلیٹ فارمز کے لیے زیادہ موزوں ہے جنہیں long-range interactions درکار ہوتی ہیں۔

Surface code ایک topological stabilizer code ہے۔ Alexei Kitaev in 1997 کی متعارف کردہ toric version میں، کیوبٹس 2D lattice کے edges پر ہوتے ہیں اور stabilizers vertices اور plaquettes سے منسلک ہوتے ہیں۔ غلطیاں ان stabilizers کی خلاف ورزیوں کے طور پر ظاہر ہوتی ہیں۔

اسے سمجھنے کی ایک مفید تصویر یہ ہے کہ غلطی مقامی defects پیدا کرتی ہے یا انہیں حرکت دیتی ہے، جنہیں anyons کے طور پر بیان کیا جاتا ہے:

  • Z error پڑوسی vertex stabilizers کو پلٹ دیتی ہے
  • X error پڑوسی plaquette stabilizers کو پلٹ دیتی ہے

Correction دراصل ان defects کو جوڑنے اور دوبارہ ختم کرنے کا عمل ہے۔ اگر حاصل ہونے والے راستے topologically trivial ہوں، تو خالص اثر صرف ایک stabilizer ہوتا ہے اور منطقی معلومات غیر تبدیل رہتی ہے۔ اگر کوئی راستہ topologically non-trivial ہو، تو یہ عمل ایک logical operator جیسا اثر ڈالتا ہے اور انکوڈ شدہ معلومات بدل جاتی ہے۔

یہ ہندسی تعبیر ایک وجہ ہے کہ surface codes اتنی intuitive لگتی ہیں۔ Code distance پھر اس کم از کم non-trivial path یا loop میں بدل جاتی ہے جو logical error نافذ کرتی ہو۔

Toric، planar، اور rotated planar surface codes

کئی باہم متعلق جیومیٹریاں اہم ہیں۔

toric code periodic boundary conditions استعمال کرتی ہے، جو topologically ایک torus کے مساوی ہیں۔ d × d lattice کے لیے اس میں 2d^2 کیوبٹس ہوتے ہیں، اور اس کی code space چار بُعدی ہوتی ہے، اس لیے یہ دو منطقی کیوبٹس محفوظ کرتی ہے۔

ہارڈویئر کے لیے open boundaries اکثر زیادہ عملی ہوتی ہیں، جس سے planar code سامنے آتی ہے۔ مگر boundary design اہم ہے۔ ایسی surface code جس میں صرف ایک ہی boundary type ہو، کوئی منطقی کیوبٹ انکوڈ نہیں کرتی۔ ایک non-trivial code space بنانے کے لیے smooth اور rough boundaries کی باری باری ضرورت ہوتی ہے۔ اگر اوپر اور نیچے smooth boundaries ہوں اور بائیں اور دائیں rough boundaries، تو planar code ایک منطقی کیوبٹ محفوظ کرتی ہے، اور کم از کم topologically non-trivial paths کی لمبائی d ہوتی ہے، جس سے code distance d ملتی ہے۔

rotated planar code کارکردگی میں ایک بہتری ہے۔ Surface code کے مطابق distance-d rotated planar code d^2 physical qubits استعمال کرتی ہے، جبکہ غیر rotated planar version میں d^2 + (d − 1)^2 درکار ہوتے ہیں، اور اس کے باوجود code distance وہی رہتی ہے۔

Thresholds، decoding، اور “below threshold” کا مطلب

معیاری noise models کے تحت surface codes نسبتاً بلند thresholds کے لیے بھی معروف ہیں۔ ایسے ماڈل کے لیے جس میں bit اور phase errors ہر کیوبٹ پر احتمال p کے ساتھ آزادانہ طور پر واقع ہوں، Surface code یہ بتاتی ہے:

  • statistical-physics mapping سے قریب 11% کی critical probability
  • وسیع استعمال ہونے والے minimum weight perfect matching decoder کے ساتھ قریب 10.5%

یہ اعداد اہم ہیں، لیکن ان کی درست تعبیر بھی ضروری ہے۔ پہلی بات، یہ مفروضہ شدہ error model پر منحصر ہیں۔ دوسری بات، نظریاتی حد تبھی مفید ہے جب کوئی عملی decoder اس کے قریب پہنچ سکے۔ تیسری بات، بعض decoders اس وقت بدتر کارکردگی دکھاتے ہیں جب bit اور phase errors باہم correlated ہوں، مثلاً depolarizing noise کے تحت۔

اس لیے “below threshold” کا مطلب یہ نہیں کہ نظام error-free ہے۔ اس کا مطلب یہ ہے کہ اصولی طور پر کوڈ کے سائز میں اضافہ منطقی error rate کو کم کر سکتا ہے، بجائے اس کے کہ حالات مزید خراب ہوں۔

کیوبٹ بلاک کوڈز سے آگے

کوانٹم ایرر کریکشن صرف qubit-to-qubit block codes تک محدود نہیں۔ کوانٹم معلومات کو qudits یا oscillators میں بھی انکوڈ کیا جا سکتا ہے، جن میں لا محدود energy levels ہوتی ہیں۔ cat، GKP، اور binomial طرز کے bosonic approaches ایک منطقی کیوبٹ کو بہت سے two-level systems میں پھیلانے کے بجائے ایک ہی oscillator کے اندر redundancy استعمال کرتے ہیں۔

یہ میدان کے لیے ایک اہم کھلا design question اجاگر کرتا ہے: کیا redundancy بہت سے physical qubits میں پھیلی ہونی چاہیے، زیادہ بُعدی systems کے اندر ہونی چاہیے، یا دونوں کے امتزاج میں؟

2025 میں میدان کہاں کھڑا ہے

سنہ 2025 میں surface codes خاص طور پر اہم ہیں۔ کوانٹم ایرر کریکشن کے مطابق یہ superconducting systems میں بہتر fidelity کے ساتھ below-threshold logical qubits کو ممکن بناتی ہیں، اور الگ سے یہ بھی نوٹ کرتی ہے کہ Google Quantum AI نے اپنے Willow superconducting processor پر distance-7 planar code نافذ کی، جس میں below-threshold physical error rate کا مظاہرہ کیا گیا۔

اس کا یہ مطلب نہیں کہ وسیع تر چیلنج حل ہو چکا ہے۔ منطقی کیوبٹس کے لیے اب بھی قابلِ ذکر overhead درکار ہے، decoding اب بھی ایک حقیقی systems problem ہے، اور کارکردگی اس بات پر منحصر ہے کہ code selection کو حقیقی hardware noise سے کس قدر اچھی طرح ہم آہنگ کیا گیا ہے۔ لیکن یہ ضرور ظاہر کرتا ہے کہ منطقی کیوبٹس اب صرف ایک نظریاتی construct نہیں بلکہ ایک عملی engineering target بن چکی ہیں۔

اہم نکات

  • کوانٹم ایرر کریکشن نازک کوانٹم معلومات کو بڑے فزیکل نظاموں میں منطقی کیوبٹس انکوڈ کرکے اور بار بار error syndromes اخذ کرکے محفوظ رکھتی ہے۔
  • معیاری [[n,k,d]] notation بنیادی توازن کو ظاہر کرتی ہے: فزیکل overhead بمقابلہ محفوظ منطقی گنجائش اور code distance۔
  • زیادہ تر وسیع استعمال ہونے والے کوڈز hardware noise کو X، Y، اور Z Pauli errors میں سادہ بناتے ہیں، اگرچہ حقیقی devices میں amplitude damping اور dephasing جیسے اثرات بھی پائے جاتے ہیں۔
  • Fault tolerance اس لیے اہم ہے کیونکہ correction کا عمل خود بھی شور زدہ ہوتا ہے؛ threshold theorem کہتی ہے کہ قابلِ توسیع computation صرف ایک مخصوص physical error rate سے نیچے ہی ممکن ہے۔
  • five-qubit code سب سے چھوٹا کوڈ ہے جو ایک منطقی کیوبٹ کو من مانی single-qubit غلطیوں سے محفوظ رکھ سکتا ہے۔
  • CSS codes اس لیے اہم سمجھے جاتے ہیں کہ وہ X اور Z stabilizers کو الگ کرتے ہیں، جو fault-tolerant syndrome measurement میں مدد دیتا ہے۔
  • Surface codes نمایاں ہیں کیونکہ ان کے stabilizers 2D lattice پر local ہوتے ہیں، جس سے یہ تجرباتی طور پر پرکشش بنتی ہیں۔
  • Surface codes میں منطقی ناکامی topologically non-trivial error paths کے مساوی ہوتی ہے؛ code distance ایسے راستے کے کم از کم سائز کے برابر ہوتی ہے۔
  • Rotated planar surface codes، distance برقرار رکھتے ہوئے، غیر rotated planar codes کے مقابلے میں کیوبٹس کی تعداد کم کرتی ہیں۔
  • رپورٹ شدہ threshold values اور حالیہ demonstrations حوصلہ افزا ہیں، مگر عملی کارکردگی اب بھی hardware noise، decoder کے معیار، اور بڑے physical-qubit overheads پر منحصر ہے۔

ذرائع

اس صفحے پر دی گئی معلومات درج ذیل ذرائع سے لی گئی ہیں، جنہیں DesignQuantum نے حاصل کیا ہے۔

  1. Quantum error correction en.wikipedia.org
  2. Surface code en.wikipedia.org