Как стать автором
Обновить

Комментарии 31

НЛО прилетело и опубликовало эту надпись здесь
Помогает не путать 13 (thirteen) и 30 (thirty), чтобы вместо 1913 не оказалось 1930, например.
НЛО прилетело и опубликовало эту надпись здесь
13 и 30 дают разные контрольные суммы, очевидно же…
НЛО прилетело и опубликовало эту надпись здесь
Алгоритм обнаруживает однократные ошибки, а 13 и 30 — двукратная
НЛО прилетело и опубликовало эту надпись здесь
Вы прикалываетесь? ;) Или и правда непонятно?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Этот алгоритм находит любые однократные ошибки и некоторые многократные, в том числе фонетические.
НЛО прилетело и опубликовало эту надпись здесь
Разные алгоритмы делают это с разной степенью вероятности. Данный алгоритм с большей степенью вероятности обнаруживает многократные фонетические ошибки.
НЛО прилетело и опубликовало эту надпись здесь
Наверное имеются в виду ошибки, которые могут возникнуть при записи номера на слух.
Алгоритм заточен на обнаружение 100% однократных ошибок и на обнаружение многократных фонетических с большей вероятностью, чем некоторые другие алгоритмы.
НЛО прилетело и опубликовало эту надпись здесь
Любой алгоритм может найти ограниченное количество ошибок. Но можно выбрать из возможных квазигрупп такую, которая находит больше фонетических ошибок и меньше нефонетических.

Поскольку люди чаще совершают фонетические ошибки, такой алгоритм на практике будет обнаруживать больше ошибок.
Перепутаете — при проверке код не совпадет и всё
НЛО прилетело и опубликовало эту надпись здесь
Еще бы описание что такое квазигруппа и почему именно такая, в смысле по какому принципу там цифры подобраны. А то получается: берем число, МАГИЯ, получаем циферку.
И правда. Главная фишка алгоритма это та самая табличка, как её получили и какие у нее свойства. Алгоритм то элементарный.
Очень интересно, но я ничего не понял.
Тема квазигруппы не раскрыта!
На DUMP 2015 был очень доступный для понимания доклад «Свежие новости из мира слабо полностью антисимметричных квазигрупп десятого порядка». Там Алексей Кирпичников достаточно последовательно приходит к методу Дамма, по ходу рассказа объясняя и о том, что значит «квазигруппы» и «антисимметричность». Но как была получена «магическая» табличка он не объясняет.
www.youtube.com/watch?v=cwKnHHRutUs
> очень доступный для понимания
> слабо полностью антисимметричных квазигрупп десятого порядка

Challenge accepted!
Да, примерно поэтому я и решил сделать этот доклад на DUMP :)
Вот самый короткий вариант доказательства, который мне известен (6 страниц на английском языке): www.researchgate.net/publication/220186571_Totally_anti-symmetric_quasigroups_for_all_orders

В формате доклада на нематематической конференции это вряд ли хорошо зашло бы :)
конвертнул на TSQL

CREATE FUNCTION fn_dhmd( @value int )
RETURNS int
AS
BEGIN
    declare @damm table( inter tinyint not null, input tinyint not null, value tinyint not null, primary key(inter, input));
    declare @result int = 0;
    declare @txt varchar(16);
    SET @txt = CAST(@value as varchar(16));
    declare @length int = LEN(@txt), @idx int = 1;

    insert into @damm (inter, input, value) values 
    (0,0,0), (0,1,3), (0,2,1), (0,3,7), (0,4,5), (0,5,9), (0,6,8), (0,7,6), (0,8,9), (0,9,2),
    (1,0,7), (1,1,0), (1,2,9), (1,3,2), (1,4,1), (1,5,5), (1,6,4), (1,7,8), (1,8,6), (1,9,3),
    (2,0,4), (2,1,2), (2,2,0), (2,3,6), (2,4,8), (2,5,7), (2,6,1), (2,7,3), (2,8,5), (2,9,9),
    (3,0,1), (3,1,7), (3,2,5), (3,3,0), (3,4,9), (3,5,8), (3,6,3), (3,7,4), (3,8,2), (3,9,6),
    (4,0,6), (4,1,1), (4,2,2), (4,3,3), (4,4,0), (4,5,4), (4,6,5), (4,7,9), (4,8,7), (4,9,8),
    (5,0,3), (5,1,6), (5,2,7), (5,3,4), (5,4,2), (5,5,0), (5,6,9), (5,7,5), (5,8,8), (5,9,1),
    (6,0,5), (6,1,8), (6,2,6), (6,3,9), (6,4,7), (6,5,2), (6,6,0), (6,7,1), (6,8,3), (6,9,4),
    (7,0,8), (7,1,9), (7,2,4), (7,3,5), (7,4,3), (7,5,6), (7,6,2), (7,7,0), (7,8,1), (7,9,7),
    (8,0,9), (8,1,4), (8,2,3), (8,3,8), (8,4,6), (8,5,1), (8,6,7), (8,7,2), (8,8,0), (8,9,5),
    (9,0,2), (9,1,5), (9,2,8), (9,3,1), (9,4,4), (9,5,3), (9,6,6), (9,7,7), (9,8,9), (9,9,0);

    while @length > 0
    begin
        SELECT top 1 @result = value, @idx = @idx + 1, @length = @length - 1 FROM @damm WHERE inter = @result AND input = RIGHT(LEFT(@txt, @idx),1)
    end;
  RETURN 10 * @value + @result;
END
GO

declare @result int = ( SELECT dbo.fn_dhmd( 572 ) );
IF 5724 <> @result
begin
   RAISERROR ('FAILED: incorreclt calculate dhmd number: %d ', 16, -1, @result )
end

set @result = ( SELECT dbo.fn_dhmd( 5724 ) );
IF 57240 <> @result
begin
   RAISERROR ('FAILED: incorreclt calculate dhmd number: %d ', 16, -1, @result )
end


Хорошо бы написать, что означает «полностью антисимметричная квазигруппа»? Понятие «антисимметричность» обычно используется для колец.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории