خوارزمية فيرهوف

خوارزمية فيرهوف [ 1 ] هي مجموع اختباري للكشف عن الأخطاء، وقد نشرها لأول مرة عالم الرياضيات الهولندي جاكوبوس فيرهوف في عام 1969. [ 2 ] [ 3 ] كانت أول خوارزمية رقم فحص عشري تكشف جميع أخطاء الرقم الواحد، وجميع أخطاء التبديل التي تتضمن رقمين متجاورين، [ 4 ] وهو ما كان يُعتقد في ذلك الوقت أنه مستحيل باستخدام مثل هذا الرمز.

تم اكتشاف هذه الطريقة بشكل مستقل من قبل إتش. بيتر غوم في عام 1985، وهذه المرة تضمنت برهانًا رسميًا وامتدادًا لأي قاعدة. [ 5 ]

الأهداف

كان هدف فيرهوف إيجاد رمز عشري - يكون فيه رقم التحقق رقمًا عشريًا واحدًا - يكشف جميع أخطاء الرقم الواحد وجميع عمليات تبديل الأرقام المتجاورة. في ذلك الوقت، ساهمت البراهين المفترضة على عدم وجود هذه الرموز [ 6 ] في انتشار رموز الأساس 11، كما هو الحال في رقم التحقق في رقم ISBN .

