• Aucun résultat trouvé

Apprentissage, contraintes

Dans le document LIRMM RAPPORT D’ACTIVITÉS 2005-2008 (Page 125-129)

domaines permet par exemple d’aborder le problème de l’utilisation de la programmation par contraintes par des non spécialistes, avec les questions d’aide à la modélisation et de reformulation que cela pose. Cette fusion permet aussi d’aborder des problèmes classiques d’apprentissage avec une approche contraintes.

Lors des quatre dernières années, nous avons obtenu

COCONUT

Apprentissage, contraintes

Informatique

125

plusieurs résultats marquants, tant sur le plan algorithmique, que sur les fondements théoriques et sur les problèmes à la jonction apprentissage/contraintes.

Ces résultats ont notamment donné lieu à 5 articles dans Artifi cial Intelligence, 1 article dans Machine Learning, 8 articles dans IJCAI, 2 articles dans AAAI, 3 dans Constraints, 3 dans ECAI, etc. Nous en mettons quelques-uns dans leur contexte.

Algorithmes pour la résolution de contraintes pour ces variables et de contraintes portant sur des sous-ensembles de variables. Une contrainte est un prédicat qui spécifi e quelles combinaisons de valeurs sont possibles

pour ses variables. Une solution est une affectation de valeurs à toutes les variables du problème qui satisfait toutes les contraintes. L’originalité de la programmation par contraintes par rapport à d’autres paradigmes de résolution de problèmes est la propagation de contraintes, qui est appliquée pendant la recherche de solutions pour réduire la taille de l’espace à explorer. La propagation de contraintes simplifi e le problème en supprimant des valeurs qui conduisent à la violation d’au moins une contrainte.

Le niveau de propagation le plus utilisé est l’arc-consistance, qui enlève toutes les valeurs détectées incompatibles en considérant une seule contrainte à la fois. Si X,Y  {1,2,3} et Z  {1,3,5,7}, propager la contrainte X+Y=Z par arc-consistance supprime les valeurs 1 et 7 du domaine de Z. Nous avons proposé un algorithme d’arc-consistance facile à implémenter dans

les résolveurs de contraintes actuels tout en ayant une complexité optimale. Notre algorithme sert de base à l’algorithme générique de propagation des résolveurs les plus effi caces [1]. En 1997, nous avions proposé la singleton arc-consistance, un niveau de propagation plus fort que l’arc-consistance qui permet de résoudre certains problèmes trop diffi ciles pour les techniques standards. Nous avons proposé le premier algorithme de complexité optimale pour ce niveau de propagation, et aussi une version dégradée qui ne maintient pas

toutes les structures nécessaires à l’optimalité mais qui garde une complexité meilleure que

les algorithmes existants et montre de très bonnes performances pratiques [2]. Nous avons aussi proposé un algorithme pour propager une contrainte de placement qui s’applique bien au jeu Eternity II [3].

Nos travaux sur l’algorithmique des contraintes portent aussi sur les extensions du paradigme contraintes.

Nous avons proposé des algorithmes pour les problèmes à variables quantifi ées, où l’utilisateur n’est pas maître des valeurs prises par certaines variables (météo, méconnaissance de l’environnement, jeux à plusieurs joueurs). Nous avons aussi proposé des algorithmes de résolution de problèmes où les variables appartiennent à des agents distribués sur plusieurs sites.

La cohérence est alors garantie par envoi de messages entre agents [4].

Décomposabilité des contraintes globales

Depuis 15 ans, les contraintes globales sont devenues un thème central en programmation par contraintes. Une contrainte globale est un prédicat d’arité non fi xée, c’est-à-dire qui peut impliquer n’importe quel nombre de variables. La contrainte alldiff(X1..Xn), qui spécifi e que les variables X1..Xn doivent toutes prendre des valeurs différentes, est une contrainte globale car elle peut impliquer un nombre quelconque de variables, selon les besoins du problème traité. Les contraintes globales

connaissent un tel succès que plus de 200 ont déjà été proposées. Cela pose le problème de la mise à jour des résolveurs de contraintes car chaque contrainte globale nécessite un algorithme de propagation ad hoc. Nous avons montré que les contraintes globales se rangent dans trois catégories : celles qui sont NP-diffi ciles à propager, celles qui peuvent être décomposées en un nombre polynomial de contraintes primitives d’arité bornée sans perte de propagation, et celles qui ne sont ni NP-diffi ciles ni décomposables [5]. Nous avons récemment montré que cette dernière catégorie est non vide et contient des contraintes essentielles comme alldiff [6]. Ce dernier résultat démontre l’intérêt de la programmation par contraintes par rapport à la programmation en nombres entiers ou à la satisfaction de formules propositionnelles, qui ne peuvent pas représenter la même information en espace polynomial.

L’espoir de tout réduire à des contraintes d’arité bornée s’étant évanoui, la recherche d’un langage canonique contenant un ensemble réduit de contraintes globales permettant de tout exprimer devient la seule voie vers la simplifi cation de la programmation par contraintes.

Nous avons déjà proposé trois nouvelles contraintes globales qui permettent de représenter plus de 120 contraintes existantes [7], [8].

Apprentissage en-ligne de structures combinatoires Un des thèmes récurrents de l’apprentissage statistique est la conception d’algorithmes prédictifs en-ligne capables de prendre une décision à tout instant, et dont la précision s’améliore incrémentalement en fonction des erreurs faites jusqu’à présent. De tels algorithmes procèdent en « tours » : à chaque tour, l’apprenant reçoit une observation, puis prend une décision, et reçoit enfi n la réponse correcte. En plus de leur incrémentalité, ces algorithmes sont faciles à implémenter, utilisent peu de mémoire et de temps de calcul, résistent au bruit, et certains ont des propriétés de convergence quasi-optimales. De telles propriétés nous incitent naturellement à utiliser ces algorithmes pour apprendre à résoudre des problèmes en Intelligence

126

127 Artificielle. Cependant, les algorithmes en-ligne

utilisent à la base des hypothèses simples, comme les fonctions linéaires, qu’il s’agit d’étendre à des espaces combinatoires de grande dimension. Sur ce point, même si la technique des noyaux est, dans certains cas, possible pour certaines méthodes de pondération additive, le problème reste largement ouvert pour les méthodes quasi-additives ou multiplicatives, ou encore d’autres méthodes nécessitant de raisonner sur l’espace des versions. Dans ce cadre, nous avons proposé plusieurs stratégies permettant d’apprendre des structures combinatoires, sans perte de propriétés de convergence : (i) méthodes passives par comptage de modèles, pour apprendre des requêtes conjonctives [9], des DNF [10] ou des degrés de croyances [11], (ii) méthodes actives par requêtes d’appartenance, pour apprendre des réseaux de préférences [IJCAI09] et des réseaux de contraintes [12], [13], [14].

Prospective scientifi que

L’équipe étant toute jeune dans sa confi guration actuelle, et une dynamique forte se mettant en place, les thèmes que nous allons privilégier dans les quatre ans à venir sont ceux qui fédèrent, c’est-à-dire ceux qui gravitent autour de la jonction apprentissage/

contraintes. La formulation automatique de problèmes en réseaux de contraintes nécessite encore beaucoup de travail pour être complètement adaptée à un utilisateur non spécialiste de la programmation par contraintes. Nous devrons exploiter en profondeur les techniques issues de l’apprentissage, notamment les techniques à convergence logarithmique. Une fois le problème formulé, sa résolution nécessite souvent le savoir-faire de l’expert, qui choisit l’heuristique et le niveau de propagation adaptés à son problème ou la reformulation d’une partie diffi cile du problème. Pour rendre la programmation par contraintes complètement expert-free, nous devrons produire des résolveurs

adaptatifs, qui trouvent la bonne heuristique, le bon propagateur ou la bonne reformulation en fonction de l’instance qu’ils sont en train de résoudre. Des portfolios d’algorithmes choisis par analyse statistique de caractéristiques apprises a priori ne suffi ront pas.

Il faudra faire entrer l’apprentissage dans le résolveur.

A l’inverse, des problèmes d’apprentissage peuvent être résolus grâce à la programmation par contraintes. Par exemple, la propriété d’arc-consistance, bien connue en contraintes, permet de caractériser des opérations entre graphes qui permettent un apprentissage effi cace des similarités entre objets structurés [15]. Plus généralement, la fusion de ces deux domaines devrait permettre de résoudre les problèmes, de l’utilisateur jusqu’à la solution, en un continuum apprentissage/

raisonnement qui fait défaut aux systèmes actuels. Il devrait en émerger des questions fondamentales en IA et des solutions élégantes à des problèmes ouverts.

Le défi lié à nos travaux est de proposer un outil de modélisation et de résolution de problèmes à base de contraintes/préférences qui soit quasiment autonome.

Nous aurons atteint ce but quand un utilisateur lambda pourra se servir des contraintes sans assistance pour résoudre son sudoku, faire l’emploi du temps de son lycée ou laisser son web-assistant organiser ses voyages.

L’utilisateur peut aussi être un robot autonome qui apprendra seul à planifi er ses actions ou un jeu vidéo dans lequel la planifi cation de séquences sous contraintes est actuellement préprogrammée à la main par le concepteur du jeu.

Publications signifi catives

[1] An Optimal Coarse-Grained Arc Consistency Algorithm Bessiere C., Regin J.C., Yap R.H.C., Zhang Y.

Artifi cial Intelligence, Vol. 2, pp. 165-185, 2005

[2] Theoretical Analysis of Singleton Arc Consistency and Its Extensions»

Bessiere C., Debruyne R.

Artifi cial Intelligence, Vol. 172, pp. 29-41, 2008 [3] Fast Global Filtering for Eternity II

Bourreau E., Benoist T.

Constraint Programming Letters, Vol. 3, pp. 036-049, 2008

[4] Asynchronous Backtracking Without Adding Links: A New Member in the ABT Family

Bessiere C., Brito I., Maestre A., Meseguer P.

Artifi cial Intelligence, Vol. 161, pp. 7-24, 2005

128 [5] The Complexity of Reasoning with Global Constraints

Bessiere C., Hebrard E., Hnich B., Walsh T.

Constraints, Vol. 12, pp. 239-259, 2007

[6] Circuit Complexity and Decompositions of Global Constraints

Bessiere C., Katsirelos G., Narodytska N., Walsh T.

IJCAI’09, p. N/A, 2009

[7] Range and Roots: Two Common Patterns for Specifying and Propagating Counting and Occurrence Constraints Bessiere C., Hebrard E., Hnich B., Kiziltan Z., Walsh T.

Artifi cial Intelligence, Vol. 173, pp. 850-875, 2009 [8] SLIDE: A Useful Special Case of the CARDPATH Constraint

Bessiere C., Hebrard E., Hnich B., Kiziltan Z., Quimper C.-G., Walsh T.

ECAI’08: Eighteenth European Conference on Artifi cial Intelligence, pp. 475-479, 2008

[9] Online Closure-Based Learning of Relational Theories Koriche F.

ILP’05: Inductive Logic Programming, August, pp. 172-189, 2005

[10] Online Rule Learning via Weighted Model Counting Koriche F.

ECAI’08: Eighteenth European Conference on Artifi cial Intelligence, pp. 5-9, 2008

[11] Learning to Assign Degrees of Belief in Relational Domains

Koriche F.

Machine Learning, Vol. 73, pp. 25-53, 2008 [12] Query-Driven Constraint Acquisition Bessiere C., Coletta R., O’Sullivan B., Paulin M.

IJCAI’07: International Joint Conference on Artifi cial Intelligence, pp. 44-49, 2007

[13] Automatic Design of Robot Behaviors through Constraint Networks Acquisition

Paulin M., Bessiere C., Sallantin J.

ICTAI’08: 20th IEEE International Conference on Tools with Artifi cial Intelligence, November 03, p. N/A, 2008 [14] Algebraic results and bottom-up algorithm for policies generalization in reinforcement learning

Ricordeau M., Liquière M.

Journal Nonlinear Analysis: Hybrid Systems, Vol. 2, pp.

684-694, 2008

[15] Arc Consistency Projection: A New Generalization Relation for Graphs

Liquière M.

ICCS’07: International Conference on Conceptual Structures, pp. 333-346, 2007

Présentation

L’équipe D’OC étudie les modèles, langages et outils du génie logiciel à objets, composants et services. Elle les applique également dans divers contextes comme ceux des systèmes d’information, des sciences du vivant et de l’environnement, de la chimie, ou encore de la robotique au travers de diverses collaborations interdisciplinaires. Elle est unifi ée par le concept d’objet, autour duquel une large part du génie logiciel actuel est structurée, par ses propriétés, ses adaptations et évolutions : composants et services.

Grandes thématiques :

• Ingénierie des modèles, analyse relationnelle de concepts,

• Spécifi cation et implantation des langages à objets,

• Composants et services : recherche, orchestration, annuaires,

• Composants et services : modèles et langages,

• Ingénierie des systèmes d’information des systèmes complexes,

• Fiabilité du logiciel : étude des systèmes testables et tolérants aux fautes,

• Systèmes d’information pour la chimie.

129

D’OC

Données

Dans le document LIRMM RAPPORT D’ACTIVITÉS 2005-2008 (Page 125-129)