Алгоритм Диница — полиномиальный алгоритм для нахождения максимального потока в транспортной сети, предложенный в 1970 году израильским (бывшим советским) учёным Ефимом Диницем. Временная сложность алгоритма составляет
. Получить такую оценку позволяет введение понятий вспомогательной сети и блокирующего (псевдомаксимального) потока. В сетях с единичными пропускными способностями существует более сильная оценка временной сложности:
.
Описание
Пусть
— транспортная сеть, в которой
и
— соответственно пропускная способность и поток через ребро
.
- Остаточная пропускная способность — отображение
определённое как:
- Если
,
иначе.
- Остаточная сеть — граф
, где
.
- Дополняющий путь —
путь в остаточном графе
.
- Пусть
— длина кратчайшего пути из
в
в графе
. Тогда вспомогательная сеть графа
— граф
, где
.
- Блокирующий поток —
поток
такой, что граф
с
не содержит
пути.
Пример
Ниже приведена симуляция алгоритма Диница. Во вспомогательной сети
вершины с красными метками — значения
. Блокирующий поток помечен синим.
|
|
|
|
1. |
 |
 |
 |
|
Блокирующий поток состоит из путей:
с 4 единицами потока,
с 6 единицами потока, и
с 4 единицами потока.
Следовательно, блокирующий поток содержит 14 единиц, а величина потока
равна 14. Заметим, что дополняющий путь имеет 3 ребра. |
2. |
 |
 |
 |
|
Блокирующий поток состоит из путей:
с 5 единицами потока.
Следовательно, блокирующий поток содержит 5 единиц, а величина потока
равна 14 + 5 = 19. Заметим, что дополняющий путь имеет 4 ребра. |
3. |
 |
 |
 |
|
Сток
не достижим в сети
. Поэтому алгоритм останавливается и возвращает максимальный поток величины 19. Заметим, что в каждом блокирующем потоке количество рёбер в дополняющем пути увеличивается хотя бы на одно. |
История
Алгоритм Диница был опубликован в 1970 г. бывшим советским учёным Ефимом Диницем, который сейчас является членом факультета вычислительной техники университета Бен-Гурион (Израиль), ранее, чем алгоритм Эдмондса — Карпа, который был опубликован в 1972, но создан ранее. Они независимо показали, что в алгоритме Форда — Фалкерсона в случае, если дополняющий путь является кратчайшим, длина дополняющего пути не уменьшается.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .