Verificando fórmulas com dois quantificadores (


15

Os solucionadores SAT oferecem uma maneira poderosa de verificar a validade de uma fórmula booleana com um quantificador.

Por exemplo, para verificar a validade de x.φ(x) , podemos usar um solucionador SAT para determinar se é satisfatório. Para verificar a validade de , podemos usar um solucionador SAT para determinar se é satisfatório. (Aqui é um vetor n de variáveis ​​booleanas e φ é uma fórmula booleana.)x . φ ( x ) ¬ φ ( x ) x = ( x 1 , , x n )φ(x)x.φ(x)¬φ(x)x=(x1,...,xn)nφ

Os solucionadores QBF são projetados para verificar a validade de uma fórmula booleana com um número arbitrário de quantificadores.

E se tivermos uma fórmula com dois quantificadores? Eles são algoritmos eficientes para verificar a validade: são melhores do que usar algoritmos genéricos para o QBF? Para ser mais específico, tenho uma fórmula da forma x.y.ψ(x,y) (ou ) e deseja verificar sua validade. Existem bons algoritmos para isso? Edit 4/8: Aprendi que essa classe de fórmulas às vezes é conhecida como 2QBF, por isso estou procurando bons algoritmos para 2QBF.x.y.ψ(x,y)

Especializando-me ainda mais: no meu caso particular, eu tenho uma fórmula no formato cuja validade quero verificar, onde são funções que produzem uma saída de bits. Existem algoritmos para verificar a validade desse tipo específico de fórmula, com mais eficiência do que algoritmos genéricos para o QBF?f , g kx.y.f(x)=g(y)f,gk

PS: Não estou perguntando sobre a pior dureza, na teoria da complexidade. Estou perguntando sobre algoritmos praticamente úteis (da mesma forma que os solucionadores modernos de SAT são praticamente úteis em muitos problemas, mesmo que o SAT esteja completo em NP).


4
não é essencialmente equivalente ax y ψ ( x , y ) . xy ψ(x,y)xy ψ(x,y)
Huck Bennett

2
Eu acho que o OP significa isso informalmente, em que ambos são difíceis para resolvedores SAT e que uma solução para qualquer um seria interessante
Suresh Venkat

1
@ HuckBennett, acho que os dois têm dureza equivalente. (Prova: é válida se s ¬ x . y . ¬ ψ ( x , y ) é. Portanto, se tivermos uma maneira de testar a validade das fórmulas da forma x . y . ψ ( x , y ) , também podemos testar a validade das fórmulas x . yx.y.ψ(x,y)¬x.y.¬ψ(x,y)x.y.ψ(x,y) deixando ψ ( x , y ) = ¬ ψ ( x , y ) e testando a validade dex . y . ψ ' ( x , y ) .) Mas de qualquer maneira, eu estaria interessado em algoritmos para ambos os casos. x.y.ψ(x,y)ψ(x,y)=¬ψ(x,y)x.y.ψ(x,y)
DW

6
@DW, não necessariamente, por exemplo, acredita-se que SAT e TAUT tenham a mesma complexidade.
Kaveh

4
@chazisop: Eu acho que o OP está pedindo algoritmos / resolvedores -SAT, não solucionadores gerais de QBF. No entanto, existem muitos solucionadores de QBF. Consulte a guia "solucionadores" no qbflib.orgΠ2/Σ2
Huck Bennett

Respostas:


22

Se eu puder, publicamente, me exibir publicamente , escrevemos um artigo sobre o algoritmo baseado em abstração do ano passado para o 2QBF . Eu tenho uma implementação para o qdimacs, que eu posso fornecer, se você desejar, mas com a minha experiência, é possível se beneficiar muito da especialização do algoritmo para um problema específico. Há também um artigo mais antigo, Um Estudo Comparativo de Algoritmos 2QBF , que também apresenta algoritmos facilmente implementáveis.


Impressionante! Obrigado, Mikolas, este é exatamente o tipo de coisa que eu estava esperando.
DW

2
Oi @DW feliz que eu poderia ajudar. Espero que você ache isso útil. O QBF é um animal bem diferente do SAT, então é preciso ter um pouco de cuidado, porque as coisas podem explodir com muita facilidade :-). Sinta-se à vontade para me escrever um e-mail se tiver alguma dúvida mais detalhada sobre o nosso trabalho.
Mikolas

7

Eu li dois artigos relacionados a isso, um especificamente relacionado ao 2QBF. Os artigos são os seguintes:

Determinação Incremental , Markus N. Rabe e Sanjit Seshia, Teoria e Aplicações de Teste de Satisfação (SAT 2016).

Eles implementaram seu algoritmo em uma ferramenta chamada CADET . A idéia básica é adicionar gradualmente novas restrições à fórmula até que as restrições descrevam uma função Skolem exclusiva ou até que a ausência seja confirmada.

O segundo é a resolução incremental de QBF , Florian Lonsing e Uwe Egly.

Implementado em uma ferramenta chamada DepQBF . Não impõe nenhuma restrição ao número de alternância do quantificador. Começa com a suposição de que temos uma fórmula qbf intimamente relacionada. Baseia-se na solução incremental e não lança as cláusulas aprendidas na última solução. Ele adiciona cláusulas e cubos à fórmula atual e para se as cláusulas ou cubos estiverem vazios, representando unsat ou sat.

Edit : Apenas para uma perspectiva de como essas abordagens funcionam para os benchmarks do 2QBF. Veja os resultados do QBFEVal-2018 para obter os resultados da competição anual QBF QBFEVAL . Em 2019 não havia faixa 2QBF.

No 2QBF Track QBFEVAL-2018, o DepQBF foi o vencedor , o CADET foi o segundo da corrida.

Portanto, essas duas abordagens realmente funcionam muito bem na prática (pelo menos nos benchmarks QBFEVAL).


4

xyϕDumaD¬ϕ[uma/x]bBumaϕ[b/y]ϕ


2
ϕϕ

É bastante agradável, há uma analogia com a aprendizagem de máquina contraditório se você olhar de soslaio para e na verdade ele funciona para qualquer rede complementados, quando você tem um solucionador das sortes
Samuel Schlesinger
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.