« Formule booléenne quantifiée » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Fschwarzentruber (discuter | contributions)
Fschwarzentruber (discuter | contributions)
Ligne 46 : Ligne 46 :
Contrairement aux solveurs SAT, l'avancée des solveurs QBF est plus récente. Mangassarian écrit<ref>{{Article|prénom1=H.|nom1=Mangassarian|prénom2=A.|nom2=Veneris|prénom3=M.|nom3=Benedetti|titre=Robust QBF Encodings for Sequential Circuits with Applications to Verification, Debug, and Test|périodique=IEEE Transactions on Computers|volume=59|date=2010-07-01|issn=0018-9340|doi=10.1109/TC.2010.74|lire en ligne=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5441288&url=http%253A%252F%252Fieeexplore.ieee.org%252Fiel5%252F12%252F5470966%252F05441288.pdf%253Farnumber%253D5441288|consulté le=2016-07-11|pages=981–994}}</ref> en 2010 ː<blockquote>Admittedly, the theory and results of this paper emphasize the need for further research in QBF solvers [. . . ] Since the first complete QBF solver was presented decades after the first complete engine to solve SAT, research in this field remains at its infancy.</blockquote><blockquote>(Apparemment, la théorie et les résultats de ce papier montre le besoin de continuer les recherches sur les solveurs QBF [...] Comme le premier solveur QBF complet a été présenté des dizaines d'années après le premier solveur SAT complet, la recherche dans ce domaine est encore à ses balbutiements)</blockquote>Il existe plusieurs techniques algorithmiques pour résoudre QBF-SAT<ref>{{Lien web|langue=Anglais|titre=Tutoriel IJCAI 2016|url=http://www.kr.tuwien.ac.at/staff/lonsing/qbftutorialijcai16/ijcai2016-qbf-tutorial-slides.pdf|site=|date=|consulté le=}}</ref> ː
Contrairement aux solveurs SAT, l'avancée des solveurs QBF est plus récente. Mangassarian écrit<ref>{{Article|prénom1=H.|nom1=Mangassarian|prénom2=A.|nom2=Veneris|prénom3=M.|nom3=Benedetti|titre=Robust QBF Encodings for Sequential Circuits with Applications to Verification, Debug, and Test|périodique=IEEE Transactions on Computers|volume=59|date=2010-07-01|issn=0018-9340|doi=10.1109/TC.2010.74|lire en ligne=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5441288&url=http%253A%252F%252Fieeexplore.ieee.org%252Fiel5%252F12%252F5470966%252F05441288.pdf%253Farnumber%253D5441288|consulté le=2016-07-11|pages=981–994}}</ref> en 2010 ː<blockquote>Admittedly, the theory and results of this paper emphasize the need for further research in QBF solvers [. . . ] Since the first complete QBF solver was presented decades after the first complete engine to solve SAT, research in this field remains at its infancy.</blockquote><blockquote>(Apparemment, la théorie et les résultats de ce papier montre le besoin de continuer les recherches sur les solveurs QBF [...] Comme le premier solveur QBF complet a été présenté des dizaines d'années après le premier solveur SAT complet, la recherche dans ce domaine est encore à ses balbutiements)</blockquote>Il existe plusieurs techniques algorithmiques pour résoudre QBF-SAT<ref>{{Lien web|langue=Anglais|titre=Tutoriel IJCAI 2016|url=http://www.kr.tuwien.ac.at/staff/lonsing/qbftutorialijcai16/ijcai2016-qbf-tutorial-slides.pdf|site=|date=|consulté le=}}</ref> ː
* l'apprentissage de clauses. C'est une technique également utilisé dans l'algorithme DPLL pour SAT ;
* l'apprentissage de clauses. C'est une technique également utilisé dans l'algorithme DPLL pour SAT ;
* Counterexample guided abstraction refinement (CEGAR)<ref>{{Article|prénom1=Mikoláš|nom1=Janota|prénom2=Joao|nom2=Marques-Silva|titre=Abstraction-based Algorithm for 2QBF|périodique=Proceedings of the 14th International Conference on Theory and Application of Satisfiability Testing|série=SAT'11|éditeur=Springer-Verlag|date=2011-01-01|isbn=9783642215803|lire en ligne=http://dl.acm.org/citation.cfm?id=2023474.2023500|consulté le=2016-07-11|pages=230–244}}</ref>
* Counterexample guided abstraction refinement (CEGAR)
* Expansion. L'expansion consiste à recopier la formule propositionnelle en instanciant les variables universelles.
* Expansion. L'expansion consiste à recopier la formule propositionnelle en instanciant les variables universelles.
* Calcul de fonctions de Skolem<ref>{{Article|prénom1=Valeriy|nom1=Balabanov|prénom2=Jie-Hong R.|nom2=Jiang|titre=Resolution Proofs and Skolem Functions in QBF Evaluation and Applications|périodique=Proceedings of the 23rd International Conference on Computer Aided Verification|série=CAV'11|éditeur=Springer-Verlag|date=2011-01-01|isbn=9783642221095|lire en ligne=http://dl.acm.org/citation.cfm?id=2032305.2032317|consulté le=2016-07-11|pages=149–164}}</ref>.
* Calcul de fonctions de Skolem.


== Applications pratiques ==
== Applications pratiques ==

Version du 11 juillet 2016 à 22:38

En théorie de la complexité, en informatique théorique, en logique mathématique, une formule booléenne quantifiée (ou formule QBF pour quantified binary formula en anglais) est une formule de la logique propositionnelle où les variables propositionnelles sont quantifiées. Par exemple, est une formule booléenne quantifiée et se lit "pour toute valeur booléenne x, il existe une valeur booléenne y et une valeur booléenne z telles que ((x ou z) et y)". Le problème QBF-SAT (ou QSAT, ou TQBF pour true quantified binary formula) est la généralisation du problème SAT aux formules booléennes quantifiées. Le problème QBF-SAT est PSPACE-complet[1].

Terminologie

Syntaxe

L'ensemble des formules booléennes quantifiées est défini par induction :

  • Une variable propositionnelle est une formule booléenne quantifiée ;
  • Si est une formule booléenne quantifiée, alors est une formule booléenne quantifiée ;
  • Si et sont deux formules booléennes quantifiées, alors est une formule booléenne quantifiée ;
  • Si est une formule booléenne quantifiée et est une variable propositionnelle, alors et sont des formules booléennes quantifiées.

Sémantique

On définit le fait qu'une assignation satisfait une formule booléenne quantifiée par induction. Si une formule booléenne quantifiée est close (toutes les variables sont sous la portée d'un quantificateur), alors la valeur de vérité de la formule ne dépend pas de l'assignation. Si toute assignation satisfait la formule, on dira que cette formule est vraie.

Forme normale prénexe

Une formule booléenne quantifiée est en forme normale prénexe si tous les quantificateurs sont regroupés à l'avant de la formule, c'est à dire de la forme où chaque est soit un quantificateur existentiel soit un quantificateur universel . Toute formule booléenne quantifiée est équivalente à une formule booléenne quantifiée en forme normale prénexe. On peut même transformer, quitte à rajouter des variables inutiles, toute formule prénexe en formule équivalente de la forme

si est impair et si est pair et ou est une formule de la logique propositionnelle.

Le problème QBF-SAT

Le problème QBF-SAT est le problème de décision, qui étant donné une formule booléenne quantifiée close, détermine si cette formule est vraie.

Dans PSPACE

On donne un algorithme en espace polynomial qui prend en entrée une assignation et une formule booléenne quantifiée que l'on suppose prénexe.

  qbf-sat(, )
    si  est propositionnelle
           retourner oui si  ; non sinon.
    sinon si  est de la forme 
           retourner qbf-sat(, ) ou qbf-sat(, )
    sinon si  est de la forme 
           retourner qbf-sat(, ) et qbf-sat(, )

est l'assignation sauf pour qui est fausse et est l'assignation sauf pour qui est vraie.

PSPACE-dur

Pour montrer que QBF-SAT est PSPACE-dur[1], on considère un problème A dans PSPACE et on donne une réduction polynomiale de A dans QBF-SAT. A toute instance x de A, on construit une formule booléenne quantifiée close tr(x) telle que x est une instance positive de A ssi tr(x) est vraie. L'idée est que tr(x) code l'existence d'une exécution acceptante d'une machine de Turing pour A sur l'entrée x. Pour que tr(x) reste de taille polynomiale, on utilise le paradigme diviser pour régner[1].

La réduction précédente fonctionne si A est dans NPSPACE. Ainsi, on a donné une preuve alternative de PSPACE = NPSPACE (cas particulier du théorème de Savitch).

Application théorique ː démontrer la PSPACE-dureté

Comme le problème QBF-SAT est PSPACE-dur, il permet, par réduction polynomiale, de montrer que d'autres problèmes sont PSPACE-dur. Voici une liste de problèmes de décision PSPACE-complets dont la PSPACE-dureté peut être démontré par réduction polynomiale ː

Algorithmes

Contrairement aux solveurs SAT, l'avancée des solveurs QBF est plus récente. Mangassarian écrit[2] en 2010 ː

Admittedly, the theory and results of this paper emphasize the need for further research in QBF solvers [. . . ] Since the first complete QBF solver was presented decades after the first complete engine to solve SAT, research in this field remains at its infancy.

(Apparemment, la théorie et les résultats de ce papier montre le besoin de continuer les recherches sur les solveurs QBF [...] Comme le premier solveur QBF complet a été présenté des dizaines d'années après le premier solveur SAT complet, la recherche dans ce domaine est encore à ses balbutiements)

Il existe plusieurs techniques algorithmiques pour résoudre QBF-SAT[3] ː

  • l'apprentissage de clauses. C'est une technique également utilisé dans l'algorithme DPLL pour SAT ;
  • Counterexample guided abstraction refinement (CEGAR)[4]
  • Expansion. L'expansion consiste à recopier la formule propositionnelle en instanciant les variables universelles.
  • Calcul de fonctions de Skolem[5].

Applications pratiques

Il existe quelques applications potentielles. On peut utiliser QBF pour vérifier des circuits[6].

Variantes

Dependency quantified binary formulas

Une extension intéressante est dependency quantified binary formulas (DQBF)[7]. Dans QBF, une variable quantifiée existentiellement dépend des variables précédentes. Par exemple, dans la formule , les variables propositionnelles et dépendent toutes les deux des variables , et . En DQBF, on peut spécifier des dépendences plus fines comme ne dépend que de et et ne dépend que de et . On écrit une formule comme . Le problème de satisfiabilité d'une formule de DQBF est NEXPTIME-complet.

Notes et références

  1. a b et c Sipser, Michael (1997), "Section 8.3: PSPACE-completeness", Introduction to the Theory of Computation, PWS Publishing, pp. 283–294, ISBN 0-534-94728-X.
  2. H. Mangassarian, A. Veneris et M. Benedetti, « Robust QBF Encodings for Sequential Circuits with Applications to Verification, Debug, and Test », IEEE Transactions on Computers, vol. 59,‎ , p. 981–994 (ISSN 0018-9340, DOI 10.1109/TC.2010.74, lire en ligne, consulté le )
  3. (en) « Tutoriel IJCAI 2016 »
  4. Mikoláš Janota et Joao Marques-Silva, « Abstraction-based Algorithm for 2QBF », Proceedings of the 14th International Conference on Theory and Application of Satisfiability Testing, Springer-Verlag, sAT'11,‎ , p. 230–244 (ISBN 9783642215803, lire en ligne, consulté le )
  5. Valeriy Balabanov et Jie-Hong R. Jiang, « Resolution Proofs and Skolem Functions in QBF Evaluation and Applications », Proceedings of the 23rd International Conference on Computer Aided Verification, Springer-Verlag, cAV'11,‎ , p. 149–164 (ISBN 9783642221095, lire en ligne, consulté le )
  6. (en) Tamir Heyman, Dan Smith, Yogesh Mahajan et Lance Leong, Dominant Controllability Check Using QBF-Solver and Netlist Optimizer, Springer International Publishing, coll. « Lecture Notes in Computer Science », (ISBN 9783319092836 et 9783319092843, lire en ligne), p. 227–242
  7. (en) « Dependency quantified binary formulas »

Liens externes