2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 54, 55, 56, 57, 58, 59, 60 ... 192  След.
 
 Re: Магические квадраты
Сообщение30.09.2009, 22:24 
Аватара пользователя


26/09/09
95
This night I will not report square result, as I start to modify the programs for being able to manage input file sequence and then to compile in Windows.
Maybe with the program Natalia in one day could produce more different squares for different problems, that I could not produce in one month of my time ;)

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение01.10.2009, 00:43 
Заслуженный участник


31/12/05
1480
Nataly-Mak в сообщении #247754 писал(а):
Для порядка 3 проверила 10 кандидатов и – ничего!
Я проверил числа до миллиарда - тоже ничего. Хотя, так как минимальный квадрат 3x3 из последовательных простых чисел содержит числа почти по полтора миллиарда, это неудивительно.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение01.10.2009, 13:32 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
tolstopuz в сообщении #247959 писал(а):
Я проверил числа до миллиарда - тоже ничего. Хотя, так как минимальный квадрат 3x3 из последовательных простых чисел содержит числа почти по полтора миллиарда, это неудивительно.

Для квадрата порядка 3 да, но для порядка 4 из последовательных простых чисел уже третий кандидат построился. Кроме того, например, наименьшие квадраты 8-го и 10-го порядка из последовательных простых чисел у меня построились в несколько минут. А со смитами для этих порядков крутила целый день программу, полумагических квадратов полно, а магический не получается. В конце концов, всё бросила, жалко время терять попусту. Ведь неизвестно ещё, существуют ли вообще квадраты из таких массивов смитов. Если бы хоть знать наверное, что они существуют, тогда можно было бы и покрутить программу до победного конца. А так получается погоня за сказочной жар-птицей.
Я попросила ice00 сделать исполняемую программу для порядка 10. Тогда можно будет попробовать разные варианты массивов по этой программе. Как я поняла, его программы работают быстро, строят квадрат в долю секунды.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение01.10.2009, 20:29 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Попробовала и первого кандидата в магический квадрат 12-го порядка из последовательных смитов. Массив: 382, ..., 4189. Магическая константа 26062. Полумагический квадрат построился за 5 минут, причём такой, что магической суммы нет только в одной диагонали. Вот этот квадрат:

Код:
4162 2079 1282 1903 645 2583 1962 1219 2745 3595 922 2965
2679 2964 535 1449 729 3046 3663 1966 1626 2958 2409 2038
2155 3973 3294 3366 1822 1842 2461 2556 1952 483 1776 382
778 627 3345 3564 4126 1086 2944 1255 1111 1642 2970 2614
2475 1376 3802 454 1881 852 562 1872 2218 3690 2934 3946
2265 3864 958 1921 3649 1678 2902 2366 1736 2785 1284 654
1633 517 636 1908 3852 3246 588 3174 576 3694 2373 3865
2182 2286 2362 2576 1165 895 1755 634 3226 2722 3168 3091
2067 4054 3442 3138 861 2173 1858 4189 526 762 2326 666
1507 2888 1795 2974 2484 2434 3615 690 3930 825 985 1935
1581 728 4173 1894 4185 2605 913 2751 3505 391 2688 648
2578 706 438 915 663 3622 2839 3390 2911 2515 2227 3258

Что тут можно сказать? Существует ли магический квадрат из такого массива смитов? Аналогичные результаты у меня уже для порядков 8, 10, 12 получены. Просто очень хочется узнать конечный результат. Может ли кто-нибудь сделать из дистрибутива, предоставленного ice00, исполняемую программу хотя бы для одного из перечисленных порядков? Или это умеет только ice00? То есть в Италии это умеют, а в России нет :D Огорчительно!
Вот, например, исходный код программы для построения магического квадрата 8-го порядка. Я уже вставила в этот код нужный массив смитов и нужную магическую константу.
Код:
/**
* @(#)pms8_79.h 2000/03/15
*
* @author Tognon Stefano
* @version 1.00
*
* This program automatically generates random prime magic squares of order 8
* for sequence of primes from primes 79.
* The square is printed in standard output, while the other information are
* printed in standard error.
*
* note: some comments are in the style of Javadoc of Java language!
*
*  This program is free software; you can redistribute it and/or modify
*  it under the terms of the GNU General Public License as published by
*  the Free Software Foundation; either version 2 of the License, or
*  (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software
*  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
*  02111-1307  USA.
*/

