Loading AI tools
De Wikipédia, l'encyclopédie libre
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, aussi appelé ASAT pour alternating satisfiability problem par Flum et Grohe[1]) est la généralisation du problème SAT aux formules booléennes quantifiées. Le problème QBF-SAT est PSPACE-complet[2].
L'ensemble des formules booléennes quantifiées est défini par induction :
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.
Il existe une autre définition équivalente de la sémantique en matière de jeux à deux joueurs. Le joueur 1 attribue des valeurs aux variables propositionnelles quantifiées existentiellement et le joueur 2 attribue des valeurs aux variables propositionnelles quantifiées universellement. Les joueurs donnent les valeurs aux variables dans l'ordre des quantifications. Le joueur 1 gagne si à la fin du jeu la formule propositionnelle est vraie. Une formule QBF est satisfiable si le joueur 1 a une stratégie gagnante.
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
où si est impair et si est pair et ou est une formule de la logique propositionnelle.
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.
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(, )
où est l'assignation sauf pour qui est fausse et est l'assignation sauf pour qui est vraie.
Pour montrer que QBF-SAT est PSPACE-dur[2], 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[2].
La réduction précédente fonctionne si A est dans NPSPACE. Ainsi, on a donné une autre preuve de PSPACE = NPSPACE (cas particulier du théorème de Savitch).
Si on borne le nombre d'alternations de quantificateurs dans la formule donnée en entrée du problème QBF-SAT, on obtient des problèmes complets à différents niveaux de la hiérarchie polynomiale :
Plusieurs systèmes de preuve ont vu le jour et sont fondés sur la résolution : Q-Resolution calculus QRES, Long distance Q-Resolution, QU-Resolution et autres variantes. Nous présentons ici uniquement le système QRES. On démontre avec une formule sous forme prénexe où la formule propositionnelle est en forme normale conjonctive. Les règles sont :
Règles | Explications |
---|---|
si C est une clause qui ne contient pas x et non x | |
si est un littéral tel que la variable propositionnelle associée est quantifiée universellement et est une clause qui ne contient pas x et non x et tous les littéraux de C quantifiée existentiellement précède la quantification de | |
si p est quantifiée existentiellement, non p n'apparaît pas dans C1, p n'apparaît pas dans C2, et C1 U C2 ne contient pas x et non x. C'est la règle qui ressemble à la règle de résolution pour la logique propositionnelle classique. |
Une formule est insatisfiable si, et seulement il existe une preuve de la clause vide.
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 :
Contrairement aux solveurs SAT (pour la logique propositionnelle), l'avancée des solveurs QBF est plus récente. Mangassarian écrit[3] 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 y a une compétition annuelle QBFEVAL (47 systèmes soumis en 2017[4]).
Certains solveurs prennent un fichier au format QDIMACS[5] qui est une variante du format DIMACS pour SAT. Il existe le format QCIR (pour Quantified CIRcuit)[6].
Il existe plusieurs techniques algorithmiques pour résoudre QBF-SAT[7] :
Il existe quelques applications potentielles. On peut utiliser QBF pour vérifier des circuits[10].
Une extension intéressante est dependency quantified binary formulas (DQBF)[11]. 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épendances 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.
Une autre formulation de DQBF existe en termes de jeu à trois joueurs[12] : N, B1 et B2. Il y a deux équipes : l'équipe noire (N) et l'équipe blanche (B1 et B2). L'entrée est une forme normale conjonctive (FNC) sur des variables propositionnelles dans X1 U Y1 U X2 U Y2. L'objectif est de décider le joueur blanc a une stratégie gagnante au jeu suivant. Le joueur noir choisit une assignation des variables dans X1 U X2. Le joueur B1 choisit alors une assignation de Y1, puis le B2 choisit une assignation de Y2. Le joueur i blanc ne voit que les assignations de Xi et Yi. L'équipe blanche (noire) gagne si la FNC est vraie (fausse).
Le problème de satisfiabilité des fragments de QBF suivants se décide en temps polynomial :
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.