LABORATOIRE D INFORMATIQUE DE NANTES-ATLANTIQUE UMR 6241 ÉCOLE DOCTORALE STIM, N. 503 «Sciences et technologies de l information et des mathématiques» Sujet de thèse pour 2016 Analyse du mécanisme propagation-recherche en programmation par contraintes Vers la configuration autonome des outils de contraintes Directeur de thèse NOM, Prénom : LORCA, Xavier Équipe d accueil : TASC Unité de recherche : LINA (UMR 6241) Unité de rattachement : Écoles des Mines de Nantes Courriel : xavier.lorca (at) mines-nantes.fr Téléphone : (+33/0)2 51 85 82 32 Taux d encadrement : 60 % Co-encadrant NOM, Prénom : TRUCHET, Charlotte Équipe d accueil : TASC Unité de recherche : LINA (UMR 6241) Unité de rattachement : Université de Nantes Courriel : Charlotte.Truchet (at) univ-nantes.fr Téléphone : (+33/0)2 51 12 53 48 Taux d encadrement : 40 % Nombre de thèses en cours : 1 Financement prévu : MESR, MINES, Inria
Sujet de thèse pour 2016 Analyse du mécanisme propagation-recherche en programmation par contraintes Vers la configuration autonome des outils de contraintes Résumé. La richesse de la programmation par contraintes repose sur la très large variété des algorithmes qu elle utilise en puisant dans les grands domaines de l Intelligence Artificielle, de la Programmation Logique et de la Recherche Opérationnelle. Cependant, cette richesse, qui offre aux spécialistes une palette quasi-illimité de configurations possibles pour attaquer des problèmes combinatoires, devient une frein à la diffusion plus large du paradigme, car les outils actuels sont très loin d une boîte noire, et leur utilisation suppose une bonne connaissance du domaine, notamment en ce qui concerne leur paramétrage. Cette thèse s attaque à l un des obstacles à l utilisation plus large des outils de programmation par contraintes, en proposant d analyser leur comportement avec des modèles probabilistes, puis d utiliser ces modèles pour les paramétrer automatiquement : heuristiques de choix de variables et de choix de valeurs, stratégies de recherche, et enfin paramétrage de la propagation. Mots clés. Programmation par contraintes, propagation de contraintes, heuristiques de recherche, analyse de données, modèle probabiliste 2
Introduction Contexte scientifique et thématique du sujet Historiquement, la programmation par contraintes [vh89, Lau78, Mac77] est une discipline située à la croisée de nombreux domaines comme la recherche opérationnelle, l analyse numérique, le calcul symbolique et l intelligence artificielle. Elle apporte une nouvelle approche à la résolution de problèmes combinatoires en tentant de combiner et d unifier le meilleur de chacune de ces disciplines. Raisonner par «contraintes» c est s interroger sur les propriétés intrinsèques caractérisant la sémantique d un problème. Nous entendons par là que cette discipline a pour vocation à s abstraire autant que possible de tout raisonnement opérationnel afin de se concentrer sur une spécification théorique de chaque problème. En cela, la programmation par contraintes est un paradigme déclaratif. Le cœur de la programmation par contraintes, et par là nous entendons son caractère opérationnel, repose sur le couple propagation-recherche : la partie propagation essaie de déduire de nouvelles informations à partir de l état courant des variables. Quant à la partie recherche, elle consiste en un parcours, généralement une exploration dite en profondeur d abord, de l espace de recherche du problème combinatoire associé. Un algorithme effectuant uniquement un parcours de cet espace de recherche énumérera toutes les assignations de variables possibles jusqu à, soit trouver une solution au problème, soit trouver toutes les solutions, soit enfin conclure qu il n existe aucune solution satisfaisant simultanément toutes les contraintes. Un tel algorithme, que l on peut qualifier d algorithme de recherche exhaustif, a une complexité en temps exponentielle par rapport à la donnée du problème (nombre de variables, taille des domaines, nombre de contraintes). C est à ce niveau que le mécanisme de propagation vient intelligemment épauler la recherche. En effet, il permet aux outils de contraintes de détecter et de supprimer des parties inutiles (dites inconsistantes) de l espace de recherche sans avoir à les parcourir explicitement. La réduction de l espace de recherche est effectuée au travers de la propagation de chaque contrainte mise en jeu dans le problème, via un mécanisme appelé filtrage. Le filtrage consiste en l examen de chaque variable non encore assignée (ou instanciée), en vue de supprimer de son domaine toute valeur inconsistante. Malheureusement, détecter et supprimer pour chaque variable toutes les valeurs inconsistantes relève très souvent d un problème NP-difficile. C est pour cela que le couple «propagation-recherche» est généralement indissociable et que la recherche d un juste équilibre entre l efficacité, en termes du temps de calculs, et l effort en terme de filtrage, reste très complexe à trouver, et bien souvent dépendant du problème (voire de l instance du problème) étudié(e). Problèmes et opportunités Un enjeu majeur est donc la gestion de l effort entre le mécanisme de propagation (déductif) et le mécanisme de recherche (exhaustif). Cette gestion de l effort passe aujourd hui par un paramétrage subtil des outils, qui reste malheureusement dévolu aux utili- 3
sateurs avancés. Par utilisateur avancé, il faut comprendre des utilisateurs, qui en plus de maitriser la modélisation (mathématique) de problèmes combinatoires, connaissent et sont en mesure d agir sur la configuration d un outil en amont du processus de résolution. Cette étape de paramétrage repose une connaissance poussée de l architecture (au sens du génie logiciel) de ces outils. Il s agit donc d une expertise à plusieurs niveaux : une connaissance fine de la complexité du problème - Au delà du fait que l on attaque généralement des problèmes NP-difficiles, tous ne sont pas aussi «dur» les uns que les autres ; les problèmes jugés «très complexes» nécessitent un gros effort sur la partie déductive, à savoir la propagation. Ce qui signifie que les contraintes utilisées, la puissance de leurs algorithmes de filtrage, ainsi que le schéma de propagation doivent être adaptés pour maximiser les chances de détecter les zones inconsistantes de l espace de recherche même pour un prix élevé ; les problèmes jugé plus «simple» ou de grande taille nécessitent à l inverse de ménager l effort de filtrage/propagation, qui s avèrera souvent inutile, afin de privilégier une stratégie de recherche efficace mais qu il faut paramétrer! Ces trois points montrent bien que l on reste loin d un outil accessible à un non spécialiste de la technologie. Pour comparaison, les outils de programmation par contraintes sont encore très loin d égaler les outils de programmation linéaire (type CPLEX ou Gurobi) en terme d utilisation boîte noire où l utilisateur peut se contenter d une modélisation simple de son problème pour espérer le résoudre. Objectifs Le sujet proposé a pour but d améliorer à la fois la compréhension de l imbrication propagation-recherche dans les outils de contraintes, et d avancer vers ce Graal d un paramétrage automatique en reposant sur l expertise des encadrants tant sur les aspects purement combinatoires, que sur l expertise en développement d outil de contraintes, et en particulier de l outil Choco [JRL08]. Ainsi, dans la continuité des travaux sur les indicateurs probabilistes [BGLT13] développé au sein de l équipe TASC (et qui se poursuivent depuis), le premier objectif de la thèse est d analyser le comportement du mécanisme de propagation et de recherche d un outil de contraintes (Choco) afin de définir des indicateurs de comportements pertinents. Pour cela, on étudiera les problèmes sur la base d un modèle probabiliste (dans lequel l espace de recherche, trop grand pour être étudié exhaustivement, sera remplacé par un ensemble de variables aléatoires), complété par une étude statistique sur un petit nombre de problèmes considérés comme caractéristiques (aléatoires et structurés). Fort de cette analyse, le second objectif est l instrumentation de l outil afin de lui permettre de se configurer de manière autonome en considérant un nombre de dimension 4
aussi large que possible. Pour cela, on pourra par exemple utiliser le modèle probabiliste développé, qui permettra d exprimer et de calculer des informations de la forme : "telle partie du domaine d une variable a-t-elle une chance d être inconsistante (i.e. ne pas conduire à une solution)?". L exploitation de ce type d informations à la volée dans le solveur permettra d orienter la recherche efficacement et sans contrôle de l utilisateur. Enfin, le dernier objectif est d effectuer une validation pratique de cette étude sur l outil Choco développé au sein de l équipe TASC à partir d une large base de Benchmarks à définir (MiniZinc [SFS + 14], XCSP [ML14], etc.). Plan de travail prévisionnel de l étude S appuyant sur l expérience des encadrants dans le domaine des contraintes et du développement de l outil Choco, le travail s articulera en cinq temps : 1. Appropriation et état de l art critique autour des algorithmes de propagation et des dernières avancées : APOAC [BBBT14], etc. ; 2. Appropriation et état de l art critique autour des stratégies de recherche et en particulier des dernières avancées : Impact-Based [Ref04], Activity-Based [MH12], et les approches à base d apprentissage [CS15] ; 3. Analyse d indicateurs pertinents pour les mécanismes de propagation et de filtrage ; 4. Analyse d indicateurs pertinents pour les stratégies de recherche ; 5. Exploitation des indicateurs pour la conception de stratégies autonomes pour le mécanisme de propagation / recherche au sein de l outil Choco. 5
Candidats Compétences Le candidat devra avoir des compétences avérées et/ou des connaissances suffisantes dans les domaines suivants : Programmation par contraintes ; Combinatoire et Analyse de données. 6
Bibliographie [BBBT14] A. Balafrej, C. Bessiere, E-H. Bouyakhf, and G. Trombettoni. Adaptive singleton-based consistencies. In Proceedings of the Twenty-Eighth AAAI Conference on Artificial Intelligence, July 27-31, 2014, Québec City, Québec, Canada., pages 2601 2607, 2014. [BGLT13] J. Du Boisberranger, D. Gardy, X. Lorca, and C. Truchet. When is it worthwhile to propagate a constraint? A probabilistic analysis of alldifferent. In Proceedings of the 10th Meeting on Analytic Algorithmics and Combinatorics, ANALCO 2013, New Orleans, Louisiana, USA, January 6, 2013, pages 80 90, 2013. [CS15] Geoffrey Chu and Peter J. Stuckey. Learning value heuristics for constraint programming. In Integration of AI and OR Techniques in Constraint Programming - 12th International Conference, CPAIOR 2015, Barcelona, Spain, May 18-22, 2015, Proceedings, volume 9075 of Lecture Notes in Computer Science, pages 108 123. Springer, 2015. [JRL08] N. Jussien, G. Rochart, and X. Lorca. The choco constraint programming solver. In Workshop on Open-Source Software for Integer and Contraint Programming (OSSICP 08), 2008. [Lau78] J-L. Laurière. A Language and a Program for Stating and Solving Combinatorial Problems. Artificial Intelligence, 10 :29 127, 1978. [Mac77] A.K. Mackworth. Consistency in Networks of Relations. Artif. Intell., 8(1) :99 118, 1977. [MH12] L. Michel and P. Van Hentenryck. Activity-based search for black-box constraint programming solvers. In Integration of AI and OR Techniques in Contraint Programming for Combinatorial Optimzation Problems - 9th International Conference, CPAIOR 2012, Nantes, France, May 28 - June1, 2012. Proceedings, volume 7298 of Lecture Notes in Computer Science, pages 228 243. Springer, 2012. [ML14] A. Malapert and C. Lecoutre. A propos de la bibliothèque de modèles xcsp. In 1àèmes journées francophones de Programmation par Contraintes (JFPC 14), pages 337 340, 20014. 7
[Ref04] P. Refalo. Impact-based search strategies for constraint programming. In Principles and Practice of Constraint Programming - CP 2004, 10th International Conference, CP 2004, Toronto, Canada, September 27 - October 1, 2004, Proceedings, volume 3258 of Lecture Notes in Computer Science, pages 557 571. Springer, 2004. [SFS + 14] P. J. Stuckey, T. Feydy, A. Schutt, G. Tack, and J. Fischer. The minizinc challenge 2008-2013. AI Magazine, 35(2) :55 60, 2014. [vh89] P. van Hentenryck. Constraint satisfaction in logic programming. MIT Press, 1989. 8
CV du directeur de thèse : Xavier Lorca Parcours universitaire 2014 : Habilitation à diriger des recherches, Programmation par Contraintes Université de Nantes LINA UMR 6241 2004-2007 : Doctorat Informatique, Programmation par Contraintes Université de Nantes École des Mines de Nantes LINA UMR 6241 2003-2004 : Diplôme d Études Approfondies (DEA) en Informatique Université Montpellier II Laboratoire d Informatique de Robotique et de Microélectronique de Montpellier (LIRMM) UMR 5506 Parcours professionnel Depuis Sept. 2008 : Maître Assistant École des Mines de Nantes, équipe TASC (dir. Nicolas Beldiceanu). Nov. 2007 - Sept. 2008 : Ingénieur de Recherche, Projet Européen Net-WMS Oct. 2004 - Oct. 2007 : Doctorat Informatique, Programmation par Contraintes Université de Nantes École des Mines de Nantes, équipe Contraintes. 9
CV du co-encadrant de thèse : Charlotte Truchet 40 years. Assistant Professor, Université de Nantes, LINA UMR 6241, since 2005, with two maternity leaves, 3 months each, in 2008 and 2013. Diplomas. 2004 Ph.D. in Computer Science. Université de Paris 7. Title : Constraints, Local Search and Computer Assisted Composition". Advisors : Philippe Codognet, Université de Paris 6, and Gérard Assayag, IRCAM 1999 Master Degree in Computer Science. University of Paris 7 Denis Diderot Main scientific and administrative responsibilities. Program Chair of the JFPC 2013 (French Constraint Programming Conference) http://www.lsis.org/jfpc-jiaf2013/jfpc/ Equal Opportunity Officier of the Université de Nantes since 2012 Editor, with G. Assayag, of a book : "Constraint Programming in Music", ISTE/Wiley, 2011 Member of the Program Committee of IJCAI (2013, 2015), CP (2015), JFPC (2004-2010), ECAI (2012), and Reviewer for the Constraint Journal and Journal of Artificial Intelligence (JAIR). Member of the Recruiting Committee (CS 27) for the Universities of Caen and Lens in 2015, Angers in 2014, Nantes in 2012, Bordeaux 1 in 2011 President of the Organizing Committee of the JFPC 2008 http://www.lina.sciences.univ-nantes.fr/jfpc08/ Research interests. Dr. Charlotte Truchet received her PhD in Computer Science from the Université de Paris 7 in 2004. She worked on application of Constraint Programming (CP) to musical contemporary composition, mostly with Local Search (LS) techniques, and designed a LS-based solving tool in Open Music, a programming language dedicated to music. Later, she edited, with Gérard Assayag (IR- CAM), a book on musical applications of CP : "Constraint Programming in Music", ISTE/Wiley, 2011. Since 2005, she is assistant professor at Nantes University, in the TASC team. Her main research interests are : global constraints (generic model), prediction models for the behavior of solving algorithms, using applied probabilities, and extension of CP techniques to integrate tools from Abstract Interpretation. She has organized the french CP conference in Nantes in 2008 (JFPC 08) and was program chair of the same conference in 2013 (JFPC 13). 10
Publications. - 4 articles in refereed journals. - 13 articles in refereed conferences with proceedings. - 4 book chapters, 1 book edition (Constraint Programming in Music, Wiley 2011, C. Truchet & G. Assayag ed.) Five recent publications (in the last five years). 1. Marie Pelleau, Antoine Miné, Charlotte Truchet, Frédéric Benhamou A Constraint Solver based on Abstract Domains, Proceedings of VMCAI 2013-14th International Conference on Verification, Model Checking, and Abstract Interpretation, Rome, Italie, January 2013. 2. Alejandro Arbelaez, Philippe Codognet, Charlotte Truchet, Using sequential runtime distributions for the parallel speedup prediction of SAT local search, Theory and Practice of Logic Programming, TPLP 13(4-5) : 625-639 (2013) 3. Marie Pelleau, Charlotte Truchet, Frédéric Benhamou The octagon abstract domain for continuous constraints, Constraints 19(3) : 309-337 (2014) 4. J. du Boisberranger, D. Gardy, X. Lorca and C. Truchet. When is it worthwhile to propagate a constraint? A probabilistic analysis of ALLDIFFERENT. Analco 2013, Meeting on Analytic Algorithmics and Combinatorics. 5. Marie Pelleau, Charlotte Truchet, Frédéric Benhamou : Octagonal Domains for Continuous Constraints. in Proc. of CP 2011, Perrugia, Italy Best student paper award 11