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

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

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 150 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1502019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Из вершины в в вершину с можно провести бесконечно большое количество путей: (в, с), Глава 24. йратчайигие пути из одной першины а Ь Рис. 24.К Ребра с отрицательнымн весами в ориентированном графе. Для каждой вершины укаиш вес кратчайшего цуги до нее из вершины а. Поскольку вершины е и у образуют цикл с отрццательным весом, доспокнмый из в, веса соответствующих кратчайших путей равны -оо.

Вершина р достижима из вершины, вес кратчайшего пути к которой равен -оо, поэтому она татке имеет вес кратчайшего цуги. равный -оо. Вершины„такие как Ь, з и у, недостшкимы из а, поэтому для каждой из них вес кратчайшего пути равен оо, несмотря на то что они находятся в цикле с отрицательным весом. (л,с,г1,с), (я,с,г1,с,д,с) и т.д. Поскольку вес цикла (с, Н,с) равен 6+( — 3) = 3 ) О, кратчайшим путем из вершины я в вершину с является путь (л, с), вес шзторого равен Б(л,с) = гл(л, с) = 5. Аналогично кратчайшим путем из вершины я в вершину д является путь (л, с, д) с весом б(я,г() = цг(я,с) + тл(с,г1) = 11. Точно так же имеется бесконечно большое количество путей из и в вершину е: (я, е), (а, е, У, е), (я, е, у, е, у, е) и т.д.

Однако, поскольку вес цикла (е, у, е) равен 3 + ( — 6) = — 3 < О, т.е. он отрицательный, не существует кратчайшего пути из вершины л в вершину е. Обходя цикл с отрицательным весом (е, у, е) сколько угодно раз, мвкно построить пуп из в в вершину е, вес которого будет выражаться каким угодно большим по модулю отрицательным числом, поэтому б(а, е) = — сс и аналогично б(а, у) = — сс. Поскольку вершина д достижима из вершины у, можно также найти пути нз вершины а в вершину д с произвольно большими отрицательными весами, а потому Б(в,д) = — со.

Вершины Ь, з н т' также образуют цикл с отрицательным весом. Однако они недостижимы нз вершины а, поэтому б(л, гг) = б(я, т) = б(в, у) = ос. В некоторых алгоритмах поиска кратчайшего пути, таких как алгоритм Дейкстры, предполагается, что вес любого нз ребер входного графа неотрицательный, как это было в примере с дорожной картой. В других алгоритмах, таких как алгоритм Беллмана-Форда (Ве!1пжп-Рогд), ребра входных графов могут иметь отрицательный вес.

Эти алгоритмы дают корректный ответ, если циклы с отрицательным весом недостижимы из истока. Обычно, если такой цикл с отрицательным весом существует, подобный алгоритм способен выявить его наличие и сообщить об этом. Циклы Может ли кратчайший путь содержать цикл? Толью что мы убедились в том, что он не может содержать цикл с отрицательным весом. В него также не может входить цикл с положительным весом, поскольку в результате удаления этого Часть И.

Алгоритмы длл работы с графами цикла из пути получится путь, который исходит из того же истока и заканчивается в той же вершине, но обладает меньшим весом. То есть, если р = (оо, оы..., оь) является путем, а с = (о„о, ьы..., оу) — цикл с положительным весом на этом пути (так что о; = ог и ш(с) ) О), то путь р' = (оо,оы...,о,,огьыоу+з,...,оь) имеет вес ш(р') = ш(р) — ш(с) ( 1и(р), а значит, р не может быть кратчайшим путем из оо в оь. Остаются только циклы с нулевым весом.

Однако из пути можно удалить цикл с нулевым весом, в результате чего получится другой путь с тем же весом. Таким обраюм, если существует кратчайший путь из истока в в целевую вершину о, содержащий цикл с нулевым весом, то существует и другой кратчайший путь из истока в в целевую вершину о, в котором этот цикл не содержится. Если кратчайший путь содержит циклы с нулевым весом, эти циклы можно поочередно удалять до тех пор, пока не получится кратчайший путь, в котором циклы отсутствуют. Поэтому без потери общности можно предположить, что когда мы находим кратчайшие пути, они не содержат циклов.

Поскольку в любой ациклический путь в графе С = (\~, Е) входит не более ~Ц различных вершин, в нем содержится не более ~Ц вЂ” 1 ребер. Таким образом, можно ограничиться рассмотрением кратчайших путей, состоящих не более чем из ٠— 1 ребер. Представление кратчайших путей Часто требуется вычислить не только вес каждого из кратчайших путей, но и входящие в их состав вершины. Представление, используемое для кратчайших путей, аналогично тому, которое используется для описанных в разделе 22.2 деревьев поиска в ширину. В заданном графе С = (Ъ; Е) для каждой вершины о е )г поддерживается атрибут ппеднгеспгвеннпк (ргебесеьаог) о.

