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


9

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

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

maxS⊆V∑(u,v):u∈S or v∈Sw(u,v)
uvS(u,v) один раз (а не дважды), что отличает цель от простой суммы степеней.

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


Ваше определение не совпадает с вашим примечанием о том, что не учитываются повторяющиеся ребра. Вы суммируете упорядоченные пары или 2-элементные подмножества? (последний даст вам имущество, которое вам нужно, я думаю)
— Суреш Венкат

1
Еще одно примечание: НЕ учитываются только веса ребер внутри V \ S. Вас интересуют результаты твердости или приближения, потому что в первом случае минимизация суммы весов ребер внутри S '= V \ S может быть более естественной проблемой? ,
— Суреш Венкат

@Suresh: Формальное определение в вопросе является правильным, если речь идет об аппроксимации. Это просто дает вдвое больше того, что можно ожидать от слов.
— Цуёси Ито

@ TsuyoshiIto: о, я вижу, потому что края по разрезу также учитываются дважды.
— Суреш Венкат

1
Точная проблема NP-трудна, потому что, как писал Суреш в своем комментарии, проблема эквивалентна неограниченному {0,1} квадратичному программированию, которое является NP-сложным.
— Цуёси Ито

Ответы:


3

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

Это частный случай следующей задачи: заданный юниверс и набор множеств и весовая функция , найдите множество такое, что максимизируется (вес набора - это общий вес его элементов). Ваша проблема соответствует случаю, когда каждый элемент появляется ровно в двух наборах (но я не уверен, как использовать это ограничение, хотя это может помочь).U={1,…,m}S1,…,Sn⊆Uw:U→[−1,1]I⊆[n]w(⋃i∈ISi)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′)GEv∈Vdv−1−1dv−1v∈V

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

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

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

∑v∈Sdv−(dv−1) = |S|.

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.