Максимизация суммарных весов ребер

9

Мне интересно, есть ли у следующей проблемы имя или какие-либо результаты, связанные с ним.

Пусть - взвешенный граф, где обозначает вес ребра между и , и для всех , . Задача состоит в том, чтобы найти подмножество вершин, которое максимизирует сумму весов смежных с ними ребер: Обратите внимание, что я подсчитываю ребра как внутри подмножества, так и вне его, что отличает эту проблему от max-cut. Однако, даже если и u, и v находятся в S , я хочу только посчитать ребро (u, v)G=(V,w)w(u,v)uvu,vVw(u,v)[1,1]

maxSV(u,v):uS or vSw(u,v)
uvS(u,v) один раз (а не дважды), что отличает цель от простой суммы степеней.

Обратите внимание, что проблема тривиальна, если все веса ребер неотрицательны - просто возьмите весь граф!

Аарон Рот
источник
Ваше определение не совпадает с вашим примечанием о том, что не учитываются повторяющиеся ребра. Вы суммируете упорядоченные пары или 2-элементные подмножества? (последний даст вам имущество, которое вам нужно, я думаю)
Суреш Венкат
1
Еще одно примечание: НЕ учитываются только веса ребер внутри V \ S. Вас интересуют результаты твердости или приближения, потому что в первом случае минимизация суммы весов ребер внутри S '= V \ S может быть более естественной проблемой? ,
Суреш Венкат
@Suresh: Формальное определение в вопросе является правильным, если речь идет об аппроксимации. Это просто дает вдвое больше того, что можно ожидать от слов.
Цуёси Ито
@ TsuyoshiIto: о, я вижу, потому что края по разрезу также учитываются дважды.
Суреш Венкат
1
Точная проблема NP-трудна, потому что, как писал Суреш в своем комментарии, проблема эквивалентна неограниченному {0,1} квадратичному программированию, которое является NP-сложным.
Цуёси Ито

Ответы:

3

Не совсем решение, но некоторые наблюдения.

Это частный случай следующей задачи: заданный юниверс и набор множеств и весовая функция , найдите множество такое, что максимизируется (вес набора - это общий вес его элементов). Ваша проблема соответствует случаю, когда каждый элемент появляется ровно в двух наборах (но я не уверен, как использовать это ограничение, хотя это может помочь).U={1,,m}S1,,SnUw:U[1,1]I[n]w(iISi)U

Это проблема покрытия: аналогично Max-k-Set-Cover, но без ограничения на использование наборов и с разрешенными отрицательными весами. Жадная аппроксимация Max-k-Set-Cover (на каждом шаге выводить набор, который имеет наибольший вес из непокрытых элементов на данный момент) выводит последовательность наборов, так что первые наборов являются приближением к оптимальный (так что это одновременное приближение для всех ). К сожалению, как обычно, существует проблема с анализом, когда веса могут быть отрицательными. Основное наблюдение за анализом жадного алгоритма состоит в том, что если является первым выходным набором, то (kk1+1/ekS1w(S1)OPTk/kOPTkявляется максимальным весом, охватываемым наборами), поскольку меньше суммы весов множеств в оптимальном решении, и каждый из них имеет вес, меньший чем . Однако с отрицательными весами больше не верно, что меньше, чем сумма весов в оптимальном решении. В общем, объединение больше не верно.kOPTkkw(S1)OPTk

Сашо Николов
источник
5

Кстати, вашу проблему трудно аппроксимировать с мультипликативным коэффициентом для любого .n1ϵϵ>0

Мы покажем это ниже, приведя сохранение, сохраняющее приближение, из Независимого множества, для которого известна твердость приближения.

Сокращение от независимого набора

Пусть неориентированный граф будет экземпляром независимого множества. Пусть обозначит степень вершины в . Пусть -число вершин в .G=(V,E)dvvGnG

Построить гранично-взвешенный граф из следующим образом. Задайте каждое ребро в весе 1. Для каждой неизолированной вершины добавьте новые ребра , каждый с весом , в новые вершины . Для каждой изолированной вершины добавьте одно новое ребро веса 1 к новой вершине.G=(V,E)GEvVdv11dv1vV

(Примечание: каждая новая вершина (в но не в ) имеет ровно одного соседа, который находится в )GGG

Лемма. имеет независимый набор размера если (как пример вашей проблемы) имеет решение со значением не менее .GkGk

Доказательство. Пусть любое независимое множество в . Тогда, поскольку вершины в независимы в , значение в (согласно вашей цели) равно SGSGSG

vSdv(dv1) = |S|.

Наоборот, пусть - решение для со значением не менее . Без ограничения общности предположим, что содержит новых вершин. (Каждая новая вершина находится на одном ребре . Если не было изолировано в , то вес ребра равен , поэтому удаление из увеличивает значение Если было выделено, тогда вес ребра равен 1, поэтому удаление из и добавление поддерживает значение )SGkSv(v,v)vG1vSSvvSvS

Без ограничения общности будем считать , что является независимым множеством в . (В противном случае, пусть будет ребром таким, что и находятся в Общий вес падающих ребер в равен , поэтому общий вес Число инцидентных ребер, отличных от , не больше нуля. Таким образом, удаление из не приведет к увеличению значения )SG(u,v)uvSvGdv(dv1)=1v(u,v)vSS

Теперь, согласно тому же расчету, что и в начале доказательства, значение равно, Отсюда следует, что . QEDS|S||S|k

Кроме того, вы можете вместо этого попросить аддитивное приближение, скажем, или . O(n)ϵm

Мне кажется возможным, что для вашей проблемы даже принятие решения о том, есть ли решение с положительным значением, может быть трудным делом.

Нил Янг
источник