Тут я показую, що проблема неповна.
Ми перетворюємо CNF у екземпляр вашої проблеми наступним чином. Припустимо, що змінними CNF є ', а пропозиції - ' s, де . Нехай де всі множини в об'єднанні повністю роз'єднані. Насправді і , а - це будь-який набір кардинальності . Позначимо також і закріпіть для кожного зростаюче сімейство довжиною всередині нього, позначене дляx i m C j n < m U = ∪ i ( A i ∪ B i ∪ Z i ) A i = { a i , j ∣ x i ∈ C j } ∪ { a i , 0 } B i = { b i , j ∣ x i ∈ C j } ∪н хiм Сjп < мU= ∪i( Аi∪ Бi∪ Zi)Аi= { аi , j∣ xi∈ Cj} ∪ { ai , 0}Z i k = 2 n + 1 Z = ∪ i Z i Z i k Z i , l l = 1 .. k x i 2 k F A i ∪ Z i , l B i ∪ Z i , l C j F Z x i ∈ C j { aБi= { bi , j∣ xi∈ Cj} ∪ { bi , 0}Zik = 2 n + 1Z= ∪iZiZikZi,ll=1..k . Для кожної змінної додаємо множини до , кожен набір форми і . Для кожного пункту додаємо один набір до , який містить , і для кожного елементі і для кожного елементі .xi2kFAi∪Zi,lBi∪Zi,lCjFZxi∈Cj ˉ x i ∈ C j { b i , j }{ai,j}x¯i∈Cj{bi,j}
Припустимо, що формула задоволена і зафіксуйте задовольняюче завдання. Потім виберіть множини форми або , залежно від того, чи правда чи ні. Це додаткові набори . Тепер додайте множини, відповідні пунктам. Вони також продовжують збільшувати розмір, оскільки пункти задовольняються. Нарешті, ми можемо навіть додати більше наборів ( по одному для кожної змінної) , щоб зробити послідовність кришку .A i ∪ Z i , l B i ∪ Z i , l x i n k m k UkAi∪Zi,lBi∪Zi,lxinkmkU
Тепер припустимо, що множини ставлять у поступовій послідовності. Зверніть увагу , що в більшості встановлює відповідні можуть бути обрані для кожного . Таким чином, якщо в додатковій послідовності немає наборів пропозицій, можна вибрати не більше , що є занадто мало. Зауважте, що як тільки вибраний набір пропозицій, ми можемо вибрати максимум два набори, що відповідають кожному , що становить наборів. Отже, ми повинні вибрати принаймні змінних наборів до вибору будь-якого набору пропозицій. Але оскільки ми можемо вибрати максимум для кожного , це означає, що для кожного ми вибрали принаймніk + 1 x i x i n ( k + 1 ) x i 2 n n ( k - 1 ) k + 1 x i 1 k = 2 n + 1n(k+1)+mk+1xixin(k+1)xi2nn(k−1)k+1xi1 , як . Це визначає "значення" змінної, таким чином, ми можемо вибрати лише "справжні" пропозиції.k=2n+1
Оновлення: Змінено значення від до як вказував Марціо.n 2 n + 1kn2n+1