gul_kiev: (buddha eyes)
[personal profile] gul_kiev
Недавно набрёл на алгоритм Луна - это контрольная сумма, использующаяся для проверки номеров кредитных карточек. Если вы вместо номера кредитки введёте случайную последовательность из 16 цифр, то, скорее всего, вам ответят, что это некорректный номер, без запросов к банку.
Алгоритм этот настолько прост, что доступен даже для человека. Это почти сумма цифр по модулю 10, но с небольшой модификацией: каждая вторая цифра удваивается, и если получается больше девяти, то вычитается 9. Сумма всех цифр карточки, каждая вторая из которых модифицирована таким способом, должна делиться на 10. Изменение любой одной цифры приводит к несовпадению контрольной суммы, и перестановка почти любых двух соседних цифр тоже даёт некорректный номер.

Первая мысль - это же задача уровня старшеклассника. А написано пафосно: "разработан сотрудником IBM", "запатентован", как будто это какое-то научное открытие. Я понимаю, можно давать имя и патентовать правильные математические алгоритмы вроде LZW или кодов Хемминга, но тут-то? Алгоритм Верхуффа - уже хорошо, к тому же, он в отличие от алгоритма Луна даёт правильное решение поставленной задачи (защититься от искажения любой одной цифры и от перестановки двух соседних цифр).

Настолько просто, что доступно даже для человека. Я немного подвис на этой фразе.
Управление этим самолётом настолько просто, что доступно даже для человека.
Этот метод диагностики болезней настолько прост, что доступен даже для человека.

Человек уж совсем тупым тормозом считается по сравнению с машинами. Заслуженно, наверное?

Date: 2016-04-28 02:50 pm (UTC)
livelight: (lightning)
From: [personal profile] livelight
"Настолько просто, что доступно даже для человека"

Человек хорошо приспособлен, например, распознавать сложные образы, имеет гигантский объём памяти для них, но плохо приспособлен в уме считать числа, не записывая все промежуточные результаты на внешний носитель (бумажку).
А стандартный фон-неймановский компьютер - наоборот.

Date: 2016-04-28 03:03 pm (UTC)
From: [identity profile] gul-kiev.livejournal.com
Да вот с распознаванием сложных образов и объёмом памяти человеку уже тоже гордиться особо нечем по сравнению с современными компьютерами.
Сейчас примерно тот момент, когда человек сдаёт последние рубежи.

Date: 2016-04-28 03:06 pm (UTC)
livelight: (lightning)
From: [personal profile] livelight
Насколько мне известно, с машинным распознаванием образов по-прежнему всё весьма так себе, по сравнению с человеком. Хотя, конечно, элементная база быстреет, и массовый параллелизм ширеет...

Date: 2016-04-28 03:19 pm (UTC)
From: [identity profile] diablas.livejournal.com
Предыдущему камент сформулирую чуть по другому: компьютер легко справляется с цифровыми данными,а человек - очень плохо (с точки зрения аналоговых сигналов - тупо наоборот).
Поэтому решить сложное уравление компьютер сможет за доли секунды,а человек - за десяток МИНУТ. Именно это и подразумевалось.

Date: 2016-04-29 04:56 am (UTC)
From: [identity profile] bytebuster463.livejournal.com
Ага, але такий алгоритм безсовісно лажається на картках з сегментом цифр на кшталт 8575 (vs 7585). Я сам колись пріфігєв.

Date: 2016-04-29 10:12 am (UTC)
From: [identity profile] tasic.livejournal.com
Проверил 4 своих карточки. Суммы: 75, 75, 65, 74. Если судить по википедии, то ты неточно описал алгоритм. Цифры четные-нечетные считаются справа налево.
Edited Date: 2016-04-29 10:14 am (UTC)

Date: 2016-04-29 10:19 am (UTC)
From: [identity profile] tasic.livejournal.com
При счете в обратную сторону тоже не получаются кратные 10. Что-то я не так понял.

Date: 2016-04-30 06:15 pm (UTC)
From: [identity profile] gul-kiev.livejournal.com
Я описывал только суть алгоритма, потому что есть же википедия. :) Цифры считаются с конца, да.
Для моих карт сумма получается кратна 10, я проверял. Ты что-то не так считаешь.
Пример из той же википедии:
4  5  6  1     2  6  1  2     1  2  3  4     5  4  6  7
8     12       4     2        2     6        10    12
8     3        4     2        2     6        1     3

8+5+3+1 + 4+6+2+2 + 2+2+6+4 + 1+4+3+7 = 60

Date: 2016-05-05 03:04 pm (UTC)
From: [identity profile] tasic.livejournal.com
Аккуратно выписал на бумажку, посчитал для одной карточки -- действительно получилось кратно 10. Видимо при счете где-то сбивался.

May 2017

S M T W T F S
 123456
78910 111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2017 04:49 am
Powered by Dreamwidth Studios