✉ خبرنامه
🌐 فارسی
توضیحی۱۰ دقیقه مطالعه

تصحیح خطای کوانتومی و کیوبیت‌های منطقی، به زبان ساده

این‌که تصحیح خطای کوانتومی چگونه تعداد زیادی کیوبیت فیزیکی پرنویز را به کیوبیت‌های منطقی قابل‌اعتمادتر تبدیل می‌کند، و چرا فاصلهٔ کد، آستانه‌ها و کدهای سطحی اهمیت دارند.

این صفحه از انگلیسی ترجمه شده است. نام شرکت‌ها، محصولات و پیوندهای منابع بدون تغییر باقی مانده‌اند. خواندن نسخه اصلی انگلیسی

تصحیح خطای کوانتومی مجموعه‌ای از روش‌هاست که برای قابل‌استفاده نگه‌داشتن اطلاعات شکنندهٔ کوانتومی، با وجود نویز، واهمدوسی و عملیات‌های ناقص، به کار می‌رود. ایدهٔ اصلی این است که یک یا چند کیوبیت منطقی در مجموعه‌ای بزرگ‌تر از کیوبیت‌های فیزیکی کدگذاری شوند، بررسی‌های با دقت انتخاب‌شده‌ای که اطلاعات خطا را آشکار می‌کنند اما حالت کوانتومی محافظت‌شده را نه، به‌طور مکرر اندازه‌گیری شوند، و سپس بر اساس سندروم مشاهده‌شده، گام‌های بازیابی اعمال شود.

چرا رایانه‌های کوانتومی به تصحیح خطا نیاز دارند

اطلاعات کوانتومی به‌طور غیرمعمولی حساس و شکننده‌اند. خطاها می‌توانند از واهمدوسی و دیگر منابع نویز کوانتومی ناشی شوند، و در رایانش کوانتومی عملی باید با گیت‌های معیوب، آماده‌سازی ناقص حالت و خطاهای اندازه‌گیری هم مقابله کرد. به همین دلیل، تصحیح خطا فقط برای ذخیره‌سازی حالت‌های کوانتومی اهمیت ندارد، بلکه برای اجرای محاسبات طولانی نیز نقشی محوری دارد.

تصحیح خطای کلاسیک با افزودن افزونگی به بیت‌ها کار می‌کند. تصحیح خطای کوانتومی نیز هدفی مشابه دارد، اما با یک محدودیت بزرگ: اندازه‌گیری مستقیم یک کیوبیت معمولاً حالت آن را مختل می‌کند. بنابراین یک کد کوانتومی باید اطلاعاتی دربارهٔ این‌که چه چیزی خراب شده استخراج کند، بدون آن‌که خودِ اطلاعات منطقی را آشکار سازد. در بسیاری از کدها، این کار از طریق اندازه‌گیری عملگرهای جابه‌جاپذیری به نام پایدارساز (stabilizer) انجام می‌شود.

یک شیوهٔ مفید برای درک وعدهٔ تصحیح خطای کوانتومی این است که آن را به‌صورت یک لایهٔ شبیه‌سازی ببینیم: اگر یک کانال فیزیکی نویزی با یک مدل خطای مشخص سازگار باشد، می‌توان از یک کد تصحیح خطای کوانتومی برای تقریب‌زدنِ یک کانال منطقیِ بی‌نویز، به اندازه‌ای خوب استفاده کرد که ارتباط یا محاسبه عملی شود.

کیوبیت‌های فیزیکی، کیوبیت‌های منطقی و فاصلهٔ کد

نمادگذاری استاندارد برای یک کد کوانتومی [[n,k,d]] است؛ یعنی کد، k کیوبیت منطقی را در n کیوبیت فیزیکی با فاصلهٔ کد d کدگذاری می‌کند.

این سه پارامتر بیشتر بده‌بستان‌های اصلی را در بر می‌گیرند:

  • n: تعداد کیوبیت‌های فیزیکی مورد استفادهٔ کد
  • k: تعداد کیوبیت‌های منطقیِ محافظت‌شده
  • d: فاصلهٔ کد؛ معیاری که به دشوار بودنِ این‌که خطاها مانند یک عمل منطقی عمل کنند، مربوط است

نرخ کد، یعنی k/n، یک معیار پایه برای کارایی است. نرخ بالاتر به معنی سربار کمتر به ازای هر کیوبیت منطقی است. اما فاصلهٔ بیشتر و نرخ بالاتر معمولاً در جهت مخالف هم حرکت می‌کنند؛ بنابراین طراحی کد در اصل نوعی موازنه میان قابلیت اطمینان و هزینهٔ سخت‌افزاری است.

