Итак, пока у нас 9 различных пандиагональных квадратов 6-го порядка из смитов с магической константой 5964.
Проверила массивы во всех квадратах, все они различны. То есть ни один массив из 36 чисел не даёт хотя бы двух неизоморфных квадратов. Вот насколько мало таких пандиагональных квадратов! Поэтому и поиск их идёт очень долго.
Вчера решила попробовать продолжить построение пандиагональных квадратов 6-го порядка из простых чисел (по-прежнему работаю по программе svb, поскольку она работает намного быстрее имеющейся у меня версии программы alexBlack).
Из простых чисел квадраты строятся очень хорошо; правда, если это произвольный набор простых, а не последовательные простые. Как я сообщала, остановилась раньше на константе 990. Начала теперь с константы 1002, до константы 1050 (с шагом 12) уже построила квадраты. Конечно, все не строю, прерываю программу, как только найдётся несколько первых квадратов.
Удивительный факт - квадраты составляются для всех магических констант с шагом 12.
-- Чт май 03, 2012 07:14:21 --Ещё о новом алгоритме построения пандиагональных квадратов 7-го порядкаВыше показана схема пандиагонального квадрата 7-го порядка с отклонениями от комплементарности, отклонений всего два - p1 и p2, но они жёстко связаны (формула приведена).
Старую программу не стала искать, может быть, она и не сохранена со старого винта; написала новую.
Проделала эксперимент, квадрат строила из произвольных натуральных чисел. Исходные данные:
K = 1590, S = 5565, p1 = -4, p2 = 10.
Группа с отклонением p1:
Код:
715 853 1369 643 577 583 271 709 1291 1501 907 949 649 787 667 1585 607 979 1 919 799 937 637 679 85 295 877 1315 1003 1009 943 217 733 871
17 пар, 34 числа
Группа с отклонением p2:
Код:
1001 407 233 977 1019 587 1163 437 1013 581 623 1367 1193 599
7 пар, 14 чисел
Здесь выбрано точно необходимое количество пар, в первой группе пар должно быть не меньше 17, во второй группе - не меньше 7.
С этими исходными данными квадрат строится очень быстро:
Код:
715 853 1369 1001 643 407 577
233 583 271 709 1291 977 1501
1019 907 587 949 649 787 667
1585 607 1163 793 437 979 1
919 799 937 637 1013 679 581
85 623 295 877 1315 1003 1367
1009 1193 943 599 217 733 871
Итак, тест программа прошла. Можно пробовать построение пандиагональных квадратов из смитов.
Такой эксперимент тоже провела; я его ещё и тогда провела, о чём сообщала на форуме ПЕН. Сейчас повторила эксперимент с этими же исходными данными и ещё один - с другими данными. Программа работает, 35 чисел ставит на место моментально, например (во втором эксперименте):
K = 17540, p1 = 1152, p2 = -2880, S = 61390,
в группе с отклонением p1 27 пар, в группе с отклонением p2 31 пара.
Код:
0 14386 8914 12442 9094 0 85
1678 274 1966 8023 0 0 0
9274 18346 4765 14566 7627 2614 4198
0 7726 0 9346 0 10966 0
14494 16078 11065 4126 9895 346 5386
0 0 0 10669 16726 18418 12982
18607 0 9598 2218 9778 4306 0
Дальше программа надолго задумывается.
Ну, если учесть наш опыт построения пандиагональных квадратов 6-го порядка из смитов, то... Всё-таки здесь уже порядок квадрата 7. Поэтому время выполнения программы будет, скорее всего, измеряться часами.
Но тут ещё надо написать очень хорошо оптимизированную программу, что и сделал для своего алгоритма для квадратов 6-го порядка svb.
Сначала мы ведь тоже начинали с подбора комплектов отклонений, а потом svb всё это "зашил" в свою программу, и теперь программа очень хорошо работает.
Программу можно использовать и для построения идеальных квадратов 7-го порядка. Ведь идеальный квадрат - это пандиагональный квадрат, в котором есть свойство ассоциативности. Это означает, что все отклонения от комплементарности в предложенном алгоритме будут равны нулю: p1 = p2 = 0.
Сейчас хочу протестировать программу на построении идеального квадрата.