شفرات التكرار
سنبدأ الدرس بمناقشة شفرات التكرار. لا تحمي شفرات التكرار المعلومات الكمية ضد كل أنواع الأخطاء التي يمكن أن تحدث على الكيوبتات، لكنها تشكّل الأساس لشفرة شور المكوّنة من 9 كيوبتات التي سنراها في الدرس التالي، كما أنها مفيدة لشرح أساسيات تصحيح الأخطاء.
الترميز والترميز العكسي الكلاسيكي
شفرات التكرار هي أمثلة بسيطة للغاية على شفرات تصحيح الأخطاء. الفكرة هي أنه يمكننا حماية البتات من الأخطاء ببساطة بتكرار كل بت عدداً ثابتاً من المرات.
تحديداً، لنأخذ أولاً شفرة التكرار الثلاثية، في سياق المعلومات الكلاسيكية فحسب. تُرمّز هذه الشفرة بتاً واحداً في ثلاثة بتات بتكرار البت ثلاث مرات، فـ يُرمَّز كـ و يُرمَّز كـ.
إذا لم يحدث خطأ، يمكننا بوضوح تمييز الاحتمالَين للبت الأصلي من ترميزَيهما. النقطة هي أنه إذا حدث خطأ وانقلب أحد البتات الثلاثة، أي تحوّل 0 إلى 1 أو 1 إلى 0، يمكننا مع ذلك معرفة ما كان عليه البت الأصلي بتحديد أي من القيمتَين الثنائيتَين يظهر مرتَين. ما يعادل ذلك هو أننا نستطيع إجراء الترميز العكسي بحوسبة قيمة الأغلبية (أي القيمة الثنائية الأكثر تكراراً).
بالطبع، إذا انقلبت 2 أو 3 بتات من الترميز، فلن يعمل الترميز العكسي بشكل صحيح وسيُستعاد البت الخاطئ، لكن إذا انقلب ما لا يزيد عن 1 من البتات الثلاثة، سيكون الترميز العكسي صحيحاً. هذه خاصية نموذجية لشفرات تصحيح الأخطاء بشكل عام: قد تسمح بتصحيح الأخطاء، لكن فقط إذا لم تكن كثيرة جداً.
تخفيض الضوضاء للقناة الثنائية المتماثلة
لأخذ مثال على حالة يمكن فيها تخفيض احتمال الوقوع في خطأ باستخدام شفرة التكرار، لنفترض أن هدفنا هو إيصال بت واحد إلى مستقبِل افتراضي، وأننا قادرون على نقل البتات عبر ما يُسمى القناة الثنائية المتماثلة، التي تعكس كل بت يمرّ عبرها بشكل مستقل باحتمالية . أي أنه باحتمالية ، يحصل المستقبِل على أي بت تم إرساله عبر القناة، لكن باحتمالية ، ينقلب البت ويحصل المستقبِل على القيمة المعاكسة.
لذا إذا اخترنا عدم استخدام شفرة التكرار الثلاثية، وأرسلنا مباشرة أي بت لدينا عبر القناة، يحصل المستقبِل على البت الخاطئ باحتمالية . أما إذا رمّزنا البت الذي نريد إرساله باستخدام شفرة التكرار الثلاثية أولاً، ثم أرسلنا كل بت من البتات الثلاثة للترميز عبر القناة، فإن كل بت منها ينقلب باستقلالية باحتمالية . احتمالية انقلاب البت أصبحت أكبر الآن لأن هناك ثلاثة بتات يمكن أن تنقلب بدلاً من واحدة، لكن إذا انقلب ما لا يزيد عن بت واحد، سيُجري المستقبِل الترميز العكسي بشكل صحيح. خطأ بالتالي يبقى بعد الترميز العكسي فقط إذا انقلب اثنان أو أكثر من البتات أثناء الإرسال.
احتمالية انقلاب اثنَين من البتات أثناء الإرسال هي ، وهو لكل من الخيارات الثلاثة للبت الذي لا ينقلب، بينما احتمالية انقلاب البتات الثلاثة كلها هي . الاحتمالية الإجمالية لانقلاب اثنَين أو ثلاثة بتات هي إذاً
لقيم أقل من النصف، يؤدي ذلك إلى انخفاض في احتمالية حصول المستقبِل على البت الخاطئ. سيبقى ثمة احتمال للخطأ في هذه الحالة، لكن الشفرة تُخفّض احتمالية حدوثه. (لقيم أكبر من النصف، من ناحية أخرى، تزيد الشفرة فعلياً من احتمالية حصول المستقبِل على البت الخاطئ.)
ترميز الكيوبتات
شفرة التكرار الثلاثية هي شفرة تصحيح أخطاء كلاسيكية، لكن يمكننا النظر فيما يحدث إذا حاولنا استخدامها لحماية الكيوبتات من الأخطاء. كما سنرى، ليست شفرة تصحيح أخطاء كمية مبهرة، لأنها في الواقع تزيد من احتمالية بعض الأخطاء. لكنها الخطوة الأولى نحو شفرة شور، وستفيدنا من الناحية التعليمية.
للتوضيح، عندما نشير إلى استخدام شفرة التكرار الثلاثية للكيوبتات، نعني ترميز كيوبت حيث تُكرَّر حالات الأساس القياسي ثلاث مرات، بحيث يُرمَّز متجه حالة كيوبت واحدة على النحو التالي.
يُنفَّذ هذا الترميز بسهولة بالدائرة الكمية التالية، التي تستخدم كيوبتَين مساحة عمل مُهيَّأتَين وبوابتَي NOT متحكَّم بهما.
لاحظ تحديداً أن هذا الترميز ليس هو نفسه تكرار الحالة الكمية ثلاث مرات، كما في ترميز متجه حالة كيوبت معطى كـ. مثل هذا الترميز لا يمكن تنفيذه لحالة كمية مجهولة بموجب مبرهنة عدم الاستنساخ.
أخطاء قلب البت
لنفترض الآن أن خطأً حدث بعد إجراء الترميز. تحديداً، لنفترض حدوث بوابة ، أو بعبارة أخرى قلب بت، على إحدى الكيوبتات. على سبيل المثال، إذا تعرّضت الكيوبت الوسطى لقلب بت، تتحوّل حالة الكيوبتات الثلاث إلى هذه الحالة:
بالطبع، هذا ليس النوع الوحيد من الأخطاء التي يمكن أن تحدث — ومن المعقول أيضاً التشكيك في افتراض أن الخطأ يأخذ شكل عملية وحدوية مثالية. سنعود إلى هذه المسائل في القسم الأخير من الدرس، ويمكننا في الوقت الراهن النظر إلى خطأ من هذا النوع كنوع محتمل واحد من الأخطاء (وإن كان نوعاً مهماً بشكل جوهري).
يمكننا أن نرى بوضوح من التعبير الرياضي للحالة أعلاه أن البت الأوسط هو المختلف داخل كل ket. لكن لنفترض أن الكيوبتات الثلاث في حوزتنا ولا نعرف حالتها. إذا اشتبهنا بحدوث قلب بت، أحد الخيارات للتحقق من ذلك هو إجراء قياس بالأساس القياسي، والذي في الحالة الراهنة سيجعلنا نرى أو باحتمالَي و على التوالي. في كلتا الحالتَين، استنتاجنا سيكون أن البت الأوسط قد انقلب — لكن، للأسف، سنفقد الحالة الكمية الأصلية . هذه الحالة هي ما نحاول حمايته، لذا فإن القياس بالأساس القياسي خيار غير مُرضٍ.
ما يمكننا فعله بدلاً من ذلك هو استخدام الدائرة الكمية التالية، بتغذية الحالة المُرمَّزة في الكيوبتات الثلاث العلوية. تقيس هذه الدائرة بشكل غير مدمِّر تكافؤ الحالات القاعدية القياسية للكيوبتَين العلويتَين كذلك لكيوبتَي الجزء السفلي من الترميز ثلاثي الكيوبتات.
استناداً إلى افتراض انقلاب بت واحد على الأكثر، يمكن استنتاج موقع قلب البت (أو عدم حدوثه) بسهولة من نتائج القياس. تحديداً، كما توضّح مخططات الدوائر الأربعة التالية، تشير نتيجة القياس إلى عدم حدوث قلب بت، بينما تشير الاحتمالات الثلاث الأخرى إلى أي كيوبت تعرّضت لقلب بت.
الجانب الحاسم هو أن حالة الكيوبتات الثلاث العلوية لا تنهار في أي من هذه الحالات، مما يتيح لنا تصحيح خطأ قلب البت إذا حدث — وذلك ببساطة بتطبيق نفس قلب البت مرة أخرى ببوابة . الجدول التالي يلخّص الحالات التي نحصل عليها من انقلاب بت واحد على الأكثر، ونتائج القياس (التي تُسمى المتلازمة في سياق تصحيح الأخطاء)، والتصحيح اللازم للعودة إلى الترميز الأصلي.
| الحالة | المتلازمة | التصحيح |
|---|---|---|
نقول مجدداً، إننا نأخذ بعين الاعتبار فقط احتمال انقلاب بت واحد على الأكثر. لن يعمل هذا بشكل صحيح إذا انقلب اثنان أو ثلاثة بتات، ولم نأخذ بعين الاعتبار أيضاً الأخطاء المحتملة الأخرى غير انقلابات البت.
أخطاء قلب الطور
في السياق الكمي، لا تُعدّ أخطاء قلب البت الأخطاءَ الوحيدة التي نحتاج إلى القلق بشأنها. على سبيل المثال، علينا أيضاً القلق بشأن أخطاء قلب الطور، التي تصفها بوابات . على نفس المنوال من أخطاء قلب البت، يمكننا النظر إلى أخطاء قلب الطور باعتبارها مجرد احتمال آخر لخطأ يمكن أن يصيب الكيوبت.
لكن، كما سنرى في القسم الأخير من الدرس حول ما يُسمى تقطيع الأخطاء لشفرات تصحيح الأخطاء الكمية، فإن التركيز على أخطاء قلب البت وأخطاء قلب الطور أمر مبرَّر تماماً. تحديداً، القدرة على تصحيح خطأ قلب بت أو خطأ قلب طور أو كليهما معاً تعني تلقائياً القدرة على تصحيح أي خطأ كمي عشوائي على كيوبت واحدة.
لسوء الحظ، شفرة التكرار الثلاثية لا تحمي إطلاقاً من أخطاء قلب الط ور. على سبيل المثال، لنفترض أن حالة كيوبت قد رُمِّزت باستخدام شفرة التكرار الثلاثية، وحدث خطأ قلب طور على الكيوبت الوسطى. ينتج عن ذلك الحالة
وهي بالضبط الحالة التي كنّا سنحصل عليها من ترميز حالة الكيوبت . في الواقع، لخطأ قلب طور على أي من الكيوبتات الثلاث للترميز نفس هذا التأثير، وهو ما يعادل حدوث خطأ قلب طور على الكيوبت الأصلية قبل الترميز. استناداً إلى افتراض أن الحالة الكمية الأصلية حالة مجهولة، لا توجد طريقة لاكتشاف حدوث خطأ، لأن الحالة الناتجة هي ترميز ص الح تماماً لحالة كيوبت مختلفة. تحديداً، تشغيل دائرة اكتشاف الخطأ السابقة على الحالة سيُسفر حتماً عن المتلازمة ، مما يوحي خطأً بعدم حدوث أي أخطاء.
في الوقت ذاته، يوجد الآن ثلاث كيوبتات بدلاً من واحدة يمكن أن تتعرض لأخطاء قلب الطور. لذا، في حالة يُفترض فيها حدوث أخطاء قلب طور بشكل مستقل على كل كيوبت باحتمالية غير صفرية (مشابهة للقناة الثنائية المتماثلة لكن لأخطاء قلب الطور بدلاً من قلب البت)، تزيد هذه الشفرة فعلياً من احتمالية خطأ قلب الطور بعد الترميز العكسي لقيم الصغيرة. بدقة أكثر، سنحصل على خطأ قلب طور على الكيوبت الأصلية بعد الترميز العكسي كلما كان عدد أخطاء قلب الطور على الكيوبتات الثلاث للترميز فردياً، وهو ما يحدث باحتمالية
هذه القيمة أكبر من عندما ، لذا تزيد الشفرة من احتمالية خطأ قلب الطور لقيم في هذا النطاق.
شفرة التكرار المعدَّلة لأخطاء قلب الطور
لاحظنا أن شفرة التكرار الثلاثية لا تأبه تماماً بأخطاء قلب الطور، لذا لا يبدو أنها مفيدة للتعامل مع هذا النوع من الأخطاء. يمكننا مع ذلك تعديل شفرة التكرار الثلاثية بطريقة بسيطة بحيث تكتشف أخطاء قلب الطور. سيجعل هذا التعديل الشفرة غافلة عن أخطاء قلب البت — لكن، كما سنرى في القسم التالي، يمكننا الجمع بين شفرة التكرار الثلاثية وهذه النسخة المعدَّلة للحصول على شفرة شور التي تستطيع تصحيح كل من أخطاء قلب البت وقلب الطور.
إليك النسخة المعدَّلة من دائرة الترميز أعلاه، التي ستتمكن الآن من اكتشاف أخطاء قلب الطور. التعديل بسيط للغاية: نطبّق فقط بوابة هادامار على كل كيوبت بعد إجراء بوابتَي NOT المتحكَّم بهما.
تحوّل بوابة هادامار حالة إلى حالة ، وحالة إلى حالة ، لذا يكون التأثير الصافي أن حالة الكيوبت المفردة تُرمَّز كـ
حيث و .
خطأ قلب الطور، أو ما يعادله بوابة ، يعكس بين الحالتَين و، لذا سيكون هذا الترميز مفيداً للكشف عن أخطاء قلب الطور (وتصحيحها). تحديداً، يمكن تعديل دائرة اكتشاف الخطأ السابقة على النحو التالي.
بعبارات أخرى، نأخذ الدائرة السابقة ونضع ببساطة بوابات هادامار على الكيوبتات الثلاث العلوية في البداية وفي النهاية. الفكرة هي أن بوابات هادامار الثلاث الأولى تحوّل حالات و مجدداً إلى حالات و، وتجري فحوصات التكافؤ ذاتها كما من قبل، ثم تُحوّل الطبقة الثانية من بوابات هادامار الحالة مجدداً إلى حالات و لاسترداد ترميزنا. للمرجع المستقبلي، لنلاحظ أن دائرة اكتشاف قلب الطور هذه يمكن تبسيطها على النحو التالي.
مخططات الدوائر الأربعة التالية تصف كيف تعمل نسختنا المعدَّلة من شفرة التكرار الثلاثية، بما فيها خطوة الترميز وخطوة اكتشاف الخطأ، عندما يحدث ما لا يزيد عن خطأ قلب طور واحد. السلوك مشابه لشفرة التكرار الثلاثية العادية لأخطاء قلب البت.