Главная » Просмотр файлов » Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно)

Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (1185664), страница 34

Файл №1185664 Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно).pdf) 34 страницаВведение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (1185664) страница 342020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

. . , uk , что• ui 6= d для всех i,• table_lookupui (d) = ui+1 для всех i < k и• table_lookupuk (d) = u1 .Таблицы называются ациклическими, если они не содержат цикла ни для однойвершины d.122Гл. 4. Алгоритмы маршрутизации4.2. Задача построения кратчайших путей для всех пар вершинЛемма 4.3. Механизм продвижения доставляет каждый пакет по назначению в том и только том случае, когда таблицы маршрутизацииявляются ациклическими.Д о к а з а т е л ь с т в о. Если таблицы маршрутизации содержат цикл длянекоторого узла-адресата d, то пакет, адресованный процессу d, никогда не будет доставлен по назначению, если отправителем является вершина, входящаяв цикл.(* Пакет, адресованный вершине d, был получен или сформирован в вершине u *)if d = uthen доставить пакет локальными средствамиelse отправить пакет вершине table_lookupu (d)Алгоритм 4.2.

Продвижение пакетов по назначению (для узла u).Предположим, что таблицы являются ациклическими и пакет, предназначенный узлу-адресату d (и отправленный из узла-источника u0), продвинулся черезвершины u0 , u1 , u2 , . . .. Если одна и та же вершина встречается в этой последовательности дважды, скажем ui = uj , то таблицы содержат цикл, в данном случаеhui , . .

. , uj i, вопреки предположению об ацикличности таблиц. Значит, каждаявершина встречается в последовательности не более одного раза. Отсюда следует, что эта последовательность является конечной и оканчивается некоторойвершиной uk (k < N). В соответствии с описанием процедуры продвижения пакета указанная последовательность может оканчиваться только вершиной d. Такимобразом, uk = d, и пакет достигает вершины адресата, пройдя не более N − 1звеньев.В некоторых алгоритмах маршрутизации может случиться так, что таблицына этапе их вычисления не обладают свойством ацикличности, но только до техпор, пока не завершится этап вычисления таблиц. При применении такого алгоритма пакет может продвигаться по циклу, пока вычисляются таблицы, но тем неменее доставляется по назначению не более чем за N − 1 звеньев, после того каквычисление таблиц завершается при отсутствии дальнейших изменений топологии.

Если изменения топологии не прекращаются, т. е. структура сети подвергается постоянным преобразованиям, пакеты могут не достичь своего назначениядаже в том случае, если обновляемые таблицы оказываются ациклическими (см.упражнение 4.1).Разветвляемая маршрутизация с минимальной задержкой. Если требуется провести маршрутизацию по путям с наименьшей задержкой, и при этомзадержка в канале связи зависит от его загруженности (и поэтому допущение 1,сделанное в начале этого параграфа является недействительным), то стоимостьиспользования пути нельзя рассматривать как функцию, зависящую только отэтого пути. Кроме того необходимо принимать в расчет трафик по каналу связи.Чтобы избежать заторов на пути (из-за которых возникает большая задержка),пакеты, имеющие один и тот же источник и одного того же адресата, продвигают-yuuv -v uJ-vJvu@123v@@R@v @@uuvJJuJJ^vx@J@@R@J@@uJu vvТрафик в вершине vрасщепления в вершиных xи y.Рис.

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

Ввиду того что методы расщепленной маршрутизации, как правило, очень сложны, мы не будем рассматривать их в этой главе.4.2. Задача построения кратчайших путейдля всех пар вершинВ этом параграфе мы рассмотрим алгоритм Туэга [194] совместного вычисления таблиц маршрутизации для всех узлов сети.

Для каждой пары вершин (u, v)алгоритм вычисляет длину кратчайшего пути из вершины u в вершину v и заносит в память процесса u первый канал этого пути. Это хорошо известная задачапостроения кратчайших путей для всех пар вершин. В основу распределенного алгоритма Туэга решения этой задачи положен централизованный алгоритмФлойда—Уоршалла [55, § 26.4] . Мы рассмотрим алгоритм Флойда —Уоршаллав § 4.2.1, а затем в § 4.2.2 обратимся к алгоритму Туэга. В § 4.2.3 мы обсудими другие алгоритмы решения задачи построения кратчайших путей для всех парвершин.4.2.1. Алгоритм Флойда—УоршаллаПредположим, что имеется взвешенный граф G = (V, E), в котором каждомуребру uv приписан вес uv . Ясно, что uv = vu , и, кроме того, мы будем считать,что в графе отсутствуют циклы отрицательного веса.

Весом пути hu 0 , . . . , uk iPназывается число, равное ik=−01 ui ui+1 . Расстоянием между вершинами u и vназывается наименьший вес d(u, v) пути, соединяющего вершины u и v (еслитаких путей нет, то расстояние считается бесконечным, d(u, v) = ∞). Задача построения кратчайших путей для всех пар вершин состоит в том, чтобы вычислитьрасстояние d(u, v) для каждой пары вершин u и v.

