ما هي مسافة هامينغ؟
مسافة هامينغ بين سلسلتين نصيتين متساويتين في الطول هي عدد المواضع التي تختلف فيها الرموز المتقابلة. سُمّيت هذه المسافة نسبةً إلى العالم ريتشارد هامينغ، وهي من المفاهيم الأساسية في نظرية المعلومات ونظرية الترميز وعلوم الحاسوب. وهي تقيس أقل عدد من عمليات الاستبدال اللازمة لتحويل سلسلة إلى أخرى، وتُستخدم على نطاق واسع في أكواد كشف الأخطاء وتصحيحها.
كيفية استخدام الحاسبة
أدخل السلسلتين النصيتين، ويمكن أن تكونا تسلسلين ثنائيين (مثل 1011101)، أو قواعد نيتروجينية في الحمض النووي (DNA)، أو أي نص آخر. تقوم الحاسبة بمقارنتهما حرفًا حرفًا وتحسب عدد المواضع المختلفة. وإذا كانت السلسلتان مختلفتين في الطول، فإن كل حرف زائد في السلسلة الأطول يُحتسب على أنه اختلاف.
شرح المعادلة
بالنسبة لسلسلتين a وb، تُحسب مسافة هامينغ كمجموعٍ على جميع المواضع i لمؤشرٍ تساوي قيمته 1 عندما ai ≠ bi، و0 فيما عدا ذلك:
$$d = \sum_{i=1}^{\min(|a|,|b|)} \left[\, \text{A}_i \neq \text{B}_i \,\right] + \Big|\; |\text{A}| - |\text{B}| \;\Big|$$
تكون النتيجة دائمًا عددًا صحيحًا غير سالب يتراوح بين 0 (تطابق تام) وطول السلسلة (اختلاف في كل المواضع).
مثال محلول
لنقارن بين 1011101 و1001001. عند محاذاتهما:
10111011001001
يظهر الاختلاف عند الموضع رقم 3 (1 مقابل 0) والموضع رقم 5 (1 مقابل 0). وهذا يعطي مسافة هامينغ تساوي 2.
الأسئلة الشائعة
هل يجب أن تكون السلسلتان متساويتين في الطول؟ تتطلب مسافة هامينغ الكلاسيكية تساوي الطول. ومع ذلك، تقدم هذه الأداة نتيجة مفيدة للسلاسل غير المتساوية عبر احتساب كل حرف زائد على أنه عدم تطابق.
هل تعمل مع النصوص غير الثنائية؟ نعم. يمكن مقارنة أي رموز، سواء كانت حروفًا أو أرقامًا أو رموزًا خاصة.
ما الفرق بينها وبين مسافة ليفنشتاين؟ تحسب مسافة هامينغ عمليات الاستبدال فقط عند مواضع ثابتة، بينما تسمح مسافة ليفنشتاين أيضًا بعمليات الإدراج والحذف.