Utiliser les contraintes sans rien y comprendre - PowerPoint PPT Presentation

About This Presentation
Title:

Utiliser les contraintes sans rien y comprendre

Description:

Des contraintes sur les combinaisons de valeurs autoris es sur certaines variables. Faire ... Quelles contraintes pour que le solveur aille vite ? ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 40
Provided by: utilis174
Category:

less

Transcript and Presenter's Notes

Title: Utiliser les contraintes sans rien y comprendre


1
Utiliser les contraintes sans rien y comprendre
  • Christian Bessiere
  • LIRMM
  • (CNRS/U. Montpellier)

2
Quest-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

3
Faire 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
4
Plan de maison
  • Variables
  • C (chambre),
  • B (salle de bain),
  • K (cuisine),
  • S (salon),
  • M (salle à manger)
  • Domaines no,n,ne,so,s,se

5
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)

6
Réseau de contraintes
7
Programmation par contraintes
modelling
Problem
Solution
solving
8
Modé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

9
Et si on nest pas expert ?
  • Choix des variables/domaines
  • Acquisition des contraintes
  • Améliorer un modèle de base

10
Choix des variables/domaines(prémodèles)
  • A partir dhistoriques des solutions passées
  • Solutions décrites par des tables

11
Extraire des prémodèles
12
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

13
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 nest pris quau plus une fois dans PM1
  • alldiff(XB,,XS) est une contrainte de M1

14
Application sudoku
L
C
V
XLCV
XLVC
XCVL
15
Et 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

16
Acqué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

17
Espace 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
18
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

Négatifs acceptés
Positifs rejetés
19
Ré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)
20
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 lapprentissage attribut-valeur

21
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 KR
  • Espace des versions Modèles(KR)
  • Bonnes propriétés quand R est complet

S
22
Requê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

23
Requê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 ?
24
Et si on nest pas expert ?
  • Choix des variables/domaines
  • Acquisition des contraintes
  • Améliorer le modèle de base

25
Amé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
26
Contraintes 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
27
Apprendre les paramètres P de gccP(X1..Xn)
Sol(M2)
Sol(M1)
28
Affectation 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

29
Affectation 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

30
Illustration modélisation automatique dactions
élémentaires en robotique
Mathias PAULIN paulin_at_lirmm.fr www.lirmm.fr/pauli
n
31
Contexte
  • 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.

32
Modé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.
33
Expé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.)

34
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 dun objet par le robot
Tribot!
35
Perspectives
  • 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

36
Many thanks to...
37
Bibliographie
  • 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.
38
Optimistic
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
39
Optimal
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
Write a Comment
User Comments (0)
About PowerShow.com