Скачиваний:
60
Добавлен:
02.05.2014
Размер:
233.98 Кб
Скачать

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ИНФОРМАТИКИ И РОБОТОТЕХНИКИ

Отчет к курсовой работе по дисциплине

“Дискретная математика”

На тему: Задача о максимальном потоке, алгоритм Форда–Фалкерсона

Научный руководитель:

Васильева Л. И.

Выполнили:

студенты группы ПО-122

ФИРТ

Шаяхметов А.Р.

Корпухин М.В.

УФА

2007г

Задача о максимальном потоке, алгоритм Форда–Фалкерсона.

Содержание:

1. Введение ......................................................................................... стр. 2

2. Теория. Основные понятия .......................................................... стр. 3

3. Постановка задачи.......................................................................... стр. 9

4. Реализация ..................................................................................... стр. 10

5. Тестовый пример............................................................................ стр. 13

6. Заключение .................................................................................... стр. 14

7. Список литературы ....................................................................... стр. 15

Введение

Бурное развитие дискретной математики обусловлено прогрессом компьютерной техники, необходимостью создания средств обработки и передачи информации, а также представления различных моделей на компьютерах, являющихся по своей природе конечными структурами.

Задача о максимальном потоке в сети изучается уже более 60 лет. Интерес к ней подогревается огромной практической значимостью этой проблемы. Методы решения задачи применяются на транспортных, коммуникационных, электрических сетях, при моделировании различных процессов физики и химии, в некоторых операциях над матрицами, для решения родственных задач теории графов, и даже для поиска Web-групп вWWW. Исследования данной задачи проводятся во множестве крупнейших университетов мира.

60 лет назад, задача о максимальном потоке решалась simplexметодом линейного программирования, что было крайне не эффективно. Форд и Фалкресон предложили рассматривать для решения этой задачи ориентированную сеть и искать решение с помощью итерационного алгоритма. В течение 20 лет, все передовые достижения в исследовании данной задачи базировались на их методе. В 1970г. наш соотечественник, Диниц, предложил решать задачу с использованием вспомогательных бесконтурных сетей и псевдомаксимальных потоков, что намного увеличило быстродействие разрабатываемых алгоритмов. А в 1974 Карзанов улучшил метод Диница, введя такое понятие как предпоток. Алгоритмы Диница и Карзанова, как и исследования Форда и Фалкерсона, внесли огромный вклад в решение данной проблемы. На основе их методов 15 лет достигались наилучшие оценки быстродействия алгоритмов. В 1986г. появился третий метод, который также без раздумий можно отнести к фундаментальным. Этот метод был разработан Голдбергом и Таряном, и получил названиеPush-Relabelметода. Для нахождения максимального потока, он использует предпотоки и метки, изменяемые во время работы алгоритма.Push-Relabelалгоритмы очень эффективны, и исследуются до сих пор. И, наконец, в 1997г. Голдберг и Рао предложили алгоритм, присваивающий дугам неединичную длину. Это самый современный из всех известных мне алгоритмов.

В нашей курсовой работе, мы рассмотрим и реализуем на языке программирования C++ алгоритм решения задачи о максимальном потоке, предложенный Фордом и Фалкерсоном.

Соседние файлы в папке Курсовая работа - Задача о максимальном потоке