2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1 ... 14, 15, 16, 17, 18, 19, 20 ... 130  След.
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 08:14 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Если убрать в программе выход по первой же найденной комбинации, получается очень много вариантов 33-ей комбинации. Вот, например, первые 20 вариантов:

Код:
1  5  2  3  9  1  10  10  2  4
1  5  9  9  2  3  10  10  7  8
2  1  6  2  6  9  9  2  7  8
2  1  6  5  5  9  10  2  7  8
2  1  10  2  9  6  9  2  7  2
2  1  10  5  5  9  7  2  7  4
2  1  10  5  5  9  10  2  7  4
2  1  10  5  5  9  10  2  7  8
2  5  5  3  5  9  10  1  7  8
2  5  5  3  5  10  3  1  7  8
2  5  5  9  5  9  10  1  7  8
2  5  6  3  4  5  10  7  1  8
2  5  6  3  6  5  10  7  1  8
2  5  6  5  4  5  10  7  1  8
2  5  7  5  4  8  3  1  7  8
2  5  10  3  5  9  10  1  7  8
2  5  10  5  5  5  10  5  1  4
2  5  10  5  5  5  10  5  1  8
2  5  10  5  5  9  10  1  7  8
2  6  10  5  1  4  9  5  1  8

И для каждого из этих вариантов будет море вариантов 34-ой комбинации и т. д.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 08:56 


24/05/09

2054
Nataly-Mak в сообщении #585220 писал(а):
Тут была ещё высказана идея случайной генерации комбинаций, но я не уверена в работоспособности этой идеи. Попробовать можно.


Случайная генерация не дала хорошего результата.

алгоритм:

- заполняем строку длинной N случайными цифрами 1...С
- добавляем следующую (случайную) строку, проверяем две строки на соответствие условиям задачи
- если да - добавляем следующую строку, если нет - меняем предыдущую.
- если в течение 200 000 переборов нет улучшения - начинаем сначала

удалось заполнить только квадрат С5, N8*8, для N9*9 заполняет только максимум 8 строк.

Так же попробовал создавать случайные квадраты 5*5 из неповторяющихся в столбцах и строках чисел (как для судоку), формировать из 5 таких разных квадратов полосу 5*25 и далее растягивать её до 25*25 по алгоритму Nataly-Mak, но результата это не дало.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 09:28 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Alexu007 в сообщении #585228 писал(а):
Случайная генерация не дала хорошего результата.

Ожидаемый результат.

Цитата:
Так же попробовал создавать случайные квадраты 5*5 из неповторяющихся в столбцах и строках чисел (как для судоку), формировать из 5 таких разных квадратов полосу 5*25 и далее растягивать её до 25*25 по алгоритму Nataly-Mak, но результата это не дало.

Надо создвать полосу 5х25 из неперескающихся комбинаций.
Хотя полоса 5х25 существует и из уникальных перестановок (их 20 штук, плюс 5 строк из одинаковых чисел), т. к. существует полный комплект из 4 попарно ортогональных ЛК 5-го порядка.

И вообще алгоритм построения решения C=5, N=25x25 здесь давным-давно выложен Pavlovsky.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 09:44 


24/05/09

2054
Nataly-Mak в сообщении #585234 писал(а):
Надо создвать полосу 5х25 из неперескающихся комбинаций.

Надо. А как? В смысле - рассчитывать на компе, а не подбирать что-то там руками.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 10:00 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Alexu007 в сообщении #585238 писал(а):
Nataly-Mak в сообщении #585234 писал(а):
Надо создвать полосу 5х25 из неперескающихся комбинаций.

Надо. А как? В смысле - рассчитывать на компе, а не подбирать что-то там руками.

Для С=5 всё легко решается именно руками :-)

Найдите полный комплект из 4 попарно ортогональных латинских квадратов 5-го порядка (это легко сделать, в Интернете есть такой комплект).
Этот комплект даст вам 20 уникальных перестановок чисел 1,2,3,4,5.
Добавьте к этому набору из 20 перестановок 5 комбинаций из одинаковых чисел, и полоса 5х25 готова.
Комбинации из одинаковых чисел - это такие:

1 1 1 1 1
2 2 2 2 2
и т. д.

Например, в моей статье есть полный комплект из 4 попарно ортогональных ЛК 5-го порядка.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 10:13 
Аватара пользователя


21/02/10
1594
Екатеринбург
Стал десятым участником конкурса, нашедшим решение 36х36 для С=6. Если нигде не напутал, то нашел достаточно эффективный алгоритм для С=2к с оценкой С^2. На очереди решение 100х100 для С=10.
Идеи алгоритма почерпнуты в книге Ф.Картеси "Введение в конечные геометрии".

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 10:16 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Pavlovsky в сообщении #585254 писал(а):
Если нигде не напутал, то нашел достаточно эффективный алгоритм для С=2к с оценкой С^2. На очереди решение 100х100 для С=10.

Вот! Так что моя гипотеза о существовании решения C=12, N=144x144 вполне здравая :D

-- Пт июн 15, 2012 11:30:23 --

3 Tom Sirgedas 19.842900 06-07-2012 @ 07:11:18
4 Il brigante Pennastorta 19.842900 06-08-2012 @ 16:28:33
5 Valery Pavlovsky 19.842900 06-15-2012 @ 11:02:58

Не, ну как им это удалось? А? :-)

Они построили для всех C совершенно одинаковые решения NxN?
А иначе как могло получиться такое совпадение общего количества баллов?

А как они построили одинаковые решения? Ответ простой. Использовали все известные алгоритмы.
Если алгоритм для C=6, N=36x36 был неизвестен, то до него легко додуматься, почитав статьи и книги.
Алексей Чернов додумался до этого алгоритма почти сразу же, на второй или третий день конкурса. Вот ещё 9 человек додумались.

А я вот пока не додумалась, потому что читать ещё не научилась :D
Нет, я тоже додумалась до некоего алгоритма, но для моего алгоритма нужен набор из 36 непересекающихся комбинаций, а я не могу никак его найти. 31 комбинацию нашла, а дальше ни тпру, ни ну :?

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 13:53 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Попробовала идею смешанного достраивания.
Цель всё та же: получить 36 непересекающихся комбинаций из чисел 1,2,3,4,5,6.

Результат весьма интересный, хотя и промежуточный. Получила 54 комбинации с пропущенными числами. Но те числа, что уже стоят на месте, пересечений не дают.
54 комбинации, а надо из них получить всего 36. Возможно это или нет, я не знаю. Надо писать программу полного перебора.
Идея очевидна: в каждую из комбинаций придётся вставить все возможные варианты чисел, при этом всю систему комбинаций привести к непересекающимся комбинациям, 18 комбинаций здесь можно удалить, самые плохие комбинации, которые никак не вписываются в набор.

Такая идея. Реализована не до конца, но промежуточный результат получен, вот он - 54 полуфабриката комбинаций:

Код:
1 2 5 6 4 4
3 3 x x 6 4
x 6 6 x 1 x
6 1 2 4 x x
x 6 2 x 2 6
3 x 3 1 x 5
5 4 3 3 x 4
1 x x x 5 6
1 x 4 x 2 1
2 x 3 x x 3
x 5 4 x x x
x x 5 2 6 x
x 5 1 1 2 4
5 x 5 4 3 6
3 4 x x 4 1
5 3 6 x 5 3
x 6 x 3 4 5
1 1 1 3 1 x
4 2 4 1 3 x
2 2 x 2 x x
4 1 x x 5 5
x 4 1 2 x 3
6 x 6 1 x 6
x 3 2 3 x x
x 2 x 4 6 2
2 x 1 x 4 2
6 2 5 x x x
x 3 3 5 3 2
1 5 2 x x 2
2 1 6 6 2 x
4 4 x 5 1 x
4 x 2 2 x 1
6 5 5 x 1 5
x 6 1 x x 3
3 5 x 2 5 x
4 3 5 x 2 x
5 1 x x x 1
x 5 x x x 6
x x 4 4 5 4
x 5 6 3 6 1
1 6 x 2 3 x
3 x 5 5 x 3
5 x 2 1 1 x
6 x 1 x 6 x
x 2 3 x 1 1
x x x 4 1 3
1 4 6 4 x 5
4 x 6 x x 2
5 x 4 6 6 5
x 1 3 2 4 6
x x 1 x 3 5
x 4 x 6 x x
x x x 6 3 x
x x x 5 x 4