typedef unsigned int word;
#define DORDER 8
const int ORDER=DORDER;  // square order
const int COMB=256;      // 2 at pow of order
const word MAGIC=6496;   // magic constant

// number of max spaces between output values
const int MAX_BLANK=4;

// list of sequential primes numbers
const word PRIME[ORDER*ORDER]={
         58,
         85,   94,   121,  166,  202,  265,  274,  319,  346,  355,  378,
        382,  391,  438,  454,  483,  517,  526,  535,  562,  576,  588,
        627,  634,  636,  645,  648,  654,  663,  666,  690,  706,  728,
        729,  762,  778,  825,  852,  861,  895,  913,  915,  922,  958,
        985,  1086,  1111,  1165,  1219,  1255,  1282,  1284,  1376,  1449,  1507,
        1581,  1626,  1633,  1642,  1678,  1736,  1755,  1776};

// this is a union of bits and the corresponding int value.
// if the program never produce results, probably your compiler manage this
// union in a different way. If we increase 'counter' then some bits may
// changes their value.
union unionBits {
  int counter;
  struct {
    unsigned bit0 :1;
    unsigned bit1 :1;
    unsigned bit2 :1;
    unsigned bit3 :1;
    unsigned bit4 :1;
    unsigned bit5 :1;
    unsigned bit6 :1;
    unsigned bit7 :1;
  } bit;
};

// note: these defines works ok with even order

#define UP_SEQ {0, 1, 2, 3, 4, 5, 6, 7}
#define DN_SEQ {7, 6, 5, 4, 3, 2, 1, 0}

#define IJ(a) (i==a || j==(ORDER-a-1) || j==a || i==(ORDER-a-1))

#define POS(a) (pos[a]!=a)
#define POSES   POS(0) && POS(1) && POS(2) && POS(3) && \
                POS(4) && POS(5) && POS(6) && POS(7)

#define VALUE(a) (sq.cell[pos[a]][a])
#define VALUES  (VALUE(0)+ VALUE(1)+ VALUE(2)+ VALUE(3)+ VALUE(4)+ \
                 VALUE(5)+  VALUE(6)+ VALUE(7))

#define IF_SWAP if (bits.bit.bit0) swap(sq, i, 0, j, 0); \
                if (bits.bit.bit1) swap(sq, i, 1, j, 1); \
                if (bits.bit.bit2) swap(sq, i, 2, j, 2); \
                if (bits.bit.bit3) swap(sq, i, 3, j, 3); \
                if (bits.bit.bit4) swap(sq, i, 4, j, 4); \
                if (bits.bit.bit5) swap(sq, i, 5, j, 5); \
                if (bits.bit.bit6) swap(sq, i, 6, j, 6); \
                if (bits.bit.bit7) swap(sq, i, 7, j, 7);

#define SUM_CELL sq.cell[index[bits.bit.bit0]][0]+ \
                 sq.cell[index[bits.bit.bit1]][1]+ \
                 sq.cell[index[bits.bit.bit2]][2]+ \
                 sq.cell[index[bits.bit.bit3]][3]+ \
                 sq.cell[index[bits.bit.bit4]][4]+ \
                 sq.cell[index[bits.bit.bit5]][5]+ \
                 sq.cell[index[bits.bit.bit6]][6]+ \
                 sq.cell[index[bits.bit.bit7]][7]

#define BIT_IJ (bits.bit.bit0 && IJ(0)) || \
               (bits.bit.bit1 && IJ(1)) || \
               (bits.bit.bit2 && IJ(2)) || \
               (bits.bit.bit3 && IJ(3)) || \
               (bits.bit.bit4 && IJ(4)) || \
               (bits.bit.bit5 && IJ(5)) || \
               (bits.bit.bit6 && IJ(6)) || \
               (bits.bit.bit7 && IJ(7))