به‌طور کلی، یک چرخهٔ تصحیح خطای کوانتومی سه مرحله دارد:

  1. کدگذاری اطلاعات منطقی در یک سامانهٔ فیزیکی بزرگ‌تر
  2. ذخیره‌سازی یا انتقال از طریق یک کانال نویزی
  3. استخراج سندروم و بازیابی، که خطاهای محتمل را شناسایی و اصلاح می‌کند

سندروم نقشی حیاتی دارد. اندازه‌گیری‌های پایدارساز طوری انتخاب می‌شوند که فقط اطلاعات خطا را آشکار کنند، نه حالت کوانتومی کدگذاری‌شده را. در غیر این صورت، فرایند تصحیح برهم‌نهی‌هایی را که رایانه در تلاش برای حفظ آن‌هاست از بین می‌برد.

کدها چه نوع خطاهایی را هدف می‌گیرند؟

خطاهای غالب به‌شدت به سکوی سخت‌افزاری بستگی دارند. نمونه‌های مهم عبارت‌اند از:

  • میرایی دامنه، یا از دست رفتن برانگیختگی، که با آرامش به سوی تعادل مرتبط است
  • خطاهای همدوس، که از دینامیک درونی سامانه ناشی می‌شوند
  • ناهمفازی، که در بسیاری از پیاده‌سازی‌های کیوبیت یکی از فرایندهای نویزی غالب است

با این حال، بسیاری از کدهای کوانتومی با یک مدل ساده‌سازی‌شده کار می‌کنند که در آن خطاها به‌صورت ترکیب‌هایی از عملیات‌های پائولی در نظر گرفته می‌شوند:

  • X برای خطاهای شبیه وارونگی بیت
  • Z برای خطاهای شبیه وارونگی فاز
  • Y برای خطاهای ترکیبی بیت و فاز

این تصویر مبتنی بر پائولی همهٔ فرایندهای نویزی واقعی را پوشش نمی‌دهد، اما به‌طور گسترده استفاده می‌شود چون تحلیل و ساخت کد را ساده‌تر و قابل‌مدیریت‌تر می‌کند. در این مدل، استخراج سندروم و رمزگشایی را اغلب می‌توان به‌گونه‌ای صورت‌بندی کرد که از ایده‌های نظریهٔ کدگذاری کلاسیک وام بگیرد.

این ساده‌سازی البته یک هشدار مهم هم دارد: رمزگشایی همچنان می‌تواند دشوار باشد. یک کد با پارامترهای [[n,k,d]] دارای 2^(n-k) سندروم ممکن است، که خیلی زود برای جدول‌های جست‌وجوی ساده بیش از حد بزرگ می‌شود. در عمل، معمولاً به الگوریتم‌های کارآمدِ رمزگشاییِ کلاسیک نیاز است.

تحمل‌پذیری خطا: اصلاح خطا بدون بدتر کردن اوضاع

تصحیح خطا به‌تنهایی برای محاسبات مقیاس‌پذیر کافی نیست. در یک رایانه، خودِ سازوکار تصحیح از گیت‌ها، اندازه‌گیری‌ها و انسیلاهای آماده‌شده استفاده می‌کند که همهٔ آن‌ها هم می‌توانند دچار خطا شوند. این‌جاست که تحمل‌پذیری خطا وارد می‌شود.

ایدهٔ مرکزی این است که کدگذاری، اندازه‌گیری سندروم و بازیابی طوری طراحی شوند که تعداد کمی نقص فیزیکی به یک شکست منطقیِ اصلاح‌ناپذیر گسترش پیدا نکند. تصحیح خطای کوانتومی نشان می‌دهد که این موضوع به قضیهٔ آستانهٔ کوانتومی گره خورده است: محاسبات کوانتومیِ دلخواه‌طولانی با الحاق بازگشتی کدها ممکن است، به شرط آن‌که نرخ خطای گیت‌های کوانتومیِ منفرد پایین‌تر از یک آستانه بماند.

در تصحیح خطای کوانتومی یک برآورد تاریخی از سال 2004 آمده که می‌گوید این آستانه، در صورت در دسترس بودنِ کیوبیت‌های کافی، می‌تواند تا حدود 1–3% بالا باشد. همچنین توضیح می‌دهد که چرا آستانه اهمیت دارد: پایین‌تر از آن، فرایند تصحیح خطاهای بیشتری را حذف می‌کند تا آن‌که ایجاد کند؛ بالاتر از آن، خودِ فرایند تصحیح می‌تواند در مجموع زیان‌بار شود.

