Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_posobiya_i_rekomendatsii.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
526.85 Кб
Скачать

Задача 9.3. Дано конечное множество е, семейство его подмножеств ( - булеан множества е) и функция

 : ЕR+ ; (е) будем называть: весом элемента е Е . Требуется найти подмножество S J с наибольшей суммой т. е. с наибольшим суммарным весом.

Эквивалентная формулировка задачи:

Определение 9.1. Жадным (пожирающим, GREEDY) называется следующий алгоритм решения задачи (9.4):

begin

Упорядочить е так, что

w(e[1]) >= w(е[2]) >= ... >= w(е[n]);

S:=;

for i := 1 tо n dо

if (S  {e[i]})  J then S := S  {е[i]};

еnd.

Замечание. Для упрощения определения GREEDY алгоритма мы, не теряя общности, считаем, что после упорядочения элементов множества Е они получили имена (и номера) е[1], е[2], ... , е[n].

Типичной иллюстрацией частного случая использования GREEDY алгоритма является стратегия «иди в ближайший» для задачи о крат-чайшем пути в графе.

Очевидно, что сложность GREEDY алгоритма определяется слож-ностью задачи сортировки n-элементного множества и может быть оце-нена как 0(n). Простота GREEDY алгоритма делает его привлекатель-ным и определяет важность постановки следующей проблемы.

Каким условиям, должно удовлетворять семейство J из задачи 9.3. чтобы GREEDY- алгоритм правильно решал эту задачу для

произвольной функции ?

Оказывается, для решения поставленной проблемы достаточно, чтобы пара <Е,J> образовывала так называемый матроид.

Определение 9.2. Матроидом называется пара М=<Е,J>, где Е - конечное множество. J 2Е - семейство его подмножеств, удовлетворяющих условиям:

М1) пустое множество принадлежит J и, если А J и В А, то B J;

М2) для любых множеств А и В таких, что А J, B J и В = А + 1 , найдется элемент е {В \ А} такой, что {А{e}} J.

Множества семейства J называются независимыми, а остальные множества из {2E \ J}- зависимыми.

Определение 9.3. Максимальным независимым подмножеством множества С  Е называется такое независимое подмножество А  С, что не существует независимого множества В, удовлетворяющего включениям: А  В  С.

Условия М1) и М2) в определении 9.2 иногда называют аксиомами матроида.

Теорема 9.1. Пусть Е - конечное множество, J 2Е и J удовлетворяет условию М1. Тогда пара М = <Е,J> является матроидом в том и только том случае, если выполняется условие:

МЗ) для произвольного подмножества С  Е каждые два максимальных независимых подмножества множества С имеют одинаковую мощность.

Теорема 9.1 устанавливает эквивалентность аксиом М2 и МЗ

матроида.

Определение 9.4. Мощность максимального независимого подмножества множества Е называется рангом этого множества;

Очевидно, что подмножество С  Е является максимальным независимым подмножеством тогда и только тогда, когда r(С) = C . Определение 9.5. Каждое максимальное независимое подмножество

множества Е из определения матроида М = <Е,J> называется базой этого матроида, а ранг r(E) - рангом матроида.

Следствие 9.1. Каждые две базы матроида равномощны.

Теорема 9.2. (Радо-Эдмондса) Если м = <Е,J> - матроид, то множество S, найденное GREEDY- алгоритмом при решении задачи 9.3, является независимым множеством с наибольшим весом . Если М = <Е,J> не является матроидом, то найдется такая .функция

 : Е  + , что множество S, найденное GREEDY- алгоритмом. не будет множеством с наибольшим весом.

Доказательство. Пусть М = <Е,J> - матроид и мно-жество, построенное GREEDY- алгоритмом. Тогда S - база матроида, поскольку каждый элемент , не включенный в S на некотором шаге алгоритма, не может пополнить окончательно построенное множество S без нарушения условия S J . Все базы матроида - максимальные независимые подмножества множества Е - равномощны, поэтому с учетом предварительного упорядочения. элементов множества Е построенное множество S будет иметь наибольший суммарный вес.

Теперь предположим, что М = <Е,J> не является матроидом. Тогда нарушается хотя бы одна из аксиом матроида М1, М2. Пусть не выполняется М1. Тогда найдутся подмножества А и В такие, что A J ,

B А и B J . Определим функцию  так:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]