#define cerr_h  \
               "Usage: pms8_79 [-m.] [-n,] [-t;]" << endl \
            << "Options:" << endl \
            << " -m<mh> where mh is the method to use (default d3):" << endl \
            << "    a1:  8R  8C  2D  8R   v1\tdon't give speed result" << endl \
            << "    a2:  8R  8C  2D  8R   v2\tdon't give speed result" << endl \
            << "    a3:  8R  8C  2D  8R   v3\tdon't give speed result" << endl \
            << "    b1:  2R  2D  8R  8C   v1\tdon't give speed result" << endl \
            << "    b2:  2R  2D  8R  8C   v2\tdon't give speed result" << endl \
            << "    b3:  2R  2D  8R  8C   v3\tdon't give speed result" << endl \
            << "    c1:  8R  8C 1D        v1\t 80 sq/min in PII 266Mhz " \
            <<                           "(average of  30 squares)" << endl \
            << "    c2:  8R  8C 1D        v2\t 37 sq/min in PII 266Mhz " \
            <<                           "(average of 100 squares)" << endl \
            << "    c3:  8R  8C 1D        v2\t106 sq/min in PII 266Mhz " \
            <<                           "(average of 100 squares)" << endl \
            << "    d1:  8R  8C 1D 1D  8R v1\t 16 sq/min in PII 266Mhz " \
            <<                           "(average of  20 squares)" << endl \
            << "    d2:  8R  8C 1D 1D  8R v2\tdon't give speed result" << endl \
            << "    d3:  8R  8C 1D 1D  8R v3\t  9 sq/min in PII 266Mhz " \
            <<                           "(average of  20 squares)" << endl \
            << "    d4:  8R  8C 1D 1D  8R v3\t 11 sq/min in PII 266Mhz " \
            <<                           "(average of  20 squares)" << endl \
            << "    (R=row C=column D=diagonal, v version)" << endl \
            << " -n<nu> where nu is the number of squares to generate " \
            <<          "(default 1)" << endl \
            << " -t<nn> where nn is the number of cycle for the methods that " \
            <<                         "allow time out (only c3)" << endl \
            << " -h     the help" << endl;

#define cerr_default "Invalid option: use pms8_79 -h for help" << endl;

Кто может выполнить компиляцию и получить исполняемую программу?
Далее, по-хорошему в этой программе надо сделать так, чтобы массив смитов вводился из внешнего файла, а магическая константа вычислялась в программе, ибо она полностью определяется порядком квадрата и массивом чисел, из которых этот квадрат будет составляться. Тогда эту программу можно будет выполнить не только для данного массива смитов, но и для других вариантов массива, то есть проверить других кандидатов в магический квадрат 8-го порядка из последовательных смитов.
И всё точно так же для других порядков.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение01.10.2009, 23:03 
Аватара пользователя


26/09/09
95
It is 2 hours that my program run for that order 8 (using different algorithms), but no result find.
Else, if I use debug in it, I see that only sometimes it make only 50% of rows magic (then it should go for columns and diagonals), normaly it goes from 0% to 37%.
This probably this that no square will come out :(

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение02.10.2009, 05:04 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
ice00,

Здесь перевод вашего сообщения в Google:
"Это 2 часа, что моя программа запуска для этой целью 8 (с использованием различных алгоритмов), но никакого результата найти.
Еще, если я использую отладки в нем, я вижу, что только иногда делают это лишь 50% строк Magic (тогда она должна пойти на столбцы и диагонали), Normaly Он начинается с 0% до 37%.
Это, вероятно, что это не квадратные выйдет ".

Мне трудно что-либо тут понять.
Вы не нашли результата для приведённого мной массива смитов для квадрата порядка 8?
У вас только иногда получаются наборы строк, в которых сумма чисел равна магической константе?
Я такие наборы генерирую по программе, которая была представлена выше; один такой набор генерируется без проблем за несколько секунд; это первый этап моего алгоритма; далее тоже иду "на столбцы и диагонали"; столбцы тоже складываются часто, а вот диагональ складывается только одна; однако я ведь не выполняю программу до конца.
Чтобы выполнить программу полностью, даже для порядка 8, надо очень много времени, потому что число комбинаций огромно. Поэтому здесь как повезёт :) Вот из простых чисел магические квадраты составляются быстро, а из чисел Смита - нет. Как здесь отметил участник Бодигрим, аддитивные свойства чисел Смита намного хуже, чем у простых чисел.
И далее есть вопрос проверки следующих кандидатов (например, для порядка 8). Вы говорили, что ваши программы справятся с этим легко (за исключением порядков 5 и 6). Но, видимо, вы ещё не знали характер чисел Смита. Я уже приводила пример: для порядка 4 квадрат из последовательных простых чисел составился уже для третьего кандидата. Для этого же порядка квадрат из последовательных смитов не составился для 30 (!) первых кандидатов; это уже окончательных результат (для порядка 4 я выполняю программу полностью). Попробуйте составить квадрат порядка 4 из последовательных смитов по своей программе. Что у вас получится? Вы можете начать проверку сразу с 31-го кандидата.
Значит, мы имеем очень сложную задачу в двух вариантах: 1) построение наименьших магических квадратов из последовательных чисел Смита: 2) построение наименьших магических квадратов из чисел Смита.
Для второго варианта задачи участники форума нашли решение для порядков 4 и 5. Для порядка 6 я пыталась решить задачу, но безуспешно. Ещё раз отмечу, что подобные квадраты из простых чисел до порядка 15 включительно мне построить удалось за разумное время.

