Message boards :
Cafe :
Задача века
Message board moderation
Previous · 1 · 2 · 3 · 4 · 5 · 6 · 7 . . . 8 · Next
Author | Message |
---|---|
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Для наглядности изобразила квадрат Стенли от Jens K Andersen (один из четырёх выложенных) паттерн 0,2,6,20,30,32,36,42,50,60,62,66,72,80,84,86,90,102,104,114,116,120,126,134,156 Это паттерн 25-ки с минимальным диаметром 156, из которой возможно построить квадрат Стенли 5х5. Я тестирую на этом квадрате свою программу. Так, первый этап моей программы - построение главной диагонали квадрата Стенли - дал для показанного квадрата Стенли следующие варианты вектора главной диагонали [0, 2, 66, 134, 156] [0, 2, 80, 120, 156] [0, 2, 84, 116, 156] [0, 2, 86, 114, 156] [0, 6, 62, 134, 156] [0, 6, 80, 116, 156] [0, 20, 62, 120, 156] [0, 20, 66, 116, 156] [0, 20, 80, 102, 156] [0, 32, 36, 134, 156] [0, 32, 50, 120, 156] [0, 32, 66, 104, 156] [0, 32, 80, 90, 156] [0, 32, 84, 86, 156] [0, 36, 50, 116, 156] [0, 36, 62, 104, 156] [0, 36, 80, 86, 156] [0, 50, 62, 90, 156] [0, 50, 66, 86, 156] [0, 50, 72, 80, 156] [0, 60, 62, 80, 156] Замечательно! В показанном квадрате мы видим следующий вариант вектора главной диагонали [0, 32, 66, 104, 156] Теперь хочу добавить в предпроверку ещё два элемента квадрата Стенли. В показанном квадрате это элементы 30 (в первой строке) и 2 (в первом столбце). Это должно уменьшить количество кандидатов среди проверяемых 25-ок. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Ой, так непривычно писать построение квадрата на PARI/GP, я привыкла сроить квадраты на Бейсике. Ну, надо переучиваться :) |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Предпроверку усилила. Вот один из кандидатов, выданных программой 539781418924661, [0, 62, 200, 456, 590], 6, 56, 90, 110, 146, 116, 539781418924661, [0, 62, 200, 456, 590], 56, 6, 110, 90, 116, 146, 539781418924661, [0, 116, 146, 456, 590], 6, 110, 90, 56, 200, 62, Кандидатов по-прежнему находится много. Это 25-ка из последовательных простых чисел с данным первым элементом {539781418924661, 539781418924667, 539781418924717, 539781418924723, 539781418924751, 539781418924771, 539781418924777, 539781418924789, 539781418924807, 539781418924817, 539781418924831, 539781418924859, 539781418924861, 539781418924879, 539781418924999, 539781418925009, 539781418925027, 539781418925039, 539781418925051, 539781418925081, 539781418925117, 539781418925171, 539781418925191, 539781418925219, 539781418925251} это её паттерн [0, 6, 56, 62, 90, 110, 116, 128, 146, 156, 170, 198, 200, 218, 338, 348, 366, 378, 390, 420, 456, 510, 530, 558, 590] Программа строит главную диагональ квадрата Стенли и ещё добавляет шесть элементов, то есть ставит их в квадрате на место. Таких вариантов заполнения программа нашла три. Показываю для наглядности самый первый вариант Похоже, чёрт побери, на квадрат Стенли! Но это пока только 11 элементов в квадрат Стенли записаны. Удастся ли записать оставшиеся 14 элементов - большой вопрос! Скорее всего, вот так прямо с ходу не удастся. Ну, может. ещё 3-4-5 элементов удастся вписать. Сейчас в квадрате 14 "дырок". У меня было решение с 4 "дырками" (это ещё в те давние времена). Ну что же, вроде получается в PARI/GP строить квадрат :) Можно продолжать. "Порой опять гармонией упьюсь..." А. Пушкин Я тоже :) В этих квадратах необыкновенная гармония! Мы имеем бесконечное множество 25-ок из последовательных простых чисел, но никак не получается сложить такой маленький квадратик Стенли - всего 5х5. А почему не получается? Потому что - гармония необыкновенная! |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Ну вот, из этой 25-ки 539781422256449: 0, 2, 168, 170, 198, 200, 230, 242, 284, 308, 332, 398, 428, 468, 512, 522, 578, 702, 704, 750, 752, 764, 818, 840, 890 я построила квадрат Стенли с 10 "дырками" Это выдала программа 539781422256449, [0, 170, 428, 764, 890], 2, 168, 230, 198, 398, 200, 242, 522, Здесь главная диагональ квадрата Стенли (вектор a) и ещё 8 элементов квадрата. Все эти элементы квадрата правильные. Дальше достраивала квадрат вручную. Ещё два элемента получились правильные, то есть они из паттерна. Итого: правильных 15 элементов, остальные 10 элементов неправильные, то есть их нет в паттерне. С такой предпроверкой кандидатов ещё очень много. Надо ещё чуть усилить предпроверку, добавив элемента четыре. Тогда кандидатов будет намного меньше. PS. В квадрате Стенли на иллюстрации красный цвет - правильные элементы, синий цвет - неправильные элементы. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Итак, программа на PARI/GP для предпроверки 25-ок почти написана. Сейчас добавлю ещё пару элементов или четыре элемента. И можно начинать искать кандидатов. А можно дописать построение квадрата до конца, тогда не будет никакой предпроверки, а сразу будет искаться полное решение. Но, как мне кажется, лучше искать кандидатов. В этих кандидатах можно увидеть, если что-то не так в программе. А то программа будет крутиться-крутиться и... молчать, то есть ничего не выдавать. И что она там себе молча считает - одному Богу известно. Так, кстати, работает программа Алексея Белышева. Хотя есть и другой вариант: в полной программе сделать вывод квадратов, например, с 4 "дырками". В этих квадратах можно увидеть, если что-то не так. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Добавила проверку ещё двух элементов: теперь в квадрат Стенли вписываются совершенно правильно 15 элементов из заданного паттерна. Запустила программу и... пока не нашлось ни одного кандидата! Всё, предпроверка уже достаточно сильная. Для квадрата Стенли от Andersen программу протестировала, всё правильно строится для проверяемых 15 элементов. Итак, кандидаты получаются с 10 "дырками". Но их пока не найдено. Жду-с. Если найдётся хоть один кандидат, будет уже надежда, что при массовом поиске найдётся достаточно много кандидатов, а среди них и решение найдётся. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Программа ещё работает; один кандидат найден! Ура! (06:49) gp > \r st2.txt logfile = "st2_res.txt" 539782779038443, [0, 114, 178, 316, 510], 48, 66, 168, 10, 234, 58, 310, 6, 376, 54, Сейчас я его нарисую для наглядности :) Пока я рисовала квадрат и достраивала его вручную, интервал досчитался, других кандидатов в интервале не найдено. Отлично! Один кандидат есть и хорошо. Сильно много нам не надо. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Представляю квадрат Стенли с 9 "дырками". Это 25-ка из последовательных простых чисел, из которой квадрат построен {539782779038443, 539782779038449, 539782779038453, 539782779038491, 539782779038497, 539782779038501, 539782779038509, 539782779038537, 539782779038557, 539782779038593, 539782779038611, 539782779038621, 539782779038677, 539782779038681, 539782779038719, 539782779038729, 539782779038753, 539782779038759, 539782779038777, 539782779038807, 539782779038819, 539782779038879, 539782779038911, 539782779038939, 539782779038953} Это её паттерн [0, 6, 10, 48, 54, 58, 66, 94, 114, 150, 168, 178, 234, 238, 276, 286, 310, 316, 334, 364, 376, 436, 468, 496, 510] Это построено программой - кандидат 539782779038443, [0, 114, 178, 316, 510], 48, 66, 168, 10, 234, 58, 310, 6, 376, 54, Здесь 15 правильных элементов. Дальше достраиваю вручную и получаю такой квадрат Стенли с 9 "дырками" Отличный квадратик, правда, "дырок" многовато. Это уже вселяет оптимизм. Ещё замечу, что у 25-ки не очень большой диаметр всего 510. Да, решения может оказаться о-ч-е-н-ь далеко, а может и не так уж далеко. Тут как повезёт. PS. На иллюстрации правильные элементы квадрата - красный цвет, неправильные элементы - синий цвет. S = 1118 это магическая константа того пандиагонального квадрата 5х5, в который превращается данный квадрат Стенли. О том, как квадрат Стенли 5х5 превращается в пандиагональный квадрат, смотрите сообщение https://boinc.progger.info/odlk/forum_thread.php?id=260&postid=12730 |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Итак, программа для поиска кандидатов готова. Кандидаты получаются с 10 "дырками", то есть программа вписывает в квадрат Стенли 15 правильных элементов. Неплохо бы разобраться в алгоритме Макса Алексеева. Может быть, его программа будет работать быстрее моей. В моей программе реализован брутфорс (как и в программе Белышева), то есть 25-ки тупо проверяются все подряд. Пропуска решений быть не должно, а значит, найденное решение будет минимальным. PS. Можно добавить в программу вписывание в квадрат Стенли ещё двух правильных элементов. Тогда кандидатов станет намного меньше, и они будут с 8 "дырками". |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Вчера поздно завершилась проверка достаточно большого интервала. Найдено 4 кандидата, вот они (10:29) gp > \rst2.txt logfile = "st2_res.txt" 539784506068481, [0, 216, 246, 350, 546], [18, 198, 78, 168, 276, 186, 308, 42, 506, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 539785296175117, [0, 172, 196, 396, 496], [82, 90, 124, 72, 214, 154, 342, 54, 432, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 539786251429531, [0, 130, 226, 340, 520], [18, 112, 36, 190, 148, 208, 168, 172, 280, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 539786670718973, [0, 198, 276, 404, 564], [60, 138, 126, 150, 264, 210, 366, 38, 504, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Немного изменила вывод: сначала выводится вектор главной диагонали квадрата Стенли a, затем вектор b - это остальные 20 элементов квадрата. В этом векторе известны только 10 элементов: b[1], b[2], ..., b[10], поэтому остальные 10 элементов нули. Ну вот, если использовать эту предпроверку для поиска кандидатов, тогда надо написать программу проверки кандидатов. Крутим программу предпроверки, набираем кандидатов, а потом проверяем кандидатов на окончательное построение квадрата Стенли. Программы предпроверки работает достаточно быстро. Скорость этой программы со скоростью программы Алексея Белышева не сравнивала. Можно попробовать сравнить на некотором интервале. Но в программе Белышева выполняется полная проверка, а в моей программе только предпроверка. Поэтому сравнение будет не совсем корректное. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Итак тестируя свою программу предпроверки, я проверила следующий интервал [539781410665403, 5.39787*10^14]. Надо проверить 4 последних кандидата; хотя вероятность полного построения квадрата Стенли о-ч-е-н-ь мала. А вдруг… |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Расскажу подробно о превращении квадрата Стенли 5х5 в пандиагональный квадрат. Это квадрат Стенли 5 7 17 31 131 11 13 23 37 137 41 43 53 67 167 71 73 83 97 197 101 103 113 127 227 а это полученный из него пандиагональный квадрат 5 73 127 137 53 37 167 17 71 103 83 101 13 67 131 43 31 197 113 11 227 23 41 7 97 Смотрите сообщение https://boinc.progger.info/odlk/forum_thread.php?id=260&postid=12730 Можно написать матричное преобразование, переводящее квадрат Стенли в пандиагональный квадрат. Это преобразование наверняка есть в теме "Антимагические квадраты", можно поискать. Магические квадраты принято записывать в виде матрицы, вот так a11 a12 a13 a14 a15 a21 a22 a23 a24 a25 a31 a32 a33 a34 a35 a41 a42 a43 a44 a45 a51 a52 a53 a54 a55 Будем считать, что в таком виде у нас записан квадрат Стенли. Теперь просто переобозначьте элементы квадрата, как они записаны в пандиагональном квадрате (в приведённом примере), и вы получите матричное преобразование, переводящее квадрат Стенли в пандиагональный квадрат. В PARI/GP намного удобнее работать с векторами, чем с матрицами. Обозначим квадрат Стенли вeктором st, а пандиагональный квадрат вектором pan. st = [st[1],st[2],st[3],st[4],st[5],st[6],st[7],st[8],st[9],st[10],st[11],st[12],st[13],st[14],st[15],st[16],st[17], st[18],st[19],st[20],st[21],st[22],st[23],st[24],st[25]] Для показанного здесь квадрата Стенли st = [5, 7, 17, 31, 131, 11, 13, 23, 37, 137, 41, 43, 53, 67, 167, 71, 73, 83, 97, 197, 101, 103, 113, 127, 227] Тогда полученный из этого квадрата Стенли пандиагональный квадрат будет иметь следующий вектор pan = [st[1],st[17],st[24],st[10],st[13],st[9],st[15],st[3],st[16],st[22],st[18],st[21],st[7],st[14],st[5],st[12], st[4],st[20],st[23],st[6],st[25],st[8],st[11],st[2],st[19]] Напишем программку на PARI/GP, которая выполнит это переобозначение вектора st в вектор pan, и превращение квадрата Стенли в пандиагональный квадрат выполнится этой программкой мгновенно. Для показанного здесь пандиагонального квадрата pan = [5, 73, 127, 137, 53, 37, 167, 17, 71, 103, 83, 101, 13, 67, 131, 43, 31, 197, 113, 11, 227, 23, 41, 7, 97] |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Написала программку, чтобы проверить. {pan=vector(25); st = [5, 7, 17, 31, 131, 11, 13, 23, 37, 137, 41, 43, 53, 67, 167, 71, 73, 83, 97, 197, 101, 103, 113, 127, 227]; pan[1]=st[1];pan[2]=st[17];pan[3]=st[24];pan[4]=st[10];pan[5]=st[13];pan[6]=st[9];pan[7]=st[15]; pan[8]=st[3];pan[9]=st[16];pan[10]=st[22];pan[11]=st[18];pan[12]=st[21];pan[13]=st[7];pan[14]=st[14]; pan[15]=st[5];pan[16]=st[12];pan[17]=st[4];pan[18]=st[20];pan[19]=st[23];pan[20]=st[6];pan[21]=st[25]; pan[22]=st[8];pan[23]=st[11];pan[24]=st[2];pan[25]=st[19]; print(pan); } В программу введён квадрат Стенли - вектор st. Программа выводит пандиагональный квадрат - вектор pan (05:30) gp > \r st_pan.txt [5, 73, 127, 137, 53, 37, 167, 17, 71, 103, 83, 101, 13, 67, 131, 43, 31, 197, 113, 11, 227, 23, 41, 7, 97] Всё правильно, не напутала в переобозначениях. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
А теперь проверю квадрат Стенли из сообщения https://boinc.progger.info/odlk/forum_thread.php?id=260&postid=12822 Ввожу в программу квадрат Стенли st = [0,48,168,310,364,66,114,234,376,430,10,58,178,320,374,6,54,174,316,370,146,194,314,456,510]; Программа выдаёт пандиагональный квадрат [0, 54, 456, 430, 178, 376, 374, 168, 6, 194, 174, 146, 114, 320, 364, 58, 310, 370, 314, 66, 510, 234, 10, 48, 316] или вот так запишется этот пандиагональный квадрат 0 54 456 430 178 376 374 168 6 194 174 146 114 320 364 58 310 370 314 66 510 234 10 48 316 Всё правильно. Это магический пандиагональный квадрат 5-го порядка с магической константой S = 1118. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Проверила кандидатов из сообщения https://boinc.progger.info/odlk/forum_thread.php?id=260&postid=12825 В этом кандидате нашла ошибку 539786251429531, [0, 130, 226, 340, 520], [18, 112, 36, 190, 148, 208, 168, 172, 280, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] два одинаковых элемента - 190. Элементы в квадрате повторяться не должны. Ошибку в программе предпроверки исправила и снова кручу программу, дальше по диапазону. Может, ещё кандидаты найдутся, проверю их тоже. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Вчера вечером запустила программу предпроверки на Ахиллесе-3. За ночь найдено два кандидата 539789527374421, [0, 178, 448, 582, 772], [70, 108, 220, 228, 328, 298, 372, 210, 480, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 539789952795707, [0, 146, 182, 264, 444], [20, 126, 50, 132, 176, 152, 204, 60, 330, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Проверила их, пока больше ошибок не обнаружила. Кандидаты находятся в малом количестве, так что я вполне успеваю их проверять. Полученные квадраты Стенли с 15 вписанными правильными элементами легко достраиваются вручную. Пока получились только квадраты Стенли с 9 "дырками". Один такой квадрат Стенли показан выше. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Об определении квадрата Стенли Смотрим сообщение https://dxdy.ru/post267640.html#p267640 Вот он тот случай, которым несть числа на форуме dxdy.ru. Вы видите изображение? Я не вижу. Воскликну, как Ядряра: "А почему, спрашивается?!" Здесь не тот случай, когда хостинг картинок приказал долго жить. Картинка лежит на моём сайте! Мне удалось скопировать адрес изображения, вот он http://www.natalimak1.narod.ru/mk/111.jpg Изображение там лежит! Но вот на форуме оно почему-то не показывается. Вы можете посмотреть его по указанной ссылке. Сейчас я здесь покажу это изображение. Ведь на нём определение антимагического квадрата, или квадрата Стенли (это я его так назвала, по имени автора книги). PS. Отлично помню, как ещё будучи на форуме, сталкивалась с такими случаями, когда изображения с моего сайта не отображались на форуме. Ответ о причине такого явления не получила. Возможно, причина в старом формате ссылки (http вместо https). Вот картинка с определением квадрата Стенли |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
Кстати, в том же сообщении приведена ссылка на книгу http://narod.ru/disk/15562048000/Perechislitelnaya_kombinatorika.rar.html Ссылка не работает, хотя на Яндекс.Диск выходит. Это какой-то очень древний Яндекс.Диск, там даже написано "Архив". Но всё равно непонятно, почему ссылка не выходит прямо на книгу. Возможно, я её удалила сама очень давно. Наверное, книгу можно найти в Интернете. В компьютере книга у меня сохранилась. Если в Интернете не найдёте, пишите мне, я выложу. Книга интересная. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
А знаете ли вы, как построить магический пандиагональный квадрат 5-го порядка из последовательных натуральных чисел, то есть из чисел от 1 до 25? Ну, методов существует много. Когда-то очень давно я все эти методы исследовала, и не только для 5-го порядка. А вот с помощью квадрата Стенли очень просто такой квадрат построить. Прямо мгновенно! Вводим в программку, показанную выше, квадрат Стенли из последовательных натуральных чисел st = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25] Выполняем программу, программа выдаёт пандиагональный квадрат [1, 17, 24, 10, 13, 9, 15, 3, 16, 22, 18, 21, 7, 14, 5, 12, 4, 20, 23, 6, 25, 8, 11, 2, 19] или вот так этот квадрат можно записать 1, 17, 24, 10, 13, 9, 15, 3, 16, 22, 18, 21, 7, 14, 5, 12, 4, 20, 23, 6, 25, 8, 11, 2, 19 Здорово, не правда ли? Этот метод работает для любого порядка, являющегося простым числом, начиная с порядка 5. Только для каждого порядка будет своё преобразование, превращающее квадрат Стенли в пандиагональный квадрат. Метод прекрасно описан в статье Россера, написанной в 1939 году. В своё время мы с коллегами подробно изучали эту статью. Сергей Беляев даже перевёл её на русский язык. Прекрасное было время! Кстати, в книге Стенли (кто заинтересуется и будет читать), определение антимагического квадрата приведено в упражнении 29 на стр. 397. Посмотрите это упражнение, оно интересное. И решение упражнения есть. Там и отмечено свойство антимагического квадрата: перестановка строк/столбцов антимагического квадрата оставляет его антимагическим. Книгу выложила на Яндекс.Диск https://disk.yandex.ru/i/tdZvl7QP5mV60A Формат djvu, читается pdf-читалкой. Читайте, господа! Главное - то, что относится к квадратам Стенли, то есть упражнение 29 на стр. 397. Теперь вы точно будете знать, что такое квадрат Стенли и как его построить. |
Send message Joined: 6 Apr 17 Posts: 13285 Credit: 0 RAC: 0 |
А программа на Ахиллесе-3 работает! Кандидаты ищутся и находятся. Буду их проверять, главное - для проверки программы, нет ли в ней ошибок. Вряд ли быстро найдётся кандидат, который достроится до полного квадрата Стенли. Однако никто не сказал, где этот квадрат находится. К сожалению, неизвестно, докуда досчитал Макс. Думаю, что он довольно быстро бросил эту задачу. Так что, до заоблачных высот он наверняка не добрался. |
©2024 (C) Progger