Разрывающее множество вершин на неориентированном графе: различия между версиями

Материал из WEGA
Перейти к навигации Перейти к поиску
(Новая страница: «== Ключевые слова и синонимы == Обход нечетного цикла == Постановка задачи == Задача нахо…»)
 
Строка 5: Строка 5:
Задача нахождения разрывающего множества вершин на неориентированном графе (The UNDIRECTED FEEDBACK VERTEX SET, UFVS) определяется следующим образом.
Задача нахождения разрывающего множества вершин на неориентированном графе (The UNDIRECTED FEEDBACK VERTEX SET, UFVS) определяется следующим образом.


Дано: неориентированный граф G = (V, E) и целое число k > 0.
Дано: неориентированный граф <math>G = (V, E) \;</math> и целое число <math>k \ge 0 \;</math>.


Требуется: найти [[Feedback vertex set|разрывающее множество вершин]] F С V с jFj < k, такое, что каждый цикл в графе G содержит не менее одной вершины из F. (В результате удаления всех вершин F из G граф превращается в лес).
Требуется: найти [[Feedback vertex set|разрывающее множество вершин]] <math>F \subseteq V \;</math>, <math>|F| \le k \;</math>, такое, что каждый цикл в графе G содержит не менее одной вершины из F. (В результате удаления всех вершин F из G граф превращается в лес).




Карп [11] показал, что эта задача является NP-полной. Лунд и Янакаккис [12] доказали, что существует некоторая константа e > 0, такая, что аппроксимация версии оптимизации UFVS с коэффициентом 1 + e является NP-полной задачей. Лучший известный на данный момент алгоритм аппроксимации с полиномиальным временем выполнения имеет коэффициент 2 [1, 4]. Беккер и др. [3] предложили простой и элегантный рандомизированный алгоритм, решающий задачу UFVS за время O(c-4k-kn) на графе с n вершинами и m ребрами при помощи нахождения разрывающего множества вершин размера k с вероятностью не менее 1 (1 4 k)ci для произвольной константы c. Точный алгоритм решения задачи UFVS с временем выполнения O(1.7548n) недавно разработали Фомин и др. [9]. В контексте параметризованной сложности [8, 13] Бодлендер [5], а также Дауни и Феллоуз [7] первыми показали, что задача разрешима при помощи алгоритмов с фиксированными параметрами, т.е. что комбинаторный взрыв при ее решении может быть ограничен параметром k. Наилучший известный на данный момент алгоритм решения задачи UFVS с фиксированным параметром выполняется за время O(ck-mn) для константы c [6, 10] (в [6] представлен анализ наилучшего времени выполнения, имеющего место при значении константы c = 10,567). Этот алгоритм будет рассмотрен далее.
Карп [11] показал, что эта задача является NP-полной. Лунд и Янакаккис [12] доказали, что существует некоторая константа <math>\epsilon > 0 \;</math>, такая, что аппроксимация версии оптимизации UFVS с коэффициентом <math>1 + \epsilon \;</math> является NP-полной задачей. Лучший известный на данный момент алгоритм аппроксимации с полиномиальным временем выполнения имеет коэффициент 2 [1, 4]. Беккер и др. [3] предложили простой и элегантный рандомизированный алгоритм, решающий задачу UFVS за время <math>O(c \cdot 4^k \cdot kn) \;</math> на графе с n вершинами и m ребрами при помощи нахождения разрывающего множества вершин размера k с вероятностью не менее <math>1 - (1 - 4^{-k})^{c4^k} \;</math> для произвольной константы c. Точный алгоритм решения задачи UFVS с временем выполнения <math>O(1,7548^n) \;</math> недавно разработали Фомин и др. [9]. В контексте параметризованной сложности [8, 13] Бодлендер [5], а также Дауни и Феллоуз [7] первыми показали, что задача разрешима при помощи алгоритмов с фиксированными параметрами, т.е. что комбинаторный взрыв при ее решении может быть ограничен параметром k. Наилучший известный на данный момент алгоритм решения задачи UFVS с фиксированным параметром выполняется за время <math>O(c^k \cdot mn) \;</math> для константы c [6, 10] (в [6] представлен анализ наилучшего времени выполнения, имеющего место при значении константы c = 10,567). Этот алгоритм будет рассмотрен далее.


1Supported by the Deutsche Forschungsgemeinschaft,  Emmy Noether research group PIAF (fixed-parameter algorithms), NI369/4
== Основные результаты ==
== Основные результаты ==
Алгоритм решения задачи UFVS за время O(ck-mn)основан на так называемой технике «итеративного сжатия», введенной Ридом и др. [14]. Основная идея этой техники проста, но эффективна: для вывода алгоритма с фиксированным параметром для задачи минимизации достаточно задать «подпрограмму сжатия» с фиксированным параметром, которая для решения размера (k + 1) либо доказывает, что решения размера k не существует, либо строит такое решение. Начиная с тривиального экземпляра и итеративно применяя подпрограмму сжатия линейное количество раз к экземплярам большего размера, получаем алгоритм решения задачи с фиксированным параметром. Главная проблема при применении этой техники к задаче UFVS заключается в том, чтобы показать, что такая подпрограмма сжатия с фиксированным параметром существует.
Алгоритм решения задачи UFVS за время O(ck-mn)основан на так называемой технике «итеративного сжатия», введенной Ридом и др. [14]. Основная идея этой техники проста, но эффективна: для вывода алгоритма с фиксированным параметром для задачи минимизации достаточно задать «подпрограмму сжатия» с фиксированным параметром, которая для решения размера (k + 1) либо доказывает, что решения размера k не существует, либо строит такое решение. Начиная с тривиального экземпляра и итеративно применяя подпрограмму сжатия линейное количество раз к экземплярам большего размера, получаем алгоритм решения задачи с фиксированным параметром. Главная проблема при применении этой техники к задаче UFVS заключается в том, чтобы показать, что такая подпрограмма сжатия с фиксированным параметром существует.

Версия от 13:11, 13 июля 2016

Ключевые слова и синонимы

Обход нечетного цикла

Постановка задачи

Задача нахождения разрывающего множества вершин на неориентированном графе (The UNDIRECTED FEEDBACK VERTEX SET, UFVS) определяется следующим образом.

Дано: неориентированный граф [math]\displaystyle{ G = (V, E) \; }[/math] и целое число [math]\displaystyle{ k \ge 0 \; }[/math].

Требуется: найти разрывающее множество вершин [math]\displaystyle{ F \subseteq V \; }[/math], [math]\displaystyle{ |F| \le k \; }[/math], такое, что каждый цикл в графе G содержит не менее одной вершины из F. (В результате удаления всех вершин F из G граф превращается в лес).


Карп [11] показал, что эта задача является NP-полной. Лунд и Янакаккис [12] доказали, что существует некоторая константа [math]\displaystyle{ \epsilon \gt 0 \; }[/math], такая, что аппроксимация версии оптимизации UFVS с коэффициентом [math]\displaystyle{ 1 + \epsilon \; }[/math] является NP-полной задачей. Лучший известный на данный момент алгоритм аппроксимации с полиномиальным временем выполнения имеет коэффициент 2 [1, 4]. Беккер и др. [3] предложили простой и элегантный рандомизированный алгоритм, решающий задачу UFVS за время [math]\displaystyle{ O(c \cdot 4^k \cdot kn) \; }[/math] на графе с n вершинами и m ребрами при помощи нахождения разрывающего множества вершин размера k с вероятностью не менее [math]\displaystyle{ 1 - (1 - 4^{-k})^{c4^k} \; }[/math] для произвольной константы c. Точный алгоритм решения задачи UFVS с временем выполнения [math]\displaystyle{ O(1,7548^n) \; }[/math] недавно разработали Фомин и др. [9]. В контексте параметризованной сложности [8, 13] Бодлендер [5], а также Дауни и Феллоуз [7] первыми показали, что задача разрешима при помощи алгоритмов с фиксированными параметрами, т.е. что комбинаторный взрыв при ее решении может быть ограничен параметром k. Наилучший известный на данный момент алгоритм решения задачи UFVS с фиксированным параметром выполняется за время [math]\displaystyle{ O(c^k \cdot mn) \; }[/math] для константы c [6, 10] (в [6] представлен анализ наилучшего времени выполнения, имеющего место при значении константы c = 10,567). Этот алгоритм будет рассмотрен далее.