-- Пт окт 02, 2009 07:37:11 --

В подтверждение ещё один подобный результат. Проверила следующего кандидата в магический квадрат 8-го порядка из последовательных смитов. Массив: 1255, ..., 2911. Магическая константа 17176. Полумагический квадрат с магической суммой в одной диагонали составился за 5 минут:

Код:
1872 1581 2902 1952 2079 2556 1908 2326
1903 1935 2679 2265 1376 1858 2409 2751
2373 2888 2067 1642 2911 2362 1255 1678
2583 2173 2515 1822 2218 1626 1755 2484
1449 1507 1284 2605 2839 2745 2461 2286
2155 2366 1966 2576 1795 1962 1881 2475
2227 2688 1842 1736 2182 2434 2785 1282
2614 2038 1921 2578 1776 1633 2722 1894

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение02.10.2009, 10:32 
Аватара пользователя


26/09/09
95
Цитата:
I can hardly anything there to understand.
You did not find the result for the reduced me to a square array Smiths around 8?

Sorry for the bad translation.
No, no square is find.

I'm now modifing my program do only make the last step (make diagonal magic) and use one of your not totally magic square to see what happen..

-- Fri Oct 02, 2009 11:02:11 --

No result again. I even use my slow and old
exhaustive method for making diagonal magic (using your last square as input), but no positive result come out

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение02.10.2009, 13:33 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
ice00
Но значит ли это, что решение точно не существует? Я имею в виду эту задачу: построение магического квадрата порядка 8 из последовательных смитов: 1255, ..., 2911. Ведь вы проверили только один из полученных мной полумагических квадратов, а таких квадратов будет получено очень много (может быть, порядка нескольких десятков или даже сотен). Вы не можете их все найти и проверить по вашей программе? Вообще, если, например, строить такой квадрат прямым перебором всех комбинаций, то количество таких комбинаций будет $64^{64}$. Разве можно их все проверить?
В моём алгоритме присутствует элемент случайного выбора 8 строк так, что в каждой строке сумма чисел равна магической константе квадрата. Сколько будет всего таких наборов? Это разве можно точно посчитать?
Теперь вы убедились, что задача построения магических квадратов из последовательных смитов не решается так легко, как построение таких квадратов из простых чисел.
***
Покажу просто оригинальный магический квадрат 4-го порядка из смитов. Я взяла 4 группы смитов-близнецов:
Код:
4463535, 4463536, 4463537, 4463538
6356910, 6356911, 6356912, 6356913
8188933, 8188934, 8188935, 8188936
9425550, 9425551, 9425552, 9425553

и построила из этих арифметических прогрессий такой магический квадрат:

Код:
4463535 6356913 8188935 9425551
9425552 8188934 6356910 4463538
6356911 4463537 9425553 8188933
8188936 9425550 4463536 6356912

Магическая константа квадрата равна $28434934$.
И аналогичный квадрат 5-го порядка:

Код:
15966114 75457384 162449168 296049308 296861736
296049309 296861737 15966115 75457380 162449169
75457381 162449165 296049310 296861738 15966116
296861739 15966117 75457382 162449166 296049306
162449167 296049307 296861735 15966118 75457383

