Наименьший набор не входит в набор наборов

14

Принимая во внимание в качестве входных данных целое число и множество S наборов элементов { 1 , . , , , П } , что является сложность нахождения множество Т элементов { 1 , . , , , n } такой, что T имеет минимальную мощность и T не входит ни в один из множеств S ?nS{1,...,n}T{1,...,n}TTS

a3nm
источник
оба ответа до сих пор упоминают наборы ударов. обратите внимание , что поражающие наборы также показывают в гиперграфах, называется трансверсалъ и CNF преобразование DNF монотонных булевых формул.
vzn

Ответы:

16

Пусть , и пусть F = { S 1 , S 2 , , S m } 2 [ n ] - семейство входных множеств. Если я не понял вашу формулировку проблемы, мы хотим найти множество минимальных размеров T [ n ], такое, что T S i для всех i = 1 , 2[n]={1,2,,n}F={S1,S2,,Sm}2[n]T[n]TSi .i=1,2,,m

Чтобы ответить на ваш вопрос, обратите внимание, что тогда и только тогда, когда T ( [ n ] S i ) . То есть T должен пересекать дополнение каждого S i . Но это означает, что ваша задача, по сути, эквивалентна проблеме набора множеств (рассмотрим набор множеств с входом G = { [ n ] S i : i = 1 , 2 , , m } ):TSiT([n]Si)TSiграммзнак равно{[N]Sя : язнак равно1,2,...,м}

Удар Set. Для заданного семейства и целого числа k существует ли множество T [ n ] с | T | k и T S для всех S F ?F2[N]КT[N]|T|КTSSF

Ударная совокупность, как известно, является NP-полной и не может быть, в общем-то, решена быстрее, чем за время если гипотеза сильного экспоненциального времени не удастся.О(2N)

Янне Х. Корхонен
источник
Ах, я думал о том, чтобы поразить сет, но я не видел сокращения. Благодарность!
a3nm
11

Эта проблема эквивалентна проблеме «Задать крышку» / «Задать проблему с набором»:

Для семейства подмножеств { 1 , ... , п } , найдется множество T { 1 , ... , п } минимального возможного размера , который пересекает каждый набор в семье F .F{1,...,N}T{1,...,N}F

Ваша задача эквивалентна задаче об ударе по множеству, поскольку не лежит ни в одном множестве в S тогда и только тогда, когда она пересекает каждое множество в F = { ˉ A : A S } . (Таким образом, чтобы решить экземпляр задачи о множестве ударов, достаточно решить экземпляр вашей задачи с помощью S = { ˉ A : A F } .)TSFзнак равно{A¯:AS}Sзнак равно{A¯:AF}

Задача «Удар по набору» NP-сложна [Карп 72]. Для этого существует алгоритм аппроксимации и соответствующий результат приближения твердости [Lund, Yannakakis '94, Feige '98].О(журналN)

Юрий
источник