Задача о максимальном потоке сети

Изучение определений и теорем потока сети, определение сводимости некоторых задач о максимальном потоке. Описание алгоритмов локального и кратчайшего увеличения цепей сети. Метод поразрядного сокращения невязок и Динамические деревья Слейтора-Тарьяна.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 22.11.2013
Размер файла 512,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Пусть число очков, набранных соперником, равно P(n, m), тогда P(n2, mn) - верхняя оценка числа дуг, которые были удалены из F до того, как были насыщены. Числоedge-kill ходов соперник является числом операций Push, приведших к насыщению дуги.

Cheriyan, Hagerup и Mehlhorn доказали, что оценка подобного алгоритма равна O(mn + n3/2m1/2 + P(n2, nm)Logn + C(n2, mn)), где P(n.m) - максимальное число очков, которое смог собрать соперник, а C(n, m) - стоимость реализации стратегии алгоритма-игрока. Они рассмотрели случайную стратегию выбора текущей дуги. Реализуется она таким образом: всем инцидентным дугам ставится в соответствие случайное число, затем выбирается допустимая дуга с минимальным номером. Алгоритм с подобной стратегией они оценили O(mn + (nLogn)2).

Алгоритм Кинга

Работа Кинга, Рао и Таряна (King, Rao & Tarjan) опубликована в 1992г. В 1990г. Алон (Alon) предложил свой вариант алгоритма CHM, выработав постоянную стратегию алгоритма-игрока, и добился быстродействия O(mn + n 8/3Log n). Кинг выдвинул еще более успешную адаптивную стратегию для алгоритма-игрока, улучшив эту оценку до O(nm + n2+e), что давало O(mn) для всех m > n1+e. Это позволило увеличить диапазон m/n, для которого на тот момент можно было достичь быстродействия O(nm).

Кинг немного модифицировал правила игры. Рассмотрим неориентированный двудольный граф G = (U, V, E). |U| = |V| = n, |E| = m. Во время инициализации, алгоритм-игрок назначает дугу каждой вершине из U.Затем игра продолжается по раундам, пока все вершины из V не будут удалены.

Соперник может сделать один из следующих ходов:

1. Удалить любую дугу из графа (edge-kill), но не получит за это очков.

2. Удалить любую вершину из V вместе с инцидентными ей дугами, получив по одному очку за каждую дугу.

Алгоритм-игрок может сделать любую последовательность следующих ходов:

1. Назначить дугу каждой вершине u из U, для которой еще не назначена дуга.

2. Назначить вершине новую инцидентную дугу. Старая дуга приобретает обычный статус, а соперник получает дополнительное очко.

Стратегия алгоритма-игрока:

Пусть l - минимальный коэффициент (k) вершин u. Выделим множество U'U вершин, с коэффициентом больше k. Всех v из V сопоставим оценку r(v), равную числу назначенных дуг (u, v), инцидентных v с минимальным коэффициентом. Диапазон значений, которые могут принимать оценки, можно разделить на уровни. Уровень iсодержит вершины, оценки которых лежат в интервале [ri, ri+1), где ri = 2ir0. Поэтому, вершине из U' достаточно “знать” уровни смежных вершин. Когда для вершины u U' назначается дуга, алгоритм выбирает дугу инцидентную вершине с минимальным уровнем.

Подобная стратегия приводит к алгоритму с оценкой O(nm + n2+e).

Алгоритм Голдберга-Рао

Этот, достаточно современный (1997г) алгоритм, впервые превзошел считавшуюся непреодолимой оценку O(nm). Его результат: O(min{n2/3,n1/2}m Log(n2/m)LogU). Алгоритм является слабо-полиномиальным, но, учитывая теорему подобия Габова (Gabow), в которой для сравнения слабо- и сильно-полиномиальных алгоритмов используется LogU = O(Log n), он является лучшим на данный момент.

В каждой своей итерации, алгоритм Голдберга-Рао ищет тупиковый поток, используя неединичную функцию для определения длины допустимых дуг. Идея использования неединичной функции уже рассматривалась многими учеными[1], но никогда не давала улучшения асимптотической оценки быстродействия.

Введем основные определения. Пусть G = (V, E) - ориентированная сеть с источником s и стоком t. Функция c(e): E {1, …, C} определяет пропускные способности дуг. Потоком, соответственно назовем функцию f(e): E {1, …, C}, для которой выполняются f(e) c(e) и принцип сохранения потока. Остаточной пропускной способностью является cf(i, j) = f(I, j) + c(i, j) - с(i, j). Дуги, имеющие положительную cf, составляют множество Ef. Граф Gf = (V, Ef) является сетью остаточных пропускных способностей. Остаточный поток - это разница между некоторым оптимальным потоком в сети (f*) и текущим. fR: |f*(e) - f(e)|. Под тупиковым потоком будем понимать функцию, при которой в графе Gf не существует пути из s в t.

