Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчет максимально возможной суммы из массива чи 
:(
    Опции темы
slamsssss
Дата 21.2.2013, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Всем привет! поставили задачу для пореза профиля. Исходные данные - количество профилей одинаковой длины и список длин на которые нужно порезать весь профиль, естественно с меньшими обрезками. Например дано 10 семиметровых профилей и список порезов - 5 порезов по 3200 мм, 7 порезов по 1430 мм и т.п. Как решал задачу, сортировал массив порезов по убыванию, брал первый элемент и поочередно складывал со всеми остальными элементами ( 1 и 2 элементы, 1 и 3, 1 и 4 .. потом 2 и 3, 2 и 4... предпоследний и последний) и находил максимально возможную сумму (конечно сумма должна быть меньше длины профиля). Потом проверял если длина профиля минус максимальная сумма больше либо равно минимальному элементу (параллельно нахожу) то запускаю функцию которая к этой макс. сумме поочередно прибавляет остальные элементы массива и опять же нахожу максимальную сумму - теперь уже из трех элементов и так рекурсивно пока остаток не будет меньше минимального элемента из оставшихся. Но как показала практика - не всегда выходит оптимально и значит нужен другой алгоритм. 
Представляю его так. Из всех элементов массива необходимо найти максимально приближенную к длине профиля сумму чисел, притом количество слагаемых может колебаться от 2 чисел до к примеру 7. Нужен алгоритм решения такой задачи. Буду признателен за любые мысли
PM MAIL   Вверх
Akina
Дата 21.2.2013, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Читайте "задачу об одномерном рюкзаке".

Сразу подскажу. Если нужен именно оптимум - то это полный перебор без вариантов. Если же устраивает ответ, близкий к оптимуму (т.е. он может быть оптимальным, а может и не быть) - то генетика.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
slamsssss
Дата 21.2.2013, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



т.е. без перебора не обойтись, печально.. ну а задачу посмотрю, спасибо))
PM MAIL   Вверх
Akina
Дата 21.2.2013, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(slamsssss @  21.2.2013,  19:36 Найти цитируемый пост)
т.е. без перебора не обойтись

Да, это NP-полная задача.
Впрочем, она поддаётся оптимизации и при правильном алгоритме перебирается порядка 1/е вариантов от общего их числа, а учёт особенностей входных данных может привести к ещё большему выигрышу.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
slamsssss
Дата 22.2.2013, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



эээ... в алгоритмизации не силен, что значит 1/е вариантов?
PM MAIL   Вверх
Akina
Дата 22.2.2013, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454





--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
slamsssss
Дата 22.2.2013, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.2.2013

Репутация: нет
Всего: нет



Спасибо за советы, почитал по данным задачам и таки да - только перебором можно сделать
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.