شفرة هامينغ
في علوم الحاسوب والاتصالات ، تُعدّ رموز هامينغ عائلة من رموز تصحيح الأخطاء الخطية . تستطيع رموز هامينغ اكتشاف أخطاء البت الواحد أو البتين، أو تصحيح أخطاء البت الواحد دون اكتشاف الأخطاء غير المصححة. في المقابل، لا يستطيع رمز التكافؤ البسيط تصحيح الأخطاء، ولا يمكنه اكتشاف سوى عدد فردي من البتات الخاطئة. تُعتبر رموز هامينغ رموزًا مثالية ، أي أنها تحقق أعلى معدل ممكن للرموز ذات طول الكتلة والمسافة الدنيا التي تبلغ ثلاثة. [ 1 ] اخترع ريتشارد دبليو هامينغ رموز هامينغ عام 1950 كوسيلة لتصحيح الأخطاء التي تُدخلها قارئات البطاقات المثقبة تلقائيًا . في ورقته البحثية الأصلية، شرح هامينغ فكرته العامة، لكنه ركز تحديدًا على رمز هامينغ (7،4) الذي يضيف ثلاثة بتات تكافؤ إلى أربعة بتات من البيانات. [ 2 ]
رياضيًا ، تُعدّ رموز هامينغ فئة من الرموز الخطية الثنائية. لكل عدد صحيح r ≥ 2 ، يوجد رمز-كلمة بطول كتلة n = 2r − 1 وطول رسالة k = 2r − r − 1. بالتالي، فإن معدل رموز هامينغ هو R = k / n = 1 − r / ( 2r − 1) ، وهو أعلى معدل ممكن للرموز ذات المسافة الدنيا 3 (أي أن أقل عدد من تغييرات البتات اللازمة للانتقال من أي رمز-كلمة إلى أي رمز-كلمة أخرى هو 3) وطول كتلة 2r − 1. تُنشأ مصفوفة فحص التكافؤ لرمز هامينغ بسرد جميع الأعمدة غير الصفرية ذات الطول r ، مما يعني أن الرمز الثنائي لرمز هامينغ هو رمز هادامارد المختصر ، المعروف أيضًا باسم رمز سيمبلكس. تتميز مصفوفة فحص التكافؤ بخاصية أن أي عمودين فيها مستقلان خطيًا .
نظراً لمحدودية التكرار الذي تضيفه رموز هامينغ إلى البيانات، فإنها لا تستطيع اكتشاف الأخطاء وتصحيحها إلا عندما يكون معدل الخطأ منخفضاً. هذا هو الحال في ذاكرة الحاسوب (عادةً ذاكرة الوصول العشوائي RAM)، حيث تكون أخطاء البتات نادرة للغاية، وتُستخدم رموز هامينغ على نطاق واسع. تُعرف الذاكرة المزودة بنظام التصحيح هذا بذاكرة ECC . في هذا السياق، غالباً ما يُستخدم رمز هامينغ مُوسّع يحتوي على بت تكافؤ إضافي. تُحقق رموز هامينغ المُوسّعة مسافة هامينغ تبلغ أربعة، مما يسمح للمُفكِّك بالتمييز بين حدوث خطأ بت واحد على الأكثر، ووقوع أي خطأين بتّين. بهذا المعنى، تُعتبر رموز هامينغ المُوسّعة مُصحِّحة للخطأ الفردي وكاشفة للخطأ المزدوج، ويُشار إليها اختصاراً بـ SECDED .
تاريخ
عمل ريتشارد هامينغ ، مخترع رموز هامينغ، في مختبرات بيل في أواخر الأربعينيات على حاسوب بيل موديل V ، وهو جهاز كهروميكانيكي يعتمد على المرحلات، وكانت دوراته تُقاس بالثواني. كانت المدخلات تُدخل عبر شريط ورقي مثقوب ، عرضه سبعة أثمان البوصة، ويحتوي على ما يصل إلى ستة ثقوب في كل صف. خلال أيام الأسبوع، عند اكتشاف أي خلل في المرحلات، كان الجهاز يتوقف ويومض أضواءً ليتمكن المشغلون من تصحيح المشكلة. أما في غير ساعات العمل وفي عطلات نهاية الأسبوع، عندما لا يكون هناك مشغلون، كان الجهاز ينتقل ببساطة إلى المهمة التالية.
كان هامينغ يعمل في عطلات نهاية الأسبوع، وتزايد إحباطه من اضطراره لإعادة تشغيل برامجه من الصفر بسبب الأخطاء المكتشفة. في مقابلة مسجلة، قال هامينغ: "لذا قلت: اللعنة، إذا كان بإمكان الآلة اكتشاف الخطأ، فلماذا لا تستطيع تحديد موقعه وتصحيحه؟". [ 3 ] على مدى السنوات القليلة التالية، عمل على مشكلة تصحيح الأخطاء، مطورًا مجموعة متزايدة القوة من الخوارزميات. في عام 1950، نشر ما يُعرف الآن باسم "شفرة هامينغ"، والتي لا تزال تُستخدم حتى اليوم في تطبيقات مثل ذاكرة تصحيح الأخطاء (ECC) .
رموز سابقة لهامينغ
تم استخدام عدد من رموز اكتشاف الأخطاء البسيطة قبل رموز هامينغ، ولكن لم يكن أي منها فعالاً مثل رموز هامينغ في نفس المساحة الإضافية.
التكافؤ
تُضيف بتة التكافؤ بتًا واحدًا يُشير إلى ما إذا كان عدد الآحاد (مواضع البتات التي قيمتها واحد) في البيانات السابقة زوجيًا أم فرديًا . إذا تغير عدد فردي من البتات أثناء الإرسال، ستتغير بتة التكافؤ في الرسالة، ويمكن اكتشاف الخطأ عند هذه النقطة؛ مع ذلك، قد يكون البت الذي تغير هو بتة التكافؤ نفسها. الاصطلاح الأكثر شيوعًا هو أن قيمة التكافؤ واحد تُشير إلى وجود عدد فردي من الآحاد في البيانات، وقيمة التكافؤ صفر تُشير إلى وجود عدد زوجي من الآحاد. إذا كان عدد البتات المتغيرة زوجيًا، فسيكون بت التحقق صالحًا ولن يتم اكتشاف الخطأ.
علاوة على ذلك، لا يُحدد فحص التكافؤ البت الذي يحتوي على الخطأ، حتى وإن كان قادرًا على اكتشافه. يجب تجاهل البيانات بالكامل وإعادة إرسالها من البداية. في وسط إرسال مشوش ، قد يستغرق الإرسال الناجح وقتًا طويلاً أو قد لا يحدث أبدًا. مع ذلك، ورغم أن جودة فحص التكافؤ ضعيفة، نظرًا لاستخدامه بتًا واحدًا فقط، إلا أن هذه الطريقة تُنتج أقل قدر من الحمل الزائد.
رمز اثنين من أصل خمسة
رمز اثنين من خمسة هو نظام ترميز يستخدم خمسة بتات تتكون من ثلاثة أصفار واثنين من الواحدات بالضبط. وهذا يوفرتتضمن هذه الخوارزمية جميع التوليفات الممكنة، بما يكفي لتمثيل الأرقام من 0 إلى 9. ويمكنها اكتشاف جميع أخطاء البتات المفردة، وجميع أخطاء البتات ذات الأرقام الفردية، وبعض أخطاء البتات ذات الأرقام الزوجية (مثل قلب البتتين اللتين قيمتهما 1). ومع ذلك، لا تزال هذه الخوارزمية عاجزة عن تصحيح أي من هذه الأخطاء.
تكرار
كان هناك رمز آخر مستخدم آنذاك يُكرر كل بت من البيانات عدة مرات لضمان إرساله بشكل صحيح. على سبيل المثال، إذا كان بت البيانات المراد إرساله هو 1، فإن رمز التكرار n = 3 سيرسل 111. إذا لم تكن البتات الثلاثة المُستلمة متطابقة، فهذا يعني حدوث خطأ أثناء الإرسال. إذا كانت القناة نظيفة بما يكفي، ففي معظم الأحيان يتغير بت واحد فقط في كل ثلاثية. لذلك، فإن 001 و010 و100 تُقابل كل منها بت 0، بينما تُقابل 110 و101 و011 بت 1، حيث يشير العدد الأكبر من الأرقام المتطابقة ('0' أو '1') إلى قيمة بت البيانات الصحيحة. يُعرف الرمز الذي يتمتع بهذه القدرة على إعادة بناء الرسالة الأصلية في حالة وجود أخطاء باسم رمز تصحيح الأخطاء . هذا الرمز الثلاثي للتكرار هو رمز هامينغ مع m = 2، حيث يوجد بتان للتكافؤ، و 2 2 − 2 − 1 = 1 بت بيانات.
مع ذلك، لا تستطيع هذه الرموز إصلاح جميع الأخطاء بشكل صحيح. ففي مثالنا، إذا انقلبت القناة بتين وحصل المُستقبِل على 001، فسيكتشف النظام الخطأ، لكنه سيستنتج أن البت الأصلي هو 0، وهذا غير صحيح. إذا زدنا طول سلسلة البتات إلى أربعة، فسنتمكن من اكتشاف جميع الأخطاء المكونة من بتين، لكن لن نتمكن من تصحيحها (لأن عدد بتات التكافؤ زوجي)؛ أما عند خمسة بتات، فسنتمكن من اكتشاف جميع الأخطاء المكونة من بتين وتصحيحها، لكن ليس جميع الأخطاء المكونة من ثلاثة بتات.
علاوة على ذلك، فإن زيادة حجم سلسلة بتات التكافؤ غير فعالة، مما يقلل الإنتاجية بمقدار ثلاثة أضعاف في حالتنا الأصلية، وتنخفض الكفاءة بشكل كبير مع زيادة عدد مرات تكرار كل بت من أجل اكتشاف المزيد من الأخطاء وتصحيحها.
وصف
إذا أُضيفت بتات تصحيح الأخطاء إلى الرسالة، وإذا أمكن ترتيب هذه البتات بحيث تُنتج البتات الخاطئة المختلفة نتائج أخطاء مختلفة، فإنه يُمكن تحديد البتات المعيبة. في رسالة مكونة من سبعة بتات، توجد سبعة أخطاء محتملة في بت واحد، لذا يُمكن لثلاث بتات للتحكم في الأخطاء أن تُحدد ليس فقط حدوث خطأ، بل أيضًا البت الذي تسبب فيه.
درس هامينغ أنظمة الترميز الموجودة، بما في ذلك ترميز اثنين من خمسة، وعمّم مفاهيمها. في البداية، وضع مصطلحات لوصف النظام، تشمل عدد بتات البيانات وبتات تصحيح الأخطاء في كل كتلة. على سبيل المثال، يتضمن التكافؤ بتًا واحدًا لكل كلمة بيانات، لذا بافتراض أن كلمات ASCII تتكون من سبعة بتات، وصف هامينغ ذلك بأنه رمز (8،7) ، أي ثمانية بتات إجمالًا، سبعة منها بيانات. مثال التكرار هو (3،1) ، باتباع المنطق نفسه. معدل الترميز هو العدد الثاني مقسومًا على الأول، وفي مثال التكرار لدينا، هو 1/3.
لاحظ هامينغ أيضًا مشاكل قلب بتّين أو أكثر، ووصف ذلك بـ"المسافة" (وتُسمى الآن مسافة هامينغ نسبةً إليه). تبلغ مسافة التكافؤ 2، لذا يمكن اكتشاف قلب بت واحد ولكن لا يمكن تصحيحه، وأي قلبين لبتّين سيكونان غير مرئيين. تبلغ مسافة تكرار (3،1) 3، حيث يجب قلب ثلاثة بتّات في نفس الثلاثية للحصول على كلمة رمزية أخرى بدون أخطاء مرئية. يمكنه تصحيح أخطاء البت الواحد أو اكتشاف أخطاء البتّين - ولكن لا يمكن تصحيحها. تبلغ مسافة تكرار (4،1) (يتكرر كل بت أربع مرات) 4، لذا يمكن اكتشاف قلب ثلاثة بتّات ولكن لا يمكن تصحيحها. عندما تنقلب ثلاثة بتّات في نفس المجموعة، قد تحدث حالات ينتج عن محاولة التصحيح فيها كلمة رمزية خاطئة. بشكل عام، يمكن لرمز ذي مسافة k اكتشاف k - 1 خطأ ولكن لا يمكن تصحيحه.
كان هامينغ مهتمًا بمشكلتين في آن واحد: زيادة المسافة قدر الإمكان، وفي الوقت نفسه زيادة معدل التشفير قدر الإمكان. خلال أربعينيات القرن العشرين، طوّر عدة أنظمة تشفير مثّلت تحسينات جذرية على أنظمة التشفير الموجودة. وكان مفتاح نجاح جميع أنظمته هو تداخل بتات التكافؤ، بحيث تتمكن من التحقق من بعضها البعض ومن البيانات في آن واحد.
خوارزمية عامة
تُنشئ الخوارزمية العامة التالية رمز تصحيح خطأ واحد (SEC) لأي عدد من البتات. وتتلخص الفكرة الرئيسية في اختيار بتات تصحيح الأخطاء بحيث يكون ناتج عملية XOR للفهرس ( XOR لجميع مواضع البتات التي تحتوي على 1) مساويًا للصفر. نستخدم المواضع 1، 10، 100، إلخ (بالنظام الثنائي) كبتات تصحيح الأخطاء، مما يضمن إمكانية ضبط بتات تصحيح الأخطاء بحيث يكون ناتج عملية XOR للفهرس للرسالة بأكملها مساويًا للصفر. إذا استقبل المُستقبِل سلسلة نصية ناتج عملية XOR للفهرس فيها صفر، فإنه يستنتج عدم وجود أي تلف، وإلا، فإن ناتج عملية XOR للفهرس يُشير إلى موضع البت التالف.
يمكن استنتاج خوارزمية من الوصف التالي:
- قم بترقيم البتات بدءًا من 1: البت 1، 2، 3، 4، 5، 6، 7، إلخ.
- اكتب أرقام البتات بالنظام الثنائي: 1، 10، 11، 100، 101، 110، 111، إلخ.
- جميع مواضع البتات التي تمثل قوى العدد اثنين (لها بت واحد 1 في الشكل الثنائي لموضعها) هي بتات التكافؤ: 1، 2، 4، 8، إلخ. (1، 10، 100، 1000)
- جميع مواضع البتات الأخرى، التي تحتوي على بتتين أو أكثر من النوع 1 في الشكل الثنائي لموضعها، هي بتات بيانات.
- يتم تضمين كل بت من بتات البيانات في مجموعة فريدة من 2 أو أكثر من بتات التكافؤ، كما هو محدد بواسطة الشكل الثنائي لموضع البت الخاص به.
- يغطي بت التكافؤ 1 جميع مواضع البتات التي تحتوي على أقل بت ذي أهمية: البت 1 (بت التكافؤ نفسه)، 3، 5، 7، 9، إلخ.
- يغطي بت التكافؤ 2 جميع مواضع البت التي تحتوي على البت الأقل أهمية الثاني : البتات 2-3، 6-7، 10-11، إلخ.
- تغطي بتة التكافؤ 4 جميع مواضع البتات التي تحتوي على البتة الثالثة الأقل أهمية: البتات 4-7، 12-15، 20-23، إلخ.
- يغطي بت التكافؤ 8 جميع مواضع البت التي تحتوي على البت الأقل أهمية الرابع : البتات 8-15، 24-31، 40-47، إلخ.
- بشكل عام، يغطي كل بت تكافؤ جميع البتات التي يكون فيها ناتج عملية AND المنطقية بين موضع التكافؤ وموضع البت غير صفري.
إذا كانت بايت البيانات المراد ترميزها هي 10011010، فإن كلمة البيانات (باستخدام _ لتمثيل بتات التكافؤ) ستكون __1_001_1010، وكلمة الترميز هي 011100101010.
إن اختيار الزوجية، سواء كانت زوجية أو فردية، غير ذي صلة، ولكن يجب استخدام نفس الاختيار لكل من التشفير وفك التشفير.
يمكن توضيح هذه القاعدة العامة بصريًا:
موضع البت 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... بتات البيانات المشفرة ص1 ص2 د1 ص4 د2 د3 د4 ص8 د5 د6 د7 د8 د9 d10 د11 ص16 د12 د13 د14 د15 تغطية بت التكافؤ ص1 









