Скажем, у меня есть взвешенный граф такой, что является весовой функцией - обратите внимание, что допустимы отрицательные веса.w : E → [ - 1 , 1 ]
Скажем , что определяет свойство любого подмножества вершин . S ⊂ V
Вопрос: Какие интересные примеры s, для которых задача максимизации: может быть выполнена за полиномиальное время?
Например, функция вырезания графа
Я позволю определению «интересный» быть несколько расплывчатым, но я хочу, чтобы проблема максимизации была нетривиальной. Например, не должно быть, что вы можете определить ответ, не изучая края графика (поэтому постоянные функции и функция мощности не интересны). Также не должно быть случая, чтобы на самом деле просто кодировал какую-то другую функцию с полиномиальным размером, добавляя ее в область (то есть я не хочу, чтобы был какой-то маленький домен и некоторая функция известно до того, как смотреть на график, так что интересующая функция действительно и Если это так, то проблема «максимизации» на самом деле является просто вопросом оценки функции на всех входах.)
Изменить: Это правда, что иногда проблемы минимизации легко, если вы игнорируете веса ребер (хотя и не минимизируете функцию среза, так как я допускаю отрицательные веса ребер). Но меня явно интересуют проблемы максимизации. Это не становится проблемой в естественных взвешенных проблемах в этом урегулировании все же.
источник
Ответы:
Всякий раз, когда считает число ребер удовлетворяющих некоторому булеву предикату, определенному в терминах и , то то, что вы написали, является просто булевым 2-CSP. Целевая функция просит максимизировать количество удовлетворенных предложений по всем назначениям переменных. Это, как известно, является NP-твердым, и точный порог твердости также известен, предполагая UGC (см. Raghavendra'08).( u , v ) u ∈ S v ∈ Sf(S) (u,v) u∈S v∈S
Есть много естественных положительных примеров, когда вы хотите максимизировать по подмножествам ребер, например, Максимальное соответствие - один из примеров проблемы полиномиального времени в этом случае.
источник
Доматическая перегородка / слабая 2-раскраска.
(В этом случае если каждое имеет соседа в и наоборот. В противном случае Решение с всегда существует, если есть нет изолированных узлов, и его можно легко найти за полиномиальное время.)е( S) = 1 v ∈ S В∖ S е( S) = 0 е( S) = 1
источник
Минимальный разрез (в частности, вершинный разрез).
(В этом случае будет выглядеть примерно так: 0, если удаление узлов в множестве не разбивает по крайней мере на два компонента, а противном случае. Тогда максимизация эквивалентна нахождению минимального разреза , что можно сделать за полиномиальное время.)е S г | В| - | S| е
Вы также можете определить аналогичную функцию, которая соответствует минимальным срезам кромок.
(Например, равно 0, если или ; в противном случае это , где - множество ребер, которые имеют одну конечную точку в и другую конечную точку в )е( S) S= ∅ S= V | Е| - | Икс| Икс S В∖ S
источник
Максимальный независимый набор.
источник