Определение сети, потока — различия между версиями
м |
м (rollbackEdits.php mass rollback) |
||
(не показано 14 промежуточных версий 9 участников) | |||
Строка 4: | Строка 4: | ||
|id=flow_network | |id=flow_network | ||
|definition= | |definition= | ||
− | '''Сеть''' (англ. ''flow network'') <tex>G=(V,E)</tex> представляет собой [[Основные определения теории графов#oriented_grath|ориентированный граф]], в котором каждое [[Основные определения теории графов#def_graph_edge_1|ребро]] <tex>(u,v)\in E</tex> имеет | + | '''Сеть''' (англ. ''flow network'') <tex>G=(V,E)</tex> представляет собой [[Основные определения теории графов#oriented_grath|ориентированный граф]], в котором каждое [[Основные определения теории графов#def_graph_edge_1|ребро]] <tex>(u,v)\in E</tex> имеет положительную '''пропускную способность''' (англ. ''capacity'') <tex>c(u,v)>0</tex>. Если <tex>(u,v)\notin E</tex>, предполагается что <tex>c(u,v)=0</tex>. |
}} | }} | ||
В транспортной сети выделяются две вершины: '''исток''' <tex>s</tex> и '''сток''' <tex>t</tex>. | В транспортной сети выделяются две вершины: '''исток''' <tex>s</tex> и '''сток''' <tex>t</tex>. | ||
Строка 15: | Строка 15: | ||
1) <tex>f(u,v)=-f(v,u)</tex> (антисимметричность); | 1) <tex>f(u,v)=-f(v,u)</tex> (антисимметричность); | ||
− | 2) <tex>f(u,v) \leqslant c(u,v)</tex> (ограничение пропускной способности), если ребра нет, то <tex> | + | 2) <tex>f(u,v) \leqslant c(u,v)</tex> (ограничение пропускной способности), если ребра нет, то <tex>f(u,v)=0</tex>; |
3) <tex>\sum\limits_v f(u,v)=0</tex> для всех вершин <tex>u</tex>, кроме <tex>s</tex> и <tex>t</tex> (закон сохранения потока). | 3) <tex>\sum\limits_v f(u,v)=0</tex> для всех вершин <tex>u</tex>, кроме <tex>s</tex> и <tex>t</tex> (закон сохранения потока). | ||
Строка 27: | Строка 27: | ||
1) <tex>0 \leqslant f(e) \leqslant c(e)</tex> для всех <tex>e\in E</tex>; | 1) <tex>0 \leqslant f(e) \leqslant c(e)</tex> для всех <tex>e\in E</tex>; | ||
− | 2) <tex>f(v-) = f(v+)</tex> для всех <tex>v\in V, v\ne s, v\ne t</tex>, где <tex>f(v-)=\sum\limits_{w\in v-} f(w,v), f(v+)=\sum\limits_{w\in v+} f(v, | + | 2) <tex>f(v-) = f(v+)</tex> для всех <tex>v\in V, v\ne s, v\ne t</tex>, где <tex>f(v-)=\sum\limits_{w\in v-} f(w,v), f(v+)=\sum\limits_{w\in v+} f(v,w)</tex>. |
− | Здесь <tex> s | + | Здесь <tex> s </tex> {{ --- }} '''источник''', а <tex> t </tex> {{ --- }} '''сток''' сети <tex>G</tex> (<tex>s</tex> имеет нулевую степень захода, а <tex>t</tex> имеет нулевую степень исхода); через <tex>v+</tex> обозначено множество вершин, к которым идут [[Основные определения теории графов#def_graph_edge_1|дуги]] из вершины <tex>v</tex>; через <tex>v-</tex> обозначено множество вершин, из которых идут дуги в вершину <tex>v</tex>; <tex>c(e)</tex> называется '''пропускной способностью''' дуги <tex>e</tex> и неотрицательно. |
}} | }} | ||
− | Число <tex>f(v,w)</tex> можно интерпретировать, например, как количество жидкости, поступающей из <tex>v</tex> в <tex>w</tex> по дуге <tex>(v,w)</tex>. С этой точки зрения значение <tex>f(v-)</tex> может быть интерпретировано как поток, втекающий в вершину <tex>v</tex>, а <tex> f(v+) </tex> | + | Число <tex>f(v,w)</tex> можно интерпретировать, например, как количество жидкости, поступающей из <tex>v</tex> в <tex>w</tex> по дуге <tex>(v,w)</tex>. С этой точки зрения значение <tex>f(v-)</tex> может быть интерпретировано как поток, втекающий в вершину <tex>v</tex>, а <tex> f(v+) </tex> {{---}} вытекающий из <tex> v </tex>. |
− | Условие 1) называется условием ограничения по пропускной способности, а условие 2) | + | Условие 1) называется условием ограничения по пропускной способности, а условие 2) {{---}} условием сохранения потока в вершинах; иными словами, поток, втекающий в вершину <tex> v </tex>, отличную от <tex> s </tex> или <tex> t </tex>, равен вытекающему из неё потоку. |
== Пример == | == Пример == | ||
Строка 38: | Строка 38: | ||
[[Файл:Flow-network.png|340px|center]] | [[Файл:Flow-network.png|340px|center]] | ||
− | Первое число означает величину потока, второе | + | Первое число означает величину потока, второе {{---}} пропускную способность ребра. Отрицательные величины потока не указаны (так как они мгновенно получаются из антисимметричности: <tex>f(u,v)=-f(v,u)</tex>). Сумма входящих рёбер везде (кроме источника и стока) равна сумме исходящих и на то, что в общем <tex>c(u,v) \neq c(v, u)</tex>. Кроме того, величина потока на ребре никогда не превышает пропускную способность этого ребра. |
− | Величина потока в этом примере равна <tex> | + | Величина потока в этом примере равна <tex> 3 + 2 = 5 </tex> (считаем от вершины <tex>s</tex>). |
== Источники информации == | == Источники информации == |
Текущая версия на 19:22, 4 сентября 2022
Определение сети
Определение: |
Сеть (англ. flow network) ориентированный граф, в котором каждое ребро имеет положительную пропускную способность (англ. capacity) . Если , предполагается что . | представляет собой
В транспортной сети выделяются две вершины: исток
и сток .Определение потока
Определение: |
Потоком (англ. flow) 1) (антисимметричность);2) (ограничение пропускной способности), если ребра нет, то ;3) Величина потока для всех вершин , кроме и (закон сохранения потока). определяется как . | в является действительная функция , удоволетворяющая условиям:
Также существует альтернативное определение (по Асанову), не вводящее антисимметричность (зачастую, из-за этого с ним труднее работать):
Определение: |
Потоком 1) для всех ;2) Здесь для всех , где . — источник, а — сток сети ( имеет нулевую степень захода, а имеет нулевую степень исхода); через обозначено множество вершин, к которым идут дуги из вершины ; через обозначено множество вершин, из которых идут дуги в вершину ; называется пропускной способностью дуги и неотрицательно. | в сети называется функция , удоволетворяющая условиям:
Число
можно интерпретировать, например, как количество жидкости, поступающей из в по дуге . С этой точки зрения значение может быть интерпретировано как поток, втекающий в вершину , а — вытекающий из . Условие 1) называется условием ограничения по пропускной способности, а условие 2) — условием сохранения потока в вершинах; иными словами, поток, втекающий в вершину , отличную от или , равен вытекающему из неё потоку.Пример
Пример сети с источником
и стоком .Первое число означает величину потока, второе — пропускную способность ребра. Отрицательные величины потока не указаны (так как они мгновенно получаются из антисимметричности:
). Сумма входящих рёбер везде (кроме источника и стока) равна сумме исходящих и на то, что в общем . Кроме того, величина потока на ребре никогда не превышает пропускную способность этого ребра.Величина потока в этом примере равна
(считаем от вершины ).Источники информации
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)
- Асанов М. О., Баранский В. А., Расин В. В. — Дискретная математика: Графы, матроиды, алгоритмы: Учебное пособие. 2-е изд., испр. и доп. — СПб.: Издательство "Лань", 2010. — 368 с.: ил. — (Учебники для вузов. Специальная литература). ISBN 978-5-8114-1068-2
- Википедия Транспортная сеть
- Wikipedia Flow network