La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)"— Transcription de la présentation:

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

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} no nne se so s

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) } no nne se so s

6 loin a-cote Réseau de contraintes Alldiff(K,B,M,S,C) KB CSM nw,n,ne,sw,s,se C S M B K Chambre à lest Salon au sud Client :

7 Programmation par contraintes Problem Variables Domains Constraints Solution modelling 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 MS CRK SM SCK BK SCM RoomPosition SàMnw Cuisinen Salonne Chambresw SdBs RoomPosition Salonnw Cuisinen Chambrene SàM SdBse RoomPosition SdBnw Kuisinen Chambresw SàMs Salonse

11 Extraire des prémodèles Room, position RoomPosition RoomPosition SdBnw Kuisinen Chambresw SàMs Salonse X SdB {nw,n,ne,sw,s,se} X Salon {nw,n,ne,sw,s,se} ….

12 Extraire des prémodèles Deux prémodèles : –X B,…,X S {nw,n,ne,sw,s,se} –X nw,…,X se {B,C,K,M,S, } Des prémodèles triviaux : –X 1,…,X 5 {B-nw,B-n,B-sw,…, S-s,S-se} –X B-nw,…,X S-se {0,1} Room, position RoomPosition RoomPosition SdBnw Kuisinen Chambresw SàMs Salonse

13 Connecter les prémodèles PM1: X B,…,X S {nw,n,ne,sw,s,se} PM2: X nw,…,X se {B,C,K,M,S, } Contraintes de connexion : –X B = nw X nw = B nw nest pris quau plus une fois dans PM1 alldiff(X B,…,X S ) est une contrainte de M1

14 Application: sudoku L1C43 L1C51 L2C13 L2C34 L3C42 L3C98 ……… LCV X LC =V X LV =C X CV =L

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 XMXM XCXC XKXK XBXB XSXS ? ? ? ? ? ? ? ? Langage : ? { =,, a-cote, loin} Biais : X S =X B ; a-cote(X S,X B );… …; X K X M ; loin(X K,X M ) Positifs rejetés Négatifs acceptés

18 Codage compact en SAT Une formule SAT K qui code tous les réseaux possibles : –Chaque contrainte c i un littéral b i –Modèles( K ) = espace des versions –Exemple e- rejeté par {c i,c j,c k } une clause (b i b j b k ) –Exemple e+ rejeté par c i une clauses ( b i ) m models( K ) (m) = {c i m(b i )=1} accepte tous les exemples positifs et rejette tous les exemples négatifs Positifs rejetés Négatifs acceptés

19 Réduire lespace C(X K,X M ):, =, loin, a-cote CK BS M e+1e+1 C(X M,X S ):, =, loin, a-cote C(X K,X S ):, =, loin, a-cote e-2e-2 KB C S M K BS e+3e+3 C M M e-4e-4 K B C M S a-cote(X M,X S ) loin(X K,X S )

20 Redondance Les contraintes ne sont pas indépendantes a-cote(X K,X M ) a-cote(X M,X S ) loin(X K,X S ) Voir consistances locales en CSP Différent de lapprentissage attribut-valeur K M S

21 Redondance La redondance empêche la convergence Ensemble R de règles de redondance : alldiff(X 1,…,X n ) X i X j, i,j a-cote(X K,X M ) a-cote(X M,X S ) loin(X K,X S ) Dans K il y a –a-cote(X M,X S ) loin(X K,X S ) –a-cote(X K,X M ) On déduit loin(X K,X S ) de K + R Espace des versions = Modèles( K + R ) –Bonnes propriétés quand R est complet K M 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 : cl e1 = b 1 … b k K + R –Trouver m models( K + R ) tel quun seul littéral b i de cl e1 soit faux –Trouver e2 sol( (m)) : e2 ne viole que la contrainte c i b i ou b i ira dans K Si sol( (m))= : tout conflict-set est une nouvelle règle de redondance! Convergence rapide K+RK+R b 1 … b k m contient b i (m) e2 sol( (m)) Requête: e2 ? NPhard

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 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 lensemble de solutions On va apprendre des contraintes globales implicites The globalest is the best Problem Variables Domains Constraints Solution modelling solving BT-search + propagation

26 Contraintes globales implicites Modèle M1: Il ny a pas plus de deux 1 par solution M1+{card[#12](X 1..X n )}: mêmes solutions que M1 Mais solve(M1+ card) est plus rapide que solve(M1) X 1 … X n ….. sol(M1): Card[..]+card[..]+card[..] = gcc[P] gcc = propagation avec un algorithme de flot

27 Apprendre les paramètres P de gcc[P](X 1..X n ) Sol(M1) Sol(M2) gcc[P](X 1..X n ) M2 Très facile M1 Très difficile M1+ gcc[P](X 1..X n ) Facile

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) > 12h

29 Possibles(P) obligatoires(P) Affectation de tâches Lancer optimize(M1) pendant 1 sec. –Solution s 0 de coût F 0 M2 = M1+(cost12h PiPi

30 Illustration: modélisation automatique dactions élémentaires en robotique Mathias PAULIN

31 Contexte 1.Abstraire les actions élémentaires sous la forme de CSP 2.Combiner les CSP à laide doutils de planification 3.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. Couche décisionnelle Robot Couche physique Planificateur {(X i, D, C i )} Supervision Couche exécutive CONACQ Mission plan commandes données capteurs Architecture de supervision Acquisition automatique des actions élémentaires

32 Pour chaque action a i, on cherche à déterminer : Prec(a i ) modélise la pré condition de a i, Action(a i ) modélise le comportements des actionneurs, Post(a i ) modélise les effets de a i. Modélisation automatique dune action a i Données fournies à CONACQ : ( 1 I,…, p I, 1,…, q, 1 F,…, p F, étiquette) { 1 I, …, p I } = valeurs initiales des descripteurs (capteurs) du robot { 1, …, q } = tensions appliquées sur les actionneurs (moteurs) { 1 F, …, p F } = valeurs finales des descripteurs Objectif : Trouver les contraintes sur { 1 I,…, p I, 1,…, q, 1 F,…, p F } consistantes avec les données dentraînement.

33 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 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 C. Bessiere, R. Coletta, B O'Sullivan, M. Paulin. "Query-driven Constraint Acquisition Proceedings IJCAI'07, Hyderabad, India, pages 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 C. Bessiere, J. Quinqueton, G. Raymond. "Mining historical data to build constraint viewpoints Proceedings CP'06 Workshop on Modelling and Reformulation, Nantes, France, pages 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 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 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 Projet ANR blanc CANAR, Univ. Caen, Ecole des Mines de Nantes, Univ. Orléans, Univ Montpellier.

38 Optimistic 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 e5=(3,3,3) X=Y? X Z?Y Z? X Y=Z X+Y+Z 10 or

39 Optimal X=Y? X Z? Y Z? X Y=Z X+Y+Z 10 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


Télécharger ppt "Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier)"

Présentations similaires


Annonces Google