Основные результаты

Алгоритм решения задачи UFVS за время O(ck-mn)основан на так называемой технике «итеративного сжатия», введенной Ридом и др. [14]. Основная идея этой техники проста, но эффективна: для вывода алгоритма с фиксированным параметром для задачи минимизации достаточно задать «подпрограмму сжатия» с фиксированным параметром, которая для решения размера (k + 1) либо доказывает, что решения размера k не существует, либо строит такое решение. Начиная с тривиального экземпляра и итеративно применяя подпрограмму сжатия линейное количество раз к экземплярам большего размера, получаем алгоритм решения задачи с фиксированным параметром. Главная проблема при применении этой техники к задаче UFVS заключается в том, чтобы показать, что такая подпрограмма сжатия с фиксированным параметром существует.


Подпрограмма сжатия из [6, 10] работает следующим образом:

1 Рассмотрим все возможные разбиения (X, Y), имеющие размер (k + 1), для разрывающего множества вершин F с jXj < k в предположении, что множество X полностью содержится в новом разрывающем множестве F0 размера k и что Y \ F0 = ;

2 Для каждого разбиения (X, Y), в случае, если вершины из Y порождают циклы, ответ для этого разбиения будет отрицательным; в противном случае следует удалить вершины из X. После э того необходимо применить следующие правила редукции данных к оставшемуся графу:

• Удалить вершины степени 1.

• Если существует вершина степени 2 с двумя соседями v1 и v2, где v1 £ Y или v2 £ Y, то удалить v и соединить v1 и v2. Если при этом создается второе параллельное ребро между v1 и v2, удалить вершину v1 или v2, не принадлежащую к Y, и добавить ее к любому разрывающему множеству вершин для сокращенного экземпляра. Наконец, исчерпывающим образом для каждого множества вершин S сокращенного графа, размер которого не превышает k — |X|, проверить, можно ли добавить S к X для образования разрывающего множества вершин входного графа. Если такое множество вершин существует, вывести его вместе с X в качестве нового разрывающего множества вершин размера k.


