Quantas instâncias do 3-SAT são satisfatórias?

28

Considere o problema 3-SAT em n variáveis. O número de possíveis cláusulas distintas é:

C=2n×2(n1)×2(n2)/3!=4n(n1)(n2)/3.

O número de casos de problemas é o número de todos os subconjuntos do conjunto de possíveis cláusulas: . Trivialmente, para cada , existe pelo menos uma instância satisfatória e uma instância insatisfatória. É possível calcular, ou pelo menos estimar, o número de instâncias satisfatórias para um dado n?I=2Cn3

Antonio Valério Miceli-Barone
fonte
Veja também pergunta relacionada cstheory.stackexchange.com/q/14953
András Salamon
Você se importa em explicar como obtém a fórmula de contagem? Onde está o 3! vem, etc?
Yan King Yin
Outra pergunta para iniciantes: se o número total de configurações (ou seja, atribuições de verdade) for , isso significa que muitas atribuições de verdade não podem ser expressas por nenhuma instância de problema. Isso é contra-intuitivo, ao meu conhecimento, de que as fórmulas booleanas são completas no sentido de que podem expressar qualquer tabela de verdade. Qual é o problema aqui? 22n2C
Yan King Yin

Respostas:

27

Uma longa história de trabalho em transições de fase no SAT mostrou que, para qualquer fixo , há um limite parametrizado pela razão do número de cláusulas para que decide a satisfação. Grosso modo, se a proporção for menor que 4,2, com probabilidade esmagadora, a instância é satisfatória (e, portanto, uma fração enorme do número de instâncias com essas muitas cláusulas e variáveis ​​é satisfatória). Se a proporção estiver ligeiramente acima de 4,2, o inverso se mantém - uma fração esmagadora de instâncias é insatisfatória.nn

As referências são demais para citar aqui: uma fonte de informação é o livro de Mezard e Montanari . Se alguém tiver fontes de pesquisas, etc., sobre esse tópico, ele poderá publicá-lo nos comentários ou editar esta resposta.

Referências:
- levantamento Achlioptas
- onde os problemas realmente difíceis são
- Refinando a transição de fase em busca combinatória

Suresh Venkat
fonte
Isso é muito interessante. Qual é a "probabilidade esmagadora?" Isso é algo como 75% ou 99,9999%?
Philip White
Não me lembro, para ser sincero. é parametrizado pela distância da relação do ponto de comutação e age como um sigmóide (então chega a 1 muito rapidamente). As pesquisas ligadas provavelmente tem mais detalhes
Suresh Venkat
1
@ Philip, Suresh: Sim, é uma "descontinuidade" muito rápida. Se você vir os gráficos, a probabilidade de ser satisfeito muda abruptamente de quase 1 para quase 0. É interessante que o limite dependa de . Além disso, é interessante que todo esse comportamento pareça ser válido apenas para instâncias aleatórias. k
Giorgio Camerani 15/10
17

Por um lado, a grande maioria das instâncias será insatisfatória, como dito no comentário de Suresh. (De fato, acho que se você experimentar uma dessas instâncias uniformemente aleatoriamente, já deverá ter uma boa probabilidade de incluir todas as oito negações como cláusulas para alguma variável tripla, ou seja, trivialmente insatisfatória.)2|C|

Por outro lado, podemos limitar o número de instâncias satisfatórias pelo número que é satisfeito pela atribuição zero: elas seriam , como para cada tripleto de variáveis ​​existentes é uma cláusula que não podemos usar.2(7/8)|C|

Pode-se então limitar o número de instâncias satisfatórias multiplicando-o por . Como , acho que isso apenas altera um termo de ordem menor já ...2n|C|=O(n3)

Magnus Wahlström
fonte
Quando iniciei meus estudos de doutorado, mostrei que, se o número de cláusulas do SAT fosse maior que , essas instâncias seriam insatisfatórias. Também provei que, se o número de cláusulas estava entre o intervalo , essas instâncias eram exclusivamente satisfatórias ou insatisfatório. Não recordo a derivação do 3-SAT no topo da minha cabeça. Ok3n2n3n2n2n1 < numberofclauses 3n2n
Tayfun Pagamento
4

Essa resposta lida apenas com a taxa de crescimento do número de instâncias satisfatórias.

Um conjunto é escasso se o número de seqüências de n bits no conjunto for delimitado por (para alguma constante ), caso contrário, é denso. Sabe-se que satisfação (NP-completa) e Insatisfação (CoNP-completa) são conjuntos densos. Existem conjuntos incompletos de esparsos, se .O ( n k ) k N P P = N PAO(nk)kNPP=NP

Mohammad Al-Turkistany
fonte