این مفهوم آستانه یکی از دلایلی است که کیوبیت‌های منطقی را به یک انتزاع بسیار مفید تبدیل می‌کند. کیوبیت منطقی یک مؤلفهٔ منفرد دستگاه نیست، بلکه یک شیء کدگذاری‌شده است که نرخ خطای مؤثر آن را، دست‌کم در اصل، می‌توان با افزودن منابع فیزیکی بیشتر و استفاده از رویه‌های بهترِ تحمل‌پذیر در برابر خطا کاهش داد.

خانواده‌های اصلی کد و آن‌چه بهینه می‌کنند

خانواده‌های مختلف کد، میان سربار، فاصله، ساختار و سهولت پیاده‌سازی، بده‌بستان‌های متفاوتی برقرار می‌کنند.

خانوادهٔ کد ایدهٔ کلیدی بده‌بستان یا ویژگی شاخص
کد Shor به [[d^2,1,d]] تعمیم می‌یابد؛ از کدهای تکرار درونی و بیرونی برای رسیدگی جداگانه به خطاهای وارونگی بیت و وارونگی فاز استفاده می‌کند فاصله را افزایش می‌دهد، اما با نرخ کد پایین‌تر
کدهای Steane / همینگ کوانتومی ساختار تکرار را با کد کلاسیک همینگ [7,4] جایگزین می‌کند و با خطاهای X و Z به‌صورت متقارن برخورد می‌کند نرخ کد بهتر از تکرار به سبک Shor
کدهای CSS چارچوبی کلی برگرفته از ساختارهای مرتبطِ Calderbank، Shor و Steane پایدارسازهای X و Z را از هم جدا می‌کند، که برای اندازه‌گیری سندرومِ تحمل‌پذیر در برابر خطا مفید است
کد پنج‌کیوبیتی از چهار پایدارسازِ ترکیب‌کنندهٔ X و Z استفاده می‌کند؛ یک کد CSS نیست کوچک‌ترین کد ممکن که یک کیوبیت منطقی را در برابر خطاهای دلخواهِ تک‌کیوبیتی محافظت می‌کند
کد سطحی کد پایدارساز توپولوژیک روی یک شبکهٔ دوبعدی بررسی‌های موضعی و چیدمان تخت از نظر آزمایشی جذاب‌اند

کد پنج‌کیوبیتی از نظر مفهومی اهمیت ویژه‌ای دارد. این کد کوچک‌ترین کد ممکنی است که می‌تواند یک کیوبیت منطقی را از خطاهای دلخواهِ تک‌کیوبیتی محافظت کند؛ نکته‌ای که با کران همینگ کوانتومی مرتبط است.

در تصحیح خطای کوانتومی همچنین به کدهای غیرجمع‌پذیر اشاره می‌شود که فراتر از صورت‌بندی پایدارسازِ مورد استفاده در کدهای جمع‌پذیر [[n,k,d]] قرار می‌گیرند. این کدها در برخی موارد ممکن است نرخ کد بالاتری به دست دهند، اما ساخت و تحلیل آن‌ها به‌مراتب دشوارتر است و به همین دلیل کمتر کاوش شده‌اند.

چرا کدهای سطحی تا این حد مهم شدند

در میان خانواده‌های مدرن کد، کدهای سطحی در سال 2025 برای تصحیح خطای کوانتومیِ مقیاس‌پذیر نقشی محوری دارند. دلیل اصلی، معماری آن‌هاست: این کدها با استفاده از اندازه‌گیری‌های موضعیِ پایدارساز روی یک شبکهٔ دوبعدی تعریف می‌شوند، و این ویژگی برای بسیاری از سکوهای سخت‌افزاری از کدهایی که به برهم‌کنش‌های دوربرد نیاز دارند مناسب‌تر است.

کد سطحی یک کد پایدارساز توپولوژیک است. در نسخهٔ توری که Alexei Kitaev در 1997 معرفی کرد، کیوبیت‌ها روی یال‌های یک شبکهٔ دوبعدی قرار می‌گیرند و پایدارسازها با رأس‌ها و پلاکت‌ها مرتبط‌اند. خطاها به‌صورت نقض این پایدارسازها ظاهر می‌شوند.

