Нахождение минимального разреза неориентированного графа


25

Вот вопрос из прошлого экзамена, который я пытаюсь решить:

Для неориентированного графа с положительными весами w ( e ) 0 я пытаюсь найти минимальный разрез. Я не знаю других способов сделать это, кроме использования теоремы о максимальном потоке. Но график ненаправленный, так как мне его направить? Я думал о направлении ребер на обоих концах, но тогда какая вершина будет источником, а какая вершина будет стоком? Или есть другой способ найти минимальный разрез?гвес(е)0


1
Если на исходном графике нет источника и цели, я думаю, вам придется попробовать несколько вариантов. (Для любых заданных и t минимальный разрез не может разделять два.)sT
Рафаэль

Вы пытаетесь найти минимальное сечение для заданных узлов источника и стока или минимальное сечение графика?
Питер

@Peter: минимальное сокращение графика.
Юзеф

Ответы:


13

Существует множество алгоритмов для нахождения минимального разреза неориентированного графа. Алгоритм Каргера - это простой, но эффективный рандомизированный алгоритм.

Короче говоря, алгоритм работает, равномерно выбирая ребра случайным образом и сжимая их без удаленных петель. Процесс останавливается, когда остаются два узла, и эти два узла представляют разрез. Чтобы увеличить вероятность успеха, рандомизированный алгоритм запускается несколько раз. Выполняя пробежки, можно отследить самый маленький из найденных кроев.

Смотрите запись в Википедии для более подробной информации. Для лучшего ознакомления, ознакомьтесь с первой главой вероятности и вычислений: рандомизированные алгоритмы и вероятностный анализ Майкла Митценмахера и Эли Апфала.


Это алгоритм приближения?
Стрин

@Strin Это рандомизированный алгоритм, который находит минимальное сокращение с высокой вероятностью.
Юхо

1
Я не думаю, что Karger's подходит для нахождения минимального веса. Вывод вероятности того, что он найдет минимальное сокращение, зависит от того, найдет ли он минимальное сокращение; Karger's вряд ли найдет минимальный крой со многими легкими краями.
Сумуду Фернандо

8

(U,v,весеягчасT)(U,v,весеягчасT)(v,U,весеягчасT)

... но тогда какая вершина будет источником, а какая вершина будет стоком?

Не имеет значения


1
Почему это не имеет значения?
Кодирование Wombat

1

Алгоритм Форда-Фулкерсона должен работать на вас. Вы можете создать две поддельные вершины, а именно. источник и раковина.

Также взгляните на алгоритм Эдмондса-Карпа . Есть два варианта этого:

  1. Одна версия выбирает кратчайший путь
  2. Другие выбирают путь с максимальной вместимостью

, в отличие от Форд-Фулкерсон, который выбирает произвольный путь.

Это хороший ресурс.


Добро пожаловать в cs.stackexchange! Это могло бы помочь ОП, если бы вы могли более подробно объяснить, как фиктивные вершины связаны с существующим графом. И какими будут веса ребер новых ребер.
Paresh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.