Я пытаюсь решить эту проблему, и я действительно борюсь.
Монотонная булева формула представляет собой формулу в логике высказываний , где все литералы являются положительными. Например,
является монотонной булевой функцией С другой стороны, что-то вроде
не является монотонной булевой функцией.
Как я могу доказать NP-полноту для этой задачи:
Определите, выполнима ли монотонная булева функция, если переменных или меньше установлены в ?
Ясно, что все переменные можно просто установить положительными, и это тривиально, поэтому существует ограничение на положительно установленных переменных.
Я пробовал сокращение от SAT до монотонной логической формулы. Одна вещь, которую я попробовал, - заменить фиктивную переменную на каждый отрицательный литерал. Например, я попытался заменить на , а затем попытался заставить и иметь разные значения. Я не совсем смог заставить это работать, хотя.
источник
Ответы:
«Родитель» проблемы, которую вы рассматриваете, иногда называется взвешенной удовлетворенностью (WSAT, особенно в параметризованной сложности) или минимальными (хотя обычно это версия оптимизации, но достаточно близкая). Эти проблемы имеют ограничение «не более переменных, установленное в истинное», как их определяющая особенность.k
Ограничение монотонных формул на самом деле удивительно легко показать, для чего нужно, просто нужно на мгновение выйти за рамки проблем с выполнимостью. Вместо того, чтобы пытаться изменить экземпляр SAT, мы вместо этого начинаем с Dominating Set (DS).
Посмотрим, сможете ли вы получить это оттуда. Больше в спойлерах, разбитых на куски, но избегайте их, если можете. Я не буду показывать членство в NP, у вас не должно быть проблем с этим.
Основная конструкция:
Эскиз доказательства:
источник
Существует простое сокращение с SAT. Введите новую переменную для представления . Учитывая формулу , мы создаем новую формулу , заменяя каждое вхождение на и добавляя выражение для каждой переменной. Мы устанавливаем равным количеству исходных переменных. Новая формула является монотонной и выполнимой, если не более k переменных имеет значение true, если и только если выполнимо. (Это потому, что непересекающихся предложений вызывает любое удовлетворительное назначение для ¬ х я ф ф ' ¬ х я г я х я ∨ г я к ф ' ф к х я ∨ г я ф 'zi ¬xi ϕ ϕ′ ¬xi zi xi∨zi k ϕ′ ϕ k xi∨zi ϕ′ иметь как минимум переменных для True; но тогда единственный способ получить максимум - это установить для каждой пары ровно один из них в значение true {x_i, z_i}.)кk k
источник