رقم التحقق

رقم التحقق هو شكل من أشكال التحقق من التكرار المستخدم للكشف عن الأخطاء في أرقام التعريف، مثل أرقام الحسابات المصرفية، والتي تُستخدم في تطبيق حيث سيتم إدخالها يدويًا في بعض الأحيان على الأقل. وهو مشابه لبت التكافؤ الثنائي المستخدم للتحقق من الأخطاء في البيانات التي يتم إنشاؤها بواسطة الكمبيوتر. ويتكون من رقم أو أكثر (أو أحرف) يتم حسابها بواسطة خوارزمية من الأرقام (أو الأحرف) الأخرى في تسلسل الإدخال. [1]

باستخدام رقم الفحص، يمكن للمرء أن يكتشف أخطاء بسيطة في إدخال سلسلة من الأحرف (عادةً أرقام) مثل رقم واحد مكتوب بشكل خاطئ أو بعض التباديل لرقمين متتاليين.

تصميم

تم تصميم خوارزميات التحقق الرقمي بشكل عام لالتقاط أخطاء النسخ البشرية . وفقًا لترتيب التعقيد، تتضمن هذه الخوارزميات ما يلي: [2]

  • أخطاء الحروف/الأرقام، مثل l → 1 أو O → 0
  • أخطاء مكونة من رقم واحد، مثل 1 → 2
  • أخطاء النقل، مثل 12 → 21
  • أخطاء توأمية، مثل 11 → 22
  • أخطاء النقل القفزي، مثل 132 → 231
  • أخطاء التوأم القفزي، مثل 131 → 232
  • الأخطاء الصوتية، مثل 60 → 16 ("ستين" إلى "ستة عشر")

عند اختيار نظام ما، يتم الموازنة بين الاحتمالية العالية لالتقاط الأخطاء وصعوبة التنفيذ؛ حيث يمكن للبشر فهم وتنفيذ أنظمة الأرقام الاختبارية البسيطة بسهولة، ولكنها لا تلتقط العديد من الأخطاء مثل الأنظمة المعقدة، والتي تتطلب برامج متطورة لتنفيذها.

الميزة المرغوبة هي أن الحشو الأيسر بالأصفار لا ينبغي أن يغير رقم الاختبار. وهذا يسمح باستخدام أرقام ذات أطوال متغيرة وتغيير الطول. إذا تمت إضافة رقم اختبار واحد إلى الرقم الأصلي، فلن يلتقط النظام دائمًا أخطاء متعددة ، مثل خطأي الاستبدال (12 → 34)، على الرغم من أنه عادةً ما يتم اكتشاف الأخطاء المزدوجة بنسبة 90% من الوقت (سيحتاج كلا التغييرين إلى تغيير الناتج عن طريق تعويض المبالغ).

ستكون طريقة التحقق من الأرقام البسيطة للغاية هي أخذ مجموع جميع الأرقام ( المجموع الرقمي ) modulo 10. سيؤدي ذلك إلى اكتشاف أي خطأ في رقم واحد، حيث سيؤدي مثل هذا الخطأ دائمًا إلى تغيير المجموع، ولكنه لا يكتشف أي أخطاء في النقل (تبديل رقمين) لأن إعادة الترتيب لا تغير المجموع.

الطريقة الأكثر تعقيدًا قليلًا هي أخذ المجموع المرجح للأرقام، modulo 10، بأوزان مختلفة لكل موضع رقم.

لتوضيح ذلك، على سبيل المثال، إذا كانت الأوزان لرقم مكون من أربعة أرقام هي 5، 3، 2، 7 وكان الرقم الذي يجب ترميزه هو 4871، فيجب أن نأخذ 5×4 + 3×8 + 2×7 + 7×1 = 65، أي 65 modulo 10، وسيكون رقم الاختبار هو 5، مما يعطينا 48715.