(В § 4.2.2 мы расширим возможности алгоритма, и он будет заносить в память процесса первое ребро путинаименьшего веса.)124Гл. 4. Алгоритмы маршрутизацииДля вычисления всех расстояний в алгоритме Флойда —Уоршалла используется понятие S-путей; это пути, в которых все промежуточные вершины принадлежат подмножеству S множества вершин V.Определение 4.4. Пусть S — некоторое подмножество множества вершин Vграфа G. Путь hu0 , . . .

, uk i называется S-путем, если ui ∈ S для каждого i, 0 << i < k. S-расстоянием между вершинами u и v, которое обозначается d S (u, v),называется наименьший вес S-пути между u и v (если таких путей нет, то расстояние считается бесконечным, dS (u, v) = ∞).Работа алгоритма начинается с построения всех ∅ -путей, а затем множествоS-путей наращивается для все более обширных подмножеств S, до тех пор пока не будут рассмотрены все V -пути. Уместно принять во внимание следующеезамечание.Предложение 4.5.

Для любой вершины u и всякого подмножества Sвыполняется равенство dS (u, u) = 0. Кроме того, если u 6= v, то S-путиподчиняются следующим правилам:1) ∅-путь из вершины u в вершину v существует в том и только томслучае, когда uv ∈ E;2) если uv ∈ E, то d∅ (u, v) = uv ; в противном случае d∅ (u, v) = ∞;3) если S0 = S ∪ {w}, то простой S0 -путь, ведущий из u в v, представляет собой либо S-путь, ведущий из u в v, либо последовательноесоединение двух S-путей, один из которых ведет из u в w, а другой — из w в v;04) если S0 = S ∪ {w}, то dS (u, v) = min (dS (u, v), dS (u, w) + dS (w, v) );5) вершины u и v соединены путем в том и только том случае, когдамежду вершинами u и v существует V-путь;6) d(u, v) = dV (u, v),4.2. Задача построения кратчайших путей для всех пар вершин125Правило (6).

Каждый V -путь является путем и наоборот. Поэтому оптимальный V-путь также является оптимальным путем.begin(* Вначале положить S равным ∅, а D считать равной ∅-расстоянию *)S := ∅ ;forall u, v doif u = v then D [u, v] := 0else if uv ∈ E then D [u, v] := uvelse D [u, v] := ∞ ;(* Добавить к S «центровую» вершину*)while S 6= V do(* Инвариант цикла: ∀u, v : D [u, v] = dS (u, v) *)begin pick w from V \ S ;(* Выполнить глобальную обработку опорной вершины w *)forall u ∈ V do(* Выполнить локальную обработку опорной вершины w для u *)forall v ∈ V doD [u, v] := min (D [u, v] , D [u, w] + D [w, v] ) ;S := S ∪ {w}end (* ∀u, v : D [u, v] = d(u, v) *)endАлгоритм 4.4. Алгоритм Флойда—УоршаллаПри помощи утверждения 4.5 и метода динамического программированиянетрудно разработать алгоритм решения задачи построения кратчайших путейдля всех пар вершин (см. алгоритм 4.4).

В этом алгоритме сначала рассматриваются ∅-пути, а затем последовательно строятся S-пути для расширяющихсямножеств S, до тех пор пока не будут рассмотрены все пути.Д о к а з а т е л ь с т в о. Для всех вершин u и подмножеств S верно нераТеорема 4.6. Алгоритм 4.4 вычисляет расстояние между всеми парамивенство dS (u, u) 6 0, потому что пустой путь (не содержащий ни одного ребра)вершин за Θ (N3) шагов.является S-путем из u в u веса 0. Никакой другой путь не имеет меньшего веса,поскольку в графе G нет циклов отрицательного веса.

Значит, d S (u, u) = 0.Д о к а з а т е л ь с т в о. В начале работы алгоритма D [u, v] = 0, если u =Правило (1). Так как ∅-путь не имеет промежуточных вершин, ∅-путь из u= v, D [u, v] = uv , если uv ∈ E, и D [u, v] = ∞ в остальных случаях. При этомв v состоит только из канала uv.S = ∅. Согласно правилам 1) и 2) утверждения 4.5 мы имеем ∀u, v : D [u, v] == dS (u, v). Если к множеству S добавляется вершина w, то согласно правилам 3)Правило (2). Следует непосредственно из правила 1).и 4) того же утверждения оператор присваивания, уточняющий значение D [u, v] ,Правило (3).

В простом S0 -пути из u в v вершина w либо встречается ровнообеспечивает сохранение выполнимости предложения ∀u, v : D [u, v] = d S (u, v),один раз, либо вообще не встречается. Если не содержит промежуточной вериспользуемого в качестве инварианта цикла. Программа завершает выполнение,шины w, то это S-путь; в противном случае этот путь представляет собой покогда S = V.

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

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

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

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