samedi 31 janvier 2009
Le rejet de l'article que j'avais soumis à publication il y a quelques mois n'est pas en soit une bonne nouvelle. Tout chercheur se doit de publier, cela fait partie de ses missions. Mais lorsqu'un article soumis n'est pas retenu, les critiques et les commentaires des relecteurs sont souvent très pertinents et donc très utiles.

J'ai voulu mettre trop de choses dans un seul article, une erreur de débutant :-). Par essence, l'objet de mon papier était la présentation d'une bibliothèque java qui rassemble et implante de nombreuses méthodes de traduction de contraintes (permettant de spécifier des problèmes à résoudre) sous la forme de formules de logique propositionnelle (permettant la résolution des problèmes à l'aide d'un solveur SAT). Il était donc indispensable, pour chacun des algorithmes mentionnés, de préciser s'il relevait d'une nouvelle contribution ou bien d'une technique déjà connue.

Cette exigence suppose une exploration bibliographique exhaustive... presque impossible à réaliser en pratique. Certes, beaucoup de publications sont accessibles via Internet, mais il est très difficile de trouver un papier introduisant une idée, un concept, sans savoir quel nom son auteur lui a donné. Le chercheur doit alors se livrer à un travail de fourmi sans être sûr de ne pas être passé à coté d'une information cruciale. De fait, il arrive qu'il soit beaucoup plus facile de ré-inventer quelque chose en partant de zéro que de rechercher si quelqu'un d'autre l'a déjà fait.

Le problème étant identifié, il reste à trouver des solutions. Il n'est guère raisonnable que des centaines de chercheurs d'un même domaine perdent une partie de leur temps à rechercher chacun de leur coté les mêmes informations. Avec l'explosion du nombre de publications scientifiques, il me parait nécessaire de créer des référenciels documentaires collaboratifs et structurés. L'enjeu n'est pas tant de rassembler l'information - il existe déjà des bases de données bibliographiques bien garnies - que de la rendre facile à trouver.

Il est peut être possible de s'inspirer du fonctionnement des organisations ayant pour vocation la recherche d'antériorité dans le domaine des brevets d'inventions. Je pense qu'il y a aussi un véritable potentiel, en matière de structuration et d'organisation des informations, du coté des techniques et des logiciels de mind mapping. Ces systèmes permettent de réaliser des cartes conceptuelles, c'est a dire des documents qui représentent visuellement des données complexes et offrent la possibilité de naviguer de manière intuitive à travers une structure arborescente dont certaines branches peuvent être développées en fonction des besoins ou centres d'intérêt de chaque utilisateur.
jeudi 15 janvier 2009
J'adopte un nouveau rythme. Je vais aborder alternativement la recherche et l'enseignement, avec une périodicité de deux articles par mois.

Nous arrivons à la fin du premier semestre, période des examens et des soutenances de projets. Mais l'essentiel des mes enseignements de cette année auront lieu au deuxième semestre et je consacre beaucoup de temps aux préparations.

Je ne suis jamais satisfait de ma pratique pédagogique, ce qui me pousse chaque année à expérimenter de nouvelles voies et à revoir en profondeur mes supports de cours, travaux dirigés et travaux pratiques. L'année dernière, j'avais utilisé pour la première fois des grilles de compétences autours desquelles étaient articulés mes enseignements. L'idée est de réaliser d'abord la grille de compétence d'une unité d'enseignement, puis de rédiger les exercices destinés à entrainer et valider les compétences identifiées par la grille, et ensuite de concevoir le cours magistral permettant de donner les clés pour assimiler et s'approprier ces compétences. Je continue dans cette voie cette année, mais en reformulant mes grilles de compétences pour les rendre plus pertinentes. Par contre, je change complètement de philosophie en matière de support de cours. L'année dernière, je ne distribuais aucun document pour inciter les étudiants à assister aux séances et à prendre des notes. Cette année, je vais non seulement faire des support de cours, mais les donner à l'avance. Les étudiants devront préparer les cours et laisser un feed-back qui me permettra de cibler les difficultés.

Pour permettre cette interaction, je souhaite utiliser la plate forme Moodle, qui est un logiciel de e-learning exécutable depuis un navigateur Internet. Elle comporte des fonctionnalités qui facilitent la communication entre enseignants et étudiants. Les premiers peuvent donner des devoirs, rendre accessibles des documents, les seconds peuvent poser des questions, remettre des travaux...

