Почитайте что-нибудь про комбинаторный взрыв, например, древнюю задачку про изобретателя шахмат и пшеничные зерна. Представьте себе, что один компьютер - это мешок с зерном, а кластер - это все амбары государства, и попробуйте оценить, на сколько клеток их хватит.
Не поняла - это вы о чём?
Я недавно решала задачу, в которой такой комбинаторный взрыв: 5^50 вариантов.
Ну и что? Умело составленная программа (правда, не мной), и задача решена на обычном домашнем компьютере всего за 269 часов.
И до сих пор решаю задачу, в которой ещё бОльший комбинаторный взрыв. Над алгоритмами к этой задаче думали вместе со мной ещё трое программистов. Написаны неплохие программы. Но ни одна из них не справляется с этим взрывом даже и за неделю. Плохо подумали? Ну, те, кто умеет думать лучше и имеет кластеры, до таких задач не снисходят (фи, какие-то магические квадраты).
Американцы ещё в прошлом веке нашли все классические магические квадраты 5-го порядка всего за 100 часов. Они разве не сделали полный перебор? Конечно, перебор должен быть оптимизирован; и в данной конкурсной задаче тоже, я же не говорю, что на кластер надо загрузить программу тупого перебора.
-- Ср окт 17, 2012 14:27:13 --Ето дело времени - многие его рекорды побиваемые. Тут дело не только в кластере. Кластер помогает, но не до такой степени. Нужна хорошая идея. Пока только у Pavlovsky есть хорошие идеи.
Ой, ну не смешите, пожалуйста, мои тапочки.
Кластер помогает именно до такой степени!
Найти рекорды почти для всех N за три дня. Это он на обычном домашнем компьютере нашёл, да?
Не спорю, что у него есть хорошие идеи. У меня они тоже есть (если я их не выкладываю, это не значит, что у меня их нет). Ну и что? Вот у меня программа крутится для N=6, постоянно выдаёт улучшения:
max: 1308,1340, 1348, 1380, 1388
min: 1302, 1280, 1200, 1160
Давайте поставим мою программу на кластер. Наверное, улучшения будут появляться побыстрее. Нет?
Дело времени? Разумеется! Только время будет очень разное на моём компьютере и на кластере.
-- Ср окт 17, 2012 14:35:31 --Кстати, у него нет максимума для 6 и минимума для 7. Кластер дал сбой? :)
Идея для данных N подкачала
В подтверждение: последнее улучшение для максимума - 1388 (а то ещё не поверите, что у меня тоже программа работает и результаты находит):
Код:
26 5 1 32 36 30
11 7 14 18 22 25
29 31 35 2 6 10
13 17 33 23 8 19
12 3 20 24 15 27
16 28 9 4 34 21
При этом я реализовала в программе далеко не все свои идеи, написала её на скорую руку, так - тяп-ляп
Потому что задача мне не интересна.