next up previous
Next: Organisation Up: No Title Previous: Enseignants

Sous-sections

Contenus

Projets - Coordinateurs : Monique BARON et Rémi LEGRAND

Alignement et structure des séquences d'ADN

(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.

Évaluateur d'un mini-BASIC

(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.

Jeu à deux joueurs

(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.

Pavage du plan

(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.

Techniques de réécriture pour le calcul symbolique

(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.

Apprentissage par réseaux de neurones

(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

Programmation fonctionnelle

(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

Programmation (par) objet

: 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

Programmation (en) logique

(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

Programmation en calcul formel

(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

Programmation par contraintes

(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 up previous
Next: Organisation Up: No Title Previous: Enseignants
Emmanuel CHAILLOUX
1999-01-11