[могла ошибиться при переписывании; пересечений быть не должно, проверялось по программе]

Вот такая головоломка :P

Весьма и весьма любопытно, удастся ли из этих 54 полуфабрикатов непересекающихся комбинаций получить 36 полных непересекающихся комбинаций.

Да, и таких наборов полуфабрикатов можно получить много с разным количеством комбинаций. Каждый набор потом надо пытаться привести к полному набору из 36 непересекающихся комбинаций.

Но программу писать... лень, при 36-градусной жаре мозги расплавились совсем :cry:

И по-прежнему для меня отстаётся открытым вопрос: существует ли этот самый набор из 36 непересекающихся комбинаций? Может быть, это только моя фантазия :D
Но! Из 31 комбинации ведь существует набор! Скорее всего, и из 36 комбинаций тоже существует.

-- Пт июн 15, 2012 15:28:36 --

Развиваю идею.
Например, возьмём всего 10 комбинаций с пропущенными числами:

Код:
5 4 3 3 x1 4
x2 5 1 1 2 4
5 x3 5 4 3 6
5 3 6 x4 5 3
1 1 1 3 1 x5
4 2 4 1 3 x6
x7 3 3 5 3 2
2 1 6 6 2 x8
6 5 5 x9 1 5
x10 5 6 3 6 1

Здесь всего 10 переменных, все они должны пробежать значения от 1 до 6. Перебор не ах какой большой. В результате полного перебора будет ясно, превратится этот набор в набор из 10 непересекающихся комбинаций или не превратится.

Да, интересен такой момент: выгоднее как раз комбинации, в которых больше пропущенных чисел, они дают больше шансов - в них больше степеней свободы. Однако такие комбинации сильно увеличивают перебор. Находимся между двух огней :D

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 18:40 
Аватара пользователя


09/06/12
26
Pavlovsky в сообщении #585254 писал(а):
Стал десятым участником конкурса, нашедшим решение 36х36 для С=6. Если нигде не напутал, то нашел достаточно эффективный алгоритм для С=2к с оценкой С^2.

Поздравляем! Я с нетерпением жду свой ​​цвет = 10 N = 100x100!

Очень эффективный алгоритм является сюрпризом.

-- 15.06.2012, 07:48 --

Nemiroff в сообщении #585223 писал(а):

(Оффтоп)

Неплохая стратегия: ...

Я согласен. комментарии dimkadimon интересны и полезны. Я приветствую его намеки.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 19:35 
Аватара пользователя


21/02/10
1594
Екатеринбург
Scryer в сообщении #585464 писал(а):
Я с нетерпением жду свой ​​цвет = 10 N = 100x100!


Увы решение 100х100 не построилось. Будем думать дальше.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение15.06.2012, 19:39 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Scryer в сообщении #585464 писал(а):
Я согласен. комментарии dimkadimon интересны и полезны. Я приветствую его намеки.

Хм... по намёкам dimkadimon вы уж давно нашли бы решение C=10, N=100x100 :D
Чего же вы ждёте?
По крайней мере, dimkadimon указанным способом нашёл решение C=10, N=93x93.

Хотя... кто его знает, как он нашёл своё решение. Может быть, совсем не таким способом :wink:

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение16.06.2012, 02:17 
Аватара пользователя


01/06/12
1016
Adelaide, Australia
Pavlovsky в сообщении #585254 писал(а):
Стал десятым участником конкурса, нашедшим решение 36х36 для С=6. Если нигде не напутал, то нашел достаточно эффективный алгоритм для С=2к с оценкой С^2. На очереди решение 100х100 для С=10.
Идеи алгоритма почерпнуты в книге Ф.Картеси "Введение в конечные геометрии".


Ух ты здорово!!! С нетерпением жду новых рекордов!

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение16.06.2012, 05:42 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Алексей Чернов снова на первом месте!