یک تصویر مفید این است که خطا، عیب‌های موضعی ایجاد می‌کند یا آن‌ها را جابه‌جا می‌کند؛ عیب‌هایی که به‌صورت هرآنیون‌ها توصیف می‌شوند:

  • یک خطای Z پایدارسازهای رأسیِ مجاور را وارونه می‌کند
  • یک خطای X پایدارسازهای پلاکتیِ مجاور را وارونه می‌کند

تصحیح در این‌جا به معنی جفت‌کردن و دوباره نابود کردن این عیب‌هاست. اگر مسیرهای حاصل از نظر توپولوژیک بدیهی باشند، اثر خالص فقط یک پایدارساز است و اطلاعات منطقی تغییر نمی‌کند. اگر یک مسیر از نظر توپولوژیک نابدیهی باشد، فرایند مانند یک عملگر منطقی عمل می‌کند و اطلاعات کدگذاری‌شده را تغییر می‌دهد.

این تفسیر هندسی یکی از دلایلی است که کدهای سطحی را تا این حد شهودی می‌کند. در این‌جا فاصلهٔ کد به حداقل طول یک مسیر یا حلقهٔ نابدیهی تبدیل می‌شود که یک خطای منطقی را پیاده‌سازی می‌کند.

کدهای سطحی توری، تخت و تختِ چرخیده

چندین هندسهٔ مرتبط در این زمینه اهمیت دارند.

کد توری از شرط‌های مرزیِ تناوبی استفاده می‌کند و از نظر توپولوژیک معادل یک چنبره است. برای یک شبکهٔ d × d، این کد 2d^2 کیوبیت دارد و فضای کد آن چهاربعدی است؛ بنابراین دو کیوبیت منطقی ذخیره می‌کند.

برای سخت‌افزار، مرزهای باز اغلب عملی‌تر هستند و این ما را به کد تخت می‌رساند. اما طراحی مرز اهمیت دارد. یک کد سطحی که فقط یک نوع مرز داشته باشد، هیچ کیوبیت منطقی‌ای را کدگذاری نمی‌کند. برای ایجاد یک فضای کد نابدیهی، به مرزهای هموار و ناهموار به‌صورت متناوب نیاز است. با مرزهای هموار در بالا و پایین و مرزهای ناهموار در چپ و راست، کد تخت یک کیوبیت منطقی ذخیره می‌کند، و کوتاه‌ترین مسیرهای توپولوژیکِ نابدیهی طول d دارند، که فاصلهٔ کد d را به دست می‌دهد.

کد تختِ چرخیده یک بهبود از نظر کارایی است. Surface code می‌گوید یک کد تختِ چرخیده با فاصلهٔ d از d^2 کیوبیت فیزیکی استفاده می‌کند، در حالی‌که نسخهٔ تختِ نچرخیده d^2 + (d − 1)^2 کیوبیت نیاز دارد، و در عین حال همان فاصلهٔ کد را حفظ می‌کند.

آستانه‌ها، رمزگشایی و این‌که «زیر آستانه» چه معنایی دارد

کدهای سطحی از این جهت هم قابل‌توجه‌اند که تحت مدل‌های استاندارد نویز، آستانه‌های نسبتاً بالایی دارند. برای مدلی که در آن خطاهای بیت و فاز به‌طور مستقل روی هر کیوبیت و با احتمال p رخ می‌دهند، Surface code گزارش می‌دهد:

  • یک احتمال بحرانی در حدود 11% بر پایهٔ نگاشتی به فیزیک آماری
  • حدود 10.5% هنگام استفاده از رمزگشای پرکاربرد minimum weight perfect matching

این اعداد مهم‌اند، اما نیاز به تفسیر دارند. نخست این‌که به مدل خطای مفروض بستگی دارند. دوم این‌که حد نظری فقط زمانی مفید است که یک رمزگشای عملی وجود داشته باشد که به آن نزدیک شود. سوم این‌که برخی رمزگشاها وقتی خطاهای بیت و فاز هم‌بسته باشند، مانند نویز دپولاریزان، عملکرد ضعیف‌تری دارند.

بنابراین «زیر آستانه» به معنی بی‌خطا بودن سامانه نیست. معنی‌اش این است که، دست‌کم در اصل، با افزایش اندازهٔ کد می‌توان نرخ خطای منطقی را کاهش داد، نه این‌که اوضاع را بدتر کرد.

فراتر از کدهای بلوکیِ کیوبیتی

