Главная » Просмотр файлов » Т. Ху - Целочисленное программирование и потоки в сетях (1984)

Т. Ху - Целочисленное программирование и потоки в сетях (1984) (1162191), страница 34

Файл №1162191 Т. Ху - Целочисленное программирование и потоки в сетях (1984) (Т. Ху - Целочисленное программирование и потоки в сетях (1984)) 34 страницаТ. Ху - Целочисленное программирование и потоки в сетях (1984) (1162191) страница 342019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Следует отметить, что утверждение (2) является достаточным (но не необходимым) условием применимости описанного выше алгоритма. В заключение параграфа рассмотрим одно интересное и не совсем очевидное приложение задачи о кратчайшей цепи, а именно задачу нахождения минимального разреза в (з, ~)-плоской сети (64), Сеть называется ллоской, если ее можно начертить на плоскости так, чтобы все ее дуги пересекались только в узлах сети, Неориентированная плоская сеть называется (г, 1)-ллоской, если после добавления к ней дуги А,1 она останется плоской. Например, плоская сеть, изображенная на рис.

$0.2, не является (г, 1)- плоской. Эта же сеть, но без дуги А»м уже будет (г, т)-плоской. Рассмотрим (г, 1)-плоскую сеть, которая получится, если из сети на рис. 10.2 удалить дугу А,з. Пусть числа рядом с дугами 1О.ь кглтчАйшик цепи 197 выражают их пропускные способности. Требуется найти минимальный разрез, отделяющий узлы Лг, и Х,. Эта задача, конечно, может быть решена посредством нахождения максимального потока с помощью метода расстановки пометок. Но оказывается, ее можно решить проще: минимальный разрез в исходной сети соответствует кратчайшей цепи в сети, двойственной к ней '). Двойственная сеть строится следующим обрааом. Сначала чертится дуга А,о если в исходной сети атой дуги не было. Получится 1 9'. Р и с.