к, в роли которого выступает либо другая вершина, либо значение ьпь. В рассмотренных в этой главе алгоритмах поиска кратчайших путей атрибуты к присваиваются таким образом, что цепочка предшественников, которая начинается в вершине о, позволяет проследить путь, обратный кратчайшему пути из вершины в в вершину о. Таким образом, для заданной вершины о, у которой о.к ф М1Ь, с помощью описанной в разделе 22.2 процедуры Ркпчт-РАтн(С, в, о) можно вывести кратчайший путь из вершины в в вершину о. Однако до тех пор, пока алгоритм поиска кратчайших путей не закончил свою работу, значения к не обязательно указывают кратчайшие пути. Как и при поиске в ширину, нас будет интересовать подграф предшеегпвовання (ргебесеааог зиЪягарЪ) С„= ($', Е„), порожденный значениями к. Как и ранее, определим множество вершин )г как множество, состояшее из тех вершин графа С, предшественниками которых не являются значения ЫЬ, а также включающее исток ьз (га — — (о б о'; о.я ~ хп.) 0 (в) Множество ориентированных ребер Š— это множество ребер, порожденных значениями к у вершин из множества Ъ'„: Е, = ((о.к, о) е Е: о е 1'л — (в)) Глони 24.

Кратинйиие нуми из одной вершины ,М у (б) у г ы) Рнс. 24.2. (а) Взвешенный ориентированный граф с весами кратчайших путей из истока в. (6) Заштрнхошнные ребра образуют дерево кратчайших пу)ей с корнем в истоке в. (в) Вше одно дерево кратчайших путей с тем же корнем. К Множество $" представляет собой множество вершин, достижимых из истока в графа С. 2. Граф С' образует корневое дерево с корнем д.

3. Для всех с е (" цпнозначно определяемый простой путь из вершины в в вершину и в графе С' является кратчайшим путем из в в и в С. Кратчайшие пути, как и деревья кратчайших путей, не обязательно единственны. Например, на рис. 24.2 изображен нзвешенный ориентированный граф, иа кото- ром обозначен вес каждого из кратчайших путей из истока в, а также два дерева кратчайших путей с одним и тем же корнем.

Ослабление В описанных в этой главе алгоритмах используется мепщ релаксации, или ослабления (ге(ахайоп). Для каждой вершины о Е 1' поддерживается атрибут е. )з', представляющий собой верхнюю границу веса„которым обладает кратчайший путь из истока в в вершину ш Мы называем атрибут и. г( оценкой кратчайшего лутк (в))ог(ез(-ра((з екнпш(е). Инициализация оценок кратчайших путей и предшественников проводится в приведенной ниже процедуре, время работы которой равно тз(зг). Далее будет доказано, что значения л, полученные с помощью описанных в этой главе алгоритмов„обладают тем свойством, что после завершения этих алгоритмов С является "деревом крк)чайших путей".

Неформально это дерево можно описать как корневое дерево, содержащее кратчайший путь из истока в к каждой вершине, достижимой из вершины ж Оно похоже на дерево поиска в ширину, знакомое нам нз раздела 22.2, но содержит кратчайшие пути из истока, определенные не с помощью количества ребер, а с помощью значений их весов. Дадим более точное определение. Пусть С = ((г, Е) — взвешенный ориентированный граф с весовой функцией ш: Е -+ )й. Предположим, что в нем не содержится циклов с отрицательным весом, достижимых из истока в е (г, так что кратчайшие пути вполне определены.

Тогда дерево «раукчайбикк путей (яЬопея(-раб)з пес) с корнем в вершине в представляет собой ориентированный подграф С' = (Ъ", Е'), в котором множества Ъ" С $' и Е' С Е определяются следующими условиями. Часть )б Алгоритмы дллработы ссра(бами бвб и в 2 н Я-ч 2 '. Йнлх(н,в,ч') н " в 2 <т, :.ф,—. --3-.

(з, :, Кн.ьх(н,в.и) и 3 (в) (б) Рнс. 24.3. Ослабление ребра (и,в) с весом и(и,в) = 2. Для калгдой вершины приведена опеняа ее кратчайшего пути. (а) Поскольку перед ослаблением в. И > и. И + зс(и, в), значение в. 6 уменьшветсв. (6) Здесь перед ослаблением ребра в, И < и. г( + гл(и, в), так что ослабление оставляет значение в. 6 неизменным. 1ы)т(д~.(2и-Я(р)О~.и-БО()иОб(С, в) 1 аког каждой вершины и Е С. 1' 2 и.И=ос 3 в.тг = рць 4 в.г(=О КН.лХ(и, и, из) 1 Н: в. г( > и. г(+ гп(иг и) 2 в.

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

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

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