4817
правок
KVN (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
== Постановка задачи == | == Постановка задачи == | ||
Задача о (сбалансированном) сепараторе заключается в нахождении | Задача о (сбалансированном) сепараторе заключается в нахождении разреза минимального (реберного) веса в графе, такого, что два сегмента графа имеют примерно одинаковый (вершинный) вес. | ||
Более формально: пусть даны неориентированный граф <math>G = (V, E) \;</math> с неотрицательной весовой функцией на ребрах <math>c: E \to \mathbb{R}_+ \;</math> и неотрицательной весовой функцией на вершинах <math>\pi : V \to \mathbb{R}_+ \;</math>, а также константа <math>b \le 1/2 \;</math>. | Более формально: пусть даны неориентированный граф <math>G = (V, E) \;</math> с неотрицательной весовой функцией на ребрах <math>c: E \to \mathbb{R}_+ \;</math> и неотрицательной весовой функцией на вершинах <math>\pi : V \to \mathbb{R}_+ \;</math>, а также константа <math>b \le 1/2 \;</math>. Разрез <math>(S : V \; \backslash \; S)</math> называется b-сбалансированным, или (b, 1 - b)-сепаратором, если <math>b \; \pi (V) \le \pi (S) \le (1 - b) \pi(V) \;</math> (где <math>\pi(S) \;</math> обозначает <math>\sum_{v \in S} \pi (v) \;</math>). | ||
Строка 21: | Строка 21: | ||
Тесно связана с этой задачей следующая: | Тесно связана с этой задачей следующая: | ||
'''Задача 2 ( | '''Задача 2 (самый неплотный разрез (относительно произведения))''' | ||
Дано: граф с взвешенными вершинами и ребрами <math>G = (V, E, c, \pi) \;</math>. | Дано: граф с взвешенными вершинами и ребрами <math>G = (V, E, c, \pi) \;</math>. | ||
Строка 29: | Строка 29: | ||
Задача 2 представляет собой наиболее общий случай задачи нахождения самого | Задача 2 представляет собой наиболее общий случай задачи нахождения самого неплотного разреза, решенной Лейтоном и Рао. Если установить веса всех вершин равными 1, получим однородную версию этой задачи: | ||
'''Задача 3 ( | '''Задача 3 (самый неплотный разрез (однородная версия))''' | ||
Дано: граф с взвешенными ребрами G = (V, E, c). | Дано: граф с взвешенными ребрами G = (V, E, c). | ||
Требуется: найти | Требуется: найти разрез <math>(S : V \; \backslash \; S)</math>, минимизирующий соотношение <math>(c( \delta (S))) / (|S| | V \; \backslash \; S |)</math>. | ||
Самый неплотный разрез возникает в интегральной версии задачи линейного программирования, двойственной задаче параллельного управления несколькими товарными потоками (задача 4). Экземпляр задачи управления несколькими товарными потоками определяется на графе с взвешенными ребрами: для каждого из k ''товаров'' обозначаются источник <math>s_i \in V \;</math>, сток <math>t_i \in V \;</math> и спрос <math>D_i \;</math>. Допустимое решение этой задачи определяет для каждого товара функцию потока на E, таким образом направляя поток определенного объема из <math>s_i \;</math> в <math>t_i \;</math>. | |||
Веса ребер представляют их | Веса ребер представляют их пропускную способность, каждому ребру e сопоставлено ограничение пропускной способности: максимальная сумма всех товарных потоков через ребро e не превышает его пропускной способности c(e). | ||
Строка 49: | Строка 49: | ||
Дано: граф с взвешенными ребрами <math>G = (V, E, c) \;</math>, товары <math>(s_1, t_1, D_1), ..., (s_k, t_k, D_k) \;</math>. | Дано: граф с взвешенными ребрами <math>G = (V, E, c) \;</math>, товары <math>(s_1, t_1, D_1), ..., (s_k, t_k, D_k) \;</math>. | ||
Требуется: обеспечить управление несколькими товарными потоками, направляющее <math>f D_i \;</math> единиц товара i из <math>s_i \;</math> в <math>t_i \;</math> для каждого i одновременно, не нарушая заданной | Требуется: обеспечить управление несколькими товарными потоками, направляющее <math>f D_i \;</math> единиц товара i из <math>s_i \;</math> в <math>t_i \;</math> для каждого i одновременно, не нарушая заданной пропускной способности каждого ребра. | ||
Цель: максимизация f. | Цель: максимизация f. | ||
Задача 4 может быть решена за полиномиальное время при помощи методов линейного программирования. Она также допускает произвольную аппроксимацию при помощи нескольких более эффективных комбинаторных алгоритмов (см. раздел «Реализация»). Максимальное значение f, для которого возможно управление несколькими товарными потоками, называется [[максимальный поток|максимальным потоком]] для данного экземпляра задачи. ''Минимальным | Задача 4 может быть решена за полиномиальное время при помощи методов линейного программирования. Она также допускает произвольную аппроксимацию при помощи нескольких более эффективных комбинаторных алгоритмов (см. раздел «Реализация»). Максимальное значение f, для которого возможно управление несколькими товарными потоками, называется [[максимальный поток|максимальным потоком]] для данного экземпляра задачи. ''Минимальным разрезом'' является минимальное соотношение <math>(c( \delta (S)))/(D(S, V \; \backslash \; S)) \;</math>, где <math>D(S, V \; \backslash \; S) = \sum_{i: | \{ s_i, t_i \} \; \cap \; S | = 1} D_i</math>. Эта двойственная интерпретация приводит нас к самой общей версии задачи – нахождению неоднородного самого неплотного разреза (задача 5). | ||
'''Задача 5 ( | '''Задача 5 (самый неплотный разрез (неоднородная версия))''' | ||
Дано: граф с взвешенными ребрами <math>G = (V, E, c) \;</math>, товары <math>(s_1, t_1, D_1), ..., (s_k, t_k, D_k) \;</math>. | Дано: граф с взвешенными ребрами <math>G = (V, E, c) \;</math>, товары <math>(s_1, t_1, D_1), ..., (s_k, t_k, D_k) \;</math>. | ||
Требуется: найти | Требуется: найти минимальный разрез <math>(S : V \; \backslash \; S)</math>, иначе говоря, разрез с минимальным соотношением <math>(c( \delta (S)))/(D(S, V \; \backslash \; S)) \;</math>. | ||
(Большая часть посвященных этой теме работ затрагивает либо однородную, либо общую неоднородную версии, нередко называя их просто | (Большая часть посвященных этой теме работ затрагивает либо однородную, либо общую неоднородную версии, нередко называя их просто «[[Самый неплотный разрез|задачами о самом неплотном разрезе]]»). | ||
== Основные результаты == | == Основные результаты == |
правок