Message boards :
Cafe :
Распараллеливание вложенных циклов
Message board moderation
Previous · 1 · 2 · 3 · 4 · Next
Author | Message |
---|---|
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Собрала все центральные 11-ки, найденные в ручном поиске (по преемственным паттернам 23-к, в нулевом периоде на периоде 71#) 515461785794534460064127353: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 6, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 426, 432] 428548969620875213447637163: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 30, 84, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 336, 390, 420] 500643610282144273323599083: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 6, 84, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 336, 414, 420] 212960240550241653226902553: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 6, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 426, 432] 295670800661508486410580793: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 12, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 420, 432] 545630597952234475480739803: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 30, 84, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 336, 390, 420] 415919230154935362336185113: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 12, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 420, 432] Это найдено "бесконечными" программами. Несколько потоков работают на Ахиллесе-3. Конечные программы у меня пока работали только с первым паттерном. 24 конечные программы почти отработали (две последние скоро завершатся). Эти программы пока не нашли центральных 11-к. Ну, ещё очень маленькая часть добавок сгенерирована и проверена. Как видим, по первому паттерну (диаметр 408) и "бесконечная" программа пока не нашла центральную 11-ку. Вот она работает - "бесконечная" программа по первому паттерну . . . . . . . . . 959765417872588800 formulae expected 167312157610930616293854283: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 225967300707441567994484203: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 534658956614997652386022513: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 555934352508320091214192723: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 184067576541792216872122963: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 260934083414158936657219783: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 287466468030139994920568683: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 142402850129038571501623633: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 87698133411422639683422283: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 433964729384987076707855863: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 89218454129122147966120423: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 381707852194710393858430363: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 459398035748129956508735143: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 101727308330785674810327493: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 503920572112855871746377043: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] 364857978462852505300234003: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408] . . . . . . . Центральных 9-к море, центральной 11-ки ни одной! Поразительно! Ещё одна центральная 11-ка от "бесконечной" программы 533203408100815882886230183: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 12, 90, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 342, 420, 432] Отлично работают бесконечные программы! А это от конечной программы первая центральная 11-ка 502767868555134849936799393: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] Замечательно! Распараллеливание работает прекрасно. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Тэк-с, вот для этих паттернов 23-к 0, 24, 78, 84, 90, 108, 120, 150, 168, 174, 198, 204, 210, 234, 240, 258, 288, 300, 318, 324, 330, 384, 408; 0, 30, 84, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 336, 390, 420; 0, 6, 30, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 390, 414, 420; 0, 6, 84, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 336, 414, 420; 0, 36, 90, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 342, 396, 432; 0, 12, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 420, 432; 0, 12, 90, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 342, 420, 432; 0, 6, 36, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 396, 426, 432; 0, 6, 90, 96, 102, 120, 132, 162, 180, 186, 210, 216, 222, 246, 252, 270, 300, 312, 330, 336, 342, 426, 432; 0, 78, 168, 174, 180, 198, 210, 240, 258, 264, 288, 294, 300, 324, 330, 348, 378, 390, 408, 414, 420, 510, 588; 0, 30, 78, 174, 180, 198, 210, 240, 258, 264, 288, 294, 300, 324, 330, 348, 378, 390, 408, 414, 510, 558, 588; 0, 30, 84, 174, 180, 198, 210, 240, 258, 264, 288, 294, 300, 324, 330, 348, 378, 390, 408, 414, 504, 558, 588; 0, 30, 90, 174, 180, 198, 210, 240, 258, 264, 288, 294, 300, 324, 330, 348, 378, 390, 408, 414, 498, 558, 588; 0, 36, 114, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 546, 624, 660 у меня работают "бесконечные" программы. Пусть работают, пока Ахиллес-3 не вылетел. Для нового распараллеливания возьму следующий паттерн 0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660 Запускаю "бесконечную" программу для этого паттерна, чтобы подучить таблицу данных для циклов (14:15) gp > \r 23_71_0period.txt logfile = "23_71_0period_all_res.txt" 0 from number 0 to number [0,36,120,210,216,234,246,276,294,300,324,330,336,360,366,384,414,426,444,450,540,624,660] patterns length 23 557940830126698960967415390 period search in 0 (0.E-19) - 557940830126698960967415390 (5.6 E26) central 3: [324,330,336] prove by 71#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71] [1] [1, 2] [2, 3] [2, 3] [2, 9] [7, 9] [1, 2] [7, 8, 16, 17] [1, 3, 4, 6, 13, 17] [1, 2, 3, 4, 5, 6, 8, 10, 13, 23, 26, 28] [9, 13, 23, 24, 25, 28, 29, 30] [7, 8, 11, 14, 16, 17, 19, 21, 22, 24, 26, 27, 29, 32, 35, 36] [2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38 , 40] [2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 4 0, 41] [2, 3, 4, 7, 8, 12, 13, 14, 15, 17, 18, 22, 23, 27, 28, 30, 31, 32, 33, 37, 38, 41, 42, 43] [1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 28, 30, 32, 34, 36 , 37, 38, 44, 45, 46, 48, 50, 52] [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 27, 31, 32, 33, 34, 35 , 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 51, 52, 55, 56] [3, 4, 7, 8, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 31, 32, 33, 35, 37, 39, 40, 41, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60] [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 15, 16, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 37, 38, 39, 40, 44, 45, 47, 48, 49, 50, 51, 53, 54, 56, 57, 60, 61, 62, 64, 65] [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30 , 32, 33, 34, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 54, 56, 57, 58 , 59, 62, 63, 64, 65, 67, 69, 70] 2604626545213440000 formulae expected Замечательно! Осталось проставить модули и посчитать количества разрешённых остатков для каждого модуля. Сами разрешённые остатки в квадратных скобках. Вот просто пальчиком их посчитать. Ну, а "бесконечная" программа пусть пока работает; это хорошо для проверки результатов от конечных программ, которые собираюсь сделать. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Таблица данных для циклов готова prove by 71#: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71] 2 1 [1] 3 2 [1, 2] 5 2 [2, 3] 7 2 [2, 3] 11 2 [2, 9] 13 2 [7, 9] 17 2 [1, 2] 19 4 [7, 8, 16, 17] 23 6 [1, 3, 4, 6, 13, 17] 29 12 [1, 2, 3, 4, 5, 6, 8, 10, 13, 23, 26, 28] 31 8 [9, 13, 23, 24, 25, 28, 29, 30] 37 16 [7, 8, 11, 14, 16, 17, 19, 21, 22, 24, 26, 27, 29, 32, 35, 36] 41 22 [2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38, 40] 43 22 [2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41] 47 24 [2, 3, 4, 7, 8, 12, 13, 14, 15, 17, 18, 22, 23, 27, 28, 30, 31, 32, 33, 37, 38, 41, 42, 43] 53 30 [1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 28, 30, 32, 34, 36, 37, 38, 44, 45, 46, 48, 50, 52] 59 36 [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 51, 52, 55, 56] 61 40 [3, 4, 7, 8, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 31, 32, 33, 35, 37, 39, 40, 41, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60] 67 44 [1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 15, 16, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 37, 38, 39, 40, 44, 45, 47, 48, 49, 50, 51, 53, 54, 56, 57, 60, 61, 62, 64, 65] 71 50 [1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 34, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 54, 56, 57, 58, 59, 62, 63, 64, 65, 67, 69, 70] 2604626545213440000 formulae expected Проверим 1*2*2*2*2*2*2*4*6*12*8*16*22*22*24*30*36*40*44*50 = 2604626545213440000 Всё верно. Обще количество добавок (формул) равно 2604626545213440000. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Представлю таблицу данных для циклов в формате, удобном для программы v2=[1]; \\1 v3=[1, 2]; \\2 v5=[2, 3]; \\2 v7=[2, 3]; \\2 v11=[2, 9]; \\2 v13=[7, 9]; \\2 v17=[1, 2]; \\2 v19=[7, 8, 16, 17]; \\4 v23=[1, 3, 4, 6, 13, 17]; \\6 v29=[1, 2, 3, 4, 5, 6, 8, 10, 13, 23, 26, 28]; \\12 v31=[9, 13, 23, 24, 25, 28, 29, 30]; \\8 v37=[7, 8, 11, 14, 16, 17, 19, 21, 22, 24, 26, 27, 29, 32, 35, 36]; \\16 v41=[2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38, 40]; \\22 v43=[2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]; \\22 v47=[2, 3, 4, 7, 8, 12, 13, 14, 15, 17, 18, 22, 23, 27, 28, 30, 31, 32, 33, 37, 38, 41, 42, 43]; \\24 v53=[1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 28, 30, 32, 34, 36, 37, 38, 44, 45, 46, 48, 50, 52]; \\30 v59=[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 51, 52, 55, 56]; \\36 v61=[3, 4, 7, 8, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 31, 32, 33, 35, 37, 39, 40, 41, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60]; \\40 v67=[1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 15, 16, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 37, 38, 39, 40, 44, 45, 47, 48, 49, 50, 51, 53, 54, 56, 57, 60, 61, 62, 64, 65]; \\44 v71=[1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 34, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 54, 56, 57, 58, 59, 62, 63, 64, 65, 67, 69, 70]; \\50 Итак, делаю первую серию конечных программ, их будет 22 штуки. Будут циклы for (i47=1,24, for (i53=1,30, for (i59=1,36, for (i61=1,40, for (i67=1,44 for (i71=1,50, и дальше линейка v43=[2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41] \\22 В каждой из 22 конечных программ будет сгенерировано 2280960000 добавок. Во всех 22 конечных программах будет сгенерировано 2280960000*22 = 50181120000 добавок. Такой малюсенький экспериментик. Ох, не знаю, осилит ли Corporal эти распараллеливания. Он пока молчит, руки не дошли ещё до распараллеливания. Я понимаю, у него много своей работы. А я начинаю запускать конечные программы этой серии. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Первая программа этой серии готова. Опубликую её, это эталонная программа для рассматриваемого паттерна. default(timer,1); \l 23_71_0period_pat660_part_res.txt; {pt=[0,36,120,210,216,234,246,276,294,300,324,330,336,360,366,384,414,426,444,450,540,624,660]; vmy=vector(60); pat9=vector(9); pat11=vector(11); pat13=vector(13); pat15=vector(15); pat17=vector(17); pat19=vector(19); pat21=vector(21); pat23=vector(23); pt9=[0, 18, 24, 48, 54, 60, 84, 90, 108]; pt11=[0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168]; pt13=[0, 12, 42, 60, 66, 90, 96, 102, 126, 132, 150, 180, 192]; pt15=[0, 18, 30, 60, 78, 84, 108, 114, 120, 144, 150, 168, 198, 210, 228]; pt17=[0, 6, 24, 36, 66, 84, 90, 114, 120, 126, 150, 156, 174, 204, 216, 234, 240]; pt19=[0, 90, 96, 114, 126, 156, 174, 180, 204, 210, 216, 240, 246, 264, 294, 306, 324, 330, 420]; pt21=[0, 84, 174, 180, 198, 210, 240, 258, 264, 288, 294, 300, 324, 330, 348, 378, 390, 408, 414, 504, 588]; v2=[1]; \\1 v3=[1, 2]; \\2 v5=[2, 3]; \\2 v7=[2, 3]; \\2 v11=[2, 9]; \\2 v13=[7, 9]; \\2 v17=[1, 2]; \\2 v19=[7, 8, 16, 17]; \\4 v23=[1, 3, 4, 6, 13, 17]; \\6 v29=[1, 2, 3, 4, 5, 6, 8, 10, 13, 23, 26, 28]; \\12 v31=[9, 13, 23, 24, 25, 28, 29, 30]; \\8 v37=[7, 8, 11, 14, 16, 17, 19, 21, 22, 24, 26, 27, 29, 32, 35, 36]; \\16 v41=[2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38, 40]; \\22 v43=[2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41]; \\22 v47=[2, 3, 4, 7, 8, 12, 13, 14, 15, 17, 18, 22, 23, 27, 28, 30, 31, 32, 33, 37, 38, 41, 42, 43]; \\24 v53=[1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 28, 30, 32, 34, 36, 37, 38, 44, 45, 46, 48, 50, 52]; \\30 v59=[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 51, 52, 55, 56]; \\36 v61=[3, 4, 7, 8, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 31, 32, 33, 35, 37, 39, 40, 41, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60]; \\40 v67=[1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 15, 16, 17, 20, 21, 23, 24, 26, 27, 28, 29, 30, 32, 33, 37, 38, 39, 40, 44, 45, 47, 48, 49, 50, 51, 53, 54, 56, 57, 60, 61, 62, 64, 65]; \\44 v71=[1, 2, 4, 5, 6, 7, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 34, 36, 37, 39, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 54, 56, 57, 58, 59, 62, 63, 64, 65, 67, 69, 70]; \\50 k=0; for(i47=1,24, for(i53=1,30, for(i59=1,36, for(i61=1,40, for(i67=1,44, for(i71=1,50, bpt=lift(chinese([Mod(1,2),Mod(1,3),Mod(2,5),Mod(2,7),Mod(2,11),Mod(7,13),Mod(1,17),Mod(7,19),Mod(1,23),Mod(1,29),Mod(9,31),Mod(7,37),Mod(2,41),Mod(2,43),Mod(v47[i47],47),Mod(v53[i53],53),Mod(v59[i59],59),Mod(v61[i61],61),Mod(v67[i67],67),Mod(v71[i71],71)])); k++; \\кортеж 9 if(ispseudoprime(bpt+pt[8]) && ispseudoprime(bpt+pt[16]), l=0; forprime(p=bpt+pt[8],bpt+pt[16], l++; vmy[l]=p; ); if(l==9, for(m=2,9, pat9[m]=vmy[m]-vmy[1]; ); if(pat9==pt9, print(vmy[1],": ",pat9); print(pt); ); \\кортеж 11 if(ispseudoprime(bpt+pt[7]) && ispseudoprime(bpt+pt[17]), l=0; forprime(p=bpt+pt[7],bpt+pt[17], l++; vmy[l]=p; ); if(l==11, for(m=2,11, pat11[m]=vmy[m]-vmy[1]; ); if(pat11==pt11, print(vmy[1],": ",pat11); print(pt); ); \\кортеж 13 if(ispseudoprime(bpt+pt[6]) && ispseudoprime(bpt+pt[18]), l=0; forprime(p=bpt+pt[6],bpt+pt[18], l++; vmy[l]=p; ); if(l==13, for(m=2,13, pat13[m]=vmy[m]-vmy[1]; ); if(pat13==pt13, print(vmy[1],": "); print(pat13); print(pt); ); \\кортеж 15 if(ispseudoprime(bpt+pt[5]) && ispseudoprime(bpt+pt[19]), l=0; forprime(p=bpt+pt[5],bpt+pt[19], l++; vmy[l]=p; ); if(l==15, for(m=2,15, pat15[m]=vmy[m]-vmy[1]; ); if(pat15==pt15, print(vmy[1],": "); print(pat15); print(pt); ); \\кортеж 17 if(ispseudoprime(bpt+pt[4]) && ispseudoprime(bpt+pt[20]), l=0; forprime(p=bpt+pt[4],bpt+pt[20], l++; vmy[l]=p; ); if(l==17, for(m=2,17, pat17[m]=vmy[m]-vmy[1]; ); if(pat17==pt17, print(vmy[1],": "); print(pat17); print(pt); ); \\кортеж 19 if(ispseudoprime(bpt+pt[3]) && ispseudoprime(bpt+pt[21]), l=0; forprime(p=bpt+pt[3],bpt+pt[21], l++; vmy[l]=p; ); if(l==19, for(m=2,19, pat19[m]=vmy[m]-vmy[1]; ); if(pat19==pt19, print(vmy[1],": "); print(pat19); print(pt); ); \\кортеж 21 if(ispseudoprime(bpt+pt[2]) && ispseudoprime(bpt+pt[22]), l=0; forprime(p=bpt+pt[2],bpt+pt[22], l++; vmy[l]=p; ); if(l==21, for(m=2,21, pat21[m]=vmy[m]-vmy[1]; ); if(pat21==pt21, print(vmy[1],": "); print(pat21); print(pt); ); \\кортеж 23 if(ispseudoprime(bpt) && ispseudoprime(bpt+pt[23]), l=0; forprime(p=bpt,bpt+pt[23], l++; vmy[l]=p; ); if(l==23, for(m=2,23, pat23[m]=vmy[m]-vmy[1]; ); if(pat23==pt, print(vmy[1],": "); print(pat23); ); ))))))))))))))); \\ if l==9 );\\ if ispseudoprime );););););); print("sgenerirovano dobavok ",k); } Сейчас запущу эту программу. Потом сделаю ещё 21 программу этой серии. Ну, их можно и не делать, а просто запускать каждый раз нужный вариант программы. Я ведь не BOINC :) |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Запустила несколько конечных программ. "Бесконечная" программа для этого паттерна выдала уже две центральные 9-ки. Первая конечная программа первую из этих центральных 9-к тоже уже выдала, как и должна. Всё прекрасно работает. Наблюдаю. Очень интересный эксперимент! |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Ура! Одна из конечных программ нашла центральную 11-ку! 502767868555134849936799393: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] Замечательно! Распараллеливание работает! При этом "бесконечная" программа для этого паттерна ещё не выдала эту центральную 11-ку. Пока ни одна из запущенных вчера конечных программ не завершилась. Центральные 9-ки выданы всеми конечными программами. Эксперимент продолжается! В BOINC-проекте пока, увы, тишина с тестированием распараллеливания. Может, Corporal ещё ничего и не делал, а может, делал, но что-то не получается пока. Тут есть специфика: нет вушек как таковых. Он пока молчит. Яркий пример - насколько ручной проект гибче BOINC-проекта. В ручном проекте не нужна никакая адаптация. Написал программу и - вперёд. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Сейчас ещё две конечные программы запущу на Ахиллесе. Будет всего 7 потоков (вместе с Ахиллесом-3). Цитата Будут циклы Вот в линейке и видим, сколько здесь конечных программ. Их 22 штуки. В 7 потоков запускаю. Это довольно быстро отработает. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Готово! Запустила два потока на Ахиллесе. Эти два потока будут немножко отставать от 5 потоков на Ахиллесе-3. Ну, не беда. Всё равно 7 потоков работают одновременно. Всего три запуска по 7 потоков, и ещё одна программка останется. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Ну вот, конечные программы начали завершаться > \r 23_71_0period_pat660_part2.txt logfile = "23_71_0period_pat660_part2_res.txt" 225189052161486043678467313: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 378798542490133583648100163: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 169078440102205710542525953: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 70541978118432740347127593: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 156661449949998735043181773: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] sgenerirovano dobavok 2280960000 Эх, время забыла поставить. В следующем проходе поставлю. Количество сгенерированных добавок верное, как должно быть по подсчётам. Сейчас начну запуск следующей порции конечных программ. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
А тут есть время ? \r 23_71_0period_pat660_part1.txt logfile = "23_71_0period_pat660_part1_res.txt" 479115009886642681315733863: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 13008713368730581768235863: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 316466199113459905640820583: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 502767868555134849936799423: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 502767868555134849936799393: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 137315065396440820850551483: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] sgenerirovano dobavok 2280960000 time = 17h, 48min, 28,234 ms. В показанной выше программе время не я забыла поставить, а так PARI сработал. Время почти 18 часов. Тут части побольше немножко, чем в программах для первого паттерна. Соответственно и время побольше. В этой части видите центральную 11-ку. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Вот сравнила результаты от: а) "бесконечной" программы 30809992489800388190395963: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 246392090246417065987045903: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 68837747910247016560319353: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 551406400386506659840075123: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] б) первой конечной программы 30809992489800388190395963: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 246392090246417065987045903: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 68837747910247016560319353: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 551406400386506659840075123: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] Полностью совпадают. Прекрасно! |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Одна центральная 11-ка, найденная в ручном проекте, продолжилась до хромоногой центральной 13-ки. Вот она - хромоножка {*533203408100815882886230109, 533203408100815882886230183, 533203408100815882886230213, 533203408100815882886230231, 533203408100815882886230237, 533203408100815882886230261, 533203408100815882886230267, 533203408100815882886230273, 533203408100815882886230297, 533203408100815882886230303, 533203408100815882886230321,533203408100815882886230351, 533203408100815882886230363} Первый элемент кортежа не соответствует паттерну, по паттерну должно быть число 533203408100815882886230171. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Цитата и дальше линейка По этой линейке у меня уже отработало или в работе (смотрите числа, выделенные синим цветом) v43=[2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41] \\22 И на данный момент v43=[2, 6, 10, 11, 13, 15, 17, 18, 22, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41] \\22 Остались всего четыре программы. Можно подумать о том, как распараллеливать дальше. Эти 22 программы сгенерируют и проверят 2280960000*22 = 50181120000 добавок. Это составляет 2604626545213440000 / 2280960000 = 1141899264-ую часть от общего количества добавок для данного паттерна. Где там г. Петухов? Пусть посчитает, сколько миллионов лет мне потребуется, чтобы в ручном режиме обсчитать этот диапазон :)) Тем не менее распараллеливание работает и гарантирует все результаты в проверяемом диапазоне. Если в этом диапазоне есть симметричный 23-tuplet с рассматриваемым паттерном, он обязательно будет найден. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
К сожалению, от Corporal до сих пор нет никаких новостей. Ну наверное, много дел навалилось на основной работе. Подождём. Авось распараллеливание всё-таки заработает в BOINC-проекте. Очень на это надеюсь. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Ну, пока первая серия конечных программ досчитывается, прикину, как будет распараллеливаться на втором этапе. Теперь будет работать линейка v41=[2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38, 40]; \\22 Берём первую программу первой серии. Это будет эталонная программа. Дальше делаем из неё 21 новую программу по показанной линейке; не берётся только число 2, потому что оно задействовано в эталонной программе. Потом берём вторую программу первой серии и по ней точно так же делаем 21 новую программу по указанной линейке. И так для всех программ первой серии. В результате второго этапа распараллеливания мы получим 21*22=462 новые конечные программы. Вместе с программами первой серии будет 484 конечные программы. Но выполнять, конечно, будем только 462 новые программы. Каждая программа второй серии тоже будет генерировать 2280960000 добавок, как и программы первой серии. Все программы двух этапов распараллеливания сгенерируют и проверят 484*2280960000 = 1103984640000 добавок. Понятно, что выполнять 462 новые программы мне придётся очень долго. Но я не тужу и никуда не тороплюсь :) Главное, чтобы оно работало согласно алгоритму. Кстати, все программы двух этапов распараллеливания сгенерируют 2604626545213440000 / 1103984640000 = 2359296-ую часть общего количества добавок для данного паттерна. Уже солидная часть. В этой части может что-нибудь интересное найтись. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Вот это у меня работает "бесконечная" программа для паттерна 23-ки с диаметром 660, который сейчас тестирую конечными программами . . . . . . . . . . . . . 2604626545213440000 formulae expected 30809992489800388190395963: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 246392090246417065987045903: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 68837747910247016560319353: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 551406400386506659840075123: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 479115009886642681315733863: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 13008713368730581768235863: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 316466199113459905640820583: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 502767868555134849936799423: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 502767868555134849936799393: [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 137315065396440820850551483: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] 225189052161486043678467313: [0, 18, 24, 48, 54, 60, 84, 90, 108] [0, 36, 120, 210, 216, 234, 246, 276, 294, 300, 324, 330, 336, 360, 366, 384, 414, 426, 444, 450, 540, 624, 660] Кстати, конечные программы обходят "бесконечную", потому что они работают в несколько потоков. Центральные 9-ки и одна центральная 11-ка уже совпали с решениями от конечных программ. Дальше крутить эту "бесконечную" программу не имеет смысла. Остановлю её. У меня работают ещё 14 "бесконечных" программ; эти пока не буду останавливать, пусть работают, пока Ахидллес-3 в очередной раз не вылетит. Эти программы для других паттернов 23-к. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Остановила "бесконечную" программу и на её месте запустила ещё одну конечную. Плюс ещё одну конечную запустила; Ахиллес тянет 21 поток. Он бы и больше потянул, но на нём работает ещё BOINC-проект, который занимает 50% ресурсов. Теперь у меня работают на Ахиллесе 14 "бесконечных" программ и 7 конечных. Сейчас картинку покажу, как Ахиллес-3 трудится. Вот он - красавец ![]() Теперь ежели этот красавец зависает, 14 "бесконечных" программ вылетают. А 7 конечных программ просто перезапускаю. А на месте 14 "бесконечных" программ запущу ещё конечные программы. |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Кстати, работает и ещё одна программа на Ахиллесе-3 - бесконечная программа Алексея Белышева по поиску антимага 5х5 из последовательных простых чисел. Этой бесконечной программе зависания не страшны, у неё есть чекпоинт. Смотрите тему "Задача века" https://boinc.progger.info/odlk/forum_thread.php?id=260&sort_style=6&start=0 |
![]() ![]() Send message Joined: 6 Apr 17 Posts: 15208 Credit: 0 RAC: 0 |
Всё, последняя программа первой серии конечных программ запущена. Перехожу к конечным программам второй серии (второй этап размножения). Беру первую программу первой серии, опубликованную в сообщении https://boinc.progger.info/odlk/forum_thread.php?id=314&postid=16349 Буду размножать эту программу по линейке v41=[2, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 29, 31, 35, 38, 40]; \\22 исключая первое число 2, которое уже задействовано в эталонной программе. Замена производится в строке программы bpt=lift(chinese([Mod(1,2),Mod(1,3),Mod(2,5),Mod(2,7),Mod(2,11),Mod(7,13),Mod(1,17),Mod(7,19),Mod(1,23),Mod(1,29),Mod(9,31),Mod(7,37),Mod(2,41),Mod(2,43),Mod(v47[i47],47),Mod(v53[i53],53),Mod(v59[i59],59),Mod(v61[i61],61),Mod(v67[i67],67),Mod(v71[i71],71)])); Красным цветом выделено число, которое будет изменяться. Первый вариант программы будет содержать строку bpt=lift(chinese([Mod(1,2),Mod(1,3),Mod(2,5),Mod(2,7),Mod(2,11),Mod(7,13),Mod(1,17),Mod(7,19),Mod(1,23),Mod(1,29),Mod(9,31),Mod(7,37),Mod(6,41),Mod(2,43),Mod(v47[i47],47),Mod(v53[i53],53),Mod(v59[i59],59),Mod(v61[i61],61),Mod(v67[i67],67),Mod(v71[i71],71)])); второй вариант программы будет содержать строку bpt=lift(chinese([Mod(1,2),Mod(1,3),Mod(2,5),Mod(2,7),Mod(2,11),Mod(7,13),Mod(1,17),Mod(7,19),Mod(1,23),Mod(1,29),Mod(9,31),Mod(7,37),Mod(8,41),Mod(2,43),Mod(v47[i47],47),Mod(v53[i53],53),Mod(v59[i59],59),Mod(v61[i61],61),Mod(v67[i67],67),Mod(v71[i71],71)])); и так далее. 21-й вариант программы будет содержать строку bpt=lift(chinese([Mod(1,2),Mod(1,3),Mod(2,5),Mod(2,7),Mod(2,11),Mod(7,13),Mod(1,17),Mod(7,19),Mod(1,23),Mod(1,29),Mod(9,31),Mod(7,37),Mod(40,41),Mod(2,43),Mod(v47[i47],47),Mod(v53[i53],53),Mod(v59[i59],59),Mod(v61[i61],61),Mod(v67[i67],67),Mod(v71[i71],71)])); Мне всё понятно; не знаю, как вам, господа. 21 новую программу проверю на первом шаге второго этапа. Каждая программа будет обрабатывать точно такую же часть диапазона и время примерно одинаковое тратить на выполнение. Потом будет второй шаг второго этапа, третий шаг и т. д., пока не размножу все 22 программы первой серии. |
©2025 (C) Progger