تُستخدم على نطاق واسع أنظمة بأوزان 1 أو 3 أو 7 أو 9، مع اختلاف الأوزان على الأرقام المجاورة: على سبيل المثال، 31 وزنًا 31 في أكواد UPC ، و13 وزنًا 13 في أرقام EAN (خوارزمية GS1)، و371 وزنًا 371 371 371 المستخدمة في أرقام النقل الخاصة بالبنك في الولايات المتحدة . يكتشف هذا النظام جميع الأخطاء المكونة من رقم واحد وحوالي 90٪ [ بحاجة لمصدر ] من أخطاء النقل. تُستخدم الأعداد 1 و3 و7 و9 لأنها أعداد أولية مشتركة مع 10، لذا فإن تغيير أي رقم يغير رقم الاختبار؛ سيؤدي استخدام معامل قابل للقسمة على 2 أو 5 إلى فقد المعلومات (لأن 5×0 = 5×2 = 5×4 = 5×6 = 5×8 = 0 modulo 10) وبالتالي لا يتم اكتشاف بعض الأخطاء المكونة من رقم واحد. يعني استخدام أوزان مختلفة على الأرقام المجاورة أن معظم عمليات النقل تغير رقم الاختبار؛ ومع ذلك، نظرًا لأن جميع الأوزان تختلف برقم زوجي، فإن هذا لا يشمل النقلات بين رقمين يختلفان بـ 5 (0 و5، 1 و6، 2 و7، 3 و8، 4 و9)، حيث إن ضرب 2 و5 يعطي 10.

يستخدم رمز ISBN-10 بدلاً من ذلك modulo 11، وهو أولي، وجميع مواضع الأرقام لها أوزان مختلفة 1، 2، ... 10. وبالتالي يكتشف هذا النظام جميع أخطاء الاستبدال والنقل ذات الرقم الواحد (بما في ذلك النقلات المفاجئة)، ولكن على حساب أن رقم الاختبار قد يكون 10، ويمثله "X". (البديل هو ببساطة تجنب استخدام الأرقام التسلسلية التي تؤدي إلى رقم اختبار "X"). يستخدم ISBN-13 بدلاً من ذلك خوارزمية GS1 المستخدمة في أرقام EAN.

تتضمن الخوارزميات الأكثر تعقيدًا خوارزمية Luhn (1954)، والتي تلتقط 98% من أخطاء النقل المكونة من رقم واحد (لا تكتشف 90 ↔ 09) وخوارزمية Verhoeff الأكثر تطورًا (1969)، والتي تلتقط جميع أخطاء الاستبدال والنقل المكونة من رقم واحد، والعديد (ولكن ليس كلها) من الأخطاء الأكثر تعقيدًا. على غرار طريقة أخرى تعتمد على الجبر المجرد ، خوارزمية Damm (2004)، والتي تكتشف أيضًا جميع أخطاء الرقم الواحد وجميع أخطاء النقل المجاورة. تستخدم هذه الطرق الثلاث رقم اختبار واحدًا وبالتالي ستفشل في التقاط حوالي 10% [ بحاجة لمصدر ] من الأخطاء الأكثر تعقيدًا. لتقليل معدل الفشل هذا، من الضروري استخدام أكثر من رقم اختبار واحد (على سبيل المثال، فحص modulo 97 المشار إليه أدناه، والذي يستخدم رقمين اختباريين - للخوارزمية، انظر رقم الحساب المصرفي الدولي ) و/أو استخدام نطاق أوسع من الأحرف في رقم الاختبار، على سبيل المثال الأحرف بالإضافة إلى الأرقام.

أمثلة

UPC، EAN، GLN، GTIN، الأرقام التي تديرها GS1

الرقم الأخير من رمز المنتج العالمي أو رقم المقالة الدولي أو رقم الموقع العالمي أو رقم العنصر التجاري العالمي هو رقم اختبار يتم حسابه على النحو التالي: [3] [4]

  1. قم بإضافة الأرقام في المواضع الفردية من اليسار (الأول، الثالث، الخامس، إلخ - باستثناء رقم الاختبار) معًا ثم اضربها في ثلاثة.
  2. أضف الأرقام (حتى الرقم الاختباري ولكن لا تشمله) في المواضع الزوجية (الثاني، الرابع، السادس، إلخ) إلى النتيجة.
  3. خذ باقي النتيجة مقسومًا على 10 (أي عملية modulo 10). إذا كان الباقي يساوي 0، فاستخدم 0 كرقم اختبار، وإذا لم يكن 0، فاطرح الباقي من 10 لاستنتاج رقم الاختبار.