Mais la mise en place de ce système est un travail en soi, et nécessite des ressources, notamment un serveur WEB. Je n'ai pas accès à ces ressources dans le département où je travaille, car l'utilisation d'une plate-forme telle que Moodle est considérée par certains collègues comme trop lourde au regard des bénifices pédagogiques attendus. C'est vrai aussi qu'il y a des travaux prioritaires à réaliser sur nos serveurs, et que je m'y prends un peu tard. Une solution de secours consiste à installer la plate-forme sur un serveur privé que j'utilise déja pour des applications de travail collaboratif et suivi de projets. Mais je crains que les ressources de ce serveur soient trop limitées pour faire face à utilisation régulière par une promotion d'étudiants. Je vais donc faire de mon mieux avec les moyens du bord.
samedi 3 janvier 2009
La fin de l'année civile correspond aux dernières semaines du premier semestre de l'année universitaire.

Enseignement

Mes enseignements en Master, qui concernent la programmation par contraintes appliquée à la résolution de problèmes, sont terminés. J'ai réalisé un sujet d'examen, participé à la surveillance de l'épreuve, et corrigé les copies. Cette pratique est une spécificité universitaire : les maquettes et programmes d'enseignements sont définis localement (bien que soumis à l'approbation du ministère) , et les sujets d'examens de chaque unité d'enseignement sont conçus par le ou les enseignants qui en assument la responsabilité pédagogique. Toutefois, l'anonymat des étudiants est respecté pendant les corrections.

Les projets de master sont en cours de réalisation et font l'objet de réunions régulières avec les étudiants concernés. Le projet de développement d'un logiciel d'aide à la réalisation des emplois du temps des étudiants de l'UFR Sciences et Techniques avance rapidement. Celui ayant pour objet la réalisation d'une plate-forme de pédagogie participative n'a pas encore vraiment décollé. Je suis pessimiste quand à la perspective d'essayer un premier prototype pour mes enseignements du second semestre.

Recherche

J'ai conssacré l'essentiel de mon temps de recherche de ce mois-çi à la poursuite du développement de la bibliothèque logicielle BoolVar, dédiée à la résolution indirecte (via traduction en clauses propositionnelles ou en contraintes pseudo-Booléennes) de problèmes spécifiés à l'aide de contraintes.

J'ai travaillé à l'implantation d'un système de gestion de quota d'utilisation de la mémoire qui, associé à une heuristique de choix d'une technique de codage, permet une sélection automatique d'un algorithme (parmi plusieurs variantes possibles) de traduction de contraintes pseudo-Booléennes en clauses propositionnelles. Il y a en effet un compromis à trouver entre la taille de la formule propositionnelle produite et l'efficacité de la résolution. Les codages les plus efficasses s'avèrent parfois inutilisables parce que trop gourmands en mémoire.

J'ai implanté un codage suggéré par un collègue parisien, avec qui je travaille à distance via internet. J'ai également intégré au système un analyseur syntaxique permettant, en association avec un solveur SAT, de résoudre directement des instances de problèmes de décision spécifiés à l'aide de contraintes pseudo-Booléennes. J'ai confié le bébé à un collègue de l'Université d'Artois qui s'est chargé d'évaluer ses performances sur des benches utilisés dans une compétition internationale mettant en concurrence différents solveurs pseudo-Booléens. Il s'avère que le système consomme trop de mémoire, ce qui l'empêche de résoudre une majorité des instances. Il va falloir examiner de très près le comportement des processus de traduction pour déterminer s'il est possible de corriger en partie ce problème et d'envisagher de soumettre notre solveur indirect à la prochaine compétition, i.e., PB09. Indépendamment de ces problèmes techniques, je pense que les nouveaux codages proposés apportent une contribution théorique significative qui mérite une publication. Mais celle-ci sera plus facile à placer si elle est accompagnée de bon résultats expérimentaux...

J'ai également créé un programme permettant de produire des instances d'un problème de planification difficile. L'intérêt est de pouvoir créer des instances réalistes de problèmes de décision à contraintes pseudo-Booléennes avec la possibilité de doser la taille des contraintes et les valeurs de leurs coefficients. Cela offre un espace d'expérimentation intéressant pour la comparaison des différents codages.

Il reste beaucoup de travail avant de pouvoir tirer les premières conclusions sur la pertinence et l'intérêt des nouveaux codages de contraintes pseudo-Booléennes en logique propositionnelle qui sont implantés dans BoolVar.