Пусть - граф с весовой функцией . Задача max-cut состоит в том, чтобы найти:
если весовая функция неотрицательна (т. е. w (e) \ geq 0 для всех e \ in E ), тогда для max-cut существует много чрезвычайно простых 2-приближений. Например, мы можем:
- Выберите случайное подмножество вершин S
S . - Выберите порядок на вершинах и жадно поместите каждую вершину v
v в SS или ˉSS¯ чтобы максимизировать срезанные края - Внесите локальные улучшения: если в S есть какая-либо вершина, S
S которую можно переместить в ˉSS¯ для увеличения среза (или наоборот), сделайте этот шаг.
Стандартный анализ всех этих алгоритмов на самом деле показывает, что результирующий срез по крайней мере равен 12∑e∈Ew(e)
Например, алгоритм 1 (выбрать случайное подмножество вершин) может явно потерпеть неудачу на графах с отрицательным весом ребер.
Мой вопрос:
Существует ли простой комбинаторный алгоритм, который получает приближение O (1) к задаче максимального разреза на графах, которые могут иметь отрицательные веса ребер?
Чтобы избежать, возможно, липкой проблемы, связанной с принятием значения max-cut 0
Ответы:
Здесь была моя первая попытка спора. Это было неправильно, но я исправил это после "РЕДАКТИРОВАТЬ:"
Если бы вы могли приблизительно решить проблему максимального среза с отрицательными весами, не могли бы вы использовать это для решения проблемы максимального среза с положительными весами? Начните с задачи максимального разреза, которую вы хотите решить, чье оптимальное решение - . Теперь поместите большую отрицательную границу веса (с весом ) между и . Оптимальным решением новой задачи является , поэтому наш алгоритм гипотетической аппроксимации даст вам решение с максимальным разрезом, значение которого не более хуже оптимального. На исходном графике максимальный срез по-прежнему не более хуже оптимального. Если вы выбираете близком кб - у V б - ( б - ) / 2 ( б - ) / 2 б ≠ 16 / 17b −a u v b−a (b−a)/2 (b−a)/2 a b , это нарушает результат неприемлемости того, что если P NP, вы не можете приблизить максимальное сокращение к значению, превышающему . ≠ 16/17
РЕДАКТИРОВАТЬ:
Вышеупомянутый алгоритм не работает, потому что вы не можете гарантировать, что и находятся на противоположных сторонах разреза в новом графе, даже если они были изначально. Я могу исправить это следующим образом.у vu v
Давайте предположим, что у нас есть алгоритм аппроксимации, который даст нам сокращение в 2 раза от OPT, если сумма всех весов ребер положительна.
Как и выше, начните с графа со всеми неотрицательными весами на ребрах. Мы найдем модифицированный граф с некоторыми отрицательными весами, так что, если мы сможем приблизить максимальный разрез с коэффициентом 2, мы сможем очень хорошо аппроксимировать максимальный разрезG G ∗ G ∗ GG G∗ G∗ G
Выберите две вершины и и надейтесь, что они находятся на противоположных сторонах максимального среза. (Вы можете повторить это для всех возможных чтобы убедиться, что одна попытка работает.) Теперь поместите большой отрицательный вес на все ребра и для и a большой положительный вес на ребре . Предположим, что оптимальный срез имеет вес .u v v - d ( u , x ) ( v , x ) x ≠ u , v a ( u , v ) O P Tu v v −d (u,x) (v,x) x≠u,v a (u,v) O PT
Вырез со значением в , где вершины и находятся на одной и той же стороне разреза, теперь имеет значение в где - количество вершин на другой стороне разреза. Разрез с на противоположных сторонах с исходным значением теперь имеет значение . Таким образом, если мы выберем достаточно большим, мы можем заставить все срезы с и на одной стороне иметь отрицательное значение, поэтому, если есть какой-либо срез с положительным значением, то оптимальный срез в будет иметь иc G u v c - 2 d m m ( u , v ) c c + a - ( n - 2 ) d d u v G ∗ u v ( a - ( n - 2 ) d ) u vс г U v с - 2 дм м ( U , V ) с c + a - ( n - 2 ) d d U v г* U v на противоположных сторонах. Обратите внимание, что мы добавляем фиксированный вес к любому разрезу с и на противоположных сторонах.(a−(n−2)d) u v
Пусть . Выберите так что (мы оправдать это позже). Разрез с весом в имеющий и на противоположных сторонах, теперь становится разрезом с весом . Это означает, что оптимальный срез в имеет вес . Наш новый алгоритм находит разрез в с весом не менее . Это переводит в разрез в исходном графе с весом не менее (поскольку все разрезы в с положительным весом отделяютсяе = ( - ( п - 2 ) д ) е ≈ - 0,98 О Р Т с G U V с - 0,98 О Р Т О * 0,02 О Р Т О * 0,01 О Р Т О 0,99 О Р Т С * U vf=(a−(n−2)d) a f≈−0.98OPT c G u v c−0.98OPT G∗ 0.02OPT G∗ 0.01OPT G 0.99OPT G∗ u и ), что лучше, чем результат неприемлемости.v
Нет проблем с выбором достаточно большого, чтобы сделать любой разрез с и на одной стороне отрицательным, поскольку мы можем выбрать настолько большим, насколько мы хотим. Но как же мы выбираем так , что , когда мы не знали ? Мы можем аппроксимировать очень хорошо ... если мы позволим быть сумма весов ребер в , мы знаем . Таким образом, у нас есть довольно узкий диапазон значений для , и мы можем перебирать принимая все значения от доd u v d a f ≈ - .99 O P T O P T O P T T G 1d u v d a f≈−.99OPT OPT OPT T G 2 T≤OPT≤Tff-.49T-.99T0.005Tf≈-0,98OPT12T≤OPT≤T f f −.49T −.99T с интервалами . Для одного из этих интервалов мы гарантируем, что , и поэтому одна из этих итераций гарантированно вернет хороший результат.0.005T f≈−0.98OPT
Наконец, нам нужно проверить, что новый граф имеет веса ребер, сумма которых положительна. Мы начали с графика, у которого веса ребер имели сумму , и добавили к сумме весов ребер. Так как , мы в порядке T f - .99 T ≤ f ≤ - .49 TT f −.99T≤f≤−.49T
источник
В статье « Приблизительный максимальный срез » С. Хар-Пеледа в последней строке статьи упоминается, что реальный взвешенный вариант максимального среза обсуждался в
Это действительно алгоритм SDP, и мне кажется, что коэффициент аппроксимации равен 0,56, хотя я не уверен, что сокращение, обсуждаемое в статье, является сохранением коэффициента. Может быть, поможет более глубокий взгляд на бумагу!
источник
Ваша задача имеет логарифмическое приближение путем сведения к задаче квадратичного программирования.
Задача MaxQP - это задача аппроксимации квадратичной формы x T M x для матрицы n × n M , где x лежит в пределах { ± 1 } n . MaxCut можно записать в этой форме, установив M = 1xTMx 2 п (Σже)я-12 A,гдеI- единичная матрица, аA- матрица смежности. Алгоритм MaxQP Чарикара и WirthдаетO(журналN)приближение для MaxQPтех поркакМимеют неотрицательную диагональ. Так что, покаЕже≥0, MaxCut с отрицательными весами имеет логарифмический.
источник