powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пятничная задачка для ума за 1 миллион $
25 сообщений из 491, страница 12 из 20
Пятничная задачка для ума за 1 миллион $
    #39522920
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Aleksandr Sharahov,

слишком сложно как-то замутил, из всех вроде адекватно можно только зеркальную симметрию использовать
например считать только решения в которых одна из строк выше другой

Это точно, у меня зеркальная (лево-право) бьет по скорости даже двойную зеркальную (лево-право, верх-низ).

А с поворотами сел в лужу, отладить не могу,
до 9 выдает верный результат,
а с 10 начинает потихоньку добавлять от себя лишние решения.
Вот пока сижу и думаю, как их отловить, тотальную охоту начинать не хочется.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522926
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

смылса нет мне кажется, как верно заметили даже если удастся поделить на 8 по сравнению с факториалом это ....
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522934
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

есть спортивный интерес - генерировать быстрее зеркала.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522950
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovkealon(Ruslan)Aleksandr Sharahov,

слишком сложно как-то замутил, из всех вроде адекватно можно только зеркальную симметрию использовать
например считать только решения в которых одна из строк выше другой

Это точно, у меня зеркальная (лево-право) бьет по скорости даже двойную зеркальную (лево-право, верх-низ).
да у вас прогресс!
Aleksandr Sharahovmayton,

зачем вообще возиться с зеркалированием?

Ведь в нашем случае:
1. при поиске всех перестановок зеркалирование не дает выигрыша по времени,
2. никто не спрашивает, сколько уникальных решений было найдено.
неужели таки осилили мою идею зеркалирования?
осталось только понять, зачем вы считаете все 4 квадрата ))
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522956
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78неужели таки осилили мою идею зеркалирования?
осталось только понять, зачем вы считаете все 4 квадрата ))

Понять вашу идею невозможно, даже вам.

Понять чужие идеи можно, но не вам.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522957
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovНа самом деле, чтобы получить премию, этого недостаточно.

Вот тут все просто и ясно сформулировано, чтобы даже не пытались http://claymath.org/events/news/8-queens-puzzle
Поскольку язык форума - русский. А у нас в сабже даже с русским есть непонимания
(Бодаемся с зеркалами и хранением уже несколько недель) то я предлагаю перевести
публикацию и опубликовать здесь.

Никто не против? Я надеюсь моего слабого intermediate хватит чтобы осилить эти шахматные
прокламации.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522972
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98Ахтунг !!! Дисклаймер!!! К несчастью, сказанное выше про разложения неверно!

Теорема нам мало полезна:
Абелева группа с конечным числом образующих разложима в прямое произвед. циклических подгрупп.
(в частности и бесконечная группа тоже).

Наши матрицы не коммутативны, след-но теорема неприменима.
Правда, кой-какие циклические п/группы у нас есть, но в прямое произв-е не разложить.
И в разложении наверняка будут в наличии и нециклические п/группы.
И пользы пока не видно.
...................
метод в принципе годный, только медленный из-за необходимости перестраивать индекс и превышение

из плюсов: ему интерферентно откуда искать, с нуля или с заданного начального состояния
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522980
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Готово.

http://claymath.org/events/news/8-queens-puzzle Последняя статья о сложности n-Ферзей. Финал.

Проблема в Университете Святого Эндрюса. Университет
может указать нам на проблему тысячелетия.

Документ интересен вкладом в сложность теории, но не
решает проблему поиска решения 8-Ферзевой загадки и даже
более того N-Ферзевой.

Один из авторов, Ян Джент комментирует: "Загадка 8-Ферзей
на доске - классическая. И все решения ее давно известны.
Также известно что обобщенная загадка n-Ферзей, может
быть решена на всех досках большего размера: это загадка
размещения n ферзей на все n-по-n досках так что ферзи
не атакуют друг друга."

Новые исследования вносят сомнения что существует решение n-Ферзей,
не просто на большей доске, но также при условии что некоторые
ферзи уже размещены. Если некоторые ферзи стоят на доске nxn,
можете-ли вы найти решение n-Ферзей загадки без передвижения
вышеуказанных ферзей?

Технический вклад о котором говорит статья заключается в том что
проблема завершения n-Ферзей относится к классу NP-Полных
алгоритмов. Если это правда, то подразумевается что ЛЮБОЙ
алгоритм который может решать n-Ферзевое окончание может
быть использован опосредовано для решения любых других
проблем NP-класса.

Это неприменимо к классической оригинальной n-Ферзевой
загадке, потому-что дополнение предварительно установленных
ферзей - критически важно.

