Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задачи для самостоятельного решенияПоиск на нашем сайте Задачи для самостоятельного решения 1. В следующих сетях найти максимальный поток из источника s в сток t и сответствующий минимальный разрез. a)
b) с)
d)
2. Найти максимальный поток из источника s в сток t и сответствующий минимальный разрез при заданных пропускных способностях для некоторых вершин (указаны в кружочках).
b)
3.В следующих сетях найти максимальный поток из источников в стоки и сответствующий минимальный разрез. a)
b)
4. В следующих примерах на дугах первой цифрой указана нижняя граница пропускной способности, второй − верхняя граница пропускной способности. Найти максимальный поток из источника s в сток t или показать, что поток не существует. a)
b)
3.2. Задача о многополюсном максимальном потоке Пусть дана неориентированная сеть Для описания алгоритма введем следующую операцию над вершинами сети. Пусть S Í V. Конденсацией множества вершин S назовем замену S одной вершиной {S}, с сохранением в сети всех ребер (x, y) Î E, для которых x, y Î V \ S, и их пропускных способностей, и замещением для каждой вершины y Î V \ S, всех ребер (x, y) Î E, для которых x Î S, одним ребром (s, y), с пропускной способностью равной сумме пропускных способностей замещаемых ребер. Построим на множестве вершин исходной сети полный неориентированный граф G’ = (V, E’ ) и положим вес ребра (x, y) Î E’ равным n (x, y) пропускной способности минимального разреза отделяющего x от y в исходной сети (эквивалентно, величине максимального потока между x и y). Пусть G “ = (V, E “ ) максимальное остовное дерево для G’ = (V, E’ ). Если x, u1, u2, … , uk, y единственный путь в G “ = (V, E “ ) от x к y, то в силу максимальности остовного дерева, n (x, y) £ min [ n ( x, u1), n ( u1, u2), … , n ( uk, y ) ]. С другой стороны, из свойств минимального разреза, получим n (x, y) ≥ min [n ( x, u1), n ( u1, u2), … , n ( uk, y )]. Следовательно, n (x, y) = min [n ( x, u1), n ( u1, u2), … , n ( uk, y)]. Идея алгоритма Гомори-Ху состоит в итеративном построении максимального остовного дерева G “ = (V, E “ ). Если требуется определить величину максимального потока между двумя произвольными узлами, надо в дереве найти путь, соединяющий эти два узла, и выбрать в этом пути дугу с минимальным весом. Вес этой дуги равен величине максимального потока между рассматриваемыми узлами. Алгоритм Гомори-Ху. Шаг 1. В качестве множества ребер E” дерева выбрать пустое множество. Объединить все узлы в одно множество-вершину {U} = {V }. Шаг 2. k=1. Выбрать произвольную пару узлов s и t. Шаг 3. Определить максимальный поток из s в t с помощью алгоритма Форда-Фалкерсона Шаг 4. Найти минимальный разрез Шаг 5. Если k = n-1, то закончить работу алгоритма. В противном случае, перейти к шагу 6. Шаг 6. Выбрать произвольную пару узлов x и y, принадлежащих некоторому множеству-вершине {U}, то есть еще не отделенных друг от друга ребром в строящемся дереве. Положить s = x и t = y. Шаг 7. Сконденсировать в один узел каждую связную ветвь дерева, соединенную с множеством-вершиной {U}. Перейти к шагу 3. Пример. Для следующей сети найти максимальный поток между каждой парой вершин.
Итерация 1. Возьмем s = x1, t = x8 . Минимальный разрез, отделяющий x1 от x8, есть <{x1, x2, x3, x4 }, {x5, x6, x7, x8 } >. Его пропускная способность равна n (x1, x8) = 6. По минимальному разрезу получим, что дерево на первой итерации состоит из двух множеств-вершин: {x1, x2, x3, x4}, {x5, x6, x7, x8 } и единственного ребра с весом равным 6 (рис. 6).
Рис. 6. Первая итерация алгоритма Гомори-Ху Итерация 2. Берем вершины, принадлежащие одному множеству-вершине, например s = x1, t = x4 . В исходной сети конденсируем множество вершин {x5, x6, x7, x8 }, как принадлежащее одной связной ветви текущего дерева. В результате получим сеть, представленную на рис. 7.
Рис. 7. Вторая итерация алгоритма Гомори-Ху Минимальный разрез, отделяющий x1 от x4, есть <{x1, x2, x3, {x5, x6, x7, x8}}, {x4} >. Его пропускная способность равна n (x1, x4) = 4. По минимальному разрезу получим, что дерево на второй итерации состоит из множеств-вершин: {x4}, {x1, x2, x3}, {x5, x6, x7, x8 } и ребер с весами равными 4 и 6 (рис. 7). Итерация 3. Возьмем s = x5, t = x8 . В исходной сети конденсируем множество вершин {x1, x2, x3, x4 }, как принадлежащее одной связной ветви текущего дерева. В результате получим сеть, представленную на рис. 8. Минимальный разрез, отделяющий x5 от x8, есть <{{x5}, {x6, x7, x8}, {x1, x2, x3, x4 }} >. Его пропускная способность равна n (x5, x8) = 6. По минимальному разрезу получим, что дерево на третьей итерации состоит из множеств-вершин: {x4}, {x1, x2, x3}, {x6, x7, x8 }, { x5} и ребер с весами равными 4, 6, 6 (рис. 8).
Рис. 8. Третья итерация алгоритма Гомори-Ху Итерация 4. Возьмем s = x1, t = x2. В исходной сети конденсируем множество вершин {x5, x6, x7, x8}, как принадлежащее одной связной ветви текущего дерева. В результате получим сеть, представленную на рис. 9. Минимальный разрез, отделяющий x1 от x2, есть <{x1}, {x2, x3, x4 , {x5, x6, x7, x8 }} >. Его пропускная способность равна n (x1, x2) = 10. По минимальному разрезу получим, что дерево на четвертой итерации состоит из множеств-вершин: {x4}, {x1}, {x2, x3}, {x6, x7, x8 }, { x5} и ребер с весами равными 4, 10, 6, 6 (рис. 9). Итерация 5. Возьмем s = x2, t = x3 . Получим сеть, представленную на рис. 10. Минимальный разрез, отделяющий x2 от x3, есть <{x2}, {x1, x3, x4 , {x5, x6, x7, x8 }} >. Его пропускная способность равна n (x1, x2) = 11. По минимальному разрезу получим, что дерево на пятой итерации состоит из множеств-вершин: {x4}, {x1}, {x2}, {x3}, {x6, x7, x8 }, { x5} и ребер с весами равными 4, 10, 11, 6, 6 (рис. 10).
Рис. 9. Четвертая итерация алгоритма Гомори-Ху
Рис. 10. Пятая итерация алгоритма Гомори-Ху.
Рис. 11. Шестая итерация алгоритма Гомори-Ху
Рис. 12. Седьмая итерация алгоритма Гомори-Ху Итерация 6. Возьмем s = x6, t = x7 . Получим сеть, представленную на рис. 11. Минимальный разрез, отделяющий x6 от x7, есть <{x7}, {{x1, x2, x3, x4} , x5, x6, x8 }} >. Его пропускная способность равна n (x1, x2) = 9. По минимальному разрезу получим, что дерево на пятой итерации состоит из множеств-вершин: {x4}, {x1}, {x2}, {x3}, {x7}, {x6, x8}, { x5} и ребер с весами равными 4, 10, 11, 9, 6, 6 (рис. 11). Итерация 7. s = x6, t = x8 . Получим сеть, представленную на рис. 12. Минимальный разрез, отделяющий x6 от x8, есть < {{x1, x2, x3, x4} , x5, x6, x7 }}, {x8}>. Его пропускная способность равна n (x1, x2) = 10. По минимальному разрезу получим, что дерево на седьмой итерации состоит из вершин x1, x2, x3, x4, x5, x6, x7, x8 и ребер с весами равными 4, 10, 10, 11, 9, 6, 6 (рис. 12). Дерево стало полным, и алгоритм завершает работу. Для определения величины максимального потока, например, между вершинами x2, x7, находим единственный путь, соединяющий эти вершины в результирующем дереве. Это путь ( x2, x3 ), ( x3, x6 ), ( x6, x7 ). Ребро с минимальным весом ( x3, x6 ). Следовательно, искомый поток равен 6.
|
||
|
Последнее изменение этой страницы: 2024-07-06; просмотров: 33; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.009 с.) |