Пусть - формула CNF с n переменными и m предложениями. Пусть t ∈ { 0 , 1 } n представляет присваивание переменной, а f φ ( t ) ∈ { 0 , … , m } подсчитывает количество предложений, удовлетворяемых присваиванием переменной φ . Затем определите Median-SAT как задачу вычисления медианного значения f φ ( t ) по всем t ∈ { 0 , 1 . Например, если φ является тавтологией, то решение Median-SAT будет равно поскольку независимо от назначения каждое условие будет выполнено. Однако в случае ¯ S A T решение Median-SAT может быть где -то между 0 и т - 1 .
Этот вопрос возник, когда я размышлял над двумя естественными расширениями SAT, MAX-SAT и #SAT, и какова будет сложность возникшей проблемы, если их объединить. Для MAX-SAT мы должны найти конкретное присвоение переменной, чтобы максимизировать число переменных, удовлетворяемых . Для #SAT мы должны посчитать, сколько заданий удовлетворяют всем предложениям φ . Этот вариант сводится в основном как расширение #SAT (и фактически#WSAT), но сохраняет некоторуюразновидностьMAX-SAT в том, что мы подсчитываем количество удовлетворенных предложений, а не просто решаем, все ли они удовлетворены или не.
Эта проблема кажется сложнее, чем #SAT или #WSAT. Для каждого присваивания переменной #SAT решает булеву задачу о том, удовлетворяет ли это присваивание или нет, тогда как Median-SAT определяет, «в какой степени»удовлетворяется φ с точки зрения количества предложений, которым удовлетворяет присвоение.
Я понимаю, что эта проблема несколько произвольна; вычисление среднего или модового числа предложений, удовлетворяемых каждым присвоением переменной, похоже, отражает то же качество. Вероятно, многие другие проблемы тоже.
Была ли эта проблема изучена, возможно, под другим видом? Насколько это сложно по сравнению с #SAT? Мне априори не ясно, что Median-SAT даже содержится в FPSPACE, хотя кажется, что он содержится в FEXPTIME.
источник
Ответы:
Учитывая экземпляр SAT, целое число и присвоение переменной, мы можем за полиномиальное время решить , удовлетворяются ли ровно k предложений, просто посчитав количество удовлетворенных предложений и проверив, равно ли это число k . Следовательно, мы можем вычислить общее количество переменных, удовлетворяющих точно k предложениям, используяk k k k оракула #P .
Как и Max-SAT, Median-SAT можно вычислить за полиномиальное время с помощью оракула Это показывает , что проблема заключается в Р Р # Р ⊆ F P S P A C E .#P FP#P⊆FPSPACE
источник
источник