О количестве Магических квадратов 6-го порядка

Как известно, существует единственный МК-3 (Ло Шу), не считая эквивалентных.
Количество различных МК-4, равное 880, известно уже с 17 века. Количество
различных МК-5, равное 275 305 224, было найдено только в 70-х годах 20-го века с
помощью 100-а часов работы Университетского Компьютера.
А количество МК-6 не известно до сих пор. Правда, имеются приближенные
оценки их порядка 10 в 19 степени . Это зависит от способа выбора из большого числа перебора
перестановок 36 чисел от 1 до 36 (Р 36 !). И быстродействия современных Компьютеров
для работы за ограниченное время для этого не хватает.
Мы предлагаем быстрые алгоритмы для вычисления числа различных МК-6,
применяя формирование новых упорядоченных промежутков перебора некоторых
групп параметров, определяющихся свойствами МК-6, с уменьшающимися
промежутками их определения, что ускоряет вычисление их количества.
1 о . Общее решение 14-и (6+6+2) линейных уравнений с 23-мя параметрами и
13-ю неизвестными выводится из определения МК-6 с М=111 согласно рис. 1:

Здесь 23 параметра а i (независимые переменные) и 13 неизвестных
х j (зависимые от параметров) принимают целые не равные друг другу значения из
промежутка N=[1,…,36].
Рассмотрим несколько вариантов алгоритмов компьютерной много циклической
программы с упрощенной оценкой ее шагов.
1 Вариант. Для перебора всех перестановок 23-х параметров строим программу
23-х последовательных циклов с шагом 1 от 1 до36 с условием неравенства друг другу
параметров и неизвестных, т.е. 23х36=826 (упрощенных) шагов. Такую программу
Компьютер будет решать очень долго!
2 Вариант ( короткие промежутки для отдельных групп параметров).

Замечание. На рис. 2, 3 и в Алгоритме числа обозначают номера 23-х
параметров, а подчеркнутые числа – номера искомых 13-и неизвестных с условием,
что все параметры и неизвестные не равны друг другу и берутся из промежутков,
сформированных без уже найденных значений параметров и неизвестных.

По рис. 2 строим следующий Алгоритм:
{1,2,3,4,5} ; 6=M-(1+2+3+4+5): No=[1,…,36] 36x5=180;
{7,8,9,10,11};12=M-(7+8+9+10+11): N 1 =[1,…,30] 30x5=150;
{13,14,15,6,17};18=M-(13+14+15+16+17): N 2 =[1,…,24] 24x5=120;
{19,20,21,22,23};24=M-(19+20+21+22+23) : N 3 =[1,…,18] 18x5=90;
{25};26=M-(6+11+16+21+25), 27=M-(1+7+13+19+26), 28=M-(2+8+14+20+25):

N 4 =[1,…,12] 12x1=12;
{29};30=M-(3+9+15+21+29): N 5 =[1,…,8] 8x1=8;
{31};32=M-(5+11+17+23+31), 33=M-(1+8+15+22+31), 34=M-(6+12+18+24+33),
35=M-(27+25+29+31+34), 36=M-(4+10+16+22+35): N 6 =[1,…,6] 6x1=6.
Итого: 566 шагов.
3 Вариант ( максимально короткие промежутки для отдельных групп оставшихся
переменных). См. рис. 3 с тем же Замечанием:

По рис. 3 строим следующий быстрый Алгоритм:
{1,2,3,4,5} ; 6=M-(1+2+3+4+5): No=[1,…,36] 36x5=180;
{7,8,9,10};11=M-(6+7+8+9+10): N 1 =[1,…,30] 30x4=120;
{12,13,14};15=M-(2+12+13+14+10): N 2 =[1,…,25] 25x3=75;
{16,17,18};19=M-(11+15+16+17+18) : N 3 =[1,…,21] 21x3=63;
{20,21};22=M-(3+20+21+9+16): N 4 =[1,…,17] 17x2=34;
{23};24=M-(1+12+21+23+19): N 5 =[1,…,14] 14x1=14;
{25};26=M-(5+7+25+24+18): N 6 =[1,…,12] 12x1=12;
{27};28=M-(4+27+8+23+17): N 7 =[1,…,10] 10x1=10;
{29};30=M-(29+12+20+27+7): N 8 =[1,…,8] 8x1=8;
{31};32=M-(31+13+21+8+26): N 9 =[1,…,6] 6x1=6;
{33};34=M-(1+29+31+33+11), 35=M-(33+14+9+23+25), 36=M-(34+10+22+28+24):
N 10 =[1,…,4] 4x1=4.
Итого: 526 шагов.
В результате Компьютер выдает количество МК-6 (для быстроты счета можно не
распечатывать сами МК-6), которое нужно разделить на 8, чтобы отбросить
эквивалентные.
Чтобы составить Алгоритм без учета эквивалентных, разобьем все МК-6 на роды
А, В, С, D, E, F в зависимости от расположения в них «1» согласно рис. 0’:
Применяя для рода А (х2<x7) Алгоритм 3-го Варианта, получим уже частное
решение с 22-я параметрами, Х 1 =1 и 13-ю неизвестными с компьютерным решением
за 524-40=484 шагов и за более короткое Время. А, следовательно, количество МК-6 с
«1» в левом верхнем углу.

4 Вариант (быстрый ). Складывая суммы частных решений всех шести родов,
получим общее количество различных МК-6.
Замечание. Не забывать вставлять условия неравенства всех переменных друг
другу.
Я на своем стареньком Компьютере на СИ решил такую задачу для МК-5 за
один день (в конце прошлого века). А с помощью многоядерного Компьютера
(Суперкомпьютера) или распределения расчетов на группу Компьютеров эту задачу
можно решить и для МК-6 за приемлемое наше Время.


Рецензии