Conception d'un outil visuel permettant de manipuler des structures inter-dépendantes

On souhaite mettre au point un outil visuel et interactif permettant de travailler sur le problème « Sorting by reversal ». Dans ce problème, on s'intéresse au tri d'une permutation signée (ex : P=-3 2 6 -4 5 -1) par un nombre minimum d'inversion (ex : l'inversion des 3 premiers éléments de P donne P'= -6 -2 3 -4 5 -1). Ce problème est largement étudié, et sa résolution fait appel à des structures intermédiaires (de type graphe) qui dépendent de la permutation. Ces structures sont calculées à partir de la permutation par des algorithmes connus

En bioinformatique, les permutations servent à représenter les génomes de différents organismes. Trier ces permutations revient alors à établir un scénario évolutif entre espèces. Un très bel exemple d'application de cette théorie, concernant l'homme, la souris et le rat, a été publié récemment.

Pour ce projet, nous voulons un outil qui visualise la permutation et ses structures associées (une vue par structure par exemple). Cet outil doit permettre la manipulation à la souris d'une des structures et la mise à jour en temps réel des autres structures. Une manipulation peut être l'ajout d'éléments dans la permutation initiale, le changement de signe de certains éléments, l'application d'une inversion ou autre.

En ce qui concerne le réalisation, nous souhaitons dans un premier temps une réflexion sur la conception de l'application qui permettent l'ajout ultérieur de nouvelles structures. Une fois cette étape réalisée, nous souhaitons l'implémentation de la vue principale et d'au une des structures associées.

Compétences requises : conception objet, programmation, interface graphique

Stage encadré par Sèverine Bérard.