WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Алгоритм Дамма (англ. Damm algorithm) — алгоритм расчёта контрольной цифры для обнаружения ошибок. Впервые был предложен в 2004 году М. Даммом.

Принцип действия

Дамм предложил использовать групповую операцию, известную как квазигруппа Дамма[1].

d(j, k)k
j0123456789
0 0317598642
1 7092154863
2 4206871359
3 1750983426
4 6123045978
5 3674209581
6 5869720134
7 8945362017
8 9438617205
9 2581436790

Результат операции d(j, k) проще всего определить по таблице, где он располагается на пересечении j-й строки и k-го столбца таблицы. Выбранная Даммом операция не является коммутативной, то есть для неё условие выполняется не для всех и .

Последовательно выполняя операцию d(j, k), где j — результат предыдущей итерации (0 для первой итерации), а k — очередная цифра числа, можно получить алгоритм вычисления контрольной цифры, лучший, чем обычное сложение по модулю 10.

Алгоритм Дамма позволяет обнаруживать две распространённые ошибки при вводе цифр: замену одной цифры на другую и перестановку двух соседних цифр.

Пример

Предположим, что передается последовательность цифр 572.

Вычисление контрольной цифры

обрабатываемая цифра → индекс колонки 5 7 2
старая промежуточная цифра → индекс строки 0 9 7
вход таблицы → новая промежуточная цифра 9 7 4

Итоговая промежуточная цифра 4. Она является контрольной суммой. Добавляя её к числу, получаем 5724.

Проверка числа по контрольной цифре

обрабатываемая цифра → индекс колонки 5 7 2 4
старая промежуточная цифра → индекс строки 0 9 7 4
вход таблицы → новая промежуточная цифра 9 7 4 0

Итоговая промежуточная цифра 0, следовательно передаваемая последовательность цифр действительна.

Примечания

  1. Дмитрий Максимов. Коды, распознающие ошибку // Наука и жизнь. — 2018. № 1. С. 90-95.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии