Title: Utiliser les contraintes sans rien y comprendre
1Utiliser les contraintes sans rien y comprendre
- Christian Bessiere
- LIRMM
- (CNRS/U. Montpellier)
2Quest-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
3Faire un plan de maison
Appartement 5 pièces (Chambre, Bain, Cuisine,
Salon, Salle-à-Manger) sur un emplacement à 6
pièces
- 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
nord-ouest
nord-est
nord
sud-ouest
sud-est
sud
4Plan de maison
- Variables
- C (chambre),
- B (salle de bain),
- K (cuisine),
- S (salon),
- M (salle à manger)
- Domaines no,n,ne,so,s,se
5Plan 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)
6Réseau de contraintes
7Programmation par contraintes
modelling
Problem
Solution
solving
8Modélisation(its 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 lefficacité ?
- Quelles contraintes pour que le solveur aille
vite ? - Contraintes globales, symétries
- ? Tout tient au savoir-faire de lexpert
9Et si on nest pas expert ?
- Choix des variables/domaines
- Acquisition des contraintes
- Améliorer un modèle de base
10Choix des variables/domaines(prémodèles)
- A partir dhistoriques des solutions passées
- Solutions décrites par des tables
11Extraire des prémodèles
12Extraire 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
13Connecter 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 nest pris quau plus une fois dans PM1
- alldiff(XB,,XS) est une contrainte de M1
14Application sudoku
L
C
V
XLCV
XLVC
XCVL
15Et si on nest pas expert ?
- Choix des variables/domaines
- Acquisition des contraintes
- Espace des réseaux
- Redondance
- Requêtes
- Améliorer un modèle de base
16Acquérir les contraintes
- Lutilisateur ne sait pas spécifier des
contraintes - Il sait reconnaître les solutions des
non-solutions - Ex maison valide ou pas
- Utilisation de techniques dapprentissage
- Interaction par des exemples (e) ou
contre-exemples (e-) - Acquisition du réseau de contraintes exprimant
son problème
17Espace des réseaux possibles
?
?
XM
XK
Négatifs acceptés
?
XC
?
?
?
?
XB
XS
?
- Langage
- ? ? , ?, a-cote, loin
- Biais
- XSXB a-cote(XS,XB) XK?XM loin(XK,XM)
Positifs rejetés
18Codage 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
Négatifs acceptés
Positifs rejetés
19Réduire lespace
C(XK,XM) ?, , loin, a-cote
C(XM,XS) ?, , loin, a-cote
C(XK,XS) ?, , loin, a-cote
a-cote(XM,XS) ? loin(XK,XS)
20Redondance
- 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 lapprentissage attribut-valeur
21Redondance
- 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 KR
- Espace des versions Modèles(KR)
- Bonnes propriétés quand R est complet
S
22Requêtes
- Les exemples fournis apportent parfois peu
dinformation 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 lespace
- e positif ? k contraintes retirées de lespace
- e négatif ? une clause de taille k
- Bonne requête exemple qui réduit beaucoup
lespace quelle que soit la réponse
23Requêtes
- Exemple e1 négatif
- ? cle1 b1??bk ? KR
- Trouver m ? models(KR) tel quun 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
m contient ?bi
?(m)
e2 ? sol(?(m))
Requête e2 ?
24Et si on nest pas expert ?
- Choix des variables/domaines
- Acquisition des contraintes
- Améliorer le modèle de base
25Améliorer le modèle
modelling
- Modèle de base M1
- solve(M1) 8
- ? Les experts ajoutent
- des contraintes implicites
- qui augmentent la quantité
- de propagation
- Une contrainte implicite ne
- change pas lensemble de solutions
- ? On va apprendre des contraintes globales
implicites
Problem
Solution
solving
The globalest is the best
26Contraintes globales implicites
- Modèle M1
- Il ny a pas plus de deux 1 par solution
- M1card12(X1..Xn) mêmes solutions que M1
- Mais solve(M1 card) est plus rapide que solve(M1)
Card..card..card.. gccP gcc
propagation avec un algorithme de flot
27Apprendre les paramètres P de gccP(X1..Xn)
Sol(M2)
Sol(M1)
28Affectation de tâches
- Projets à affecter à des étudiants dIUT en
minimisant la déception - Modèle M1 construit par des étudiants dIUT (2h
de formation CP) - optimize(M1) gt 12h
29Affectation de tâches
Pi
- Lancer optimize(M1) pendant 1 sec.
- Solution s0 de coût F0
- M2 M1(costltF0)
- obligatoires(P) ? cardinalités(s0) possibles(P)
? Z - choisir Pi ? possibles(P) \ obligatoires(P)
- s ? solve(M2 gccPi (X1..Xn) )
- Si s ? alors possibles(P) ? possibles(P) \ Pi
- Sinon obligatoires(P) ? obligatoires(P)
cardinalités(s) - optimize(M1 gccpossibles(P)(X1..Xn))
- ? solution optimale en 43mn au lieu de gt12h
30Illustration modélisation automatique dactions
élémentaires en robotique
Mathias PAULIN paulin_at_lirmm.fr www.lirmm.fr/pauli
n
31Contexte
- Abstraire les actions élémentaires sous la forme
de CSP - Combiner les CSP à laide doutils de
planification - Contrôler lexécution dune tâche, en corrigeant
les écarts éventuels entre les prévisions et la
réalité, via les mécanismes de propagation.
32Modélisation automatique dune action ai
- ? Pour chaque action ai, on cherche à déterminer
? Données fournies à CONACQ (?1I,, ?pI, ?1,,
?q, ?1F,, ?pF, étiquette) ?1I, , ?pI
valeurs initiales des descripteurs (capteurs) du
robot ?1, , ?q tensions appliquées sur
les actionneurs (moteurs) ?1F, , ?pF
valeurs finales des descripteurs
? Objectif Trouver les contraintes sur ?1I,,
?pI, ?1,, ?q, ?1F,, ?pF consistantes avec les
données dentraînement.
33Expérimentation Tribot Mindstorms (1)
- 5 actions Trouver une cible, Avancer, Avancer
avec précision, Ouvrir Fermer la pince. - Discrétisation des variables descripteurs
- Originalité
- Ce nest pas un utilisateur qui classe les
exemples. - Cest un simulateur ou le robot lui-même (échec,
chute, etc.)
34Expé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 dun objet par le robot
Tribot!
35Perspectives
- Prises en compte de la connaissance de base
(ontologies) pour renforcer le biais - Techniques dapprentissage résistant au bruit
(erreurs de lutilisateur) - Plateforme de test pour novice (outils de
visualisation, etc.) - Reconnaissance de motifs pour cibler les
contraintes implicites
36Many thanks to...
37Bibliographie
- C. 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-based
- Version Space Algorithm
- Proceedings AAAI'06, Nectar paper, Boston MA,
pages - 1565-1568.
- C. Bessiere, J. Quinqueton, G. Raymond.
- "Mining historical data to build constraint
viewpoints - Proceedings CP'06 Workshop on Modelling and
- Reformulation, Nantes, France, pages 1-16.
C. Bessiere, R. Coletta, F. Koriche, B.
O'Sullivan. "A SAT-Based Version Space Algorithm
for Acquiring Constraint 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 in Automated 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 des Mines de Nantes,
Univ. Orléans, Univ Montpellier.
38Optimistic
e5(3,3,3)
- e5(3,3,3) violates the two constraints X?Z and
Y?Z - 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
XY?
X?Z?
Y?Z?
X?YZ
39Optimal
e6(1,2,3)
- e6(1,2,3) only violates the constraint XY
- 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
XY?
Y?Z?
X?Z?
X?YZ