Seja uma fórmula CNF com variáveis e cláusulas . Deixe representar uma atribuição de variável conte o número de cláusulas satisfeitas por uma atribuição de variável para . Em seguida, defina Median-SAT como o problema de calcular o valor mediano de em todo . Por exemplo, se é uma tautologia, a solução para Median-SAT será pois, independentemente da atribuição, todas as cláusulas serão atendidas. No entanto, no caso den m t ∈ { 0 , 1 } n f φ ( t ) ∈ { 0 , … , m } φ f φ ( t ) t ∈ { 0 , 1 } n φ m ¯ S A Ta solução para o Median-SAT pode estar em qualquer lugar entre e .m - 1
Essa pergunta surgiu quando eu estava pensando em duas extensões naturais do SAT, MAX-SAT e #SAT, e qual seria a dificuldade do problema resultante se elas fossem reunidas. Para MAX-SAT, precisamos encontrar uma atribuição de variável específica para maximizar o número de variáveis satisfeitas por . Para #SAT temos que contar quantas atribuições satisfazer todas as cláusulas de . Essa variante acaba principalmente como uma extensão do #SAT (e de fato do #WSAT ), mas mantém um pouco do sabor do MAX-SAT, pois contamos o número de cláusulas satisfeitas em vez de apenas decidir se elas estão satisfeitas ou não.m φ
Esse problema parece mais difícil que #SAT ou #WSAT. Para cada atribuição de variável #SAT decide o problema booleano de saber se essa atribuição satisfaz ou não, enquanto o Median-SAT determina "até que ponto" é satisfeito em termos do número de cláusulas que uma atribuição satisfaz.φ
Percebo que esse problema é um tanto arbitrário; calcular o número médio ou modo de cláusulas atendidas por cada atribuição de variável parece capturar a mesma qualidade. Provavelmente muitos outros problemas também.
Esse problema foi estudado, talvez sob um pretexto diferente? Quão difícil é comparado ao #SAT? Não está claro para mim a priori que o Median-SAT esteja contido no FPSPACE, embora pareça estar contido no FEXPTIME.