Next: Organisation
Up: No Title
Previous: Enseignants
Sous-sections
Projets - Coordinateurs : Monique BARON et Rémi LEGRAND
(Jean-Daniel
KANT et Alain MAILLES)
Réalisation d'un système d'alignement de deux séquences d'ADN (pour mesurer
leur degré de ressemblance) et de visualisation graphique des structures possibles d'une séquence (en étudiant les
différentes liaisons possibles des molécules qui composent cette séquence).
Les biologistes sont confrontés à ce type de problèmes combinatoires
pour pouvoir exploiter efficacement les nouvelles séquences d'ADN.
(Bruno PAGANO, Damien COLLARD
et Chams LAHLOU )
Réalisation de la boucle d'interaction permettant l'édition et
l'exécution de programmes écrits dans un langage impératif
proche des premières versions de BASIC.
La boucle dínteraction analysera une chaîne de caractères
en entrée, pour construire ensuite l'arbre de syntaxe correspondant, et
évaluera cet arbre pour produire le résultat attendu.
(Christophe MARSALA, Anne LIRET)
Réalisation d'un système interactif permettant de jouer contre la
machine à des jeux à 2 joueurs du type Awélé, Morpion, Othello,...
On distingue deux composantes au programme : l'interface(saisie des coups, affichage de l'état de la partie, ...) et
le joueur qui comprend une partie commune à tous ces jeux (construction d'un arbre des différents coups possibles, méthode utilisée pour la
sélection d'un coup (heuristique, minimax, alpha-beta) et une partie spécifique
au jeu étudié traduisant des connaissances sur le jeu.
(Philippe CODOGNET, Philippe AUBRY, Ilias
KOTSIREAS)
Réalisation d'un système de pavage du plan (dessins à la
Escher).
Un pavage sera défini par son motif (représenté par un polygone)
et
son groupe
de symétrie (défini par un ensemble d'isométries constituant les
générateurs du groupe). A partir de ces générateurs, on
engendre une partie finie du groupe de symétrie en construisant
toutes les combinaisons possibles de ngénérateurs. On applique ensuite toutes les isométries ainsi
obtenues au motif polygonal.
Le programme se découpe en une partie
géométrique (définition et application des isométries) et une
partie visualisation du pavage.
(Pascal MANOURY, Damien COLLARD, Chams LAHLOU)
Ce projet vise à implanter un petit moteur de réécriture pour en
tirer deux ou trois applications.
La réécriture est une technique de transformation textuelle
d'expressions régie par un ensemble de règles. Les expressions
sont représentées sous forme d'arbres syntaxiques et les
règles sont appliquées en utilisant un mécanisme de filtrage. Nous introduirons donc ces notions générales et
donnerons un moyen de les implanter. Nous envisagerons alors quelques
applications telles la normalisation d'adresses IP (v4 ou v6) ou
encore la simplification d'expressions arithmétiques.
(Florence d'ALCHE,
Jean-Christophe BAILLIE)
Réalisation d'un programme de simulation de réseaux de neurones
pour effectuer des taches de classification (diagnostic m]dical,
classification d'images ...) et de prévision (séries financières).
Le programme sera doté d'une interface graphique qui permettra de
visualiser le comportement du réseau au cours de l'apprentissage.
Différentes stratégies d'apprentissage pourront être mises en oeuvre
selon les binomes.
Langages - Coordinateurs : Monique BARON et Rémi LEGRAND
(Bruno PAGANO, Damien, COLLARD
et Valérie MENISSIER)
Cette approche offre
une grande expressivité car elle permet de manipuler
des fonctions en tant que valeur de base du langage. Un programme
est considéré comme une fonction, associant une valeur de sortie à des
valeurs en entrées, lui même composable par d'autres fonctions.
notions à voir : Définition et application de fonctions, expressions fonctionnelles, typage et polymorphisme, stratégie d'évaluation.
langage étudié : O'Caml
: 2 groupes (André DESNOYERS,
Alexis DROGOUL, Rémi LEGRAND, Irene PAUMELLE, Paul TORRES)
Cette approche met en avant l'autonomie de petites entités informatiques, groupant une partie statique (leur structure) et une partie dynamique (leur comportement), appelées objets, qui interagissent et communiquent entre elles.
notions à voir : Classe, instanciation, héritage, encapsulation, polymorphisme, modélisation par objets.
langage étudié : Java
(Monique BARON et Rémi LEGRAND)
Cette approche permet de décrire des problèmes sans avoir
à expliciter comment
rechercher les solutions, car cela est fait automatiquement par un résolveur
logique. Un programme logique est un ensemble de déclarations de relations ;
l'exécution consiste à déduire les valeurs les satisfaisant,
par un mécanisme d'unification et de retour-arrière.
notions à voir : Prédicat, variable logique, unification, terme,
arbre de résolution, déduction, espace de recherche, déclarativité.
langage étudié : Prolog
(Philippe AUBRY, Nicolas RENNERT)
Un système de calcul formel est un logiciel de calcul scientifique
intégrant dans un même outil le calcul numérique et le
calcul symbolique (ou algébrique).
Il peut être utilisé en ligne (interprète), l'utilisateur écrit
ses formules sous l'éditeur et leur applique des transformations
(fonctions). Il dispose d'un langage de programmation complet
de type Pascal avec construction de fonctions et de procédures.
Il est fourni avec une large librairie d'objets et de fonctions
mathématiques ainsi que des types structurés (tableau, liste).
Une interface graphique permet de visualiser les ensembles
mathématiques (courbes, surfaces....) calculés.
Il introduit l'informaticien au monde du calcul symbolique et donne
au mathématicien une vision algorithmique et structurée (type) des
concepts dont il a part ailleurs connaissance.
système étudié : Maple
(Philippe CODOGNET, Anne
LIRET et Pascal MANOURY)
La programmation par contraintes est un nouveau paradigme de programmation
qui est apparu il y a environ 10 ans, faisant suite aux recherches
antérieures dans le cadre de la programmation logique.
L'idée de base est d'avoir un cadre générique et
flexible qui mélange programmation par
règles et résolution de contraintes sur des
domaines particuliers (par exemple, equations linéaires,
domaines finis, etc). C'est un
paradigme qui est actuellement utilisé dans de nombreuses
applications,
de l'optimisation
combinatoire à l'intelligence artificielle.
Nous aborderons dans ce cours les principes fondamentaux de la programmation
par contraintes et les mécanismes d'implantation (interprétation
et
compilation du langage,
algorithmes de résolution de contraintes)
système étudié : Calypso
Next: Organisation
Up: No Title
Previous: Enseignants
Emmanuel CHAILLOUX
1999-01-11