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