Построить подобный квадрат 6-го порядка вряд ли удастся; квадрат 7-го порядка построить можно, но мне неизвестно 7 групп семёрок-близнецов, известна только одна.
Кстати, насколько мне известно, не найдено ни одной восьмёрки смитов-близнецов, ну, и так далее: девятки, десятки...
tolstopuz, нет ли у вас 9 арифметических прогрессий из смитов длины 9 с одинаковой разностью? Можно было бы построить ещё один квадрат из смитов 9-го порядка.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение02.10.2009, 21:37 
Аватара пользователя


26/09/09
95
Цитата:
In general, if, for example, to build a square brute force all the combinations, the number of such combinations will be $64^{64}$ . . Разве можно их все проверить? Is it possible to check them all?

no, not possible: $64^{64}$=$3,94E^{115}$
so, even if you have supercomputer that manage 100 TeraFlops, it need some Universe ages to performes.

I remember that in araund '95 in Italy was counter the number of normal magic squares of order 5. It tooks about 1 years of calculation for a computer of that time, and in the calculation it was not counter all the reflession, rotation of the squares to reduce the $25^{25}$ space in more little one.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение03.10.2009, 07:18 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
"Точное число квадратов порядка 5 не было известно до 1973 г., когда полный
перебор магических квадратов был осуществлён компьютерной программой,
разработанной Р. Шрёппелем, математиком и программистом из “Information
International”. Прогон программы на компьютере занимает около 100 часов машинного
времени. Окончательное сообщение, написанное М. Билером, появилось в октябре 1975 г.
С точностью до поворотов и отражений существует 275 305 224 магических квадратов
порядка 5”. (из книги М. Гарднера «Математические досуги», М. Мир, 1972).