كانت أهدافه عملية أيضًا، وقد اعتمد في تقييمه للرموز المختلفة على بيانات حية من نظام البريد الهولندي، مستخدمًا نظام نقاط مُرجّحة لأنواع الأخطاء المختلفة. وقد صنّف التحليل الأخطاء إلى عدة فئات: أولًا، حسب عدد الأرقام الخاطئة؛ فبالنسبة للأخطاء التي تحتوي على رقمين، هناك تبديلات ( abbaوتوأمات ( aabb )، وتبديلات قفزية ( abccba ) ، وأخطاء صوتية ( 1aa0وتوأمات قفزية ( abacbc ). بالإضافة إلى ذلك، هناك أرقام محذوفة وأخرى مضافة. وعلى الرغم من أن تكرار بعض هذه الأنواع من الأخطاء قد يكون ضئيلًا، إلا أن بعض الرموز قد تكون محصنة ضدها، إلى جانب الهدف الأساسي المتمثل في اكتشاف جميع الأخطاء الفردية والتبديلات.

أظهرت الأخطاء الصوتية على وجه الخصوص تأثيرات لغوية، لأنه في اللغة الهولندية، تُقرأ الأرقام عادةً في أزواج؛ وأيضًا في حين أن 50 تبدو مشابهة لـ 15 في اللغة الهولندية، فإن 80 لا تبدو مثل 18.

على سبيل المثال، ذكر فيرهوف التصنيف التالي للأخطاء:

أرقام خاطئةتصنيفعددتكرار
1النسخ957479.05%
2عمليات النقل123710.21%
توأم670.55%
صوتي590.49%
مجاور آخر2321.92%
تبديل القفز990.82%
توأم القفز350.29%
أخطاء القفز الأخرى430.36%
آخر980.81%
31691.40%
41180.97%
52191.81%
61621.34%
المجموع12112

وصف

تتلخص الفكرة العامة للخوارزمية في تمثيل كل رقم من الأرقام (من 0 إلى 9) كعنصر من عناصر المجموعة ثنائية السطوح D5 . أي، يتم ربط الأرقام بـ D5 ، ثم إجراء بعض التعديلات عليها، ثم إعادة ربطها بالأرقام الأصلية. ولتكن هذه العملية m : [0, 9] → D5 

م=(0123456789هـرر2ر3ر4sرsر2sر3sر4s){\displaystyle m={\begin{pmatrix}0&1&2&3&4&5&6&7&8&9\\e&r&r^{2}&r^{3}&r^{4}&s&rs&r^{2}s&r^{3}s&r^{4}s\end{pmatrix}}}

ليكن الرقم النوني هو a n وليكن عدد الأرقام k .

على سبيل المثال، إذا كان الرمز 942 فإن k هو 3 و a 3 = m (2) = r 2 .

الآن، عرّف التبديل f  : D 5 → D 5

و=(هـرر2ر3ر4sرsر2sر3sر4sرsر2sرsر2ر3sر3هـر4sر4){\displaystyle f={\begin{pmatrix}e&r&r^{2}&r^{3}&r^{4}&s&rs&r^{2}s&r^{3}s&r^{4}s\\r&s&r^{2}s&rs&r^{2}&r^{3}s&r^{3}&e&r^{4}s&r^{4}\end{pmatrix}}}

على سبيل المثال،و(ر3)=رs{\displaystyle f(r^{3})=rs}مثال آخر هوو2(ر3)=ر3{\displaystyle f^{2}(r^{3})=r^{3}}منذو(و(ر3))=و(رs)=ر3{\displaystyle f(f(r^{3}))=f(rs)=r^{3}}.

باستخدام الترميز الضربي لعملية المجموعة D 5 ، يكون رقم التحقق ببساطة قيمة c بحيث

و0(ج)و1(أك)...وك-1(أ2)وك(أ1)=هـ{\displaystyle f^{0}(c)\cdot f^{1}(a_{k})\cdot \ldots \cdot f^{k-1}(a_{2})\cdot f^{k}(a_{1})=e}

يُعطى العدد c صراحةً بواسطة المعكوس الضربي:

ج=(ن=1كون(أك+1-ن))-1{\displaystyle c=\left(\prod _{n=1}^{k}f^{n}(a_{k+1-n})\right)^{-1}}

على سبيل المثال، رقم التحقق للعدد 942 هو 7. وللتحقق من ذلك، استخدم الربط مع D 5 وأدخله في الطرف الأيسر من المعادلة السابقة.

و0(ر2s)و1(ر2)و2(ر4)و3(ر4s)=هـ{\displaystyle f^{0}(r^{2}s)\cdot f^{1}(r^{2})\cdot f^{2}(r^{4})\cdot f^{3}(r^{4}s)=e}

لتقييم هذا التبديل بسرعة، استخدم ذلك

و3(ر4s)=و2(ر4)=و1(ر2)=و0(ر2s)=ر2s{\displaystyle f^{3}(r^{4}s)=f^{2}(r^{4})=f^{1}(r^{2})=f^{0}(r^{2}s)=r^{2}s}

للحصول على ذلك

ر2sر2sر2sر2s=هـ{\displaystyle r^{2}s\cdot r^{2}s\cdot r^{2}s\cdot r^{2}s=e}

هذا هو نفس الانعكاس الذي يتم ضربه بشكل متكرر. استخدم حقيقة أن الانعكاسات هي معكوساتها. [ 7 ]

(ر2sر2s)(ر2sر2s)=هـ2=هـ{\displaystyle (r^{2}s\cdot r^{2}s)\cdot (r^{2}s\cdot r^{2}s)=e^{2}=e}

عمليًا، تُنفَّذ الخوارزمية باستخدام جداول بحث بسيطة دون الحاجة إلى فهم كيفية توليد هذه الجداول من نظرية الزمر والتباديل الأساسية. ويُعتبر هذا، بشكل أدق، عائلة من الخوارزميات، إذ تعمل تباديل أخرى أيضًا. ويشير فيرهوف إلى أن التبديل المذكور أعلاه مميزٌ لأنه يتميز بقدرته على كشف 95.3% من الأخطاء الصوتية. [ 8 ]

تكمن نقاط قوة الخوارزمية في أنها تكتشف جميع أخطاء النقل الصوتي والتبديل، بالإضافة إلى معظم أخطاء التوأمة، والقفزة التوأمية، والتبديل القفزي، والأخطاء الصوتية.

تكمن نقطة الضعف الرئيسية لخوارزمية فيرهوف في تعقيدها. فالحسابات المطلوبة لا يمكن التعبير عنها بسهولة بصيغة رياضية، مثلاً Z / 10 Z. لذا، يلزم استخدام جداول بحث لتسهيل الحساب. وتُعد خوارزمية دام خوارزمية مشابهة لها، إذ تتمتع بخصائص مماثلة.

خوارزمية قائمة على الجداول

يمكن تنفيذ خوارزمية فيرهوف باستخدام ثلاثة جداول: جدول الضرب d ، وجدول المعكوس inv، وجدول التبديل p .

الجدول الأول، d ، مبني على الضرب في المجموعة ثنائية السطوح D5 . [ 7 ] وهو ببساطة جدول كايلي للمجموعة. لاحظ أن هذه المجموعة ليست تبديلية ، أي أنه بالنسبة لبعض قيم j و k ، فإن d ( j , k ) ≠ d ( k , j ) .

يمثل الجدول العكسي inv المعكوس الضربي للرقم، أي القيمة التي تحقق d ( j , inv( j )) = 0 .

يطبق جدول التباديل p تبديلاً على كل رقم بناءً على موقعه في العدد. وهذا في الواقع تبديل واحد (1 5 8 9 4 2 7 0)(3 6) يُطبق بشكل تكراري؛ أي p ( i + j , n ) = p ( i , p ( j , n )) .

يتم إجراء حساب مجموع التحقق لفيرهوف على النحو التالي:

  1. قم بإنشاء مصفوفة n من الأرقام الفردية للعدد، مأخوذة من اليمين إلى اليسار (الرقم الموجود في أقصى اليمين هو n 0 ، إلخ).
  2. قم بتهيئة مجموع التحقق c إلى الصفر.
  3. لكل فهرس i من المصفوفة n ، بدءًا من الصفر، استبدل c بـ d ( c , p ( i mod 8, n i )) .

يكون الرقم الأصلي صالحاً إذا وفقط إذا كانت قيمة c تساوي صفرًا .

لإنشاء رقم تحقق، أضف 0، وقم بإجراء العملية الحسابية: رقم التحقق الصحيح هو inv( c ).

أمثلة

الاستخدامات

تُستخدم خوارزمية فيرهوف في مجموعة متنوعة من الأنظمة، بما في ذلك:

انظر أيضاً

مراجع

  1. ^ فيرهوف، ج. (1969). "خطأ في اكتشاف الرموز العشرية (المسالك 29)". Zeitschrift für Angewandte الرياضيات والميكانيكا . 51 (3). مركز الرياضيات، أمستردام: 240. بيب كود : 1971ZaMM...51..240N . دوى : 10.1002/zamm.19710510323 .
  2. كيرتلاند، جوزيف (2001). "5. نظرية الزمر ونظام التحقق من الأرقام لفيرهوف" . أرقام التعريف وأنظمة التحقق من الأرقام . الجمعية الرياضية الأمريكية. ص 153. ISBN  0-88385-720-0.
  3. سالومون، ديفيد (2005). "§2.11 طريقة فيرهوف للتحقق من الأرقام" . ترميز اتصالات البيانات والحاسوب . سبرينغر. ص 56-58 . ISBN  0-387-21245-0.
  4. هاونسبرغر، ديانا؛ كينيدي، ستيفن، محرران. (2006). حافة الكون: الاحتفال بعشر سنوات من آفاق الرياضيات . الجمعية الرياضية الأمريكية. ص 38. ISBN  978-0-88385-555-3. إل سي سي إن 2005937266 . 
  5. غوم، هـ. (يناير 1985). "فئة جديدة من طرق التحقق من الأرقام لأنظمة الأعداد العشوائية (مراسلات)" . معاملات IEEE في نظرية المعلومات . 31 (1): 102-105 . doi : 10.1109/TIT.1985.1056991 .
  6. سيسون، روجر ل. (مايو 1958). "تحسين فحص التكرار العشري" . اتصالات رابطة آلات الحوسبة . 1 (5): 10-12 . doi : 10.1145/368819.368854 .
  7. 1 2 جاليان، جوزيف أ. (2010). الجبر التجريدي المعاصر (الطبعة السابعة ). بروكس / كول. ص. 111 . رقم ISBN   978-0-547-16509-7LCCN 2008940386. تم الاطلاع عليه بتاريخ 26 أغسطس 2011. رقم التحقق من فيرهوف . 
  8. فيرهوف 1969 ، ص 95 
  9. فيرهوف 1969 ، ص 83 
  10. "وقائع مؤتمر EIMI 2010" (ملف PDF) . معهد فرويدنتال، جامعة أوتريخت . لشبونة، البرتغال: الواجهات التعليمية بين الرياضيات والصناعة. 2010. ص 128. doi : 10.1007/978-3-319-02270-3 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 16 مايو 2024. تم الاطلاع عليه بتاريخ 13 سبتمبر 2025 . 
  11. سوريليا، فيبين. "تطبيق خوارزمية فيرهوف من قبل البنوك لتطبيقات متعلقة بنظام أدهار" (ملف PDF) . npci.org.in. المؤسسة الوطنية للمدفوعات في الهند. ص 1. مؤرشف من الأصل (التعميم الرسمي) بتاريخ 10 سبتمبر 2025. تم الاطلاع عليه بتاريخ 10 سبتمبر 2025 . 
  12. "رقم مرجع نقطة العداد (MPRN)" . mrso.ie. مشغل نظام تسجيل العدادات، أيرلندا. مؤرشف من الأصل في 13 سبتمبر 2025. تم الاطلاع عليه في 13 سبتمبر 2025 .
  13. "حساب رقم التحقق" . docs.snomed.org . SNOMED International. مؤرشف من الأصل (الوثائق الرسمية) بتاريخ 13 سبتمبر 2025. تم الاطلاع عليه بتاريخ 13 سبتمبر 2025 .