Введите Ваш E-mail адрес и Вы будете первым, кто получит новые статьи.

Реферат Алгоритм Эдмондса-Карпа

Опубликовано: 05.10.2017

Реферат на тему:

План:

Введение

1 Алгоритм 2 Сложность 2.1 Доказательство 3 Пример 3.1 Поиск в ширину 3.2 Основной алгоритм 4 Алгоритм Диница Литература

Введение

Алгоритм Эдмондса — Карпа решает задачу нахождения максимального потока в транспортной сети. Алгоритм представляет собой частный случай метода Форда — Фалкерсона и работает за время O( V E2) . Впервые был опубликован в 1970 году советским учёным Е. А. Диницом. Позже, в 1972 году, был независимо открыт Эдмондсом и Карпом.

1. Алгоритм

Алгоритм Эдмондса — Карпа — это вариант алгоритма Форда — Фалкерсона, при котором на каждом шаге выбирают кратчайший дополняющий путь из s в t в остаточной сети (полагая, что каждое ребро имеет единичную длину). Кратчайший путь находится поиском в ширину.

1.1. Описание

Обнуляем все потоки. Остаточная сеть изначально совпадает с исходной сетью. В остаточной сети находим кратчайший путь из источника в сток. Если такого пути нет, останавливаемся. Пускаем через найденный путь (он называется увеличивающим путём или увеличивающей цепью ) максимально возможный поток: На найденном пути в остаточной сети ищем ребро с минимальной пропускной способностью cmin . Для каждого ребра на найденном пути увеличиваем поток на cmin , а в противоположном ему — уменьшаем на cmin . Модифицируем остаточную сеть. Для всех рёбер на найденном пути, а также для противоположных им рёбер, вычисляем новую пропускную способность. Если она стала ненулевой, добавляем ребро к остаточной сети, а если обнулилась, стираем его. Возвращаемся на шаг 2.

Чтобы найти кратчайший путь в графе, используем поиск в ширину:

rss