Когда я в 1977 г. познакомилась с магическими квадратами (по журналам «Наука и жизнь»), меня очень заинтересовали 880 классических квадратов порядка 4. Тогда я ещё не знала, что впервые все эти квадраты построил французский математик Френикль. В 1985 году я составила программу для ЭВМ, на которой тогда работала. Это был метод полного перебора. Программа работала очень долго (тем более что я её запускала только в обеденный перерыв или после рабочего дня). Но мне удалось построить все 880 квадратов. Я была счастлива :wink:
***
Вчера попробовала повторить результат ice00: построить магический квадрат порядка 14 из последовательных чисел Смита. Массив: $27, …, 5386$. Магическая константа $35936$. И опять точно такая же история: полумагический квадрат с магической суммой в одной диагонали находится сразу (буквально за 3 минуты). А до магического я так и не добралась, хотя гоняла программу часа 2. Не повезло :(
Вот покажу полумагический квадрат:
Код:
27  922  1507  1626  1642  1881  1894  2067  2965  3622  3852  4198  4428  5305
1282  1952  2265  3663  3390  4557  1858  3138  3505  166  1755  1376  4743  2286
3690  2409  4981  985  634  94  4592  1255  5088  2484  1219  2944  706  4855
2515  58  562  2679  4959  5172  3615  2173  535  654  3595  2745  1842  4832
355  4414  5269  202  2911  1111  5386  2366  576  2218  1795  5298  3345  690
1165  2079  4765  2934  4191  2227  1966  2888  382  2614  728  5242  1581  3174
4954  588  346  2785  1284  4369  4279  4464  5098  2434  85  121  3226  1903
2974  2958  4126  391  636  3946  1908  1086  5253  2461  3802  4209  1921  265
852  4880  3649  274  517  913  4054  2556  2722  2038  4306  4162  3564  1449
778  2583  3865  2970  861  2578  648  3442  2576  4594  4788  645  1678  3930
3294  5062  2839  3973  2326  2182  319  627  1736  4472  2373  3366  2605  762
4185  4918  483  3246  3694  1776  1822  3864  2362  915  1935  666  3168  2902
4794  958  454  5248  4702  1872  1962  3046  663  3091  4974  526  2751  895
5071  2155  825  4960  4189  3258  1633  2964  2475  4173  729  438  378  2688

ice00
А что мы имеем для порядков n>14 с квадратами из последовательных чисел Смита? Ещё не исследовали этот вопрос? Я попробовала нечётные порядки 11, 13, 15. Для этих порядков у меня даже набор из $n$ строк генерируется очень долго (не дождалась!). Очень упрямы эти смиты :D

-- Сб окт 03, 2009 11:20:35 --

Для порядка 11 сгенерировать набор из 11 строк удалось. Массив смитов: $438, ..., 3505$. Магическая константа $20978$. Полумагический квадрат с магической суммой в одной диагонали получен сразу:
Код:
438 913 1255 1678 1755 1881 1903 2155 2888 2974 3138
2182 2970 861 706 3442 2679 1642 636 3246 1165 1449
2373 2434 1822 2745 535 1086 2218 2475 1284 915 3091
2911 2578 454 1626 2515 1219 3168 922 1376 1633 2576
2409 634 1921 2934 627 2556 2173 3174 1966 2067 517
1842 2366 1282 3294 1962 2461 576 2751 728 1111 2605
562 1872 825 2484 2958 1507 1894 2965 2265 2688 958
2839 1776 3505 729 3226 852 1736 666 1908 3258 483
2964 2326 2902 895 2722 985 2944 762 3046 654 778
1795 2583 3366 1935 588 2362 645 1858 1581 2227 2038
663 526 2785 1952 648 3390 2079 2614 690 2286 3345

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение03.10.2009, 11:21 
Аватара пользователя


26/09/09
95
Цитата:
"Точное число квадратов порядка 5 не было известно до 1973 г., когда полный
перебор магических квадратов был осуществлён компьютерной программой,
разработанной Р. Шрёппелем, математиком и программистом из “Information
International”. Прогон программы на компьютере занимает около 100 часов машинного
времени. Окончательное сообщение, написанное М. Билером, появилось в октябре 1975 г.
С точностью до поворотов и отражений существует 275 305 224 магических квадратов
порядка 5”. (из книги М. Гарднера «Математические досуги», М. Мир, 1972).


Yes, true.
In Italy in 1992 (not 1995, I remember wrong) some people try to emulate this. The first program (writted in Quick Basic) tooks one year to calculate the result (the computer was a 386sx and it was not always on), but during that time, some other more optimized programs where writted in Assembler.
The last version ran in 100 hours, that means that Shreppelem program was very better (as he used a PDP11 computer if I remember correctly).

Цитата:
А что мы имеем для порядков n>14 с квадратами из последовательных чисел Смита? Ещё не исследовали этот вопрос? Я попробовала нечётные порядки 11, 13, 15. Для этих порядков у меня даже набор из $n$ строк генерируется очень долго (не дождалась!). Очень упрямы эти смиты :D

Now I'm going to install the Mingw for crosscompiling, so there is not to much to attend for having an answer...

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение03.10.2009, 11:47 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
У меня ещё такая версия "плохого поведения" чисел Смита в смысле составления из них магических квадратов. Все простые числа, из которых составляются магические квадраты, нечётные (единственное чётное простое число 2 в этом не участвует). А числа Смита есть и чётные, и нечётные.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение03.10.2009, 18:06 
Аватара пользователя


26/09/09
95
Even if now Mingw is up in my system, there is problem in compiling the source as it not support random functions used by c++. I will try to replace them, however after it needs to be tested into Windows if working or not.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение04.10.2009, 10:21 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
ice00
Я получила ваши программы, но пока не поняла, как же ими пользоваться. Это вчерашние варианты. Сегодняшние варианты ещё не смотрела.
Тем временем, упрямство смитов меня зацепило. Я решила их переупрямить :lol:
Взяла второго кандидата в магические квадраты 10-го порядка из последовательных смитов (напомню, что для первого кандидата я смогла получить только полумагические квадраты с магической суммой в одной диагонали). Теперь берётся массив смитов: $382, ..., 2888$. Магическая константа равна $15932$. И для этого кандидата я получила магический квадрат! Но сначала покажу набор из 10 строк, из которого квадрат получен (в подтверждение того, что я работаю пока по своим программам):

Код:
382  648  861  1111  1449  1952  2182  2218  2515  2614
915  1755  852  2373  2745  2067  1881  2155  562  627
922  2434  2722  1165  636  1376  2265  1678  1776  958
1282  778  2605  1626  2079  517  2038  2578  1894  535
706  2679  2888  1736  1822  895  1908  666  729  1903
576  2227  588  2409  1966  645  2751  2366  1642  762
1633  2286  438  2173  1086  2583  663  1858  2484  728
1219  2461  1795  985  526  1935  2362  454  2688  1507
2556  1872  1842  1255  1581  391  1284  654  2576  1921
2839  2326  2475  2785  1962  634  825  913  483  690

А это магический квадрат:

Код:
382 648 861 1111 1449 1952 2182 2218 2515 2614
915 1755 852 2373 2745 2067 1881 562 2155 627
1894 1626 2038 535 2578 2079 2605 778 517 1282
2409 576 588 2227 645 762 1966 2751 1642 2366
1219 2461 1795 985 526 1935 454 2688 2362 1507
2583 1086 1633 2484 1858 2286 438 2173 663 728
2576 1842 1921 391 1284 654 2556 1872 1255 1581
2326 825 634 2839 2475 913 690 483 1962 2785
706 2679 2888 1822 1736 1908 895 729 1903 666
922 2434 2722 1165 636 1376 2265 1678 958 1776

Обратите внимание на то, что наборы чисел в строках магического квадрата такие же, как в исходном наборе из 10 строк, потому что в следующем этапе программы происходит только перестановка строк набора и перестановка чисел в строках. Также обратите внимание, что все свои магические квадраты я стараюсь строить так, чтобы они начинались с минимального числа массива (за редкими исключениями в моих магических квадратах так). И наконец, поскольку в первой строке набора я не переставляю числа, то они следуют по порядку. Это мой стиль, по которому легко узнать построенные мной магические квадраты.
Итак, теперь предстоит выяснить, возможно ли построить магический квадрат порядка 10 из первого потенциального набора последовательных смитов: $378, ..., 2839$ с магической константой $15681$. Если ответ получится отрицательный, то для наименьшего квадрата 10-го порядка из последовательных смитов задача решена.
Кстати, это первый магический квадрат из смитов порядка 10. Другого здесь пока не представили. Кто построит магические квадраты из смитов порядков 11 - 13? Хотя бы из произвольного массива смитов. Квадрат порядка 14 из последовательных смитов представил ice00. Однако ещё есть задача построения наименьшего магического квадрата не из последовательных смитов. Является ли построенный мной квадрат порядка 10 наименьшим в этом смысле? Вряд ли.

 Профиль  
                  
 
 Re: Магические квадраты
Сообщение04.10.2009, 15:15 
Модератор
Аватара пользователя


11/01/06
5660
Перевод инструкции от ice00 по его просьбе:
ice00 писал(а):
Программа запускается из Dos консоли (её можно открыть через меню Пуск -> Выполнить и ввести там команду cmd), где нужно сначала перейти в директорию с программой; например:
Код:
cd c:\temp\magic


и затем запустить программу с какими из этих опций:

Код:
-m<mh> где mh - это используемый метод (по умолчанию d3):
    a1:  10R  10C  2D  10R   v1
    a2:  10R  10C  2D  10R   v2
    a3:  10R  10C  2D  10R   v3
    b1:  2R  2D  10R  10C   v1
    b2:  2R  2D  10R  10C   v2
    b3:  2R  2D  10R  10C   v3
    c1:  10R  10C 1D        v1
    c2:  10R  10C 1D        v2
    c3:  10R  10C 1D        v3
    d1:  10R  10C 1D 1D  10R v1
    d2:  10R  10C 1D 1D  10R v2
    d3:  10R  10C 1D 1D  10R v3
    d4:  10R  10C 1D 1D  10R v3
    (R=строка C=столбец D=диагональ, v версия)
-n<nu> где nu - это число генерируемых квадратов (по умолчанию 1)
-t<nn> где nn - это количество выполняемых циклов после которых происходит таймаут (только для c3)
-i<name> имя входного файла с набором чисел (input.seq по умолчанию)
-h     подсказка


Пример:
Код:
pms10 -ma3 -n5  -isequence.txt  > result.txt


это поиск 5 квадратов порядка 10, используя метод A3 и набор чисел из файла "sequence.txt". Результаты записываются в файл "result.txt"
По умолчанию используется метод D3 и входной файл "input.seq".
Числа в наборе должны быть разделены пробелами или переводами строк, например:
Код:
10 20 30
25 34
34 33
44 55

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2871 ]  На страницу Пред.  1 ... 54, 55, 56, 57, 58, 59, 60 ... 192  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group