10.3. плоская сеть с и узлами. Плоскость чертежа окажется разделенной па грани (области, ограниченные ребраьш и не содержащие внутри себя ни вершин, ни ребер). Дуга Ам будет разделять две грани, одна из которых является внешней. Поместим по одному узлу в каждую из этих граней и обозначим их через гьг; и Х[.

Аналогично, поместим по одному узлу в каждую из граней, разделенных дугой Ап, и обозначим их через Ф; и Дг;.. Проведем в двойственной сети дуги А[я которые связывают узлы Х[ и Лг;ь ') Задача яахождоиия максимального потока в [г, 1)-плоской сети проще, чем в общем случае, и аффсктивво решается (за О (в') действий) без испольаоваиия двойствевкой сети [см. [64[, стр. 399).

Алгоритм поиска кратчайшей цепи в двойственной сети будет ие сложнее [по чисау действий) алгоритма кахояздевия максимальпого потока в исходиой сети, если число узлов в двойственной сети ие превышает (по порядку) числа узлов в исходпой цепи. Зто действительно так: число узлов в двойственной сети равно числу грапей ) в исходной сети, а в плоской сети [ ~( 4 2я — 4 [см., папример, [18е[). — Прим. варев. 193 ГЛ. 10. КРАТЧЛЙП1ИВ ПИПИ И ПОТОКИ МИПИМА11ЬНОИ СТОИМОСТИ Каждой дуге Ам исходной сети будет соответствовать дуга А1! двойственной сети. Каждому разрезу, разделяющему 111, и !У! в исходной сети, будет соответствовать некоторая цепь из 11'; в Л11.

Положим, что пропускная способность Ь!! дуги Аы равна длине 111! дуги АЧ. В атом случае кратчайшая цепь из 11'; в 11'1 будет соответствовать минимальному разрезу, разделяющему 11', и 11'1. Рис. 10.3 иллюстрирует описанное построение. 10.2. Многополюсные кратчайшие цепи (Флойд [63[, Ху [1Щ Мерчленд [158[! Уоршелл [209[) В атом параграфе рассматривается задача нахождения кратчайших цепей между всеми парами узлов сети. Предполагается, как и в з 10.1, что длины о!! могут не удовлетворять неравенству треугольника и условию симметричности. В отличие от з 10.1 теперь величины и1! могут быть и отрицательными.

При этом делается предположение менее ограничительное, чем условие 111! ) 0: сумма длин дуг по любому направленному циклу должна быть неотрицательна (иначе понятие кратчайшей цепи теряет смысл). Заметим, что для любой неориентированной дуги А1! последнее предположение не менее ограничительно: иэ него следует, что г!1! )~ 0 (поскольку неориентированную дугу можно рассматривать как пару прОтивоположно направленных дуг, кал дая из которых имеет ту же длину, что и исходная неориентированная дуга). Как отмечалось в $ 10А, задача оказалась бы тривиальной, если бы выполнялось перавенство треугольника 11!1. + Н!» ) Ы!», в этом случае кратчайшей цепью между произвольной парой узлов !У! и Л!! была бы сама дуга Ам. В произвольной сети лишь некоторые дуги Ам являются кратчайшими цепями из Л!! в 11'!, 'такие дуги будем называть базисными.

Заметим, что в з 10.1 все дуги дерева были базисными (обратное неверно). Предположим, что известна кратчайшая цепь, скажем, из узла Л1р в узел Лрч. Тогда зта цепь должна состоять только из базисных дуг, в протйвном случае она не будет кратчайшей.

Если теперь ввести дугу Аро с длиной, равной длине рассматриваемой цепи из !Ур в Л", то зта дуга Арч будет базисной. Задачу йахождения кратчайших цепей между всеми парами узлов можно решить, добавив базисные дуги (если таких дуг в сети не было) ме1кду всеми парами узлов. При добавлении базисной дуги ей ставится в соответствие длина, равная длине кратчайшей цепи, состоящей из базисных дуг исходной сети. Рассмотрим следующую операцию, определенную для фиксированного узла !у~. 4»1=ш1п(о1ю о1;+о!») (для всех 1~ЙФ)). (1) Эту операцию будем называть термарной. 10.2. МНОГОП011ЮСПЫК КРАТЧАЙ1ПИК ЦКП11 При осуществлении операции (1) сравнивается длина 121А дуги А,А И дЛИНа ЦЕПИ ЛГ1 — Лгт — ЛГА, а ЗатЕМ ДЛИНЕ дуГИ Аза Прненанвается значение 1111 + Ы)з, если й1А ) 2111 + дуь. Оказывается, что если выполнить операцию (1) последовательно для каждого узла Л11 (1 =- 1, 2,..., п), то полученные в результате значения с(1А будут длинами кратчайших цепей между 4 --ь г г г / -ь з + А 'Ь Р и с.

10А. всеми парами узлон. (Заметим, что при атом общий объем вычислений не превышает и (и — 1) (и — 2) действий слоткения и сравнения.) Идея доказательства атого факта заключается в следующеы. Каждая кратчайшая цепь должна состоять из базисных дуг исходной сети. Значит, надо доказать, что в ревультате выполнения алгоритма будет получена базисная дуга, длина которой равна сумме длин базисных дуг, входящих в кратчайшую цепь. Рассмотрим произвольную кратчайшую цепь; например, одна такая цепь представлена на рис.

10.4. При выполнении операции (1) в сеть будут последовательно добавляться базисные дуги, изображенные пунктиром на рис. 10.4. Так как сумма расстояний по любому направленному циклу в сети неотрицательна, то понятие кратчайшей цепи между любыми двумя узлами имеет смысл. Если при выполнении операции (1) получится дуга Арч, длина которой больше кратчайшего расстояния между Лгр и Лге, то на некотором дальнейшем шаге длина этой дуги обязательно изменится и станет равной кратчайшему расстоянию между 11р и Лге ').

После атого величина огре уже не будет изменяться, поскольку она не может 1) Более строго доказательство можно провести следующим образом. Пусть Л'1 — пРомежуточный узел з кратчайшей цепи из Л'в з Л', имеющий наименьший индекс, а Л"1 и ЛА — дза узла, соседних с Л11 з этой цепи. Прн вычислениях по формуле (1) получится А1з ) А1 + 42А, и мы введем ноэу1о дугу А1А длины 012+ Ы з.

Таким образом, для дуги А;ь утверждение доказано, Теперь заменим исходную кратчайшую цепь из Лр з Л1 другой, содержащей ноэу1О дУгу А;», зта цепь имеет ту >ке длину, но меньшее число узлов, Далее продогпкаем рассуждения по индукции.— Прим. иерее. 2СС ГЛ. 10. КРАТЧАЙШИК ЦВПИ И ПОТОКИ МИНИМАЛЬНОЙ СТОИМОСТИ быть уменыпена. На рис. 10.4 показана произвольная кратчайшая цепь мезкду узлами, скажем, Хз и Хз, состоящая из базисных дуг Ам, Ам, Азз, Азз и Аз„. Если выполнить операцию (1) последовательно для каждого узла дзз (1 = 1, 2,..., 9, ...), то новые базисные дуги будут появляться одна за другой: сначала Азз, затем Азз, Азз и Агз.

Чтобы проследить, какие дуги исходной сети входят в кратчайшую цепь, построим следующую справочную таблицу, которая заполняется по мере последовательного выполнения операции (1). В самом начале элемент (з, Й) таблицы, стоящий на пересечении з-й строки и Й-го столбца, полагаем равным Й. После выполнения операции (1) пусть элемент (з, Й) указывает первый промежуточньгй узел в кратчайшей цепи между Л~з и 11'з, если такой узел существует. Если такого з промежуточного узла не существует, то полагаем элемент (з, Й) равным Й, Таким образом, (1, 1), если з(1з )зззг+зз1з, (д Й) =, (2) (1, Й), если зззз~~з(1з+1)зз.

Во всех вычислениях мы до сих пор полагали, что 11„=0 для всех з. Если Р в с. 10,5. положить зз11 = оо для всех з, а в операции (1) разрешить, чтобы з = Й, то последовательное выполнение операции (1) дает возможность найти кратчайшие циклы, содержащие узел Хз. Если при таких вычислениях величина зз11 становится отрицательной, то это показывает, что в сети существует оззрицателькмй цикл (т.

е. такой, у которого сумма длин входящих дуг отрицательна). Задача нахождения отрицательных циклов в сети имеет много различных приложений. Рассмотрим сеть, изображенную на рис. 10.5; длины дуг указаны в табл. 10.1. Необходимо найти кратчайшие цепи между всеми парами узлов. Выполнение операции (1) при 1 = 1 заключается в том, что пересчитываются все элементы табл.

10.1, не лежащие в первой строке или первом столбце. Имеем 11гз. — — шш(з(гз, 11гз+Ызз) = шш(оо, 11+30) =41, з(м . '= ш1п (Ызг, 1111+зззг) =шзп (оо, 30+ 11) = 41; все остальные элементы пе изменяются. Выполнение операции (1) при 1 = 2 заключается в том, что пересчитываются все элементы табл, 10.1, не лежащие во второй 201 10.2. МНОГОПОЛЮСНЫЕ КРЛТЧЛЙШИЕ ЦЕПИ Таблица 10.1 01 02 Оз 04 Оз Ое От 01 02 Оз 04 Ое 07 строке и втором столбце. Заметим, что при этом уже используются результаты вычислений при 1 = 1. Имеем 1(зь:=ш1п(1(р„4, +ь(м)=шш(19, 41+12)=19, 011 . .= Пцп (д1„1112 +ь(м) = ш1п (со, 11+12) = 23, ь(1ь, = шш ф1ь, б12 + Ызь) = ш1п (со, 11+ 2) = 13, ь(зь. =1П1п(ь(зь, 1122 +1(м) =1п1п(оо, 41+2)=43, ь(ьз =1(34~ а»1=1111~ ь(ы=-Аь~ «ьз=ь(зь' остальные элементы не изменяются. Продолжая вычисления таким образом, окончательно получим табл. 10.2, в которой указаны длины кратчайших цепей, и справочную табл.

10.3, с помощью которой определяются узлы, входящие в кратчайшие цепи. Пусть, например, нужно найти кратчайшую цепь из Х1 в Л"з. Тогда по табл. 10.3 сначала находим элемент (1,6) = 2. Затем находим (2,6) = 4 и (4,6) = 6. Следовательно, кратчайшая цепь из Л'1 в Л', проходит через узлы Л', Л'ь. В общем случае если нужно найти кратчайшую цепь из Хр в Л'», то по справочной таблице сначала находим элемент (р, а) = = а, который означает, что узел Лзь является первым промежуточным узлом в кратчайшей цепи из Хр в Л' . Затем находим элемент (Й, д), который указывает первый промея;уточный узел в кратчай1пей цепи из Лл в Х . Этот процесс продолжается до твх пор, пока не будет найден элемент (1, д) = д, который означает, что найдены все узлы, входящие в кратчайшую цепь из Л' в Л'ю а именно 2оз Гл.

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

Тип файла
DJVU-файл
Размер
5,27 Mb
Тип материала
Высшее учебное заведение

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

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