Алгоритм Дамма (Шаблон:Lang-en) — алгоритм расчёта контрольной цифры для обнаружения ошибок. Впервые был предложен в 2004 году М. Даммом.
Принцип действия
Дамм предложил использовать бинарную операцию, известную как квазигруппа Дамма[1].
d(j, k) |
k
|
j |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9
|
0
|
0 |
3 |
1 |
7 |
5 |
9 |
8 |
6 |
4 |
2
|
1
|
7 |
0 |
9 |
2 |
1 |
5 |
4 |
8 |
6 |
3
|
2
|
4 |
2 |
0 |
6 |
8 |
7 |
1 |
3 |
5 |
9
|
3
|
1 |
7 |
5 |
0 |
9 |
8 |
3 |
4 |
2 |
6
|
4
|
6 |
1 |
2 |
3 |
0 |
4 |
5 |
9 |
7 |
8
|
5
|
3 |
6 |
7 |
4 |
2 |
0 |
9 |
5 |
8 |
1
|
6
|
5 |
8 |
6 |
9 |
7 |
2 |
0 |
1 |
3 |
4
|
7
|
8 |
9 |
4 |
5 |
3 |
6 |
2 |
0 |
1 |
7
|
8
|
9 |
4 |
3 |
8 |
6 |
1 |
7 |
2 |
0 |
5
|
9
|
2 |
5 |
8 |
1 |
4 |
3 |
6 |
7 |
9 |
0
|
Результат операции d(j, k) проще всего определить по таблице, где он располагается на пересечении j-й строки и k-го столбца таблицы. Выбранная Даммом операция не является коммутативной, то есть для неё условие <math>d(j, k) = d(k, j)</math> выполняется не для всех <math>j</math> и <math>k</math>.
Последовательно выполняя операцию 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, следовательно передаваемая последовательность цифр действительна.
Шаблон:Хеш-алгоритмы
Примечания
Шаблон:Примечания
Ссылки
Партнерские ресурсы |
---|
Криптовалюты |
|
---|
Магазины |
|
---|
Хостинг |
|
---|
Разное |
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
|
---|