Jump to content

Контрольная цифра

Контрольная цифра — это форма проверки избыточности, используемая для обнаружения ошибок в идентификационных номерах, таких как номера банковских счетов, которые используются в приложении, где их хотя бы иногда вводят вручную. Он аналогичен биту двоичной четности , используемому для проверки ошибок в данных, сгенерированных компьютером. Он состоит из одной или нескольких цифр (или букв), вычисленных алгоритмом из других цифр (или букв) во входной последовательности. [1]

С помощью контрольной цифры можно обнаружить простые ошибки при вводе ряда символов (обычно цифр), например одну неправильно набранную цифру или некоторые перестановки двух последовательных цифр.

Дизайн [ править ]

контрольных цифр Алгоритмы обычно предназначены для выявления сделанных человеком ошибок транскрипции, . В порядке сложности они включают в себя следующее: [2]

  • ошибки букв/цифр, например l → 1 или O → 0
  • однозначные ошибки, например 1 → 2
  • ошибки транспонирования, например 12 → 21
  • двойные ошибки, например 11 → 22
  • ошибки транспозиции перехода, например 132 → 231
  • перейти к ошибкам-двойникам, например 131 → 232
  • фонетические ошибки, например 60 → 16 («от шестидесяти» до «шестнадцати»)

При выборе системы высокая вероятность обнаружения ошибок соотносится со сложностью реализации; Простые системы контрольных цифр легко понимаются и реализуются людьми, но не обнаруживают столько ошибок, как сложные, для реализации которых требуются сложные программы.

Желательная особенность заключается в том, что заполнение нулями слева не должно изменять контрольную цифру. Это позволяет использовать числа переменной длины и изменять длину.Если к исходному номеру добавлена ​​одна контрольная цифра, система не всегда фиксирует несколько ошибок, например две ошибки замены (12 → 34), хотя, как правило, двойные ошибки обнаруживаются в 90% случаев (оба изменения будут обнаружены). необходимо изменить выпуск путем компенсации сумм).

Очень простой метод контрольной цифры — взять сумму всех цифр ( цифровую сумму ) по модулю 10. Это уловит любую однозначную ошибку, поскольку такая ошибка всегда будет изменять сумму, но не улавливает никаких ошибок транспонирования (переключение две цифры), так как повторный заказ не меняет сумму.

Немного более сложный метод — взять взвешенную сумму цифр по модулю 10 с разными весами для каждой позиции числа.

Чтобы проиллюстрировать это, например, если веса четырехзначного числа были 5, 3, 2, 7, а число, которое нужно закодировать, было 4871, то нужно было бы взять 5×4 + 3×8 + 2×7 + 7×1. = 65, т. е. 65 по модулю 10, а контрольная цифра будет 5, что дает 48715.

Широко используются системы с весами 1, 3, 7 или 9, при этом веса соседних чисел различны: например, веса 31 31 в кодах UPC , веса 13 13 в номерах EAN (алгоритм GS1), 371 банковских маршрутов США 371 371 вес, используемый в транзитных номерах . Эта система обнаруживает все однозначные ошибки и около 90% [ нужна ссылка ] ошибок транспозиции. 1, 3, 7 и 9 используются, потому что они взаимно просты с 10, поэтому изменение любой цифры меняет контрольную цифру; использование коэффициента, делящегося на 2 или 5, приведет к потере информации (поскольку 5×0 = 5×2 = 5×4 = 5×6 = 5×8 = 0 по модулю 10) и, следовательно, не позволит обнаружить некоторые однозначные ошибки. Использование разных весов соседних чисел означает, что большинство транспозиций меняют контрольную цифру; однако, поскольку все веса различаются на четное число, это не учитывает перестановки двух цифр, которые отличаются на 5 (0 и 5, 1 и 6, 2 и 7, 3 и 8, 4 и 9), поскольку 2 и 5 умножьте, чтобы получить 10.

Вместо этого в коде ISBN-10 используется модуль 11, который является простым, и все числовые позиции имеют разные веса 1, 2, ... 10. Таким образом, эта система обнаруживает все однозначные ошибки замены и транспонирования (включая скачкообразные транспозиции), но ценой того, что контрольная цифра может быть равна 10, обозначенной буквой «X». (Альтернатива состоит в том, чтобы просто избегать использования серийных номеров, которые приводят к контрольной цифре «X».) Вместо этого ISBN-13 использует алгоритм GS1, используемый в номерах EAN.

Более сложные алгоритмы включают алгоритм Луна (1954), который улавливает 98% однозначных ошибок транспонирования (он не обнаруживает 90 ↔ 09), и еще более сложный алгоритм Верхуффа (1969), который улавливает все однозначные замены и транспонирования. ошибки и многие (но не все) более сложные ошибки. Аналогичным является другой абстрактной алгебре метод, основанный на , алгоритм Дамма (2004), который также обнаруживает все однозначные ошибки и все соседние ошибки транспонирования. Эти три метода используют одну контрольную цифру и, следовательно, не смогут охватить около 10 %. [ нужна ссылка ] более сложных ошибок. Чтобы снизить частоту отказов, необходимо использовать более одной контрольной цифры (например, проверка по модулю 97, упомянутая ниже, в которой используются две контрольные цифры — алгоритм см. в разделе « Номер международного банковского счета ») и/или использовать более широкий диапазон символов в контрольной цифре, например буквы и цифры.

Примеры [ править ]

GTIN, номера, администрируемые GS1 UPC, EAN, GLN , .

