Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 58. Оптимизация на прадереве. Отыскание оптимального дерева, являющегося частичным графомЭто два разных вопроса. Но мы рассматриваем их в одном параграфе ввиду родства понятий дерева и прадерева. Оптимизация на прадереве. Как мы видели в § 38, прадерево обладает порядковой функцией. Пусть его дугам (или вершинам) приписаны числовые значения. Задача состоит в отыскании оптимального пути между корнем и висячими вершинами, образующими нулевой уровень.
Рис. 380. Общий метод оптимизации изложен в § 51. Здесь мы рассмотрим лишь пример. Пример. Минимальный путь для прадерева на рис. 380 выделен. Отыскание оптимального дерева, являющегося частичным графом. Рассмотрим неориентированный связный граф
Для этой задачи можно использовать различные алгоритмы. Мы опишем здесь наиболее простой алгоритм Краскала, который мало эффективен для графов с большим числом вершин. Для таких графов предпочитают пользоваться алгоритмом Солена ([22]), который приспособлен для ЭВМ. Алгоритм Краскала. Принцип и формулировка этого алгоритма предельно просты. Действуют поэтапно, выбирая каждый раз ребро с возможно меньшим значением, добавление которого к уже выбранным ребрам не приводит к циклу. Обоснуем этот алгоритм. Пусть Заменим значения ребер
при Образуем полный неориентированный граф
2) множество всех значений
действуя следующим образом. В качестве Покажем, что дерево свойства 4) § 38 в С другой стороны, с помощью
Рис. 381.
Рис. 382. Таким образом, дерево Если граф
Рис. 383.
Рис. 384. Действительно, в силу (58.3) ни для какого Отсюда следует также, что если все значения ребер Заметим, что в силу двойственности мы можем прийти к минимальному дереву, выбрасывая ребра с наибольшими значениями так, чтобы не нарушалась связность графа, Очевидно, что по алгоритму Краскала можно найти и максимальное дерево. Обоснование в этом случае проводится аналогично, если приписать значение 0 ребрам Пример. Рассмотрим неориентированный граф на рис. 381, ребрам которого приписаны значения так, как показано на рис. 382.
Рис. 385.
Рис. 386. По алгоритму Краскала найдем минимальное дерево для указанного графа. Очевидно, что за
Рис. 387
Рис. 388. Затем берем
Действуя по двойственному методу, мы должны исключать ребра в следующем порядке:
На рис. 387 и 388 представлено максимальное дерево того же графа. Его значение
УПРАЖНЕНИЯ(см. скан)
|
1 |
Оглавление
|