Авторизация
Забыли пароль? Введите ваш е-мейл адрес. Вы получите письмо на почту со ссылкой для восстановления пароля.
После регистрации вы сможете задавать вопросы и писать свои ответы, получая за это бонусы. Все остальные функции на сайте доступны без регистрации.
Вы должны войти или зарегистрироваться, чтобы добавить ответ и получить бонусы.
Для нахождения максимального потока в графе можно использовать алгоритм Форда-Фалкерсона или алгоритм Эдмондса-Карпа. Оба алгоритма основаны на идее поиска увеличивающих путей в остаточной сети.
Алгоритм Форда-Фалкерсона:
1. Инициализировать поток в каждом ребре графа нулевым значением.
2. Пока существует увеличивающий путь в остаточной сети:
— Найти любой увеличивающий путь в остаточной сети с помощью поиска в глубину или поиска в ширину.
— Найти минимальную пропускную способность ребер на увеличивающем пути.
— Увеличить поток вдоль увеличивающего пути на найденную минимальную пропускную способность.
3. Вернуть сумму потоков, выходящих из источника.
Алгоритм Эдмондса-Карпа:
1. Инициализировать поток в каждом ребре графа нулевым значением.
2. Пока существует увеличивающий путь в остаточной сети:
— Найти кратчайший увеличивающий путь в остаточной сети с помощью алгоритма поиска в ширину.
— Найти минимальную пропускную способность ребер на увеличивающем пути.
— Увеличить поток вдоль увеличивающего пути на найденную минимальную пропускную способность.
3. Вернуть сумму потоков, выходящих из источника.
Оба алгоритма работают за полиномиальное время от числа вершин и числа ребер графа.