Почему подход Greedy работает над проблемой непрерывного рюкзака, тогда как тот же подход не работает для проблемы с рюкзаком 0-1?Непрерывный рюкзак Vs. 0-1 Рюкзак
ответ
В 0-1 Рюкзак жадный подход не работает, потому что он хочет, чтобы вы взвесили все возможные комбинации, потому что в отличие от дробного ранца, где мы можем использовать жадный алгоритм для получения максимальной прибыли, пустое пространство снижает эффективную прибыль за фунт (вес) от нагрузки. В 0-1 Knapsack, когда мы рассматриваем вопрос о том, включать ли элемент в рюкзак, мы должны сравнить решение с подзадачей, которая включает элемент с решением подзадачи, которая исключает элемент, прежде чем мы сможем сделать выбор.
Следовательно, решение выполняется O (ЯО), где п число элементов и W представляет собой вес предметов, которые вы можете положить в ранце
Надеется, что это проясняет!
Для непрерывного рюкзаке, вы не можете иметь q > 0
из пункта со стоимостью c
на единицу в оптимальном решении, оставляя q' > 0
в качестве другого элемента со стоимостью c' > c
. В противном случае вы просто заменяете min(q, q')
сумму первого предмета с той же суммой второго, увеличивая общую стоимость на min(q,q')*(c' - c)
.
Для рюкзака 0-1, где используется контрпример для наивного жадного алгоритма. Рассмотрим предметы с весом 6, 5, 4
и стоимость 8, 5, 4
. Пусть общий допустимый вес равен 9
. Очевидно, что оптимальным решением является получение второго и третьего элементов для общей стоимости 9
, но первый элемент стоит больше, как по абсолютной величине, так и по отношению к ее весу, поэтому должен быть выбран алгоритмом «жадный».
- 1. рюкзак 01 с твист
- 2. Рюкзак Представление
- 3. Рюкзак вариации?
- 4. 01 Рюкзак Использование одноразмерных массивов для хранения промежуточных решений
- 5. рюкзак-для-Laravel Ошибка установки рюкзак для Laravel 5.3
- 6. Рюкзак алгоритм для времени
- 7. Рюкзак Динамическое программирование
- 8. Расписание партии - классический рюкзак
- 9. 0-1 Рюкзак пересмотрен
- 10. Рекурсивный рюкзак в Java
- 11. Рюкзак проблема (классический)
- 12. Рюкзак смеси с ограничениями
- 13. рюкзак с весом
- 14. Рюкзак с 4 ограничениями
- 15. Рюкзак с неограниченными товарами
- 16. Интенсивный вычислительный рюкзак
- 17. многомерный рюкзак с R
- 18. Рюкзак - алгоритм грубой силы
- 19. Рюкзак Функция Python
- 20. Рюкзак - определяющий набор из
- 21. рюкзак псевдополиномиальное время algorightm
- 22. Рюкзак с минимальными затратами
- 23. двухмерный рекурсивный рюкзак
- 24. Алгоритм выбора/сортировки (рюкзак)
- 25. Несколько рюкзак, вес = прибыль
- 26. Рюкзак с взаимоисключающими изделиями
- 27. Неограниченный рюкзак pseducode
- 28. Рюкзак для стола
- 29. Реализовать фракционный рюкзак
- 30. Рюкзак - наименьший приоритет, минимальный вес