Корректность подпрограммы сжатия следует из ее прямолинейной природы и из корректности двух правил редукции данных, доказать которую несложно. Сложнее всего доказать, что время выполнения подпрограммы сжатия составляет O(ck-m): Существует 2k+1 разбиений множества F на вышеупомянутые подмножества (X, Y); можно показать, что для каждого разбиения сокращенный граф после выполнения правил редукции данных имеет не более d-k вершин для константного значения d; в противном случае для этого разбиения не существует разрывающего множества вершин размера k. Таким образом, время выполнения составляет O(c'c-m). Более детальное доказательство границы размера d-k см. в [6, 10].


Для входного графа G с множеством вершин fv1 ;::: ;vng алгоритм с фиксированным параметром из работ [6, 10] решает задачу UFVS путем итеративного рассмотрения подграфов Gi := G[fv1 , ... , vig]. Для i = 1 оптимальное разрывающее множество вершин является пустым. Предположим, что в случае i > 1 оптимальное разрывающее множество вершин Xi для Gi неизвестно. Очевидно, что Xi [ fvi+1g является искомым множеством для Gi+1. Используя подпрограмму сжатия, алгоритм за время O(ck-m) может определить, является ли Xi [ fvi+1g оптимальным разрывающим множеством вершин для Gi+1, и в случае, если оно таковым не является, вычислить оптимальное разрывающее множество вершин для Gi+1. Таким образом, в случае i = n мы получаем оптимальное разрывающее множество вершин для графа G за время O(c -mri).


Теорема 1. Задачу нахождения разрывающего множества вершин на неориентированном графе можно решить за время O(ck-mn) для константного значения c.

Применение

Задача нахождения разрывающего множества вершин на неориентированном графе имеет огромное значение для комбинаторной оптимизации. Типичным примером может служить разработка комбинаторных схем [ ]. Приложения в области задач на удовлетворение ограничений и баейсовского вывода см. в работе Бар-Йехуды и др. [2].

Открытые вопросы

До сих пор не исследована эффективность описанного алгоритма на практике. Еще одно перспективное направление исследований заключается в улучшении границы времени выполнения, приведенной в теореме 1. Наконец, долгое время остается нерешенным вопрос, является ли задача нахождения разрывающего множества на ориентированном графе разрешимой с фиксированным параметром. Ответ на этот вопрос станет серьезным прорывом в данной области.

Литература

1. Bafna, V., Berman, P., Fujito, T.: A 2-approximation algorithm for the undirected feedback vertex set problem. SIAM J. Discret. Math. 3(2), 289-297 (1999)

2. Bar-Yehuda, R., Geiger, D., Naor, J., Roth, R.M.: Approximation algorithms for the feedback vertex set problem with applications to constraint satisfaction and Bayesian inference. SIAM J. Comput. 27(4), 942-959 (1998)

3. Becker, A., Bar-Yehuda, R., Geiger, D.: Randomized algorithms for the Loop Cutset problem. J. Artif. Intell. Res. 12, 219-234 (2000)

4. Becker, A., Geiger, D.: Approximation algorithms for the Loop Cutset problem. In: Proc. 10th Conference on Uncertainty in Artificial Intelligence, pp. 60-68. Morgan Kaufman, San Fransisco (1994)

5. Bodlaender, H.L.: On disjoint cycles. Int. J. Found. Comp. Sci. 5(1),59-68(1994)

6. Dehne, F., Fellows, M.R., Langston, M.A., Rosamond, F., Stevens, K.: An O(2O(k)n3) FPT algorithm for the undirected feedback vertex set problem. In: Proc. 11th COCOON. LNCS, vol. 3595, pp. 859-869. Springer, Berlin (2005). Long version to appear in: J. Discret. Algorithms

7. Downey, R.G., Fellows, M.R.: Fixed-parameter tractability and completeness. Congres. Numerant.87,161-187 (1992)

8. Downey, R.G., Fellows, M.R.: Parameterized Complexity. Springer, Heidelberg (1999)

9. Fomin, F.V., Gaspers, S., Pyatkin, A.V.: Finding a minimum feedback vertex set in time O(1.7548n). In: Proc. 2th IWPEC. LNCS, vol.4196, pp. 184-191. Springer, Berlin (2006)

10. Guo, J., Gramm, J., HCiffner, F., Niedermeier, R., Wernicke, S.: Compression-based fixed-parameter algorithms for Feedback Vertex Set and Edge Bipartization. J. Comp. Syst. Sci. 72(8), 1386-1396 (2006)

11. Karp, R.: Reducibility among combinatorial problems. In: Miller, R., Thatcher, J. (eds.) Complexity of Computer Computations, pp. 85-103. Plenum Press, New York (1972)

12. Lund, C., Yannakakis, M.: The approximation of maximum subgraph problems. In: Proc. 20th ICALP. LNCS, vol. 700, pp.40-51. Springer, Berlin (1993)

13. Niedermeier, R.: Invitation to Fixed-Parameter Algorithms. Oxford University Press, Oxford (2006)

14. Reed, B., Smith, K., Vetta, A.: Finding odd cycle transversals. Oper. Res. Lett. 32(4), 299-301 (2004)