Теоремы Карзанова о числе итераций алгоритма Диница в сети с целочисленными пропускными способностями — различия между версиями
Строка 14: | Строка 14: | ||
<tex>P = \sum\limits_{v \in V, v \neq s,t}p(v)</tex>. | <tex>P = \sum\limits_{v \in V, v \neq s,t}p(v)</tex>. | ||
}} | }} | ||
− | |||
{{Лемма | {{Лемма | ||
+ | |about = 1 | ||
|statement= | |statement= | ||
Пусть <tex>l</tex> - расстояние между <tex>s</tex> и <tex>t</tex> в сети с текущим потоком, равным 0, и максимальным потоком, равным <tex>F</tex>. | Пусть <tex>l</tex> - расстояние между <tex>s</tex> и <tex>t</tex> в сети с текущим потоком, равным 0, и максимальным потоком, равным <tex>F</tex>. | ||
Строка 37: | Строка 37: | ||
и лемма доказана. | и лемма доказана. | ||
}} | }} | ||
− | |||
{{Лемма | {{Лемма | ||
+ | |about = 2 | ||
|statement= | |statement= | ||
Пусть <tex>N</tex> - сеть, а <tex>f</tex> - допустимый поток в этой сети. Тогда общий потенциал в остаточной сети <tex>N(f)</tex> равен общему потенциалу <tex>N</tex>. | Пусть <tex>N</tex> - сеть, а <tex>f</tex> - допустимый поток в этой сети. Тогда общий потенциал в остаточной сети <tex>N(f)</tex> равен общему потенциалу <tex>N</tex>. | ||
|proof= | |proof= | ||
+ | Пусть <tex>с_а</tex> - функция пропускных способностей в <tex>N(f)</tex>, а <tex>p_f(v), in_f(v), out_f(v)</tex> | ||
}} | }} | ||
− | |||
− | |||
− | |||
Версия 23:42, 24 декабря 2011
Определение: |
Пусть Обозначим и , как максимальная пропускная способность ребра и максимальный поток соответсвенно.. . - потенциал вершины . Тогда общий потенциал выражается формулой: . | - сеть с целочисленными пропускными способностями.
Лемма (1): |
Пусть - расстояние между и в сети с текущим потоком, равным 0, и максимальным потоком, равным .
Тогда |
Доказательство: |
Пусть - расстояние между и , а - набор вершин, удаленных от на . - разъединяющее множество узлов: при его удалении исчезают все направлнные пути из в . Следуя правилу сохранения потока, если обозначить как любой допустимый поток, то единиц потока должно проходить через . Но суммарное количество потока, которое может проходить через любую вершину не превосходит ее потенциала. Отсюда, если обозначить как общий потенциал вершин из , то мы имеем:
для любого допустимого потока . В частности, , таким образом получаем:и лемма доказана. |
Лемма (2): |
Пусть - сеть, а - допустимый поток в этой сети. Тогда общий потенциал в остаточной сети равен общему потенциалу . |
Доказательство: |
Пусть | - функция пропускных способностей в , а
Теорема (Первая теорема Карзанова): |
Число итераций алгоритма Диница в сети ( , - исток и сток, соответственно.) с целочисленными пропускными способностями - . |
Доказательство: |
Разобьём все итерации на 2 группы: 1). Короткие фазы - когда .2). Длинные фазы - когда .Коротких фаз - штук, т.к. после каждой итерации увеличивается, но не может быть больше .Длинные фазы: Число длинных фаз количество путей из в длины больше . (т.к. через вершину не может пройти больше путей, а на каждом пути лежит вершин.)Получается, что число длинных фаз - .Давайте возьмём .Получим, что количество фаз - А, значит, что количество итераций тоже - . . |
Теорема (Вторая теорема Карзанова): |
Число итераций алгоритма Диница в сети ( , - исток и сток, соответственно.) с целочисленными пропускными способностями меньше - . |