Как построить латинский квадрат Дамма для произвольного порядка N? По готовому квадрату (N==10) - все просто, бери и пользуйся.
Но не каждый квадрат подходит.
Например, если взять нижеследующий квадрат (N==10), то для
572 и 527 - контрольная цифра одинакова (==0){ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 },
{ 9, 0, 1, 2, 3, 4, 5, 6, 7, 8 },
{ 8, 9, 0, 1, 2, 3, 4, 5, 6, 7 },
{ 7, 8, 9, 0, 1, 2, 3, 4, 5, 6 },
{ 6, 7, 8, 9, 0, 1, 2, 3, 4, 5 },
{ 5, 6, 7, 8, 9, 0, 1, 2, 3, 4 },
{ 4, 5, 6, 7, 8, 9, 0, 1, 2, 3 },
{ 3, 4, 5, 6, 7, 8, 9, 0, 1, 2 },
{ 2, 3, 4, 5, 6, 7, 8, 9, 0, 1 },
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
Кстати, в приведенной ссылке по соответствующей статье в Википедии - Quasigroups for the Damm algorithm up to order 64 тоже далеко не все квадраты "гОдные".
Итак, вопрос: Каков алгоритм?

21 Авг 2019 в 06:08
106 +1
0
Ответы
1

Для построения латинского квадрата Дамма необходимо использовать квазигруппы. Квазигруппа - это структура, в которой для каждой пары элементов существует уникальный левый и правый квазиобратный. Эти квазиобратные используются для определения проверочных цифр в алгоритме Дамма.
Алгоритм построения квадрата Дамма для произвольного порядка N выглядит следующим образом:

Создать квазигруппу порядка N.Построить из квазигруппы латинский квадрат Дамма, заменяя каждый элемент квазигруппы на индекс элемента в строке.Проверить полученный квадрат на соответствие условиям квадрата Дамма: в каждой строке и столбце должны быть все цифры от 0 до N-1 без повторений, контрольные цифры не должны совпадать.

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

20 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир