Главная » Просмотр файлов » Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)

Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758), страница 151

Файл №1123758 Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)) 151 страницаТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758) страница 1512019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 151)

Некоторые исследователи расширили эти результаты и разработали алгоритмы, предназначенные для поиска кратчайших путей между всеми парами вершин в неориентированных графах с целочисленными весами ребер в диапазоне [1,2,..., И'). Среди таких алгоритмов быстрее всего в асимптотическом пределе ведет себя алгоритм Шошана (Броз)зап) и Цвика (Яичек) [278], время работы которого равно 0 (И" Ъ' р (1' И')). Каргер (Кагйег), Коллер (Ко!1ег) и Филлипс (РЫ!11рз) [170], а также независимо Мак-Геч (МсОеосЬ) [215] дали временную границу, зависящую от Е",— подмножества ребер из множества Е, входящих в некоторый кратчайший путь.

Для заданного графа с неотрицательными весами ребер эти алгоритмы завершают свою работу за время О (1' Е*+ Уз 18 Ъ). Это лучший показатель, чем ~1",- кратное выполнение алгоритма Дейкстры, если ~Е*~ = о (Е). Ахо (АЬо), Хопкрофт (Норсгой) и Ульман (1Л)тап) [5] дали определение алгебраичесюй структуры, известной как "замкнутое полуюльцо". Эта структура служит общим каркасом для решения задач о поиске путей в ориентированных графах.

Алгоритм Флойда-Варшалла и описанный в разделе 25.2 алгоритм транзитивного замыкания — примеры алгоритмов поиска путей между всеми парами вершин, основанных на замкнутых полукольцах. Маггс (Маййв) и Плоткин (Р1обс(п) [208] показали, как искать минимальные остовные деревья с помощью замкнутых полуколец. ГЛАВА 26 Задача о максимальном потоке Так же, как дорожную карту можно смоделировать ориентированным графом, чтобы найти кратчайший путь из одной точки в другую, ориентированный граф можно интерпретировать как некоторую транспортную сеть и использовать его для решения задач о потоках вещества в системе трубопроводов. Представим, что некоторый продукт передается по системе от источника, где данный продукт производится, к стоку, где он потребляется.

Источник производит продукт с некоторой постоянной скоростью, а сток с той же скоростью потребляет продукт. Интуитивно потоком продукта в любой точке системы является скорость движения продукта. С помощью транспортных сетей можно моделировать течение жидкостей по трубопроводам, движение деталей на сборочных линиях, передачу тока по электрическим сетям, информации — по информационным сетям и т.д. Каждое ориентированное ребро сети можно рассматривать как канал, по которому движется продукт. Каждый канал имеет заданную пропускную способность, которая характеризует максимальную скорость перемещения продукта по каналу, например, 200 литров жидкости в минуту для трубопровода или 20 ампер для провода электрической цепи. Вершины являются точками пересечения каналов; через вершины, отличные от источника и стока, продукт проходит, не накапливаясь. Иными словами, скорость поступления продукта в вершину должна быть равна скорости его удаления из вершины.

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

Это одна из простейших задач, возникающих Глава 26. Задача о максимальном потоке 735 в транспортных сетях, и, как будет показано в данной главе, существуют эффективные алгоритмы ее решения. Более того, основные методы, используемые в алгоритмах решения задач о максимальном потоке, можно применять для решения других задач, связанных с транспортными сетями. В данной главе предлагается два общих метода решения задачи о максимальном потоке.

В разделе 26.1 формализуются понятия транспортных сетей и потоков, а также дается формальное определение задачи о максимальном потоке. В разделе 26.2 описывается классический метод Форда-Фалкерсона (Рогд апд Ри1кегзол) для поиска максимального потока. В качестве приложения данного метода в разделе 26.3 осуществляется поиск максимального паросочетания в неориентированном двудольном графе. В разделе 26.4 описывается метод "проталкивания предпотока" ("рцзЬ-ге!аЬе1"), который лежит в основе многих наиболее быстрых алгоритмов для задач в транспортных сетях. В разделе 26.5 рассматривается еще один алгоритм, время работы которого составляет О (1'з). Хотя он и не является самым быстрым известным алгоритмом, зато позволяет проиллюстрировать некоторые методы, используемые в асимптотически более быстрых алгоритмах, и на практике является достаточно эффективным.

26.1 Транспортные сети В данном разделе мы дадим определение транспортных сетей в терминах теории графов, обсудим их свойства, дадим точное определение задачи о максимальном потоке, а также введем некие полезные обозначения. Транспортные сети и потоки Транспортная сеть (бои пепчогк) С = (КЕ) представляет собой ориентированный граф, в котором каждое ребро (и, и) е Е имеет неотрицательную пропускнуго способность (сарасйу) с(и,и) > О. Если (и,и) ф Е, предполагается, что с (и, и) = О.

В транспортной сети выделяются две вершины: источник (зощсе) а и сток (гйп1с) 1. Для удобства предполагается, что каждая вершина лежит на неком пути из источника к стоку, т.е. для любой вершины и е У существует путь в - и - 1. Таким образом, граф является связным и 1Е! > 1Ц вЂ” 1. На рис. 26.1а показан пример транспортной сети С = (К Е) для задачи грузовых перевозок компании 1лску РисЕ Источник в — это фабрика в Ванкувере, а сток г — склад в Виннипеге. Шайбы доставляются через промежуточные города, но за день из города и в город и можно отправить только с(и, и) ящиков. На рисунке приведена пропускная способность каждого ребра сети.

На рис. 26.16 показаны потоки в транспортной сети. Поток У в сети С имеет значение 1г"1 = 19. Показаны только положительные потоки. Если г" (и, и) > О, то ребро (и, и) снабжено меткой )'(и, и)/с (и, и) (косая черта используется только для того, чтобы отделить Часть Ч1. Алгоритмы для работы с графами 736 цвотзч С~скатю /г -,У ~ ~яу~ Хыгат Рнчт а) б) Рис.

26Д. Пример транспортной сети и ее потоки поток от пропускной способности и не обозначает деление). Если Г' (и, и) < О, то у ребра (и, и) показана толью его пропускная способность. Теперь дадим формальное определение потоков. Пусть С = (Ч; Е) — транспортная сеть с функцией пропускной способности с. Пусть з — источник, а г— сток. Потоком (йот) в С является действительная функция Г: У х У -+ В„ удовлетворяющая следующим трем условиям. Ограничение пропускной способности (сарасйу сопзпашг): у (и,и) < с(и,з) для всех и, и Е У.

Антисимметрнчночть (з1сет зупипену): Г' (и, о) = — Г' (и, и) для всех и, и Е У. Сохранение потока (йот сопзегчайоп): для всех и Е У вЂ” (з, г) ~~) г(и,и) =О. Количество г'(и, и), которое может быть положительным, нулевым или отрицательным, называется потокам (йо)ч) из вершины и в вершину и. Величина (ча)ве) потока ~ определяется как И=~ ~У( и) (26.1) чаи т.е. как суммарный поток, выходящий из источника (в данном случае Н обозначает величину потока, а не абсолютную величину или мощность). В задаче о максамальном потоке (шахппшп йот ргоЫеш) дана некоторая транспортная сеть С с источником з и стоюм 1, и необходимо найти поток максимальной величины. Перед тем как рассматривать пример задачи о потоке в сети, кратко проанализируем три свойства потока.

