O problema é coNP -hard; você pode facilmente reduzir o problema UNSAT para esse problema.
Uma caracterização mais precisa é que o problema é C = P - completo. De fato, uma definição da classe C = P é que é a classe de problemas que são polinomiais muitos redutíveis a esse mesmo problema (geralmente essa definição é declarada em termos de funções GapP ). Mas como isso não diz muito, deixe-me definir essa classe de outra maneira.
Seja C = P a classe de problemas que são polinomiais muitos redutíveis ao seguinte problema: dado um circuito booleano φ e um número inteiro K (em binário), decida se o número de atribuições satisfatórias de φ é igual a K . Por uma redução padrão que mostra a # P-completude do # 3SAT, podemos restringir φ a uma fórmula 3CNF sem afetar a classe. A classe C = P contém uma classe chamada US , que contém UP e coNP.
Com esta definição, seu problema é C = P-completo. Na verdade, é fácil ver a dureza C = P a partir da definição da classe C = P (que usa fórmulas 3CNF).
Para provar a participação em C = P, suponha que devemos decidir se duas fórmulas da CNF φ 1 e φ 2 têm o mesmo número de tarefas satisfatórias ou não. Sem perda de generalidade, podemos assumir que as duas fórmulas têm o mesmo número de variáveis, digamos n . Construa um circuito booleano φ que recebe n +1 bits como entrada para que o número de atribuições satisfatórias de φ seja igual a c 1 + (2 n - c 2 ), onde c 1 e c 2ser o número de atribuições satisfatórias de φ 1 e φ 2 , respectivamente. Então o número de atribuições satisfatórias de φ é igual a 2 n se e somente se c 1 = c 2 .