Эта проблема также NP-Hard .
Можно показать уменьшение на восток с Набор ударов :
УдарЗадача о множестве : для заданных множеств S1,S2,...,Sn
и числа k
: выбрано множество S
размера k
, такое, что для каждого Si
существует элемент s
в S
, такой что s
находится в Si
.[альтернативное определение: пересечение между Si
и S
не пусто.]
Сокращение :
для экземпляра (S1,...,Sn,k)
набора удара, создайте экземплярвашей проблемы: (S'1 AND S'2 And ... S'n,k)
, где S'i
- все элементы в Si
, с ИЛИ.Эти элементы в S'i являются переменными в формуле.
proof:
Удар по множеству -> Эта проблема : если есть экземпляр набора совпадений, S
затем, присваивая всем элементам S
значение true, формула удовлетворяется элементами k
, поскольку для каждого S'i
существует некоторая переменная v
, которая находится в S
и Si
и, следовательно, также в S'i
.
Эта проблема -> Удар по набору : сборка S
со всеми элементами, для которых задано истинное значение [та же идея, что и к Удару по множеству-> Эта проблема].
Поскольку вы ищетеЗадача оптимизации для этого тоже NP-Hard, и если вы ищете точное решение - вы должны попробовать экспоненциальный алгоритм