ص2 









ص4 








ص8 







ص16 




يظهر هنا 20 بتًا مُشفّرًا فقط (5 بتات للتكافؤ، و15 بتًا للبيانات)، لكن النمط يستمر بلا نهاية. السمة الأساسية لرموز هامينغ، والتي يمكن ملاحظتها بالعين المجردة، هي أن كل بت مُحدد يقع ضمن مجموعة فريدة من بتات التكافؤ. للتحقق من وجود أخطاء، يتم فحص جميع بتات التكافؤ. يُحدد نمط الأخطاء، الذي يُسمى متلازمة الخطأ ، البت المُخطئ. إذا كانت جميع بتات التكافؤ صحيحة، فلا يوجد خطأ. وإلا، فإن مجموع مواقع بتات التكافؤ الخاطئة يُحدد البت المُخطئ. على سبيل المثال، إذا أشارت بتات التكافؤ في المواضع 1 و2 و8 إلى وجود خطأ، فإن البت 1+2+8=11 يكون خاطئًا. إذا أشار بت تكافؤ واحد فقط إلى وجود خطأ، فإن بت التكافؤ نفسه يكون خاطئًا.
مع m بتات التكافؤ، تتراوح البتات من 1 إلىيمكن تغطية ذلك. بعد خصم بتات التكافؤ،تبقى البتات متاحة للاستخدام كبيانات. ومع تغير قيمة m ، نحصل على جميع رموز هامينغ الممكنة:
| بتات التكافؤ | إجمالي البتات | بتات البيانات | اسم | معدل |
|---|---|---|---|---|
| 2 | 3 | 1 | Hamming(3,1) ( رمز التكرار الثلاثي ) | 1/3 ≈ 0.333 |
| 3 | 7 | 4 | هامينغ (7،4) | 4/7 ≈ 0.571 |
| 4 | 15 | 11 | هامينغ (15،11) | 11/15 ≈ 0.733 |
| 5 | 31 | 26 | هامينغ (31،26) | 26/31 ≈ 0.839 |
| 6 | 63 | 57 | هامينغ (63,57) | 57/63 ≈ 0.905 |
| 7 | 127 | 120 | هامينغ (127،120) | 120/127 ≈ 0.945 |
| 8 | 255 | 247 | هامينغ (255،247) | 247/255 ≈ 0.969 |
| 9 | 511 | 502 | هامينغ (511,502) | 502/511 ≈ 0.982 |
| ... | ||||
| م | هاميم | |||
رموز هامينغ مع التكافؤ الإضافي (SECDED)
تتميز رموز هامينغ بمسافة دنيا تبلغ 3، مما يعني أن جهاز فك التشفير قادر على اكتشاف وتصحيح خطأ واحد، ولكنه لا يستطيع التمييز بين خطأ ثنائي البت في كلمة رمزية وخطأ أحادي البت في كلمة رمزية أخرى. وبالتالي، سيتم فك تشفير بعض الأخطاء الثنائية البت بشكل خاطئ كما لو كانت أخطاء أحادية البت، وبالتالي لن يتم اكتشافها إلا إذا لم تتم محاولة تصحيحها.
للتغلب على هذا القصور، يمكن توسيع رموز هامينغ بإضافة بت تكافؤ إضافي. بهذه الطريقة، يُمكن زيادة الحد الأدنى لمسافة رمز هامينغ إلى 4، مما يسمح للمفكك بالتمييز بين أخطاء البت الواحد وأخطاء البتّين. وبالتالي، يستطيع المفكك اكتشاف خطأ واحد وتصحيحه، وفي الوقت نفسه اكتشاف خطأ مزدوج (دون تصحيحه). إذا لم يحاول المفكك تصحيح الأخطاء، فإنه يستطيع اكتشاف أخطاء البت الثلاثية بدقة. أما إذا قام بتصحيح الأخطاء، فسيتم الخلط بين بعض أخطاء البت الثلاثية وأخطاء البت الواحد، وسيتم "تصحيحها" إلى قيمة خاطئة. لذا، يُعد تصحيح الأخطاء بمثابة موازنة بين اليقين (القدرة على اكتشاف أخطاء البت الثلاثية بدقة) والمرونة (القدرة على الاستمرار في العمل في مواجهة أخطاء البت الواحد).
بالنسبة لـ k بت من البيانات، يتطلب مخطط SECDED ما يلي:
- ليكن q هو القوة الأولى للعدد 2 الأكبر من k .
- ليكن l هو الجزء السفلي من (log 2 ( k )) وليكن h هو l + 1.
- إذا كان k ≤ q - l - 1 ، فإن عدد البتات الإضافية المطلوبة هو l . وإلا فإن العدد المطلوب هو h .
كان رمز هامينغ الموسع شائعًا في أنظمة ذاكرة الحاسوب، بدءًا من جهاز IBM 7030 Stretch عام 1961، [ 4 ] حيث يُعرف باسم SECDED (أو SEC-DED، اختصارًا لـ single error correction, double error detection ). [ 5 ] تشمل الأشكال الشائعة لأنظمة الذاكرة (39,32) و(72,64). (على الرغم من أن استخدام طول كلمة رمزية على شكل 2^ m - 1 أكثر كفاءة، إلا أن أحجام كلمات بيانات الحاسوب الحالية، كونها قوى العدد 2، تحول دون هذا الخيار، مع أن أنظمة الاتصالات وتخزين البيانات تستفيد منه). لم تعد خوادم الحاسوب في القرن الحادي والعشرين، مع احتفاظها عادةً بمستوى حماية SECDED، تستخدم طريقة هامينغ، بل تعتمد بدلًا من ذلك على تصميمات ذات كلمات رمزية أطول (من 128 إلى 256 بت من البيانات) وأشجار فحص التكافؤ المتوازنة المعدلة. [ 4 ] لا يزال رمز هامينغ (72,64) شائعًا في بعض تصميمات الأجهزة، بما في ذلك عائلات Xilinx FPGA . [ 4 ]
[7,4] رمز هامينغ

