Как построить латинский квадрат Дамма для произвольного порядка 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
124 +1
0
Ответы
1

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

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

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

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир