Utiliser les contraintes sans rien y comprendre

Slides:



Advertisements
Présentations similaires
Qu’est-ce qu’on va faire aujourd’hui ?.
Advertisements

Relational Learning as a Search in a Critical Region Lou Fedon 9 Mars 2006.
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Apprentissage supervisé à partir de séquences
Apprentissage relationnel Apprentissage Data Mining ILP.
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Patterns & Anti Patterns
Journées Francophones
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Application de réseaux bayésiens à la détection de fumées polluantes
Yann Chevaleyre et Jean-Daniel Zucker
Systèmes Experts implémentation en Prolog
ACS et Séquences Comportementales en environnements non-markoviens
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Analyse et diagnostic Développement d’Outils
1 Adapter un Environnement de Conception de Système dApprentissage au Web Charun Sanrach Monique Grandbastien Equipe Informatique et Formation Loria, France.
El-Djillali TALBI Doctorant systèmes industriels
Intellectual Property Rights are governed by PROTEUS Contract and PROTEUS consortium agreements. Before using, reproducing, modifying or disclosing the.
Application à la méthode des
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Reconstruction de volume 3D
”Consommation d`énergie kWh – équipement électrique domestique”
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Modèles stochastiques M1 MIAGe – Bordeaux
INF 162 Probabilités pour l’informatique Licence informatique
Cours d’Automatique MASTER OIV
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Apprendre à partir des observations
Un neurone élémentaire
Etude des Technologies du Web services
Des RRA à la diagnosticabilité
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
Automates Programmables Industriels Automates Programmables
Méthode des k plus proches voisins
28/04/2003 ©PEPITe S.A.
Retour dexpérience Challenge PKDD Plan Types de données fournies lors des challenges Démarche suivie lors des 3 challenges.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
En classejeudi 30 octobre Ma maison Lobjectif – to be able to name the rooms of the house.
Les réseaux de neurones
Rappels de logique des prédicats du 1er ordre
CSI3525: Concepts des Languages de Programmation
Universté de la Manouba
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
ADAMOS Une plate-forme pour concevoir et évaluer des services proactifs Système proactif ? qui évolue en fonction des paramètres de lenvironnement physique.
Diagnostic utilisant les tests d’hypothèses structurés.
Modélisation géométrique de base
La Maison.
Architecture d’un système expert
Séminaire 10 Juin 2008 Pervasive Learning Network : P-LearNet Institut TELECOM.
JavaScript.
Algorithmes et Programmation
Energy optimization in a manufacturing plant Journée GOThA Ordonnancement avec contraintes d’énergie et/ou de ressources périssables LAAS-CNRS Toulouse.
Programmation linéaire en nombres entiers
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Christelle Scharff IFI 2004
10 juin 2008 Journée Technologies et Enjeux de l'Apprentissage Mobile Equipe SIMBAD.
Recherches locales et méta-heuristiques
Qu’est-ce qu’on va faire aujourd’hui ?. 1.On va réviser ‘où habites- tu?’ 2.On va manger du chocolat 3.On va étudier la maison.
(ref : Bray section pages 259 à 266)
Intelligence artificielle
Thibault ROY & Olivier SAGIT Exposé du mercredi 17 décembre 2003 Apprentissage Interactif Apprentissage avec SpamAssassin UFR de Sciences Département d’Informatique.
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
1 Logiciels de confection automatique d’horaires.
Organisation des séquences pédagogiques TD TP
Du Cahier des Charges à la Spécification Formelle ?
Cours 11 Entrepôts de données
Je suis petit et je Code Concours des Enseignants Innovants PIL - Local Forum 2015 TUNISIA République Tunisienne Ministère de l’Education.
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
Compilation & Apprentissage dans les Réseaux de Contraintes Hervé Cros Directeurs :Frédéric Koriche Joël Quinqueton.
Transcription de la présentation:

Utiliser les contraintes sans rien y comprendre Christian Bessiere LIRMM (CNRS/U. Montpellier) Je vais vous parler de CP. Mais pas des techniques de resolution, qui ont Occupé la communaute pendant 30 ans. Plutôt comment utiliser la CP quand on n’y comprend rien Car pas assez diffusée par manque d’experts

Qu’est-ce que les “CSP” 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

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 Un constructeur --> proposer tous les plans possibles Satisfaisant ses contraintes Ajout contraintes client sud-ouest sud-est sud

Plan de maison Variables : Domaines : {no,n,ne,so,s,se} no n ne se so C (chambre), B (salle de bain), K (cuisine), S (salon), M (salle à manger) Domaines : {no,n,ne,so,s,se}

Plan de maison Contraintes : no n ne se so s 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) }

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

Programmation par contraintes modelling ??? Problem Variables Domains Constraints Séparation propre entre modelling et solving Solving: 30 ans de recherche Modelling??? Solution solving

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

Et si on n’est pas expert ? Choix des variables/domaines Acquisition des contraintes Améliorer un modèle de base

Choix des variables/domaines (prémodèles) A partir d’historiques des solutions passées Solutions décrites par des tables 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 M S C R K Room Position SdB nw Kuisine n Chambre sw SàM s Salon se S M C K B K S C M

Extraire des prémodèles XSdB  {nw,n,ne,sw,s,se} XSalon  {nw,n,ne,sw,s,se} …. Room, position Room Position  Room Position SdB nw Kuisine n Chambre sw SàM s Salon se

Extraire des prémodèles Room, position Room Position  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 SdB nw Kuisine n Chambre sw SàM s Salon se

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

Application: sudoku L C V XLC=V XLV=C XCV=L L1 C4 3 C5 1 L2 C1 C3 4 L3 8 … XLC=V XLV=C XCV=L

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

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

Espace des réseaux possibles ? XK ? XM Négatifs acceptés ? ? XC ? ? ? XB XS ? Langage : ?  { =, ≠, a-cote, loin} Biais : XS=XB; a-cote(XS,XB);… …; XK≠XM; loin(XK,XM) Treillis des sous ensembles de contraintes Positifs rejetés

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 Chaque interprétation --> un point de l’espace Positifs rejetés

Réduire l’espace C K B S M e+1 C(XK,XM): , =, loin, a-cote e-2 K B C C(XM,XS): , =, loin, a-cote K B S e+3 C M C(XK,XS): , =, loin, a-cote E2 est presque le meme que e1 M e-4 K B C S a-cote(XM,XS)  loin(XK,XS)

Redondance Les contraintes ne sont pas indépendantes K M S 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

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

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

Requêtes K+R Exemple e1 négatif : b1…bk  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 m contient bi (m) NPhard e2  sol((m)) Requête: “e2” ?

Et si on n’est pas expert ? Choix des variables/domaines Acquisition des contraintes Améliorer le modèle de base

Améliorer le modèle Modèle de base M1 : solve(M1) ≈ ∞ modelling 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 Problem Variables Domains Constraints BT-search + propagation Solution solving The globalest is the best Solveurs actuels: propagate individual constraints Globales c’est mieux

Contraintes globales implicites X1 … Xn 112345 332223 551554 124135 ….. sol(M1): 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) Card[..]+card[..]+card[..] = gcc[P] gcc = propagation avec un algorithme de flot

Apprendre les paramètres P de gcc[P](X1..Xn) Très difficile M2 Très facile M1+ gcc[P’](X1..Xn) Facile gcc[P](X1..Xn) gcc[P’](X1..Xn) Sol(M2) Sol(M1)

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

Affectation de tâches Pi Lancer optimize(M1) pendant 1 sec. Possibles(P) obligatoires(P) Pi 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

Illustration: modélisation automatique d’actions élémentaires en robotique Mathias PAULIN paulin@lirmm.fr www.lirmm.fr/~paulin

Architecture de supervision Contexte Abstraire les actions élémentaires sous la forme de CSP Combiner les CSP à l’aide d’outils de planification 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. Acquisition automatique des actions élémentaires Couche décisionnelle Robot Couche physique Planificateur {(Xi, D, Ci)} Supervision Couche exécutive CONACQ Mission plan commandes données capteurs Architecture de supervision

Modélisation automatique d’une action ai  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.  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 d’entraînement.

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

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!

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

Many thanks to...

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.

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 X+Y+Z10 X=Y? YZ? or XZ? XY=Z

Optimal 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 Divides the number of candidate networks by half whatever the answer of the user X+Y+Z10 X=Y? YZ? XZ? XY=Z