Последняя цифра универсального кода продукта , международного номера товара , глобального номера местоположения или глобального номера предмета торговли — это контрольная цифра, вычисляемая следующим образом: [3] [4]

  1. Сложите цифры в нечетных позициях слева (первую, третью, пятую и т. д., не считая контрольной цифры) вместе и умножьте на три.
  2. Добавьте к результату цифры (до, но не включая контрольную цифру) в четных позициях (вторая, четвертая, шестая и т. д.).
  3. Возьмите остаток результата, разделенный на 10 (т.е. операция по модулю 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 по модулю 10), и если не 0, вычтите из 10. Следовательно, значение контрольной цифры равно 7. т.е. (53/10 ) = 5 остаток 3; 10 – 3 = 7.

Другой пример: вычислить контрольную цифру для следующего продукта питания «01010101010 x ».

  1. Сложите цифры нечетного числа: 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 по модулю 10), и если не 0, вычтите из 10: т.е. (5/10) = 0 остаток 5; (10 - 5) = 5. Следовательно, значение контрольной цифры x равно 5.

ISBN 10 [ править ]

Последний символ десятизначного международного стандартного номера книги — это контрольная цифра, вычисляемая таким образом, что умножение каждой цифры на ее позицию в номере (считая справа) и взятие суммы этих произведений по модулю 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 (по модулю 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 (по модулю 11).

ISBN 13 [ править ]

ISBN 13 (используется с января 2007 г.) равен коду EAN-13, который находится под штрих-кодом книги. Его контрольная цифра генерируется так же, как и UPC. [7]

НКДА [ править ]

Алгоритм контрольных цифр NOID (NCDA), [8] используется с 2004 года, предназначен для применения в постоянных идентификаторах и работает со строками букв и цифр переменной длины, называемыми расширенными цифрами. Он широко используется со схемой идентификатора ARK и в некоторой степени используется с такими схемами, как Handle System и DOI . Расширенная цифра ограничена бета-цифровыми символами, которые представляют собой буквенно-цифровые символы без гласных и букву «l» (элль). Это ограничение помогает при создании непрозрачных строк, которые вряд ли случайно образуют слова и не будут содержать одновременно O и 0 или l и 1. Имея простое основание системы счисления R = 29, бета-числовой репертуар позволяет алгоритму гарантировать обнаружение одиночных чисел. ошибки символов и транспонирования [9] для строк длиной менее R=29 символов (более этого обеспечивает немного более слабая проверка). Алгоритм распространяется на любой репертуар символов с простым основанием R и строками длиной менее R символов.

Другие примеры контрольных цифр [ править ]

Международный [ править ]

В США [ править ]

В Центральной Америке [ править ]

  • Налоговый номер Гватемалы (NIT – идентификационный номер налогоплательщика) на основе модуля 11.

В Евразии [ править ]

В Океании [ править ]

Алгоритмы [ править ]

Известные алгоритмы включают в себя:

См. также [ править ]

Ссылки [ править ]

  1. ^ «Что такое контрольная цифра? — Определение из Techopedia» . Techopedia.com . Проверено 16 марта 2022 г.
  2. ^ Киртланд, Джозеф (2001). Идентификационные номера и схемы контрольных цифр . Ресурсы для классных комнат. Математическая ассоциация Америки. стр. 4–6. ISBN  978-0-88385-720-5 .
  3. ^ «Калькулятор контрольных цифр GS1» . GS1 США. 2006. Архивировано из оригинала 9 мая 2008 г. Проверено 21 мая 2008 г.
  4. ^ «Как вычислить контрольную цифру вручную» . ГС1.
  5. ^ «Калькулятор проверочных цифр» . ГС1. 2005 . Проверено 21 мая 2008 г.
  6. ^ «Проверьте калькулятор цифр на официальном сайте GS1 в США» . GS1 США. Архивировано из оригинала 21 ноября 2016 г. Проверено 9 августа 2012 г.
  7. ^ «Руководство пользователя ISBN» . Международное агентство ISBN. 2005. Архивировано из оригинала 29 апреля 2014 г. Проверено 21 мая 2008 г.
  8. ^ Кунце, Джон А. «noid — команды генератора хороших непрозрачных идентификаторов» . Metacpan.org . Архивировано из оригинала 22 мая 2022 г. Проверено 15 октября 2022 г.
  9. ^ Дэвид Брессуд, Стэн Вагон, «Вычислительная теория чисел», 2000, Key College Publishing
  10. ^ «OpenFIGI: раскройте потенциал эффективности с помощью открытой символики» . ОткрытьФИГИ . Архивировано из оригинала 9 августа 2022 г. Проверено 15 октября 2022 г.
  11. ^ «Уникальная идентификационная карта» (PDF) . Компьютерная газета . Осень 2011. с. 16. Архивировано из оригинала (PDF) 26 июня 2014 г.
  12. ^ Чонг-Йи Ху (20 января 2014 г.). «Новый формат номеров заявок на получение IP в Сингапуре на IPOS» . Патентный блог Сингапура . Кантаб ИП. Архивировано из оригинала 14 июля 2014 года . Проверено 6 июля 2014 г.

Внешние ссылки [ править ]

  • Идентификационные номера и схемы контрольных цифр (математическое объяснение различных схем контрольных цифр)
  • Калькулятор контрольных цифр UPC, EAN и SCC-14
  • Калькулятор контрольных цифр GS1
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2b4bd1e47a490169e3b99e4f0fc5209c__1716820140
URL1:https://arc.ask3.ru/arc/aa/2b/9c/2b4bd1e47a490169e3b99e4f0fc5209c.html
Заголовок, (Title) документа по адресу, URL1:
Check digit - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)