Функцией длины дуги является функция l: E R+. Назовем функцию d: V R+ меткой дистанции относительно l, если d(t) = 0 и для всех дуг eE, остаточная стоимость не отрицательна. Остаточная стоимость определяется как ld(i, j) = l(i, j) + d(j) - d(i). Остаточная стоимость на дугах пути из s в t может только возрастать. Обозначим dl(i) дистанцию вершины i до t относительно l. Заметим, что .

С помощью функции длины дуги можно получить верхнюю границу остаточного потока. Дугу из Ef можно рассматривать как канал шириной c(e), длиной l(e) и площадью vol(e) = c(e)l(e). Площадью сети (Volfl) будет сумма площадей всех дуг с положительной остаточной пропускной способностью. Т.к. каждая единица остаточного потока требует d(s) единиц площади, то верхней оценкой величины остаточного потока будет Volfl/d(s). Назовем дугу (i, j) из Ef допустимой, если d(i) > d(j), или d(i) = d(j), если l(i, j) = 0. Подобные дуги формируют множество A(f, d, l) и составляют граф GA = (V, A(f, d, l)).

Алгоритм Голдберга-Рао базируется на бинарной функции длины дуги. Она равна нулю на дугах с “большой” остаточной пропускной способностью и единице на остальных. Это позволяет уменьшить Volfl и получить лучшею оценку для остаточного потока по сравнению с единичной функцией длины дуги. Определение “больших” и “маленьких” остаточных пропускных способностей зависит от текущей величины остаточного потока. Обозначим F верхнюю оценку остаточного потока. Изначально она равна и корректируется по ходу выполнения алгоритма. Если пропускные способности и величина потока являются целыми числами, алгоритм должен прекратить свою работу, как только F станет меньше единицы. Под фазой работы алгоритма будем понимать вычисления, которые были произведены между двумя изменениями значения F. Каждая фаза состоит из шагов.

Текущее значение F определяет величину. - это величина, на которую мы пытаемся увеличить поток на каждом шаге данной фазы. Бинарная функция длины l(e) равна 0, если cf(e)3 и 1 в противном случае. Длина некоторых дуг должна изменятся после наращивания потока в сети с помощью тупикового потока. Назовем дугу (i,j) особой, если , d(i) = d(j) и . Определим функцию l', равную 0 на всех особых дугах и совпадающую с l на остальных. Заметим, что dl = dl'.

В начале каждого шага, мы вычисляем dl, j' и dl'. Заметим, что GA может иметь циклы из дуг нулевой длины. В этом случае следует удалить из графа компоненты сильной связности, порожденные дугами нулевой длины, и увеличивать поток в полученном графе.

На каждом шаге в полученном ациклическом графе либо находится тупиковый поток, либо поток величины . Изменение F можно выполнить несколькими способами. Напр., если Volfs/dl(s) F/2, то завершим фазу и положим F = Volfs/dl(s). Другим способом является определение F через разрез сети. Назовем текущим разрезом, разрез (S, T), для которого выполняется cf(S, T) F. В этом случае завершать фазу следует, как только найден разрез (S', T') F/2 и положить (S, T) = (S', T'), а F = cf(S', T'). Реализация алгоритма, основанная на использовании разрезов, имеет множество плюсов. Подробно она описана в [11].

В общем виде работу алгоритма на i-той фазе можно представить так:

Имеются значения l и dl. До тех пор, пока F не уменьшилось, выполняем следующее:

1. Вычислить Volfs. Если Volfs/dl(s) F/2, изменить F и завершить фазу.

2. Вычислить l'.

3. Получить ациклический граф.[2]

4. Найти в полученном графе тупиковый поток, либо поток величины .

5. Увеличить поток в исходной сети с помощью найденного.

6. Вычислить l и dl.

Для нахождения тупикового потока можно воспользоваться любым подходящим алгоритмом. Если величина найденного потока X >, то избыток следует устранить. Установим величину избытка в стоке, равную X- (это искусственная операция, избытка в стоке не может быть по определению) Затем, необходимо рассмотреть вершины в обратном порядке, начиная со стока. В каждой вершине нужно уменьшать величину потока на входящих в нее дугах, до тех пор, пока избыток в ней не исчезнет.

Хронологическая таблица достижений в решении задачи о максимальном потоке

Год

Автор

Оценка

1951

Dantzig

O(n2mU)

1956

Ford & Fulkerson

O(nmU)

1970

Edmonds and Karp

O(nm2)

1970

Dinic

O(n2m)

