Printable Version of Topic
Click here to view this topic in its original format
Forums > Глюкодром > Компановка файлов перед записью на CD/DVD, вопрос математикам


Posted by: Ruz on 16-09-2004, 23:07
Вопрос (или с больной головы на здоровую)

Есть балванка на 700М
Есть файлы:
ааа 400М
ввв 400М
ссс 400М
еее 300М
ххх 300М
ооо 300М

Если я их буду записывать на диски подряд, то я потрачу 5 дисков
Если я их буду записывать на диски так: ааа+еее, ввв+ххх, ссс+ооо то я потрачу 3 диска

Вопрос: если программа или формула/макро в excel-е которая мне поможет правильно/оптимально скомпановать файлы?

Советы типа "заархивируй с опцией -v700K" или "используй backup утилиту" не годятся файлы ложны быть в оригинальном виде.

Спасибо, математики.

Posted by: BRMAIL on 16-09-2004, 23:57
QUOTE (Ruz @ 16-09-2004, 15:07):
Вопрос (или с больной головы на здоровую)

Есть балванка на 700М
Есть файлы:
ааа 400М
ввв 400М
ссс 400М
еее 300М
ххх 300М
ооо 300М

Если я их буду записывать на диски подряд, то я потрачу 5 дисков
Если я их буду записывать на диски так: ааа+еее, ввв+ххх, ссс+ооо то я потрачу 3 диска

Вопрос: если программа или формула/макро в excel-е которая мне поможет правильно/оптимально скомпановать файлы?

Советы типа "заархивируй с опцией -v700K" или "используй backup утилиту" не годятся файлы ложны быть в оригинальном виде.

Спасибо, математики.

формула простая ( к математике имеет маленькое отношение)

1. Берется самый большой файл из имеющихся.
2. Проверятется лезет ли он на диск
3. Если даю брется следующий файл и go to 1
4. Если не лезет, то берется следуюший, меньший по размеру файл и go to 1

Posted by: izanoza on 17-09-2004, 00:17
Приведённая выше формула не всегда работает smile.gif

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

Posted by: FiL on 17-09-2004, 00:18
Да, формула имеет мало отношения к математике. Потому, что она в общем случае не верна. Я потом подберу пример. Сейчас времени нет.

Posted by: obaldin on 17-09-2004, 01:08
Насколько я помню, это эквивалентно какой-то NP-complete задаче. Так что решения не будет smile.gif Пользуйтесь методами типа генетических алгоритмов.

Впрочем, если речь идет не о математике, а о распределении файлов по дискам, то полный перебор - вполне реальный метод.

Posted by: obaldin on 17-09-2004, 01:17
Кстати, алгоритмы типа приведенного BRMAIL'ом принято называть "жадными" (greedy) алгоритмами. Они редко дают оптимальные результаты.

Posted by: Ruz on 17-09-2004, 03:23
НУ, по жизни, я тоже пользуюсь. BRMAIL-оским методом, но просто не верю, что это задачка не решена и не воплощена в код.
И, к стати, сортирую тоже в FAR-е.
Обожаю FAR-овский встроенный редактор! Кто-нибудь, что-нибуд подобное c GUI знает?

Posted by: obaldin on 17-09-2004, 03:39
QUOTE (Ruz @ 17-09-2004, 03:23):
но просто не верю, что это задачка не решена и не воплощена в код.

Что такое NP-полная задача вы в курсе?

Posted by: Ruz on 17-09-2004, 04:20
QUOTE (obaldin @ 16-09-2004, 19:39):
Что такое NP-полная задача вы в курсе?

Нет, просвети пожалуйста.
Но решение то должно быть smile.gif диски то жечь надо.

Posted by: izanoza on 17-09-2004, 04:20
Эта задача легко решается полным перебором. Число файлов ограничено, размер болванки известен. Надо всего лишь разложить на меньшее число "кучек", минимизировав остаток. Лень писать программу, руками обычно получается не сильно хуже. У меня никогда на 10 дисков инфы писать сразу не набирается, так как пишу на ДВД smile.gif, а на пару дисков, руками быстрее, чем программу запустить.

Posted by: Ruz on 17-09-2004, 04:27
QUOTE:
руками обычно получается не сильно хуже.
Согласен.
Но вот после двух аварий HDD решил всю коллекцию аудио книг перенести но DVD (от греха подальше) А это 230Гб, думал, что если подойти с научной точки зрения , то болванку другую сэкономлю.
Но жизнь показала обратное. «Хвостик» на последнем DVD сводит к 0 все ухищрения на первых NN дисках.

Posted by: FiL on 17-09-2004, 04:51
А чего-бы народу не побаловаться? Запости размеры сюда и мы все попробуем "кто меньше" smile.gif

Posted by: Ruz on 17-09-2004, 06:04
QUOTE:
Запости размеры сюда и мы все попробуем "кто меньше"

а чЁ постить, заходи на ftp, там все размеры и названия, я там даже решение оставил.
(а шутка мне понравилась, не знаю посему, но понравилась)
smile.gif

Posted by: obaldin on 17-09-2004, 11:33
Не совсем понял, где живет ФТП со списком и размерами файлов, но если речь идет о 230 гигах, то это явно многие сотни файлов. Полный перебор может ээ... оказаться долгим занятием biggrin.gif Если кто хорошо помнит комбинаторику, то пусть посчитает точное количество вариантов, но слова "факториал" и "многие сотни элементов", как правило дают вполне астрономические числа...

Более того, из опыта решения подобных "больших комбинаторных" задач генетическими алгоритмами - эта задача будет плохо решаться и ими. Оценочная функция будет очень "рваной", на глобальный оптимум будет выйти трудно.

Posted by: izanoza on 17-09-2004, 14:29
obaldin
А кто говорил что будет легко? wink.gif. Вариантов для 230 гигов будет много, очень много. Поэтому легче руками, особенно если много мелких файлов.

Posted by: Lab on 17-09-2004, 14:59
А что за коллекция книг и где на нее можно посмотреть (если нигде, то многили там книг на русском и компьютерной тематики) ?

Posted by: FiL on 17-09-2004, 15:58
аудиокниги компьютерной тематики? не думаю.

А насчет многих вариантов - ну так не надо все перебирать. 230 гигов - это 52 диска примерно. ну при очень хорошей компоновке (если такая вообще возможна) - 50. Но это из области фантастики. По 4.7 забивать не удается. Итого - если уже получился вариант на 52 диска, то можно останавливаться smile.gif

Posted by: Lab on 21-09-2004, 11:43
а тут нигде не сказано, что это аудио книги smile.gif

Posted by: FiL on 21-09-2004, 16:31
QUOTE (Ruz @ 16-09-2004, 20:27):
Но вот после двух аварий HDD решил всю коллекцию аудио книг перенести но DVD (от греха подальше) А это 230Гб, думал, что если подойти с научной точки зрения , то болванку другую сэкономлю.

Вроде как сказано.

Posted by: Lab on 22-09-2004, 00:45
ну все - пошел к врачу зрение проверять

Posted by: izanoza on 22-10-2004, 17:08
Тут на глаза попалась такая прога:

http://www.kcsoftwares.com/index.php?ignition (http://www.kcsoftwares.com/index.php?ignition

Распространяется: бесплатно

QUOTE:
Эта программа проанализирует файлы, которые вам нужно записать, и разобьет их так, что вам понадобится минимальное количество дисков. При этом все болванки будут заполнены. Программа поддерживает болванки разного объема - 650,700 Mb, а также DVD. К тому же, Ignition по вашему желанию создает список находящихся на диске файлов. Кроме этого, с помощью Ignition можно создавать ISO образы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)