Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
10.9. Матроиды и «жадный» алгоритмРассмотрим множество S, элементам которого s; присвоены неотрицательные веса Найти член Например, к этой задаче сводится нахождение остова максимального веса во взвешенном связном графе G, если Для решения этой задачи естественно применить следующий алгоритм, называемый «жадным». Алгоритм 10.1. «Жадный» алгоритм. Шаг 1. Выбрать такой элемент Шаг 2. Выбрать такой элемент Шаг 3. Выбрать такой отличный от Например, если Исследуем взаимосвязь получаемого «жадным» алгоритмом решения со структурой Рассмотрим матроид М на множестве S. Пусть — независимые множества, элементы которых расставлены в порядке невозрастания весов. Таким образом, Множество Далее мы принимаем, что элементы всякого множества упорядочены по невозрастанию весов. Теорема 10.32. Пусть 1. В лексикографически максимально в ?. 2. В оптимально по Гейлу в ?? 3. В член Доказательство.
Легко показать (аналогично тому, как это сделано в доказательстве теоремы 10.32), что применение «жадного» алгоритма дает лексикографически максимальную базу, которая по только что доказанной теореме имеет максимальный вес. Таким образом, справедливо следующее утверждение: Теорема 10.33. Пусть Из этой теоремы очевидно, что база максимального веса получается, если выбирать элементы матроида в порядке невозрастания весов, отвергая только те элементы, выбор которых нарушает условие независимости получаемого множества. Применение «жадного» алгоритма для получения базы минимального веса очевидно. Рассмотрим, например, взвешенный граф G на рис. 10.5. Веса ребер приведены на рисунке. Для применения «жадного» алгоритма к получению остова графа G максимального веса необходимо сначала расположить ребра в порядке невозрастания весов. Таким образом, ребра будут упорядочены следующим образом: С помощью алгоритма будут получены сначала три ребра а, b и
Рис. 10.5. Взвешенный граф. По этой же причине будут отклонены ребра g и h. Таким образом, «жадный» алгоритм порождает множество Докажем сейчас теорему, обратную теореме 10.33. Теорема 10.34. Пусть Доказательство. Из аксиом независимости очевидно, что нам необходимо показать, что если С этой целью определим веса элементов S следующим образом: Если Применение «жадного» алгоритма к задаче нахождения остова максимального веса было впервые предложено в работе [10.7]. Расширение применения этого алгоритма на матроиды было предложено в работах
|
1 |
Оглавление
|