1972

Edmonds and Karp

O(m2LogU)

1973

Diniс

Gabow

O(nmLogU)

1974

Karzanov

O(n3)

1977

Cherkasky

O(n2m1/2)

1978

Malhotra, Pramodh Kumar, and Maheshwari

O(n3)

1978

Galil

O(n5/3m2/3)

1978

Galil & Naamad

Shiloach

O(nmLog2n)

1980

Sleator and Tarjan

O(nmLogn)

1982

Shiloach & Vishkin

O(n3)

1984

Tarjan

O(n3)

1985

Goldberg

O(n3)

1986

Goldberg & Tarjan

O(nmLog(n2/m))

1987

Ahuja and Orlin

O(nm + n2LogU)

1987

Ahuja et al.

O(nmLog(n(Log1/2U)/m))

1989

Cheriyan, Hagerup & Mehlhorn

E(nm + n2Log2n)

1990

Cheriyan et al.

O(n3/logn)

1990

Alon

O(nm + n8/3Logn)

1992

King, Rao & Tarjan

O(nm + n2+e)

1993

Phillips & Westbrook

O(nm(Logm/(Logn)n))

1997

Goldberg & Rao

O(min{n2/3,n1/2}m Log(n2/m)LogU)

алгоритм локальное увеличение поток сети

Список использованной литературы

[1]. Липский В. Комбинаторика для программистов: Пер. с польск - М:. Мир, 1988. - 213с. ил.

[2]. Голдберг AV комбинаторной оптимизации лекций для CS363/OR349.

[3]. Форд Л. Р., Фалкерсон Д. Р. Потоки в сетях. - М:. Мир, 1966.

[4]. Уилф BS Алгоритмы и сложность. интернет-издания, летом 1994 года. http://www/cis.upenn.edu/wilf.

[5]. Edmunds. К., Карп RM Теоретические улучшений в эффективности алгоритмических проблем сетевого потока. J. ACM, 1972, 19, с. 248-264.

[6]. Cormen TH, Leiserson CE, Rivest RL Введение в алгоритмы. 1990 год.

[7]. Адельсон-Вельский . Потоковые Алгоритмы .

[8]. Z.Galil , А. Naamad . Сетевого потока и обобщенные сжатия пути. 1979 год.

[9]. Sleator D. D., Тарьян RE структуру данных для динамических деревьев. J. Comput . Научно системы. , 26:362 -391, 1983.

[10]. Голдберг А.В., Тарьян RE Новый подход к задача о максимальном потоке. J. Доц. Comput . Маха., 35:921-940, 1988.

[11]. Голдберг А.В., Рао С. Длина функции для потоков вычислений. Технический отчет # 97-055, NEC научно-исследовательский институт, 1997 год.

[12]. Fong C. О, Рао MR Ускоренный маркировки алгоритмы Задача о максимальном потоке с приложениями к транспортировке и задач назначения рабочий документ № 7222, Высшая школа менеджмента, У. Рочестера, Рочестер, Нью-Йорк, 1972 год.

[13]. Лин PM, Леон BJ Повышение эффективности маркировки алгоритмов максимального потока в сетях IEEE Proc Int сиропом схемы и системы, 1974, стр. 162-166.

[14]. Сринивасан В. , Томпсон GL Ускоренные алгоритмы маркировки и переименование деревьями, с приложениями к проблемам распределения. J. ACM 19, 4 (октябрь 1972), 712-726.

[15]. Джонсон E Л. Сети и основные решения. Опер . Res. 14 (1966), 619-623.

[16]. Cheriyan J., Mehlhorn К. Анализ на самом высоком уровне правила отбора в предварительное истечение -PUSH Max-Flow алгоритма.

Размещено на Allbest.ru

...

