Jump to content

Алгоритм Эдмондса

(Перенаправлено из алгоритма Эдмондса )

В графов теории алгоритм Эдмондса или алгоритм Чу-Лю/Эдмондса — это алгоритм поиска остовного древообразного дерева минимального веса (иногда называемого оптимальным ветвлением ). Это направленный аналог задачи о минимальном остовном дереве . Алгоритм был предложен независимо сначала Йонг-Джином Чу и Ценг-Хонг Лю (1965), а затем Джеком Эдмондсом (1967).

Алгоритм

[ редактировать ]

Описание

[ редактировать ]

Алгоритм принимает на вход ориентированный граф. где представляет собой набор узлов и — множество направленных ребер, выделенная вершина называется корнем и действительным весом для каждого края . Возвращает охватывающее древовидение укоренен в минимального веса, где вес древостоя определяется как сумма весов его ребер, .

Алгоритм имеет рекурсивное описание. Позволять обозначают функцию, которая возвращает остовное дерево с корнем в минимального веса. Сначала мы удаляем все края чей пункт назначения . Мы также можем заменить любой набор параллельных ребер (ребер между одной и той же парой вершин в одном направлении) одним ребром с весом, равным минимуму весов этих параллельных ребер.

Теперь для каждого узла кроме корня, найдите ребро, входящее в наименьшего веса (с произвольным разрывом связей). Обозначим источник этого ребра через . Если множество ребер не содержит циклов, то .

В противном случае, содержит хотя бы один цикл. Произвольно выберем один из этих циклов и назовем его . Теперь мы определяем новый взвешенный ориентированный граф. в котором цикл «сжимается» в один узел следующим образом:

Узлы являются узлами не в плюс новый узел, обозначенный .

  • Если является преимуществом в с и (ребро, входящее в цикл), затем включить в новый край и определить .
  • Если является преимуществом в с и (ребро, выходящее из цикла), затем включить в новый край и определить .
  • Если является преимуществом в с и (ребро, не связанное с циклом), затем включить в новый край и определить .

Для каждого ребра в , мы запоминаем, какое ребро в это соответствует.

Теперь найдите минимальную протяженность древовидности. из используя вызов . С представляет собой связующее дерево, каждая вершина имеет ровно одно входящее ребро. Позволять быть уникальным входящим преимуществом для в . Это ребро соответствует ребру с . Удалить край от , разрывая цикл. Отметьте каждый оставшийся край в . Для каждого ребра в , отметьте соответствующее ему ребро в . Теперь мы определяем быть набором отмеченных ребер, которые образуют минимальное ветвящееся древо.

Обратите внимание, что определяется с точки зрения , с имеющий строго меньше вершин, чем . Нахождение для одновершинного графа тривиально (это просто сам), поэтому рекурсивный алгоритм гарантированно завершится.

Время работы

[ редактировать ]

Время работы этого алгоритма . Более быстрая реализация алгоритма благодаря Роберту Тарьяну выполняется вовремя. для разреженных графов и для плотных графов. Это так же быстро, как алгоритм Прима для неориентированного минимального остовного дерева. В 1986 году Габоу , Галил , Спенсер и Тарьян создали более быструю реализацию с меньшим временем выполнения. .

  • Чу, Ён Джин; Лю, Ценг-Хонг (1965), «О кратчайшем древовидении ориентированного графа» (PDF) , Scientia Sinica: Chung-kuo k`o hsueh , XIV (10): 1396–1400
  • Эдмондс, Дж. (1967), «Оптимальные разветвления», Журнал исследований Национального бюро стандартов, раздел B , 71B (4): 233–240, doi : 10.6028/jres.071b.032
  • Тарьян, Р.Э. (1977), «Нахождение оптимальных ветвей», Networks , 7 : 25–35, doi : 10.1002/net.3230070103
  • Камерини, премьер-министр; Фратта, Л.; Маффиоли, Ф. (1979), «Заметки о поиске оптимальных разветвлений», Networks , 9 (4): 309–312, doi : 10.1002/net.3230090403
  • Гиббонс, Алан (1985), Алгоритмическая теория графов , издательство Кембриджского университета, ISBN  0-521-28881-9
  • Габоу, Гонконг ; Галил, З. ; Спенсер, Т.; Тарьян, Р.Э. (1986), «Эффективные алгоритмы поиска минимальных остовных деревьев в неориентированных и ориентированных графах», Combinatorica , 6 (2): 109–122, doi : 10.1007/bf02579168 , S2CID   35618095
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b8606753b185c639192cd4452641266f__1700762340
URL1:https://arc.ask3.ru/arc/aa/b8/6f/b8606753b185c639192cd4452641266f.html
Заголовок, (Title) документа по адресу, URL1:
Edmonds' algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)