Я новичок в алгоритмах и в настоящее время изучаю с помощью обучающих программ/лекций и книг для видеокурсов, я сначала смотрю видео, а затем читаю книгу и, наконец, попробую вопрос из книги, чтобы убедиться, что я научился тема правильно. В настоящее время я добираюсь до жадных алгоритмов, и это очень запутанно.жадные алгоритмы
Внутри книги есть различные проблемы, но у меня возникли проблемы с пониманием и ответом на конкретный вопрос.
Во-первых, это проблема, которая (я только что скопировал текст).
существует набор из n объектов размеров {x1; x2; ..... xn} и bin с емкостью B. Все это положительные целые числа. Попробуйте найти подмножество этих объектов , чтобы их общий размер был меньше или равен B, но как можно ближе к B.
Все объекты 1-мерные. Например, если объекты имеют размеры 4, 7, 10, 12, 15 и B = 20, тогда мы должны выбрать 4 и 15 с общим размером 19 (или, что то же самое, 7 и 12). Для каждого из следующих жадных алгоритмов покажите, что они не являются оптимальными, создав встречный пример. постарайтесь сделать ваши примеры настолько плохими, насколько сможете, где «плохость» измеряется соотношением между оптимальными и жадными решениями. Таким образом, если наилучшее решение имеет значение 10, а жадность решения - значение 5, то отношение равно 2.
Как это сделать для следующего?
1) Всегда выбирайте объект с наибольшим размером, чтобы общий размер этого и всех других объектов, уже выбранных, не превышал B. Повторите это для остальных объектов.
ive попытался создать модифицированный «алгоритм примитивов» для решения этого вопроса, но он очень грязный и, вероятно, неверный. – user1252908
Алгоритм Prim's строит связующее дерево в графе. Возможно, вы хотите объяснить, как этот алгоритм подходит для данной проблемы. –