Jump to content

Дерево Гомори-Ху

В комбинаторной оптимизации дерево Гомори – Ху [ 1 ] неориентированного графа с пропускными способностями — это взвешенное дерево , которое представляет минимальные s t разрезы для всех пар s t в графе. Дерево Гомори–Ху можно построить в | В | − 1 расчет максимального расхода . Он назван в честь Ральфа Э. Гомори и TC Hu .

Определение

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

Позволять быть неориентированным графом с является емкостью края соответственно.

Обозначим минимальную пропускную способность сечения s - t через для каждого .
Позволять быть деревом, и обозначать множество ребер в пути s - t через для каждого .

Тогда T называется деревом Гомори–Ху группы G , если для каждого

где

  1. являются двумя связными компонентами , и таким образом образует s - t в G. разрез
  2. это емкость в G. вырезать

Алгоритм

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

Алгоритм Гомори – Ху

Входные данные : взвешенный неориентированный граф.
Продукт : Дерево Гомори–Ху.
  1. Набор
  2. Выберите несколько с | Х | ≥ 2, если такой X существует. В противном случае перейдите к шагу 6.
  3. Для каждого связного компонента позволять
    Позволять
    Сожмите компоненты, чтобы сформировать где:
    – функция емкости, определяемая как:
  4. Выберите две вершины s , t X и найдите минимальный s - t разрез ( A′ , B′ ) в G' .
    Набор
  5. Набор
    Для каждого делать:
    1. Набор если в противном случае установить
    2. Набор
    3. Набор
    Набор
    Набор
    Перейдите к шагу 2.
  6. Замените каждый по v и каждый по ( ты , v ) . Выход Т.

Используя субмодулярное свойство функции емкости c , имеем Тогда можно показать, что минимальный - t разрез в G' также является минимальным s - t разрезом в G для любых s , t X. s

Чтобы показать это всем для некоторых p P , q Q на протяжении всего алгоритма используется следующая лемма:

Для любых i, j, k в V G ,

Лемму можно использовать снова и снова, чтобы показать, что выходной сигнал T удовлетворяет свойствам дерева Гомори – Ху.

Ниже приводится моделирование алгоритма Гомори – Ху, где

  1. зеленые кружки — вершины T .
  2. красные и синие кружки — вершины в G '.
  3. серые вершины — выбранные s и t .
  4. красный и синий цвета представляют собой разрез s - t .
  5. пунктирные это вырезов края — набор .
  6. A — это набор вершин, обведенных красным , а B — набор вершин, обведенных синим .
Г ' Т
1. Положим V T = { V G } = { {0, 1, 2, 3, 4, 5} } и E T = ∅.
2. Поскольку VT . имеет только одну вершину, выберем X = V G = {0, 1, 2, 3, 4, 5} Обратите внимание, что | Х | = 6 ≥ 2.
1.
3. Поскольку T \ X = ∅, сжатия нет и, следовательно, ' = G. G
4. Выберите s = 1 и t = 5. Минимальный s - t разрез ( A ', B ') равен ({0, 1, 2, 4}, {3, 5}) с c '( A ', B ') = 6.
Установите A = {0, 1, 2, 4} и B = {3, 5}.
5. Положим V T = ( V T \ X ) ∪ { A X , B X } = { {0, 1, 2, 4}, {3, 5} }.
Установите E T = { ({0, 1, 2, 4}, {3, 5}) }.
Положим w (({0, 1, 2, 4}, {3, 5})) = c '( A ', B ') = 6.
Перейдите к шагу 2.
2. Выберите X = {3, 5}. Обратите внимание, что | Х | = 2 ≥ 2.
2.
3. {0, 1, 2, 4} — компонента связности в T \ X и, следовательно, S = { {0, 1, 2, 4} }.
Контракт {0, 1, 2, 4} образует G ', где
c '( (3, {0, 1, 2, 4})) = c ( (3, 1) ) + c ( (3, 4) ) = 4.
с '( (5, {0, 1, 2, 4})) = с ( (5, 4)) = 2.
с '( (3, 5)) = с ( (3, 5) ) = 6.
4. Выберите s = 3, t = 5. Минимальный s - t разрез ( A ', B ') в G ' равен ( {{0, 1, 2, 4}, 3}, {5}) с c ' ( А ', В ') = 8.
Установите A = {0, 1, 2, 3, 4} и B = {5}.
5. Положим V T = ( V T \ X ) ∪ { A X , B X } = { {0, 1, 2, 4}, {3}, {5} }.
Поскольку ( X , {0, 1, 2, 4}) ∈ E T и {0, 1, 2, 4} ⊂ A , замените его на ( A X , Y ) = ({3}, {0, 1 , 2 ,4}).
Установите E T = { ({3}, {0, 1, 2, 4}), ({3}, {5}) } с
ш (({3}, {0, 1, 2, 4})) = ш (( X , {0, 1, 2, 4})) = 6.
w (({3}, {5})) = c '( A ', B ') = 8.
Перейдите к шагу 2.
2. Выберите X = {0, 1, 2, 4}. Обратите внимание, что | Х | = 4 ≥ 2.
3.
3. { {3}, {5} } — компонента связности в T \ X и, следовательно, S = { {3, 5} }.
Контракт {3, 5} образует G ', где
с '( (1, {3, 5}) ) = с ( (1, 3) ) = 3.
c '( (4, {3, 5})) = c ( (4, 3) ) + c ( (4, 5) ) = 3.
c '( ты , v ) знак равно c ( ты , v ) для всех ты , v X .
4. Выберите s = 1, t = 2. Минимальный s - t разрез ( A ', B ') в G ' равен ( {1, {3, 5}, 4}, {0, 2} ) с c ' ( А ', В ') = 6.
Установите A = {1, 3, 4, 5} и B = {0, 2}.
5. Положим V T = ( V T \ X ) ∪ { A X , B X } = { {3}, {5}, {1, 4}, {0, 2} }.
Поскольку ( X , {3}) ∈ E T и {3} ⊂ A , замените его на ( A X , Y ) = ({1, 4}, {3}).
Установите E T = { ({1, 4}, {3}), ({3}, {5}), ({0, 2}, {1, 4}) } с
ш (({1, 4}, {3})) = ш (( X , {3})) = 6.
w (({0, 2}, {1, 4})) = c '( A ', B ') = 6.
Перейдите к шагу 2.
2. Выберите X = {1, 4}. Обратите внимание, что | Х | = 2 ≥ 2.
4.
3. { {3}, {5} }, { {0, 2} } — компоненты связности в T \ X и, следовательно, S = { {0, 2}, {3, 5} }
Свяжите {0, 2} и {3, 5}, чтобы сформировать G ', где
с '( (1, {3, 5}) ) = с ( (1, 3) ) = 3.
c '( (4, {3, 5})) = c ( (4, 3) ) + c ( (4, 5) ) = 3.
c '( (1, {0, 2})) = c ( (1, 0) ) + c ( (1, 2) ) = 2.
с '( (4, {0, 2})) = с ( (4, 2) ) = 4.
c '( ты , v ) знак равно c ( ты , v ) для всех ты , v X .
4. Выберите s = 1, t = 4. Минимальный s - t разрез ( A ', B ') в G ' равен ( {1, {3, 5}}, {{0, 2}, 4}) с с '( А ', В ') = 7.
Установите A = {1, 3, 5} и B = {0, 2, 4}.
5. Положим V T = ( V T \ X ) ∪ { A X , B X } = { {3}, {5}, {0, 2}, {1}, {4} }.
Поскольку ( X , {3}) ∈ E T и {3} ⊂ A , замените его на ( A X , Y ) = ({1}, {3}).
Поскольку ( X , {0, 2}) ∈ ET ) = ({4} , и {0, 2} ⊂ B , замените его на ( B X , Y {0, 2}).
Установите E T = { ({1}, {3}), ({3}, {5}), ({4}, {0, 2}), ({1}, {4}) } с
ш (({1}, {3})) = ш (( X , {3})) = 6.
ш (({4}, {0, 2})) = ш (( X , {0, 2})) = 6.
w (({1}, {4})) = c '( A ', B ') = 7.
Перейдите к шагу 2.
2. Выберите X = {0, 2}. Обратите внимание, что | Х | = 2 ≥ 2.
5.
3. { {1}, {3}, {4}, {5} } — компонента связности в T \ X и, следовательно, S = { {1, 3, 4, 5} }.
Контракт {1, 3, 4, 5} образует G ', где
с '( (0, {1, 3, 4, 5})) = с ( (0, 1) ) = 1.
с '( (2, {1, 3, 4, 5})) = с ( (2, 1) ) + с ( (2, 4) ) = 5.
с '( (0, 2)) = с ( (0, 2) ) = 7.
4. Выберите s = 0, t = 2. Минимальный s - t разрез ( A ', B ') в G ' равен ( {0}, {2, {1, 3, 4, 5}} ) с c ' ( А ', В ') = 8.
Установите A = {0} и B = {1, 2, 3, 4, 5}.
5. Положим V T = ( V T \ X ) ∪ { A X , B X } = { {3}, {5}, {1}, {4}, {0}, {2} }.
Поскольку ( X , {4}) ∈ ET ) = ({2} , и {4} ⊂ B , замените его на ( B X , Y {4}).
Установить E T = { ({1}, {3}), ({3}, {5}), ({2}, {4}), ({1}, {4}), ({0}, {2}) } с
ш (({2}, {4})) = ш (( X , {4})) = 6.
w (({0}, {2})) = c '( A ', B ') = 8.
Перейдите к шагу 2.
2. Не существует X V T такого, что | Х | ≥ 2. Следовательно, переходим к шагу 6.
6.

6. Замените V T = { {3}, {5}, {1}, {4}, {0}, {2} } на {3, 5, 1, 4, 0, 2}.
Замените E T = { ({1}, {3}), ({3}, {5}), ({2}, {4}), ({1}, {4}), ({0}, {2}) } на { (1, 3), (3, 5), (2, 4), (1, 4), (0, 2) }.
Выход Т. ​Обратите внимание, что именно | В | − 1 = 6 − 1 = 5 раз выполняется вычисление минимального сокращения.

Реализации: последовательные и параллельные

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

Алгоритм Гасфилда можно использовать для поиска дерева Гомори – Ху без какого-либо сжатия вершин при той же сложности времени выполнения , что упрощает реализацию построения дерева Гомори – Ху. [ 2 ]

Эндрю В. Голдберг и К. Циуциуликлис реализовали алгоритм Гомори-Ху и алгоритм Гасфилда, а также выполнили экспериментальную оценку и сравнение. [ 3 ]

Коэн и др. сообщают о результатах двух параллельных реализаций алгоритма Гасфилда с использованием OpenMP и MPI соответственно. [ 4 ]

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

В плоских графах дерево Гомори-Ху двойственно базису цикла минимального веса в том смысле, что разрезы дерева Гомори-Ху двойственны набору циклов в двойственном графе, которые образуют базис цикла минимального веса. [ 5 ]

См. также

[ редактировать ]
  1. ^ Гомори, RE ; Ху, ТК (1961). «Многотерминальные сетевые потоки». Журнал Общества промышленной и прикладной математики . 9 (4): 551–570. дои : 10.1137/0109047 .
  2. ^ Гасфилд, Дэн (1990). «Очень простые методы анализа потоков в сети для всех пар». СИАМ Дж. Компьютер . 19 (1): 143–155. дои : 10.1137/0219009 .
  3. ^ Гольдберг А.В.; Циуциуликлис, К. (2001). «Алгоритмы обрезки дерева: экспериментальное исследование». Журнал алгоритмов . 38 (1): 51–83. дои : 10.1006/jagm.2000.1136 .
  4. ^ Коэн, Хайме; Родригес, Луис А.; Сильва, Фабиано; Кармо, Ренато; Гедес, Андре Луис Пирес; Дуарте-младший, Элиас П. (2011). «Параллельные реализации алгоритма разрезания дерева Гасфилда». В Сян, Ян; Куццокрея, Альфредо; Хоббс, Майкл; Чжоу, Ванлей (ред.). Алгоритмы и архитектуры для параллельной обработки — 11-я Международная конференция, ICA3PP, Мельбурн, Австралия, 24–26 октября 2011 г., Материалы, Часть I. Конспекты лекций по информатике. Том. 7016. Спрингер. стр. 258–269. дои : 10.1007/978-3-642-24650-0_22 . {{cite conference}}: CS1 maint: несколько имен: список авторов ( ссылка )
  5. ^ Хартвигсен, Д.; Мардон, Р. (1994). «Задача о минимальном разрезе для всех пар и задача о базисе минимального цикла на плоских графах». СИАМ Дж. Дискретная математика . 7 (3): 403–418. дои : 10.1137/S0895480190177042 . .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2e2463236717bcd43d11b1c93faef562__1724877240
URL1:https://arc.ask3.ru/arc/aa/2e/62/2e2463236717bcd43d11b1c93faef562.html
Заголовок, (Title) документа по адресу, URL1:
Gomory–Hu tree - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)