1 Alex Chernov 19.932400 06-15-2012 @ 20:53:28
2 Nick Gardner 19.899900 06-14-2012 @ 16:35:43
3 Tom Sirgedas 19.842900 06-07-2012 @ 07:11:18

У него наверняка есть оригинальные решения, которые нельзя получить по известным алгоритмам. Молодец!

Вот его пока никем не повторенные рекорды:

Код:
18 308 94864  Alex Chernov @ 22:07:18 on 06-06-2012 1
20 382 145924  Alex Chernov @ 22:11:32 on 06-06-2012 1
21 384 147456  Alex Chernov @ 17:45:54 on 06-08-2012 1

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение16.06.2012, 07:16 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Pavlovsky в сообщении #585491 писал(а):
Увы решение 100х100 не построилось.

Ну вот, а я уже ладошки приготовила для аплодисментов :D

А какое максимальное решение вам удалось построить для C=10?
Как я понимаю, рекордного результата 93х93 вы пока не достигли.

У меня C=10, N=82x82.
Почти уверена, что достраиванием можно прибавить хотя бы единичку к этому решению, то есть получить результат N=83x83.

Но я не реализовала этот метод. Вообще ничего не реализовала пока :-)
Работаю только на математических идеях, как написал один конкурсант.

У меня нет даже программы проверки решений. А зачем она мне? Квадраты я проверяю в программе Эда или прямо на конкурсе, ввожу решение, если в нём ошибка, конкурсная программа это сразу говорит, решение не принимается. Тогда ищу ошибку.
А прямоугольники проверять и не обязательно.

Кстати, здесь был намёк, как решать задачу для C=10. Говорят, что полезный намёк :D
Для меня, увы, бесполезный.

Я пыталась найти набор непересекающихся комбинаций из чисел 1,2,3,...,10 уже давно, но у меня это не получается. Нужен, по крайней мере, набор из 83 комбинаций, меньше мне уже ничего не даёт.

-- Сб июн 16, 2012 08:50:24 --

Pavlovsky в сообщении #581315 писал(а):
Три базовых алгоритма реализовано. Теперь надо думать куда двигаться дальше.

О каких трёх алгоритмах вы здесь говорили?
Пусть:
1. для С простых чисел;
2. для С, являющихся степенью простого числа.

А какой третий?

Предположу, что это алгоритм, о котором сказал dimkadimon:
C=p^k+1, p - простое число, k>=1.
Этот алгоритм даёт много решений: С=6, 10, 12, 14, 18, 20.

Как утверждает dimkadimon, для C=6 этот алгоритм даёт решение N=31x31 (такое решение я получила другим путём).

А для других С какие решения даёт этот алгоритм?
Справедлива формула для решений: C^2-C+1?

dimkadimon говорил о каких-то исключениях из этой формулы, но я ничего не поняла. Какие исключения?
Верно, у него, например, для C=10 решение N=93x93, но, как я поняла, это он получил не по данному алгоритму, а как-то своим методом.
А формула для C=10 в этом алгоритме даёт N=91x91. Правильно ли я понимаю? Всё как в тумане, всё засекречено :D

Если вы об этом алгоритме говорили, так он известен, или его каждый сам изобрёл?

Под "известен" я понимаю то, что он опубликован в какой-то статье.

 Профиль  
                  
 
 Re: Новый конкурс программистов
Сообщение16.06.2012, 21:32 
Заблокирован
Аватара пользователя


22/03/08

7154
Саратов
Цитата:
Thanks to your suggestions I've been able to implement one of the three keyalgorithms (the one for prime numbers NxN). And I would like to thank you forexplaining the idea from grid.pdf!I think almost all the competitors are using a similar method to constructthe other solutions (C=6 etc).After reading the forum I've got a few ideas I'm going to try out... I'mstill for from the perfect solutions on C=6, 8, 16 etc. Almost 15 people havesolved those numbers :(

Как я понимаю, здесь тоже говорится о трёх ключевых алгоритмах (of the three keyalgorithms).

Цитата с форума конкурса.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1937 ]  На страницу Пред.  1 ... 14, 15, 16, 17, 18, 19, 20 ... 130  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: gris


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

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