Подобные документы

  • Шифрование - широко используемый криптографический метод сохранения конфиденциальности информации. Описание схемы шифрования и расшифрования. Структура алгоритмов на основе сети Фейстеля. Скриншоты работающей программы. Скорость работы алгоритмов.

    курсовая работа [545,2 K], добавлен 29.11.2010

  • Анализ и практическая реализация использования администрирования и мониторинга сети на предприятии. Процесс создания карты сети в программе LANState. Сетевые программы для сисадминов, программы мониторинга сети. Описание локальной вычислительной сети.

    курсовая работа [3,6 M], добавлен 15.02.2017

  • Технология настройки распределённой беспроводной сети в домашних условиях с использованием двух точек беспроводного доступа: выбор оборудования, определение архитектуры сети. Средства безопасности беспроводной сети, процедура ее взлома с протоколом WEP.

    статья [152,4 K], добавлен 06.04.2010

  • Сущность и классификация компьютерных сетей по различным признакам. Топология сети - схема соединения компьютеров в локальные сети. Региональные и корпоративные компьютерные сети. Сети Интернет, понятие WWW и унифицированный указатель ресурса URL.

    презентация [96,4 K], добавлен 26.10.2011

  • Принцип деятельности ООО "МАГМА Компьютер". Особенности предметной области. Цели создания компьютерной сети. Разработка конфигурации сети. Выбор сетевых компонентов. Перечень функций пользователей сети. Планирование информационной безопасности сети.

    курсовая работа [2,3 M], добавлен 17.09.2010

  • Локальные вычислительные сети. Пропускная способность сети. Определение загруженности сети. Выбор физической среды передачи данных. Распределение адресного пространства. Проверочный расчет времени двойного оборота. Пассивное сетевое оборудование.

    курсовая работа [2,9 M], добавлен 17.02.2012

  • Особенности проектирования локальной сети для учебного учреждения на основе технологии Ethernet, с помощью одного сервера. Описание технологии работы сети и режимов работы оборудования. Этапы монтажа сети, установки и настройки программного обеспечения.

    курсовая работа [1,9 M], добавлен 16.02.2010

  • Определение понятия и сущности сети Интернет. История возникновения компьютерной сети. Характеристика оптоволоконных и беспроводных линий связи, радиоканалов и спутниковых каналов. Протокол, используемый компьютерами для обмена данными при работе в сети.

    презентация [3,0 M], добавлен 19.02.2015

  • Настройка телекоммуникационного оборудования локальной вычислительной сети. Выбор архитектуры сети. Сервисы конфигурации сервера. Расчет кабеля, подбор оборудования и программного обеспечения. Описание физической и логической схем вычислительной сети.

    курсовая работа [1,3 M], добавлен 22.12.2014

  • Понятие и основные характеристики локальной вычислительной сети. Описание типологии "Шина", "Кольцо", "Звезда". Изучение этапов проектирования сети. Анализ трафика, создание виртуальных локальных компьютерных сетей. Оценка общих экономических затрат.

    дипломная работа [990,2 K], добавлен 01.07.2015

  • Разработка логической структуры сети и формирование групп пользователей сети виртуальных сетей. Разбиение сети на сегменты. Маршрутизация в сетях. Автоматизация настроек маршрутизации. Построение отказоустойчивой сети фармацевтической организации.

    дипломная работа [3,3 M], добавлен 07.02.2016

  • Изучение понятия и особенностей построения компьютерной сети с файл-сервером. Проект структурной схемы сети и схемы сети на плане здания. Удаленный доступ и удаленное управление сервером. Сети с шинной топологией. Характеристика требуемого оборудования.

    курсовая работа [1,5 M], добавлен 18.03.2013

  • Разработка проводной локальной сети и удаленного доступа к данной сети с использованием беспроводной сети (Wi-Fi), их соединение между собой. Расчет времени двойного оборота сигнала сети (PDV). Настройка рабочей станции, удаленного доступа, сервера.

    курсовая работа [2,0 M], добавлен 10.11.2010

  • Применение сетевых технологий в управленческой деятельности. Понятие компьютерной сети. Концепция открытых информационных систем. Преимущества объединения компьютерных сетей. Локальные вычислительные сети. Глобальные сети. Международная сеть INTERNET.

    курсовая работа [38,1 K], добавлен 16.04.2012

  • Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.

    курсовая работа [36,0 K], добавлен 18.10.2008

  • Нейронные сети и оценка возможности их применения к распознаванию подвижных объектов. Обучение нейронной сети распознаванию вращающегося трехмерного объекта. Задача управления огнем самолета по самолету. Оценка экономической эффективности программы.

    дипломная работа [2,4 M], добавлен 07.02.2013

  • Назначение и классификация компьютерных сетей. Обобщенная структура компьютерной сети и характеристика процесса передачи данных. Управление взаимодействием устройств в сети. Типовые топологии и методы доступа локальных сетей. Работа в локальной сети.

    реферат [1,8 M], добавлен 03.02.2009

  • Понятие локально-вычислительной сети и ее преимущества. Основные виды топологий. Типы серверов в компьютерной сети. Характеристика модели OSI. Технические и программные характеристики рабочих станций. Аппаратные средства для поиска неисправностей в сети.

    дипломная работа [1,6 M], добавлен 14.06.2015

  • Функциональная модель процесса проектирования сети. Технико-экономическое обоснование разработки сети. Проектирование структурной схемы и перечень функций пользователей сети. Планирование информационной безопасности. Расчет капитальных вложений.

    практическая работа [345,0 K], добавлен 09.06.2010

  • Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.

    дипломная работа [2,7 M], добавлен 18.02.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.