تصحیح خطای کوانتومی محدود به کدهای بلوکیِ کیوبیت‌به‌کیوبیت نیست. اطلاعات کوانتومی را می‌توان در کودیت‌ها یا در نوسانگرها کدگذاری کرد که بی‌نهایت سطح انرژی دارند. رویکردهای بوزونی مانند ایده‌های cat، GKP و سبکِ دوجمله‌ای، به‌جای پخش‌کردن یک کیوبیت منطقی روی تعداد زیادی سامانهٔ دولایه، از افزونگی درون یک نوسانگر واحد بهره می‌برند.

این موضوع یک پرسش طراحیِ باز و مهم را برای این حوزه برجسته می‌کند: آیا افزونگی باید در میان تعداد زیادی کیوبیت فیزیکی توزیع شود، درون سامانه‌های با بُعد بالاتر قرار بگیرد، یا در ترکیبی از هر دو؟

وضعیت این حوزه در سال 2025

کدهای سطحی در سال 2025 اهمیت ویژه‌ای دارند. تصحیح خطای کوانتومی می‌گوید این کدها در سامانه‌های ابررسانا، کیوبیت‌های منطقیِ زیر آستانه با وفاداری بهتر را ممکن می‌کنند، و جداگانه اشاره می‌کند که Google Quantum AI روی پردازندهٔ ابررسانای Willow خود، یک کد تخت با فاصلهٔ 7 را پیاده‌سازی کرده و نرخ خطای فیزیکیِ زیر آستانه را نشان داده است.

این به آن معنا نیست که چالش گسترده‌تر حل شده است. کیوبیت‌های منطقی همچنان به سربار قابل‌توجه نیاز دارند، رمزگشایی همچنان یک مسئلهٔ واقعی در سطح سامانه‌هاست، و عملکرد به تطبیق انتخاب کد با نویز واقعیِ سخت‌افزار بستگی دارد. اما نشان می‌دهد چرا کیوبیت‌های منطقی اکنون به‌جای آن‌که صرفاً یک ساختار نظری باشند، به یک هدف عملیِ مهندسی تبدیل شده‌اند.

نکات کلیدی

  • تصحیح خطای کوانتومی با کدگذاری کیوبیت‌های منطقی در سامانه‌های فیزیکی بزرگ‌تر و استخراج مکرر سندروم‌های خطا، از اطلاعات شکنندهٔ کوانتومی محافظت می‌کند.
  • نمادگذاری استاندارد [[n,k,d]] بده‌بستان اصلی را نشان می‌دهد: سربار فیزیکی در برابر ظرفیت منطقیِ محافظت‌شده و فاصلهٔ کد.
  • بیشتر کدهای پرکاربرد، نویز سخت‌افزار را به خطاهای پائولیِ X، Y و Z ساده‌سازی می‌کنند، هرچند دستگاه‌های واقعی اثرهایی مانند میرایی دامنه و ناهمفازی را هم نشان می‌دهند.
  • تحمل‌پذیری خطا مهم است، چون خودِ فرایند تصحیح هم نویزی است؛ قضیهٔ آستانه می‌گوید محاسبهٔ مقیاس‌پذیر فقط پایین‌تر از یک نرخ خطای فیزیکیِ مشخص ممکن است.
  • کد پنج‌کیوبیتی کوچک‌ترین کدی است که می‌تواند یک کیوبیت منطقی را در برابر خطاهای دلخواهِ تک‌کیوبیتی محافظت کند.
  • کدهای CSS ارزشمندند، چون پایدارسازهای X و Z را از هم جدا می‌کنند و این برای اندازه‌گیری سندرومِ تحمل‌پذیر در برابر خطا مفید است.
  • کدهای سطحی برجسته‌اند، چون پایدارسازهای آن‌ها روی یک شبکهٔ دوبعدی موضعی هستند و این ویژگی آن‌ها را از نظر آزمایشی جذاب می‌کند.
  • در کدهای سطحی، شکست منطقی متناظر با مسیرهای خطای توپولوژیکِ نابدیهی است؛ فاصلهٔ کد حداقل اندازهٔ چنین مسیری است.
  • کدهای سطحیِ تختِ چرخیده در مقایسه با کدهای تختِ نچرخیده، تعداد کیوبیت را کاهش می‌دهند و در عین حال فاصله را حفظ می‌کنند.
  • مقادیر آستانهٔ گزارش‌شده و نمایش‌های اخیر امیدوارکننده‌اند، اما عملکرد عملی همچنان به نویز سخت‌افزار، کیفیت رمزگشا و سربار بالای کیوبیت‌های فیزیکی وابسته است.

منابع

اطلاعات این صفحه از منابع زیر گرفته شده و توسط DesignQuantum گردآوری شده است.

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