تتوفر حاسبة رقمية للتحقق من صحة أرقام GS1 ووثائق تفصيلية على الإنترنت على موقع GS1 على الويب. [5] تُظهر صفحة حاسبة رسمية أخرى أن آلية GTIN-13 هي نفسها بالنسبة لرقم الموقع العالمي /GLN. [6]

على سبيل المثال، رمز UPC-A لعلبة مناديل ورقية هو "036000241457". الرقم الأخير هو رقم الاختبار "7"، وإذا كانت الأرقام الأخرى صحيحة، فيجب أن ينتج عن حساب رقم الاختبار الرقم 7.

  1. أضف الأرقام الفردية: 0+6+0+2+1+5 = 14.
  2. اضرب النتيجة في 3: 14 × 3 = 42.
  3. أضف أرقام الأعداد الزوجية: 3+0+0+4+4 = 11.
  4. أضف النتيجتين معًا: 42 + 11 = 53.
  5. لحساب رقم الاختبار، خذ الباقي من (53 / 10)، والذي يُعرف أيضًا باسم (53 modulo 10)، وإذا لم يكن 0، اطرح من 10. وبالتالي، تكون قيمة رقم الاختبار 7. أي (53 / 10) = 5 الباقي 3؛ 10 - 3 = 7.

مثال آخر: لحساب رقم الاختبار للعنصر الغذائي التالي "01010101010 x ".

  1. أضف الأرقام الفردية: 0+0+0+0+0+0+0 = 0.
  2. اضرب النتيجة في 3: 0 × 3 = 0.
  3. أضف أرقام الأعداد الزوجية: 1+1+1+1+1=5.
  4. أضف النتيجتين معًا: 0 + 5 = 5.
  5. لحساب رقم الاختبار، خذ الباقي من (5 / 10)، والذي يُعرف أيضًا باسم (5 modulo 10)، وإذا لم يكن 0، اطرح من 10: أي (5 / 10) = 0 الباقي 5؛ (10 - 5) = 5. وبالتالي، فإن قيمة رقم الاختبار x هي 5.

رقم الكتاب الدولي المعياري 10

الحرف الأخير من رقم الكتاب الدولي الموحد المكون من عشرة أرقام هو رقم اختبار يتم حسابه بحيث يكون ضرب كل رقم في موضعه في الرقم (العد من اليمين) وأخذ مجموع هذه الضرب modulo 11 هو 0. الرقم الأبعد إلى اليمين (الذي يتم ضربه في 1) هو رقم الاختبار، والذي تم اختياره لجعل المجموع صحيحًا. قد يلزم أن يكون له القيمة 10، والتي يتم تمثيلها بالحرف X. على سبيل المثال، خذ رقم ISBN  0-201-53082-1 : مجموع الضرب هو 0×10 + 2×9 + 0×8 + 1×7 + 5×6 + 3×5 + 0×4 + 8×3 + 2×2 + 1×1 = 99 ≡ 0 (mod 11). لذا فإن رقم ISBN صالح. يمكن أيضًا حساب المواضع من اليسار، وفي هذه الحالة يتم ضرب رقم الاختبار في 10 للتحقق من الصحة: ​​0×1 + 2×2 + 0×3 + 1×4 + 5×5 + 3×6 + 0×7 + 8×8 + 2×9 + 1×10 = 143 ≡ 0 (mod 11).

رقم الكتاب الدولي المعياري 13

رقم ISBN 13 (المستخدم منذ يناير 2007) يساوي رمز EAN-13 الموجود أسفل الرمز الشريطي للكتاب. يتم إنشاء رقم التحقق بنفس طريقة إنشاء رمز UPC. [7]

الرابطة الوطنية لتنمية المجتمع

