Re[5]: За сколько времени бы вы это выполнили?
От: maxkar  
Дата: 30.05.20 13:46
Оценка:
Здравствуйте, $$, Вы писали:


$>Автор задачки прямо написал, что они сами используют

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

Мне вот казалось, что я очень прозрачно намекнул на простой факт. Видимо — нет. Задача о рюкзаке — частный случай задачи о ветряках. Задача о рюкзаке — NP-полная. Типичный линейный solver (тот же симплекс-метод) — полиномиальный. Вывод — взять "линейный солвер" и прикрутить его напрямую к (NP-полной) задаче — пусть безнадежный. Нужно будет усложнять. Но многие разработчики не видят классов сложности, поэтому авторы пытались облегчить задачу и закрыть заведомо бесперспективные направления.

$>Уровень "что нельзя использовать" тут непонятен- например, numpy можно использовать?

Можно. Она ну никак не поможет побороть сложность (complexity class) исходной задачи. Более того, чтобы выбрать правильную библиотеку нужно хорошо понимать ее ограничения и особенности (например, псевдополиномиальные решения или осбоенности экспоненциального перебора). Обычно люди, имеющие такое знание, неплохо знают и основы (базовые блоки). Написать реализацию частного случая (простого!) для них будет легко.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.