Hardprob/Maximum Priority Flow — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Массовая правка: замена \rightarrow на →) |
StasFomin (обсуждение | вклад) (Массовая правка: замена \in на ∈) |
||
Строка 1: | Строка 1: | ||
<!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | <!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | ||
− | * Направленный граф <em>G=(V,E)</em>, вершины-источники <m>s_1, \ldots, s_k | + | * Направленный граф <em>G=(V,E)</em>, вершины-источники <m>s_1, \ldots, s_k ∈ V</m>, вершины-стоки <m>t_1, \ldots, t_k ∈ V</m>, емкость ребер <m>c:E → R</m>, ограничения на вершинах <m>b: V → R</m>, и для любой вершины <em>v</em>, есть некий порядок исходящих ребер. |
* Найти приоритетный поток <em>f</em>, т.е. функция <em>f: E→R</em>, такая что | * Найти приоритетный поток <em>f</em>, т.е. функция <em>f: E→R</em>, такая что | ||
** для любого ребра <em>e</em>, <em>f(e) ≤ c(e)</em> | ** для любого ребра <em>e</em>, <em>f(e) ≤ c(e)</em> | ||
− | ** для любой вершины <m>v | + | ** для любой вершины <m>v ∈ V-\{s_1, \ldots, |
s_k, t_1, \ldots, t_k\}</m>, поток сохраняется в <em>v</em> | s_k, t_1, \ldots, t_k\}</m>, поток сохраняется в <em>v</em> | ||
** для любой вершины <em>v</em> | ** для любой вершины <em>v</em> | ||
*** поток покидающий <em>v</em> не превышает <em>b(v)</em> | *** поток покидающий <em>v</em> не превышает <em>b(v)</em> | ||
*** для исходящей любой пары ребер <m>e_1, e_2</m>, если <m>f(e_1) < c(e_1)</m> и <m>e_1 < e_2</m>, то <m>f(e_2)=0</m>. | *** для исходящей любой пары ребер <m>e_1, e_2</m>, если <m>f(e_1) < c(e_1)</m> и <m>e_1 < e_2</m>, то <m>f(e_2)=0</m>. | ||
− | * Максимизировать поток, приходящей в первый сток <m>t_1</m>, т.е. <m>\sum_{(x,t_1) | + | * Максимизировать поток, приходящей в первый сток <m>t_1</m>, т.е. <m>\sum_{(x,t_1) ∈ E}f(x,t_1)</m>. |
---- | ---- |
Версия 18:00, 17 апреля 2023
- Направленный граф G=(V,E), вершины-источники , вершины-стоки , емкость ребер , ограничения на вершинах , и для любой вершины v, есть некий порядок исходящих ребер.
- Найти приоритетный поток f, т.е. функция f: E→R, такая что
- для любого ребра e, f(e) ≤ c(e)
- для любой вершины , поток сохраняется в v
- для любой вершины v
- поток покидающий v не превышает b(v)
- для исходящей любой пары ребер , если и , то .
- Максимизировать поток, приходящей в первый сток , т.е. .
Задача в лаб22 (рид-онли просмотр)