К сожалению, некоторые отчоты о нашей работы дали основание
полагать что решение 8-Ферзевой загадки, или n-ферзевой
загадки для любого n, может привести к получению награды
тысячелетия. Это не так по следующим двум причинам.

1) Как выше было сказано, документ говорит о завершении
n-Ферзевой задачи а не об оригинальной n-Ферзевой.

2) Даже нахождение алгоритмического решения загадки
n-Ферзевого Окончания для любого n, будет недостаточно.

Достаточно было-бы найти доказательство существования
полиномиального алгоритма n-Ферзей, либо доказательство
невозможности этого алгоритма.


Если вы нашли неточности в переводе - сообщайте. Поправлю.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39522990
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысли о комбинаторике. Ферзи 4х4 имеют 4! = 24 решений из которых
большая часть - некорректны. Они не проходят checks по диагоналям.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321


Возникает вопрос. Можем-ли мы улучшить генератор permutations настолько, чтобы он двигался
по последовательности пермутаций длинными прыжками сразу пропуская большую последовательность
невалидных комбинаций? Примерно так-же как и мы делали в топике генерации простых
чисел.

Сам генератор permutations - тривиален. Вы можете найти его в библиотеке stl. Либо найти
любые другие имплементации. Он будет везде одинаковый.

Найдем альтернативный генератор - изменим сложность с факториальной или по Стирлингу n в степени n
хотя-бы до более простой. Ферзевые начальные установки в данном случае - просто некие фиксированные
числа в данной последовательности которые "не двигаются".
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523029
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВозникает вопрос. Можем-ли мы улучшить генератор permutations настолько, чтобы он двигался
по последовательности пермутаций длинными прыжками сразу пропуская большую последовательность
невалидных комбинаций? Примерно так-же как и мы делали в топике генерации простых
чисел.

Сам генератор permutations - тривиален. Вы можете найти его в библиотеке stl. Либо найти
любые другие имплементации. Он будет везде одинаковый.

Найдем альтернативный генератор - изменим сложность с факториальной или по Стирлингу n в степени n
хотя-бы до более простой. Ферзевые начальные установки в данном случае - просто некие фиксированные
числа в данной последовательности которые "не двигаются".
можем

вот смотри, в твоём примере

1234 - 3 элемента на диагоналях лишние
1243 - 2 элемента лишние
1432 - 2 элемента лишние
4231 - 2 элемента лишние

1324
1342
1423
4321

3214
3241
3412
4213

2134
2143
2431
4132

...
т.е. любой вариант перестановки можно записать "числом" {Ak}, где k - 0..(N-2), Ak - 0..(N-k)
каждый обмен строчек изменяет превышение максимум на 2, первые разряды в количестве (Превышениe/2) можно пропускать

но это не сильно поможет в силу количества решений, алгоритм на шарпе в вики собственно это и делает.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523034
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

проблема в том, что требование "не бить по диагонали" (например, a[i]-i<>a[j]-j) не привязано к месту.

Все равно придется или попарно проверять или проверять флаги диагоналей. А это и так делают стандартные решения.

Получается, что представление кандидата в виде перестановки только помогает упростить запись найденного решения, но не найти его.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523061
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не услышали моё предложение. Ещё раз обратите внимание на алгоритм генерации permutations.

Он на 99% состоит из операций циклического вращения младших элементов разрядной сетки.

Меняет ли вращение ситуацию когда 2 ферзя под боем? Открытый вопрос.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523085
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovkealon(Ruslan)Aleksandr Sharahov,

слишком сложно как-то замутил, из всех вроде адекватно можно только зеркальную симметрию использовать
например считать только решения в которых одна из строк выше другой

Это точно, у меня зеркальная (лево-право) бьет по скорости даже двойную зеркальную (лево-право, верх-низ).

А с поворотами сел в лужу, отладить не могу,
до 9 выдает верный результат,
а с 10 начинает потихоньку добавлять от себя лишние решения.
Вот пока сижу и думаю, как их отловить, тотальную охоту начинать не хочется.

Разобрался с причиной появления "лишних" решений. Отлаживая свой алгоритм зеркалирования на 8, я, естественно, подсчитывал разные решения внутри разных периметров в одну клетку. Понятно, что это число не совпадает с количеством фундаментальных решений, как раз с N=10 начинаются расхождения.

В результате алгоритм с сильно неоптимальной реализацией периметра на паскале побеждает очень неплохую рекурсивную версию на ассемблере примерно на 10%. Игра стоила свеч, и есть куда копать. Думаю еще 10% точно можно получить.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523094
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВы не услышали моё предложение. Ещё раз обратите внимание на алгоритм генерации permutations.

Он на 99% состоит из операций циклического вращения младших элементов разрядной сетки.

Меняет ли вращение ситуацию когда 2 ферзя под боем? Открытый вопрос.

В общем случае меняет.
Но что это дает? Перебор этим не ускорить.
А градиентный спуск запросто может застрять в яме. Правда, для больших N это почти невероятно, что продемонстрировали те два товарища своим вероятностным алгоритмом.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523162
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovtip78неужели таки осилили мою идею зеркалирования?
осталось только понять, зачем вы считаете все 4 квадрата ))

Понять вашу идею невозможно, даже вам.

Понять чужие идеи можно, но не вам.
а, так вы мелкий воришка чужих идей
"не понял он", ну-ну, форум всё помнит ))
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523173
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78,

вам, как первооткрывателю, будет интересно погуглить "n queens symmetry".
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523176
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78,

забыл добавить:

но вашей идеи там нет, так что срочно патентуйте ))
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523179
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВы не услышали моё предложение. Ещё раз обратите внимание на алгоритм генерации permutations.

Он на 99% состоит из операций циклического вращения младших элементов разрядной сетки.

Меняет ли вращение ситуацию когда 2 ферзя под боем? Открытый вопрос.может поменять превышение максимум на 2 либо вниз, либо увеличит.
посмотри, то что я показал, оно просто по другому построено чем у тебя и позволяет легче обходить "ямы"
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523247
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

все, перестаю велосипедить,
нашлась интересная и очень быстрая реализация генерации с использованием 8-кратной симметрии

http://www.ic-net.or.jp/home/takaken/e/queen/
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523253
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovkealon(Ruslan),

все, перестаю велосипедить,
нашлась интересная и очень быстрая реализация генерации с использованием 8-кратной симметрии

http://www.ic-net.or.jp/home/takaken/e/queen/

Я чуть иначе зеркалил 3 точки на периметре (одна в углу, на одном выбранном ребре координата больше другого), в остальном совпадает.
С проверкой уникальности очень неочевидные циклы. Круто.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523255
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovkealon(Ruslan),

все, перестаю велосипедить,
нашлась интересная и очень быстрая реализация генерации с использованием 8-кратной симметрии

http://www.ic-net.or.jp/home/takaken/e/queen/
круто, только проблему факториала не решает
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523287
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)Aleksandr Sharahovkealon(Ruslan),

все, перестаю велосипедить,
нашлась интересная и очень быстрая реализация генерации с использованием 8-кратной симметрии

http://www.ic-net.or.jp/home/takaken/e/queen/
круто, только проблему факториала не решает

О решении проблемы факториала можно только мечтать.
А вот то, как он обошелся с углом, запало в душу )
Есть идея попробовать ограничиться диагональными зеркалами и лево-право. Вдруг получится проще.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523332
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А рассматривалась ли где такая постановка?
Последовательности слов переменной длины. Они возникают из суперпозиции элементарных транспозиций соседних строк матрицы Е.

Для S26 имеем их 26 a,b,c, ... z. Остальные (и соответственно матрицы) описываются словами из этого алфавита. Например, если я не обшибаюсь, перестановка 1-й и 3 строки описывается словом aba, для 1 и 6-й: abcdedcba, и т.д., а = а^-1, dcba = (abcd)^-1. Много слов разного написания на самом деле совпадут как матрицы. Слова удобно SQL-ить.

Перекладывал ли кто алгоритм полной расстановки на такие слова?
Я во всю тему не вдавался, хотя реально мне ещё доооолго будет не до этого, топик не закрывайте только.
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523384
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98,
20804921 тоже самое, слова в масштабах N! совсем неудобно sql-ить
...
Рейтинг: 0 / 0
Пятничная задачка для ума за 1 миллион $
    #39523392
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovkealon(Ruslan),

все, перестаю велосипедить,
нашлась интересная и очень быстрая реализация генерации с использованием 8-кратной симметрии

http://www.ic-net.or.jp/home/takaken/e/queen/
так а что вы не могли понять (или делали вид, что не могли) всё это время?
вот он сделал ровно тоже самое, что говорил я, только с формулами сумел посчитать особые случаи (углы/не углы)
у него ещё сложнее, чем у меня описание, но его вы поняли (причём на другом языке), а меня - нет
мутный вы тип ))
...
Рейтинг: 0 / 0
25 сообщений из 491, страница 12 из 20
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пятничная задачка для ума за 1 миллион $
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]