Принцип контрольных сумм придуман почти сразу же с появлением передачи цифровых данных. Алгоритмов - куча разных.
Например, на CD-дисках контрольные коды занимают 43% ёмкости, но только для коррекции данных.
На жёстких дисках сектора имеют контрольную сумму по алгоритму CRC32 - позволяет корректировать ошибки.
В передачи по модему - были биты коррекции и т.д. Есть память (серверная) - с контролем и коррекцией.
Алгоритм Луна - примитивный. Не подразумевает коррекции и с трудом справляется с задачей проверки.
Но как-то работает. Проще применить алгоритмы хжширования и смотреть на хэш. Но где его разместить на карте?
В итоге - это просто алгоритм, с контролем по последнему символу (в модемах - биту чётности, к примеру).
Просто, быстро. Для простых ошибок - подходит.
И вообще несложен для изобретения.
Я так своё время анализировал изображение которое надо было выделить. Собственно я понял что три составляющие цвета должны встретиться в нужном процентном соотношении как по цветовой составляющей так и по пространственной. Т.е. берётся участок скажем 16 на 16. И если в нём красного столько-то синего столько-то и зеленого столько-то в среднем при этом количество точек такое-то в среднем то это то что мы ищем.
Так что создать подобный алгоритм в принципе вообще не проблема основная идея в том что два соседних числа должны давать ошибки если их поменять местами а для этого можем умножить на 2, на 3, на 4. Почему умножение на два? Потому что это простой сдвиг в регистре влево на 1 бит
Это сообщение отредактировал IR145 - 30.04.2023 - 19:24