poids », peut se traduire par un QCSP. Résoudre le QCSP permet de savoir quels poids acheter,
mais pour dire de quel côté de la balance placer chacun des poids afin de peser la farine, il
faut résoudre le QCSP pour chaque poids de farine. Compiler le QCSP permet également de
savoir quels poids acheter, et permet de savoir où poser les poids dans la balance de manière
polynomiale en temps.
L’article est organisé ainsi : la section 2 définit les concepts nécessaires ; la section 3 for-
malise les fonctions utiles à la compilation et à la lecture d’une base ; la section 4 présente
l’implémentation des algorithmes ; la section 5 montre les résultats ; la section 6 conclue.
2 Préliminaires
2.1 Généralités
Le symbole ∃représente le quantificateur existentiel, le symbole ∀représente le quantifi-
cateur universel, le symbole ∧représente la conjonction.
Dans le cadre de la représentation d’un jeu à deux joueurs, il existe les SCSP (Strategic
Constraint Satisfaction Problem (Bessiere & Verger, 2006)) qui sont des QCSP dont une va-
riable quantifiée existentiellement ne peut pas prendre une valeur de son domaine si celle-ci ne
préserve pas la consistance des contraintes. Le symbole ˚
∀représente le quantificateur universel
dans un SCSP.
Un QCSP est un n-uplet (V,ordre,quant,dom,C) dans lequel V={v1, . . . , vn}est un
ensemble fini de variables, ordre est une bijection des variables sur [1..n], quant est une fonction
de Vdans l’ensemble {q1, . . . , qn}de quantificateurs où qi∈ {∃,∀} est le quantificateur de la
variable vi∈V,dom est une fonction de Vdans l’ensemble de domaines {Dv1, . . . , Dvn}où
Dviest le domaine de la variable vi∈V, et Cest un ensemble fini de contraintes.
Un QCSP peut être noté sous la forme plus compacte : QC où Q=q1v1. . . qnvnforme le
lieur et Cest la conjonction des contraintes de C. Le QCSP (V,ordre,quant,dom,C) avec
V={c1, c2, c3, c4, f, w1, w2, w3, w4},
ordre ={(1, w1),(2, w2),(3, w3),(4, w4),(5, f ),
(6, c1),(7, c2),(8, c3),(9, c4)},
quant ={(c1,∃),(c2,∃),(c3,∃),(c4,∃),(f, ∀),
(w1,∃),(w2,∃),(w3,∃),(w4,∃)},
dom ={(c1, D3),(c2, D3),(c3, D3),(c4, D3),(f, D40),
(w1, D40),(w2, D40),(w3, D40),(w4, D40)},
D3={−1,0,1}, D40 = [1..40],
C={(f= (w1∗c1)+(w2∗c2)+(w3∗c3)+(w4∗c4))}
est noté sous la forme compacte : ∃w1∃w2∃w3∃w4∀f∃c1∃c2∃c3∃c4(f= (w1∗c1)+(w2∗c2) +
(w3∗c3)+(w4∗c4)) avec w1, w2, w3, w4, f ∈[1..40],c1, c2, c3, c4∈ {−1,0,1}.
La sémantique d’un QCSP peut être définie récursivement. Si Cest vide, alors le QCSP
admet une stratégie gagnante. Si le QCSP est de la forme ∀xQC avec x∈Dx, alors il admettra
une stratégie gagnante si, et seulement si, pour toute valeur val ∈Dx,Q(C∧(x=val)) admet
une stratégie gagnante. Si le QCSP est de la forme ∃xQC avec x∈Dx, alors il admettra une
stratégie gagnante si et seulement si, pour au moins une valeur val ∈Dx,Q(C∧(x=val))
admet une stratégie gagnante.
2