تم تصميم خوارزمية فحص رقم NOID (NCDA)، [8] المستخدمة منذ عام 2004، للتطبيق في المعرفات الدائمة وتعمل مع سلاسل ذات أطوال متغيرة من الحروف والأرقام، تسمى الأرقام الممتدة. يتم استخدامها على نطاق واسع مع مخطط معرف ARK وتستخدم إلى حد ما مع المخططات، مثل نظام Handle و DOI . يقتصر الرقم الممتد على الأحرف البيتا رقمية، وهي أبجدية رقمية مطروحًا منها أحرف العلة والحرف 'l' (ell). يساعد هذا القيد عند إنشاء سلاسل غير شفافة من غير المرجح أن تشكل كلمات عن طريق الصدفة ولن تحتوي على كل من O و 0، أو l و 1. نظرًا لوجود أساس أولي R = 29، فإن ذخيرة البيتا رقمية تسمح للخوارزمية بضمان اكتشاف أخطاء الحرف الواحد والنقل [9] للسلاسل التي يقل طولها عن R = 29 حرفًا (وبعد ذلك توفر فحصًا أضعف قليلاً). تعمم الخوارزمية على أي مجموعة أحرف ذات أساس أولي R وسلاسل أقل من R حرف في الطول.

أمثلة أخرى على أرقام التحقق

دولي

في الولايات المتحدة

في أمريكا الوسطى

  • الرقم الضريبي الغواتيمالي (NIT - Número de Identificación Tributaria) استنادًا إلى modulo 11.

في أوراسيا

في أوقيانوسيا

الخوارزميات

تتضمن الخوارزميات البارزة ما يلي:

انظر أيضا

مراجع

  1. ^ "ما هو Check Digit؟ - تعريف من Techopedia". Techopedia.com . تم الاسترجاع في 2022-03-16 .
  2. ^ كيرتلاند، جوزيف (2001). أرقام التعريف ومخططات الأرقام المدققة. مواد الموارد الصفية. الجمعية الرياضية الأمريكية. ص 4-6. ISBN 978-0-88385-720-5.
  3. ^ "GS1 Check Digit Calculator". GS1 US. 2006. مؤرشف من الأصل في 2008-05-09 . تم الاسترجاع في 2008-05-21 .
  4. ^ "كيفية حساب رقم الاختبار يدويًا". GS1.
  5. ^ "آلة حاسبة للتحقق من الأرقام". GS1. 2005. تم الاسترجاع في 2008-05-21 .
  6. ^ "تحقق من الآلة الحاسبة الرقمية، في الموقع الرسمي لشركة GS1 في الولايات المتحدة". GS1 في الولايات المتحدة. مؤرشف من الأصل في 2016-11-21 . تم الاسترجاع في 2012-08-09 .
  7. ^ "دليل مستخدمي ISBN". وكالة ISBN الدولية. 2005. مؤرشف من الأصل في 2014-04-29 . تم الاسترجاع في 2008-05-21 .
  8. ^ Kunze, John A. "noid - Nice Opaque Identifier Generator commands". metacpan.org . مؤرشف من الأصل في 2022-05-22 . تم الاسترجاع في 2022-10-15 .
  9. ^ ديفيد بريسود، ستان واجون، "نظرية الأعداد الحسابية"، 2000، دار النشر كي كوليدج
  10. ^ "OpenFIGI: إطلاق العنان لقوة الكفاءة باستخدام Open Symbology". OpenFIGI . مؤرشف من الأصل في 2022-08-09 . تم الاسترجاع في 2022-10-15 .
  11. ^ "بطاقة هوية فريدة" (PDF) . Geek Gazette . خريف 2011. ص. 16. مؤرشف من الأصل (PDF) في 2014-06-26.
    • عنوان URL البديل
  12. ^ Chong-Yee Khoo (20 يناير 2014). "تنسيق جديد لأرقام طلبات الملكية الفكرية في سنغافورة في مكتب براءات الاختراع الدولي". مدونة براءات الاختراع في سنغافورة . Cantab IP. مؤرشف من الأصل في 14 يوليو 2014. تم الاسترجاع في 6 يوليو 2014 .
  • أرقام التعريف ومخططات الأرقام الاختبارية (شرح رياضي لمخططات الأرقام الاختبارية المختلفة)
  • حاسبة أرقام التحقق UPC وEAN وSCC-14
  • حاسبة GS1 ذات الأرقام الاختبارية
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=رقم_التحقق&oldid=1236950030"