في عام 1950، قدم هامينغ رمز هامينغ [7,4]. يقوم هذا الرمز بتشفير أربعة بتات من البيانات إلى سبعة بتات بإضافة ثلاثة بتات للتكافؤ. وكما ذُكر سابقًا، يمكنه إما اكتشاف أخطاء البت الواحد وتصحيحها، أو اكتشاف أخطاء البت الواحد والبتين معًا (دون تصحيحها).
بإضافة بت التكافؤ الكلي، يصبح رمز هامينغ الموسع [8,4] ويمكنه اكتشاف وتصحيح أخطاء البت الواحد واكتشاف (ولكن ليس تصحيح) أخطاء البت المزدوج.
إنشاء G و H
المصفوفة :={\begin{pmatrix}{\begin{array}{c|c}I_{k}&-A^{\text{T}}\\\end{array}}\end{pmatrix}}} تسمى مصفوفة المولد (الأساسية) لرمز خطي ( n , k )،
و :={\begin{pmatrix}{\begin{array}{c|c}A&I_{nk}\\\end{array}}\end{pmatrix}}} تسمى مصفوفة فحص التكافؤ .
هذا هو بناء G و H بالشكل القياسي (أو المنهجي). وبغض النظر عن الشكل، يجب أن تستوفي G و H في رموز الكتل الخطية الشروط التالية
، مصفوفة جميع عناصرها أصفار. [ 6 ]
بما أن [7, 4, 3] = [ n , k , d ] = [2m − 1 , 2m − 1 − m , 3]، فإن مصفوفة التحقق من التكافؤ H لرمز هامينغ تُنشأ عن طريق سرد جميع الأعمدة ذات الطول m التي تكون مستقلة مثنى مثنى.
إذن، H هي مصفوفة يكون طرفها الأيسر جميع العناصر غير الصفرية المكونة من n عنصرًا، حيث لا يهم ترتيب هذه العناصر في أعمدة المصفوفة. أما طرفها الأيمن فهو مصفوفة الوحدة من الرتبة ( n - k ) .
لذا يمكن الحصول على G من H عن طريق أخذ منقولة الجانب الأيسر من H مع مصفوفة الوحدة k - مصفوفة الوحدة على الجانب الأيسر من G.
مصفوفة مولد الشفرةومصفوفة التحقق من التكافؤنكون:
:={\begin{pmatrix}1&0&0&0&1&1&0\\0&1&0&0&1&0&1\\0&0&1&0&0&1&1\\0&0&0&1&1&1&1\end{pmatrix}}_{4,7}}
و
:={\begin{pmatrix}1&1&0&1&1&0&0\\1&0&1&1&0&1&0\\0&1&1&1&0&0&1\end{pmatrix}}_{3,7}.}
وأخيرًا، يمكن تحويل هذه المصفوفات إلى رموز غير منهجية مكافئة من خلال العمليات التالية: [ 6 ]
- تبديل الأعمدة (تبديل الأعمدة)
- عمليات الصفوف الأولية (استبدال صف بمجموعة خطية من الصفوف)
التشفير
- مثال
من المصفوفة أعلاه، لدينا 2k = 24 = 16 كلمة رمزية. لنفترضليكن متجه صف من بتات البيانات الثنائية،كلمة السرلأي من متجهات البيانات الستة عشر الممكنةيُعطى بواسطة الضرب القياسي للمصفوفاتحيث يتم إجراء عملية الجمع بتردد 2.
على سبيل المثال، لنفترضباستخدام مصفوفة المولدمن الأعلى، لدينا (بعد تطبيق باقي القسمة على 2، على المجموع)،
[8,4] رمز هامينغ مع بت تكافؤ إضافي