Ограничение пропускной способности предполагает, чтобы поток из одной вершины в другую не превышал заданную пропускную способность ребра. Антисимметричность введена для удобства обозначений и заключается в том, что поток из вершины и в вершину и противоположен потоку в обратном направлении. Свойство сохранения потока утверждает, что суммарный поток, выходящий из вершины, не являющейся источниюм или стоком, равен Глава 26. Задача о максимальном потоке 737 нулю.

Используя антисимметричность, можно записать свойство сохранения по- тока как У(и,и) = О для всех и й У вЂ” (а, 1), т.е. суммарный поток, входящий в вершину, отличную от источника и стока, равен О. Если в Е не присутствуют ни (и, и), ни (и, и), между вершинами и и и нет потока, и у (и, и) = Г" (и, и) = О. (В упражнении 26.1-! предлагается формально доказать это свойство.) Последнее наблюдение касается свойств, связанных с положительными потоками.

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

Свойство, что суммарный чистый поток в транзитной вершине должен быть равен О, часто нестрого формулируют как "входящий поток равен выходящему потоку". Пример потока С помощью транспортной сети можно моделировать задачу о грузовых перевозках, представленную на рис. 26.1а. У компании 1лс1су Рис1с в Ванкувере есть фабрика (источник а), производящая хоккейные шайбы, а в Виннипеге — склад (сток с), где эти шайбы хранятся. Компания арендует места на грузовиках других фирм для доставки шайб с фабрики на склад. Поскольку грузовики ездят по определенным маршрутам (ребрам) между городами (вершинами) и имеют ограниченную грузоподъемность, компания Ьис1су РисЕ может перевозить не более с(и, и) ящиков в день между каждой парой городов и и и, как показано на рис.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее