utiliser les contraintes sans rien y comprendre christian bessiere lirmm (cnrs/u. montpellier)
TRANSCRIPT
![Page 1: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/1.jpg)
Utiliser les contraintes sans rien y comprendre
Christian Bessiere
LIRMM
(CNRS/U. Montpellier)
![Page 2: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/2.jpg)
Qu’est-ce que les “CSP” ?(CSP = problème de satisfaction de contraintes)
• Des variables
• Des domaines finis pour ces variables
• Des contraintes sur les combinaisons de valeurs autorisées sur certaines variables
![Page 3: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/3.jpg)
Faire un plan de maisonAppartement 5 pièces (Chambre, Bain, Cuisine, Salon, Salle-à-Manger) sur un emplacement à 6 pièces
nord-ouest nord nord-
est
sud-est sud-ouest sud
• Cuisine et salle à manger communiquent
• SdeB et cuisine ont un mur en commun
• SdeB éloignée de salon
• Salon et SàM sont une même pièce
![Page 4: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/4.jpg)
Plan de maison
• Variables : – C (chambre), – B (salle de bain), – K (cuisine), – S (salon), – M (salle à manger)
• Domaines : {no,n,ne,so,s,se}
no n ne
se so s
![Page 5: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/5.jpg)
Plan de maison
• Contraintes : – X ≠ Y, X = Y– A-cote(X,Y) = {
(no,n),(no,so),(n,no),(n,ne),(n,s), (ne,n),(ne,se),(so,no),(so,s),(s,so), (s,n),(s,se),(se,s),(se,ne) }
– Loin(X,Y) = { (no,ne),(no,s),(no,se),(n,so),(n,se), (ne,no),(ne,so),(ne,s),(so,n),(so,ne), (so,se),(s,no),(s,ne),(se,no),(se,n),(se,so) }
no n ne
se so s
![Page 6: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/6.jpg)
loin
a-cote a-cote
a-cote
Réseau de contraintes
Alldiff(K,B,M,S,C)
K B
C S M
nw,n,ne,sw,s,se
C
nw,n,ne,sw,s,se S
nw,n,ne,sw,s,se
M
nw,n,ne,sw,s,seB
nw,n,ne,sw,s,se
K
Chambre à l’estSalon au sudClient :
![Page 7: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/7.jpg)
Programmation par contraintes
Problem Variables
Domains
Constraints Solution
modelling
solving
???
![Page 8: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/8.jpg)
Modélisation(“it’s an art, not a science”)
• Longtemps considéré comme trivial– le zèbre de Lewis Carroll ou les problèmes
aléatoires
• Mais sur les “vrais” problèmes :– Quelles variables ? Quels domaines ? – Quelles contraintes pour coder le problème ?
• Et l’efficacité ?– Quelles contraintes pour que le solveur aille vite ?
• Contraintes globales, symétries…
Tout tient au savoir-faire de l’expert
![Page 9: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/9.jpg)
Et si on n’est pas expert ?
• Choix des variables/domaines
• Acquisition des contraintes
• Améliorer un modèle de base
![Page 10: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/10.jpg)
Choix des variables/domaines(prémodèles)
• A partir d’historiques des solutions passées• Solutions décrites par des tables
M S
C R K S M
S C K B K
S C M
Room Position
SàM nw
Cuisine n
Salon ne
Chambre sw
SdB s
Room Position
Salon nw
Cuisine n
Chambre ne
SàM
SdB se
Room Position
SdB nw
Kuisine n
Chambre sw
SàM s
Salon se
![Page 11: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/11.jpg)
Extraire des prémodèles
Room, position
Room Position
Room Position
SdB nw
Kuisine n
Chambre sw
SàM s
Salon se
XSdB {nw,n,ne,sw,s,se}
XSalon {nw,n,ne,sw,s,se}
….
![Page 12: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/12.jpg)
Extraire des prémodèles
• Deux prémodèles : – XB,…,XS {nw,n,ne,sw,s,se}
– Xnw,…,Xse {B,C,K,M,S,}
• Des prémodèles triviaux : – X1,…,X5 {B-nw,B-n,B-sw,…,
S-s,S-se}
– XB-nw,…,XS-se {0,1}
Room, position
Room Position
Room Position
SdB nw
Kuisine n
Chambre sw
SàM s
Salon se
![Page 13: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/13.jpg)
Connecter les prémodèles
• PM1: XB,…,XS {nw,n,ne,sw,s,se}• PM2: Xnw,…,Xse {B,C,K,M,S,}
• Contraintes de connexion : – XB = nw Xnw = B
“nw” n’est pris qu’au plus une fois dans PM1
alldiff(XB,…,XS) est une contrainte de M1
![Page 14: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/14.jpg)
Application: sudoku
L1 C4 3
L1 C5 1
L2 C1 3
L2 C3 4
L3 C4 2
L3 C9 8
… … …
L C V
XLC=V
XLV=C
XCV=L
![Page 15: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/15.jpg)
Et si on n’est pas expert ?
• Choix des variables/domaines
• Acquisition des contraintes– Espace des réseaux– Redondance– Requêtes
• Améliorer un modèle de base
![Page 16: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/16.jpg)
Acquérir les contraintes
• L’utilisateur ne sait pas spécifier des contraintes• Il sait reconnaître les solutions des non-
solutions– Ex: maison valide ou pas
Utilisation de techniques d’apprentissage– Interaction par des exemples (e+) ou contre-
exemples (e-)– Acquisition du réseau de contraintes exprimant son
problème
![Page 17: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/17.jpg)
Espace des réseaux possibles
XM
XC
XK
XB XS
?
?? ?
??
?
?
• Langage : ? { =, ≠, a-cote, loin}• Biais : XS=XB; a-cote(XS,XB);… …; XK≠XM; loin(XK,XM)
Positifs rejetés
Négatifs acceptés
![Page 18: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/18.jpg)
Codage compact en SAT• Une formule SAT K qui code tous les réseaux
possibles : – Chaque contrainte ci
un littéral bi
– Modèles(K) = espace des versions– Exemple e- rejeté par {ci,cj,ck}
une clause (bi bj bk)
– Exemple e+ rejeté par ci une clauses (bi)
• m models(K)
(m) = {ci m(bi)=1} accepte tous les exemples positifs et rejette tous les exemples négatifs
Positifs rejetés
Négatifs acceptés
![Page 19: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/19.jpg)
Réduire l’espace
C(XK,XM): , =, loin, a-cote C K
B S
M
e+1
C(XM,XS): , =, loin, a-cote
C(XK,XS): , =, loin, a-cote
e-2 K B
C
S M
K
B S
e+3 C
M
M
e-4
K
B
C
M
Sa-cote(XM,XS) loin(XK,XS)
![Page 20: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/20.jpg)
Redondance
• Les contraintes ne sont pas indépendantes
• “a-cote(XK,XM) a-cote(XM,XS)
loin(XK,XS)”
• Voir consistances locales en CSP
• Différent de l’apprentissage attribut-valeur
K
M S
![Page 21: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/21.jpg)
Redondance
• La redondance empêche la convergence
Ensemble R de règles de redondance : alldiff(X1,…,Xn) Xi≠Xj, i,j
a-cote(XK,XM) a-cote(XM,XS) loin(XK,XS)
• Dans K il y a – a-cote(XM,XS) loin(XK,XS) – a-cote(XK,XM)
• On déduit loin(XK,XS) de K+R
• Espace des versions = Modèles(K+R)– Bonnes propriétés quand R est complet
K
M S
![Page 22: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/22.jpg)
Requêtes• Les exemples fournis apportent parfois peu d’information
nouvelle (plan négatif avec la cuisine loin de la salle à manger)
• Le système peut proposer des exemples (requêtes) pour accélérer la convergence
• Exemple e rejeté par k contraintes de l’espace – e positif k contraintes retirées de l’espace– e négatif une clause de taille k
• Bonne requête = exemple qui réduit beaucoup l’espace quelle que soit la réponse
![Page 23: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/23.jpg)
Requêtes• Exemple e1 négatif :
cle1 = b1…bk K+R– Trouver m models(K+R) tel qu’un
seul littéral bi de cle1 soit faux– Trouver e2 sol((m)) :
e2 ne viole que la contrainte ci
bi ou bi ira dans K
• Si sol((m))= : tout conflict-set est une nouvelle règle de redondance! Convergence rapide
K+Rb1…bk
m contient bi
(m)
e2 sol((m))
Requête: “e2” ?
NPhard
![Page 24: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/24.jpg)
Et si on n’est pas expert ?
• Choix des variables/domaines
• Acquisition des contraintes
• Améliorer le modèle de base
![Page 25: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/25.jpg)
Améliorer le modèle
• Modèle de base M1 : solve(M1) ≈ ∞
Les experts ajoutent des contraintes implicites qui augmentent la quantité de propagation• Une contrainte implicite ne change pas l’ensemble de solutions
On va apprendre des contraintes globales implicites
The globalest is the best
Problem Variables
Domains
Constraints Solution
modelling
solving
BT-search + propagation
![Page 26: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/26.jpg)
Contraintes globales implicites
• Modèle M1:
Il n’y a pas plus de deux 1 par solution
• M1+{card[#1≤2](X1..Xn)}: mêmes solutions que M1
• Mais solve(M1+ card) est plus rapide que solve(M1)
X1 … Xn
112345332223551554124135
…..
sol(M1):
Card[..]+card[..]+card[..] = gcc[P]
gcc = propagation avec un algorithme de flot
![Page 27: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/27.jpg)
Apprendre les paramètres P de gcc[P](X1..Xn)
Sol(M1) Sol(M2)
gcc[P](X1..Xn)
gcc[P’](X1..Xn)
M2
Très facile
M1
Très difficile
M1+ gcc[P’](X1..Xn)
Facile
![Page 28: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/28.jpg)
Affectation de tâches
• Projets à affecter à des étudiants d’IUT en minimisant la déception
• Modèle M1 construit par des étudiants d’IUT (2h de formation CP) :
• optimize(M1) > 12h
![Page 29: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/29.jpg)
Possibles(P)
obligatoires(P)
Affectation de tâches
• Lancer optimize(M1) pendant 1 sec.– Solution s0 de coût F0
• M2 = M1+(cost<F0)
• obligatoires(P) cardinalités(s0); possibles(P) Z
• choisir Pi possibles(P) \ obligatoires(P)• s solve(M2 + gcc[Pi ](X1..Xn) )
• Si s= alors possibles(P) possibles(P) \ Pi
• Sinon obligatoires(P) obligatoires(P) + cardinalités(s)
• optimize(M1 + gcc[possibles(P)](X1..Xn))
solution optimale en 43mn au lieu de >12h
Pi
![Page 30: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/30.jpg)
Illustration: modélisation automatique Illustration: modélisation automatique d’actions élémentaires en robotiqued’actions élémentaires en robotique
Mathias PAULINMathias PAULIN
www.lirmm.fr/~paulin
![Page 31: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/31.jpg)
ContexteContexte
1. Abstraire les actions élémentaires sous la forme de CSP
2. Combiner les CSP à l’aide d’outils de planification
3. Contrôler l’exécution d’une tâche, en corrigeant les écarts éventuels entre les prévisions et la réalité, via les mécanismes de propagation.
Couche décisionnelle
RobotCouche
physique
Planificateur{(Xi, D, Ci)}
Supervision Couche
exécutive
CONACQ Mission
plan
commandesdonnées
capteurs
Architecture de supervision
Acquisition automatique des actions élémentaires
![Page 32: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/32.jpg)
Pour chaque action ai, on cherche à déterminer :
Prec(ai) modélise la pré condition de ai,
Action(ai) modélise le comportements des actionneurs,
Post(ai) modélise les effets de ai.
Modélisation automatique d’une action aModélisation automatique d’une action aii
Données fournies à CONACQ : (1I,…, p
I, 1,…, q, 1F,…, p
F, étiquette)
{1I, …, p
I} = valeurs initiales des descripteurs (capteurs) du robot
{1, …, q} = tensions appliquées sur les actionneurs (moteurs)
{1F, …, p
F} = valeurs finales des descripteurs
Objectif : Trouver les contraintes sur {1I,…, p
I, 1,…, q, 1F,…, p
F} consistantes avec les données d’entraînement.
![Page 33: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/33.jpg)
Expérimentation : Tribot Mindstorms (1)Expérimentation : Tribot Mindstorms (1)
Tribot Mindstorms NXT : 3 servomoteurs 4 capteurs (pression, son, lumière, ultrasons)
5 actions : Trouver une cible, Avancer, Avancer avec précision, Ouvrir & Fermer la pince.
Discrétisation des variables descripteurs
Originalité : Ce n’est pas un utilisateur qui classe les exemples. C’est un simulateur ou le robot lui-même (échec, chute, etc.)
![Page 34: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/34.jpg)
Expérimentation : Tribot Mindstorms (2)Expérimentation : Tribot Mindstorms (2)
Modélisation automatique par CONACQ
Implémentation en CHOCO du planificateur CSP-Plan [Lopez2003]
Commande du robot via le langage URBI
Objectif : Saisie d’un objet par le robot Tribot!
QuickTime™ et undécompresseur H.264
sont requis pour visionner cette image.
![Page 35: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/35.jpg)
Perspectives
• Prises en compte de la connaissance de base (ontologies) pour renforcer le biais
• Techniques d’apprentissage résistant au bruit (erreurs de l’utilisateur)
• Plateforme de test pour novice (outils de visualisation, etc.)
• Reconnaissance de motifs pour cibler les contraintes implicites
![Page 36: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/36.jpg)
Many thanks to...
![Page 37: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/37.jpg)
BibliographieC. Bessiere, R. Coletta, T. Petit."Learning Implied Global Constraints”Proceedings IJCAI'07, Hyderabad, India, pages 50-55.
C. Bessiere, R. Coletta, B O'Sullivan, M. Paulin."Query-driven Constraint Acquisition”Proceedings IJCAI'07, Hyderabad, India, pages 44-49.
C. Bessiere, R. Coletta, F. Koriche, B. O'Sullivan."Acquiring Constraint Networks using a SAT-basedVersion Space Algorithm”Proceedings AAAI'06, Nectar paper, Boston MA, pages1565-1568.
C. Bessiere, J. Quinqueton, G. Raymond."Mining historical data to build constraint viewpoints”Proceedings CP'06 Workshop on Modelling andReformulation, Nantes, France, pages 1-16.
C. Bessiere, R. Coletta, F. Koriche, B. O'Sullivan."A SAT-Based Version Space Algorithm for AcquiringConstraint Satisfaction Problems”Proceedings ECML'05, Porto, Portugal, pages 23-34.
C. Bessiere, R. Coletta, E. Freuder, B. O'Sullivan."Leveraging the Learning Power of Examples inAutomated Constraint Acquisition”Proceedings CP'04, Toronto, Canada, pages 123-137.
R. Coletta, C. Bessiere, B. O'Sullivan, E. Freuder, S.O'Connell and J. Quinqueton."Constraint Acquisition as Semi-Automatic Modelling”Proceedings AI-2003, Cambridge, UK, pages 111--124.
Projet ANR blanc CANAR, Univ. Caen, Ecole desMines de Nantes, Univ. Orléans, Univ Montpellier.
![Page 38: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/38.jpg)
Optimistic
• e5=(3,3,3) violates the two constraints XZ and YZ– e5 positive
• remove 3/4 of the possible CSPs
– e5 negative• remove 1/4 of the
possible CSPs
• Works well when the target CSP is under-constrained
e5=(3,3,3)
X=Y?
XZ?YZ?
XY=Z
X+Y+Z10
or
![Page 39: Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)](https://reader035.vdocuments.pub/reader035/viewer/2022062404/551d9d84497959293b8bfcfc/html5/thumbnails/39.jpg)
Optimal
X=Y?
XZ?YZ?
XY=Z
X+Y+Z10
e6=(1,2,3)• e6=(1,2,3) only violates
the constraint X=Y– e6 positive
• remove 1/2 of the possible CSPs
– e6 negative• remove 1/2 of the possible
CSPs
• Divides the number of candidate networks by half whatever the answer of the user