يمكن بسهولة توسيع ترميز هامينغ [7,4] إلى ترميز [8,4] بإضافة بت تكافؤ إضافي أعلى الكلمة المشفرة (7,4) (انظر Hamming(7,4) ). ويمكن تلخيص ذلك بالمصفوفات المعدلة التالية:
- :={\begin{pmatrix}1&1&1&0&0&0&0&1\\1&0&0&1&1&0&0&1\\0&1&0&1&0&1&0&1\\1&1&0&1&0&0&1&0\end{pmatrix}}_{4,8}}
و
- :={\begin{pmatrix}1&0&1&0&1&0&1&0\\0&1&1&0&0&1&1&0\\0&0&0&1&1&1&0\\1&1&1&1&1&1&1&1\end{pmatrix}}_{4,8}.}
لاحظ أن المصفوفة H ليست في الصيغة القياسية. وللحصول على المصفوفة G، يمكن استخدام عمليات الصف الأولية للحصول على مصفوفة مكافئة للمصفوفة H في صيغة منتظمة.
على سبيل المثال، يُمثل الصف الأول في هذه المصفوفة مجموع الصفين الثاني والثالث من المصفوفة H في شكلها غير المنتظم. وباستخدام البنية المنتظمة لرموز هامينغ المذكورة أعلاه، تصبح المصفوفة A واضحة، ويُكتب الشكل المنتظم للمصفوفة G على النحو التالي:
يمكن اختزال الشكل غير المنتظم لـ G إلى شكل صف (باستخدام عمليات الصف الأولية) ليطابق هذه المصفوفة.
إن إضافة الصف الرابع تحسب فعليًا مجموع جميع بتات كلمة الترميز (البيانات والتكافؤ) كبت التكافؤ الرابع.
على سبيل المثال، يتم ترميز العدد 1011 (باستخدام الصيغة غير المنتظمة لـ G في بداية هذا القسم) إلى 01 1 0 011 0، حيث تمثل الأرقام الزرقاء البيانات، والأرقام الحمراء بتات التكافؤ من ترميز هامينغ [7,4]، والرقم الأخضر هو بت التكافؤ المضاف بواسطة الترميز [8,4]. يجعل الرقم الأخضر تكافؤ كلمات الترميز [7,4] زوجيًا.
وأخيرًا، يمكن إثبات أن الحد الأدنى للمسافة قد ازداد من 3 في رمز [7,4] إلى 4 في رمز [8,4]. لذا، يمكن تعريف هذا الرمز بأنه رمز هامينغ [8,4].
لفك تشفير رمز هامينغ [8,4]، تحقق أولاً من بت التكافؤ. إذا أشار بت التكافؤ إلى وجود خطأ، فسيشير تصحيح الخطأ الفردي (رمز هامينغ [7,4]) إلى موقع الخطأ، بينما يشير "عدم وجود خطأ" إلى بت التكافؤ. إذا كان بت التكافؤ صحيحًا، فسيشير تصحيح الخطأ الفردي إلى عملية XOR الثنائية لموقعَي الخطأ. إذا كان الموقعان متساويين ("لا يوجد خطأ")، فهذا يعني إما عدم حدوث خطأ في البت المزدوج، أو أنه قد ألغى نفسه. وإلا، فقد حدث خطأ في البت المزدوج.
انظر أيضاً
ملحوظات
- ↑ انظر إلى اللمة 12 من
- ↑ هامينغ (1950) ، ص 153-154.
- ↑ تومسون، توماس م. (1983)، من رموز تصحيح الأخطاء مرورًا بتعبئة الكرات وصولًا إلى المجموعات البسيطة ، سلسلة كاروس للدراسات الرياضية (#21)، الجمعية الرياضية الأمريكية، ص 16-17 ، ISBN 0-88385-023-0
- 1 2 3 Kythe & Kythe 2012 ، ص. 115.
- ↑ Kythe & Kythe 2012 ، ص 95.
- 1 2 مون تي. ترميز تصحيح الأخطاء: الأساليب الرياضية والخوارزميات. جون وايلي وأولاده، 2005. (الفصل 3) ISBN 978-0-471-64800-0
مراجع
- هامينغ، ريتشارد ويسلي (1950). "رموز اكتشاف الأخطاء وتصحيحها" ( ملف PDF) . مجلة بيل سيستم التقنية . 29 (2): 147-160 . doi : 10.1002/j.1538-7305.1950.tb00463.x . hdl : 10945/46756 . S2CID 61141773. مؤرشف (ملف PDF) من الأصل بتاريخ 9 أكتوبر 2022.
- مون، تود ك. (2005). ترميز تصحيح الأخطاء . نيوجيرسي : جون وايلي وأولاده . ISBN 978-0-471-64800-0.
- ماكاي، ديفيد جيه سي (سبتمبر 2003). نظرية المعلومات، والاستدلال، وخوارزميات التعلم . كامبريدج : مطبعة جامعة كامبريدج . ISBN 0-521-64298-1.
- دي كي بهاتاشاريا، إس ناندي. "فئة فعالة من رموز SEC-DED-AUED". الندوة الدولية لعام 1997 حول البنى المتوازية والخوارزميات والشبكات (ISPAN '97) . الصفحات 410-415 . doi : 10.1109/ISPAN.1997.645128 .
- "تحدي الرياضيات - أبريل 2013: رموز تصحيح الأخطاء" (ملف PDF) . فريق قيادة مجموعة swissQuant . أبريل 2013. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 12 سبتمبر 2017.
- كيث، ديف ك.؛ كيث، بريم ك. (2012). "رموز هامينغ الموسعة" . نظرية الترميز الجبري والعشوائي . مطبعة سي آر سي. ص 95-116 . ISBN 978-1-351-83245-8.
روابط خارجية
- الاختراعات الأمريكية
- نظرية الترميز
- اكتشاف الأخطاء وتصحيحها
- الحساب الحاسوبي
- 1951 في مجال الحوسبة
