Résumé : L'informatisation des professions de santé et le développement du dossier médical personnalisé (DMP) entraîne une progression rapide du volume d'information médicale numérique. Les systèmes informatiques médicaux permettent de stocker de l'information (dossier médical, résultats d'examens complémentaires, images et comptes rendus radiologiques par exemple), d'y accéder en vue d'améliorer la prise en charge des patients, de découvrir de nouvelles informations ou de fournir une aide à la décision pour l'amélioration de la qualité des soins. Or, cette information est souvent consultée de façon individuelle et manuelle alors que le format numérique permettrait une analyse informatisée. L'information à exploiter est en grande partie sous forme textuelle et il s'agit alors de pouvoir extraire de façon automatique des données sémantiques. Le besoin de convertir toute cette information sous forme structurée est donc un enjeu majeur. Pour réaliser cette tâche il est nécessaire d'avoir une base de connaissance de spécialité structurée et dynamique (apprentissage permanent).
Pour ce sujet de TER, il s'agira de travailler sur l'extraction de relations sémantiques (synonymie, hyperonymie, causatif, caractéristique..) à partir d'articles médicaux issus de l'encyclopédie Wikipedia et du site sur les maladies rares Orphanet. Cette extraction aura pour but de consolider un réseau lexico-sémantique de spécialité inclus dans le réseau de connaissance générale JeuxDeMots. Il faudra utiliser les ressources et travaux de recherches à votre disposition afin d'élaborer des algorithmes pertinents. Le travail sera composé des tâches suivantes:
* état de l'art sur l'extraction de relations sémantiques à partir de textes non structurés.
* récupérer les pages wikipédia (voire d'autres sites comme orphanet).
* proposer un algorithme d'extraction de relations.
* création d'une base de données susceptible d'être intégrée au réseau.
Le langage de programmation utilisé sera au choix des étudiants.
PS IMPORTANT : Si les étudiants le désirent, sujet peut éventuellement être abordé via un autre domaine, par exemple, la "gastronomie", "aéronautique", etc.
Lien : - • Dernière mise à jour : 2025-11-25 14:55:05
Résumé : JeuxDeMots est un jeu sérieux (' Game With A Purpose ' - GWAP : jeu avec un but) qui vise à construire un réseau lexico-sémantique (un graphe avec 20 million de noeuds et 850 millions de relations). Les agents d'inférence de JeuxDeMots constituent globalement une intelligence artificielle qui opère sur cer grand volume de connaissances (de sens commun mais également expertes à plusieurs domaines) de façon à inférer de nouvelles relations.
Dans ce cadre, nous souhaitons retrouver dans le réseau les triangles permettant de fournir des exemples pour être capable par la suite de fournir des éléments d'explication pour certaines relations. Il s'agit donc de créer une combinaison entre un système à apprentissage par des exemples et un système d'inférence.
Par exemple, il est ainsi possible de déduire que "voiture" a pour conséquence "mort" à partir de "voiture" ayant pour conséquence "accident" qui a pour conséquence "mort" (1 côté du triangle). Où à l'inverse de produire l'explication de "peste" à conséquence "mort", en exhibant "peste" estun "maladie mortelle" et "maladie mortelle" conséquence "mort" (2 côtés du triangle).
Le travail attendu consiste à :
- prendre en main la base JeuxDeMots sous sa forme ' bases de données SQL en graphes ' ;
- Elaborer les requêtes SQL permettant de retrouver les triangles dans le graphe JeuxDeMots ;
- Tester et optimiser le passage des requêtes sur un serveur.
Si le temps le permet :
- Proposer des extensions pour recommander des portions du graphe où un triangle aurait dû exister (ce qui permettra d'enrichir le graphe).
** Pas de prérequis
Lien : https://cloud.lirmm.fr/index.php/s/kWV55XDJcHLtcgY • Dernière mise à jour : 2025-11-25 14:55:22
Résumé : On souhaite développer un bot (Skype, ou autre) avec lequel l'utilisateur entreprendrait des pseudo conversations dans le but de consolider (augmenter et corriger) une base de connaissances (en l'occurrence, la base RezoJDM).
Exemple de dialogue :
<blockquote>Bot: est-ce qu'un hot-dog contient de la moutarde '
User: oui, la plupart du temps
Bot: est-ce qu'un hot-dog contient des oignons grillés '
User: oui c'est possible, surtout aux US
Bot: merci pour ces informations
User: un hot-dog c'est de la malbouffe
Bot: Ah' Ok, je vais retenir cela.
</blockquote>
Le bot en question doit être capable de poser des questions de façon intelligible et d'avoir un grande tolérance et capacité d'interprétation de ce que répond l'utilisateur. Le dialogue engagé doit être cohérent - on peut changer de sujet, mais on ne saute pas sans arrêt du coq à l'âne). Enfin, le bot doit être capable de répondre des question de type "pourquoi", par exemple :
<blockquote>User: Pourquoi un tigre est dangereux '
Bot: un tigre est dangereux car un tigre est un animal sauvage et un animal sauvage est dangereux.
</blockquote>
Prérequis : aucun
Liens :
bot skype - https://dev.skype.com/
rezoJDM - http://www.jeuxdemots.org/jdm-about.php
exemple d'interaction - http://www.jeuxdemots.org/rezo-ask.php'text=1
Lien : - • Dernière mise à jour : 2025-11-25 14:56:24
Résumé : Ce projet vise à explorer et implémenter des techniques de calcul de plongements lexicaux (word/graph embeddings) en utilisant la base de connaissances JeuxDeMots, qui se présente sous forme de graphe orienté, typé et pondéré.
Description :
JeuxDeMots est une base de connaissances lexicale construite de manière collaborative, représentée par un graphe complexe où les noeuds sont des termes et les arêtes des relations sémantiques. Ces relations sont orientées, typées (par exemple : synonymie, antonymie, est-un, etc.) et pondérées, avec la particularité que les pondérations peuvent être négatives pour indiquer des relations fausses ou contestées. Lien : https://www.jeuxdemots.org/jdm-about.php
Tâches principales :
Étude de l'état de l'art : Rechercher et analyser les méthodes existantes de calcul d'embeddings sur des graphes, en particulier celles adaptées aux graphes de connaissances. Se concentrer sur les techniques prenant en compte les spécificités de JeuxDeMots (relations typées, pondérations positives et négatives).
Sélection et implémentation d'algorithmes :
Choisir au moins deux méthodes pertinentes identifiées lors de l'étude de l'état de l'art.
Implémenter ces méthodes en tenant compte des caractéristiques de JeuxDeMots.
Adapter les algorithmes pour gérer efficacement les pondérations négatives et les différents types de relations.
Expérimentation et évaluation :
Appliquer les algorithmes implémentés sur un sous-ensemble représentatif de JeuxDeMots.
Calculer des embeddings pour chaque terme du graphe.
Évaluer la qualité des embeddings obtenus à l'aide de tâches standard (analogies, similarité sémantique) et de métriques appropriées.
Comparer les performances des différentes méthodes implémentées.
Analyse et interprétation des résultats :
Examiner l'impact des relations négatives et des types de relations sur la qualité des embeddings.
Identifier les forces et les faiblesses de chaque approche dans le contexte spécifique de JeuxDeMots.
Ce projet permettra aux étudiants de se familiariser avec les techniques avancées de traitement du langage naturel et d'apprentissage sur graphes, tout en travaillant sur une ressource lexicale riche et complexe. Ils développeront des compétences en recherche, implémentation algorithmique et analyse de données, essentielles dans le domaine de l'intelligence artificielle et du traitement automatique des langues.
un lien utile : https://scholar.google.fr/scholar'q=knowledge+base+embeddings+survey&hl=fr&as_sdt=0&as_vis=1&oi=scholart
Lien : - • Dernière mise à jour : 2025-11-25 14:56:42
Résumé : Dans ce projet, nous souhaitons exploiter le contenu du réseaux lexico-sémantique JeuxDeMots afin de créer
une ressources portant sur la manière dont les évènements/actions (décrits dans le discours par des prédicats) s'enchaînent dans une narration, un récit par exemple.
Pour cela, nous procédons en partant d'un triplet issu de JDM auquel nous ajoutons séquentiellement d'autres triplets jusqu'à constituer une chaîne de narration.
Notion de chaîne de narration :
Les maillons d'une chaîne de prédicats de narration (typiquement, une séquence de verbes)
ne sont pas systématiquement liés par des relations de types sémantique, chronologique
ou logique (comme dans le cas du lien de causalité, ou de temporalité, etc.).
L'introduction d'un maillon peut servir à apporter une clarification ou une élaboration,
ou encore appuyer ou défendre les propos du discours.
Exemple : Dans "Le poisson a mangé l'asticot. Il était délicieux".
Le rapport introduit par la proposition ' Il était délicieux ' s'inscrit
dans un schéma d'élaboration, de précision. même si ce rapport
apparaît comme similaire à un lien de conséquence, il n'en est pas strictement un, dans le
sens où le fait que le poisson ait mangé l'asticot ne constitue pas la cause originelle du
fait que ce dernier soit délicieux.
Le nouveau maillon de la chaîne sera donc lié par un rapport dont le type s'insère davantage
dans la pragmatique ou la rhétorique du discours : Lien de narration.
L'objectif est de créer des chaînes narratives typiques à partir de relations issues du réseau lexico-sémantique JeuxDeMots.
Dans la représentation des chaînes créées, il s'agira de tenir de la propriété de positionnement des rôles syntaxiques :
Nous qualifions une séquence de triplets de :
symétrique (ou parallèle) lorsque "x sujet du verbe1 - x sujet du verbe2"
asymétrique lorsque "x sujet du verbe1 - x objet du verbe2"
Lien : - • Dernière mise à jour : 2025-11-25 14:58:14
Résumé : Ce projet vise à développer un algorithme de découverte de règles pour l'identification automatique des relations sémantiques dans les constructions génitives de type "A de B" en français. L'étude s'appuiera sur un corpus annoté de constructions génitives et utilisera la base de connaissances JeuxDeMots pour extraire le voisinage sémantique pertinent des termes. L'objectif est de générer des règles permettant de prédire la relation sémantique entre A et B pour de nouveaux exemples non annotés.
Exemples:
désert d'Algérie => lieu
saucisse de Toulouse => origine
couteau de boucherie => topic
table de bois => matière
Résultats attendus :
Un algorithme capable de générer des règles pour prédire les relations sémantiques dans les constructions génitives
Une évaluation quantitative et qualitative des performances de l'algorithme
Une analyse des cas difficiles et des pistes d'amélioration
Objectifs :
Analyser le corpus annoté de constructions génitives "A de B"
Exploiter JeuxDeMots afin d'extraire le voisinage sémantique des termes
Concevoir et implémenter un algorithme de découverte de règles basé sur les contraintes sémantiques
Évaluation des performances sur un ensemble de test
Analyse des résultats et optimisation de l'algorithme
Lien : - • Dernière mise à jour : 2025-11-25 14:58:48
Résumé : Grâce aux réseaux d'apprentissage profond (deep learning), les machines surpassent désormais les humains dans des tâches complexes, comme la classification d'images. Par exemple, des modèles d'intelligence artificielle détectent des anomalies sur des radiographies avec une précision de 98 %, contre 70 à 80 % pour les radiologues. Mais l'IA ne se limite plus à reconnaître des images : elle peut aussi les nettoyer, les améliorer, voire en générer de nouvelles ! Des outils comme DALL'E créent des images à partir de simples descriptions textuelles. L'objectif de ce projet est de se plonger dans cet univers en apprenant à créer vos propres modèles capables de classer, coloriser, et générer des images inédites.
Ce projet s'adresse à celles et ceux qui souhaitent comprendre concrètement comment les machines apprennent à voir et à créer des images. L'objectif principal est d'explorer différentes facettes de l'intelligence artificielle appliquée à l'image, en suivant une démarche progressive : apprendre à reconnaître, améliorer, puis générer des images.
Prérequis : savoir utiliser Python. Aucun prérequis n'est demandé sur l'apprentissage profond ou sur la science des données. Les informations utiles seront précisées.
Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.
URL : www.lirmm.fr/~poncelet/Ressources/ClassifImages2025_2026.pdf
Encadrement : Pascal Poncelet (Pascal.Poncelet@lirmm.fr)
Lien : www.lirmm.fr/~poncelet/Ressources/ClassifImages2025_2026.pdf • Dernière mise à jour : 2025-12-03 09:58:23
Résumé : Les intelligences artificielles capables de discuter comme ChatGPT ont profondément changé notre façon d'utiliser un ordinateur. Elles peuvent répondre à des questions, reformuler des phrases ou même rédiger des textes complets. Ces outils reposent sur des modèles de langage de grande taille, appelés LLM (Large Language Models), qui apprennent à prédire et à générer du texte à partir de très grands ensembles de données.
Ces modèles sont basés sur ce que l'on appelle des Transformers. Contrairement à un humain qui lit les mots dans l'ordre, un Transformer analyse en parallèle les relations entre tous les mots d'une phrase grâce à un mécanisme appelé attention.
L'idée de ce projet est de comprendre le principe de ces modèles et de réaliser votre propre version simplifiée de ChatGPT. Vous verrez comment une machine peut apprendre à produire du texte à partir d'exemples, étape par étape, jusqu'à construire un petit modèle de génération de texte que vous aurez entièrement conçu et entraîné vous-même.
Ce projet s'adresse à celles et ceux qui souhaitent comprendre comment une intelligence artificielle peut apprendre à traiter le langage. Aucune connaissance préalable n'est nécessaire, toutes les notions seront introduites progressivement.
Prérequis : savoir utiliser Python. Aucun prérequis n'est demandé sur l'apprentissage profond ou sur la science des données. Les informations utiles seront précisées.
Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.
URL : www.lirmm.fr/~poncelet/Ressources/LLM_2025_2026.pdf
Lien : www.lirmm.fr/~poncelet/Ressources/LLM_2025_2026.pdf • Dernière mise à jour : 2025-11-25 15:04:28
Résumé : Recruter une personne adaptée à un poste n'est pas toujours simple. Un recruteur doit souvent lire de nombreux CV et comparer les compétences avec les besoins d'une offre d'emploi. Aujourd'hui, les intelligences artificielles peuvent aider à automatiser cette étape en analysant le contenu des CV et en repérant ceux qui correspondent le mieux à une description de poste. Les nouveaux modèles de langage (LLM - Large Language Models) comme ChatGPT sont capables de comprendre le sens d'un texte. Ils peuvent comparer des phrases, résumer des documents ou encore extraire des informations précises. Grâce à ces modèles, il devient possible de créer un outil capable de comprendre le contenu d'un CV et de mesurer sa proximité avec une offre d'emploi.
L'objectif de ce projet est de concevoir une application web capable d'analyser automatiquement des CV, d'identifier les correspondances entre les profils et une offre d'emploi, et de proposer un classement des candidats les plus adaptés.
Ce projet s'adresse à celles et ceux qui souhaitent découvrir comment une intelligence artificielle peut être utilisée pour comprendre et comparer des textes. Aucune connaissance préalable n'est nécessaire, toutes les notions seront introduites progressivement.
Prérequis : savoir utiliser Python. Aucun prérequis n'est demandé sur l'apprentissage profond ou sur la science des données. Les informations utiles seront précisées.
Remarque : une grande partie de l'encadrement se fera via la plateforme Discord ou Zoom.
URL : www.lirmm.fr/~poncelet/Ressources/CV_2024_2025.pdf
Lien : www.lirmm.fr/~poncelet/Ressources/CV_2024_2025.pdf • Dernière mise à jour : 2025-11-25 15:05:53
Résumé : Dans ce projet, nous nous intéressons à plusieurs méthodes pour résoudre le problème du flot maximum de cout minimum. Dans un premier temps nous considérons les algorithmes classiques ( plus court chemin, suppression des cycles de coûts négatifs) versus la programmation linéaire. Toutes ces méthodes seront testées sur des jeux d'essais via des batteries de tests.
** prérequis : algorithmique, programmation linéaire
Lien : - • Dernière mise à jour : 2025-11-25 15:08:29
Résumé : Dans ce projet, nous nous intéressons à plusieurs méthodes qui utilisent la notion de coupe afin de contraindre le polytope. Toutes ces méthodes seront testées sur des jeux d'essais via des batteries de tests.
** Des prérequis si nécessaires ; algorithmique, programmation linéaire
Lien : - • Dernière mise à jour : 2025-11-25 18:27:35
Résumé : Description générale du projet
Dans la perspective de la construction de nouveaux outils de traitement de l'information dans le contexte des sciences de l'environnement, nous proposons un TER portant sur la conception et la mise en oeuvre d'un système de Génération Augmentée de Récupération (ou encore Retrieval-Augmented Generation, RAG) exploitant un graphe de connaissances terminologiques portant sur de multiples définitions de la forêt qui sera également à construire.
Le TER consistera à participer au développement de composants d'une architecture permettant d'améliorer la pertinence, la cohérence et la contextualisation des réponses générées par un modèle de langage en s'appuyant sur des données expertes. Pour ce faire, le groupe d'étudiants contribuera à la construction d'un graphe de connaissances au format SKOS/RDF conçu à partir d'un référentiel terminologique métier (pour l'instant un simple vocabulaire contrôlé qui leur sera fourni). Ce graphe servira de source d'information structurée pour le module de récupération de contenu (retrieval) dans le pipeline RAG. À cet effet, différents cadriciels RAG pourront être explorés.
Missions principales
analyser et comprendre le contenu vocabulaire contrôlé existant et portant sur les définitions d'arbre et de forêt à l'échelle mondiale ;
* participer à la modélisation et à la formalisation du graphe de connaissances (concepts, relations, propriétés et mise en pratique des standards du Web Sémantique) ;
* mettre en place les outils permettant l'indexation et l'interrogation du graphe ;
* contribuer à l'intégration du graphe dans un système de RAG (choix des stratégies de recherche, formats d'échange, optimisation des appels au modèle de langage) ;
* évaluer la qualité des réponses générées avec et sans exploitation du graphe, et proposer des pistes d'amélioration.
Profil recherché : étudiants de tous les parcours de M1 informatique
Références :
* Standards de données du W3C : RDF https://www.w3.org/RDF/, RDFS https://fr.wikipedia.org/wiki/RDF_Schema, SKOS https://www.w3.org/TR/2009/REC-skos-reference-20090818/
Cadriciels RAG / GraphRAG :
* LangChain GraphRAG chain https://docs.langchain.com/oss/python/integrations/retrievers/graph_rag
* LlamaIndex 'KnowledgeGraph Index https://www.llamaindex.ai/blog/introducing-the-property-graph-index-a-powerful-new-way-to-build-knowledge-graphs-with-llms
* Neo4j GraphRAG / Neo4j GenAI Stack https://neo4j.com/blog/developer/genai-app-how-to-build/
Lien : - • Dernière mise à jour : 2025-11-27 18:48:09
Résumé : Supposons que nous souhaitions interroger une base de connaissances avec la requête conjonctive suivante:
?(V) :- human(U), parent(U, V). %% queries all parents of a human
Nous avons pour l'instant récupéré toutes les réponses à cette requête dans une base de faits F. Nous saturons la base de faits F avec la règle suivante:
human(X) :- man(X). %% every man is a human
Imaginons maintenant que nous ayons man(bob) et man(sam) dans la base de faits F. La saturation va créer deux nouveaux atomes: human(bob) et human(sam). Et ceci nous donnera (peut-être) de nouvelles réponses à notre requête. Il faut donc réévaluer la requête, ce qui, malheureusement, mènera à reparcourir le même espace de recherche que la première fois.
L'objectif est donc de trouver une requête reformulée qui nous donne toutes les nouvelles réponses, le moins possible d'anciennes réponses, et seulement des réponses.
Une solution (théorique) avait été proposée en 2004. En utilisant les unificateurs par pièce, il est possible de reformuler la requête afin de ne prendre en compte que les connaissances qui ont été rajoutées par la saturation. Ainsi, au lieu de réévaluer la requête initiale, il suffit d'évaluer la requête:
?(V) :- parent(bob, V) | parent(sam, V). %% queries parents of sam or parents of bob
Pourtant, les tests effectués sous InteGraal (notre plateforme de raisonnement, écrite en Java) n'ont jamais pu mettre en évidence un quelconque gain d'efficacité en utilisant cette reformulation. Notre interprétation est que les sous-requêtes parent(bob, V) et parent(sam, V) sont évaluées de façon indépendante et que, lorsqu'elles sont plus complexes, elles parcourent inutilement les mêmes parties de l'espace de recherche.
Integraal a depuis évolué. Il est possible, maintenant, d'exprimer notre requête reformulée de la façon suivante (en utilisant des sous-requêtes disjonctives):
?(V) :- parent(U, V), (U = bob | U = sam).
où même (en utilisant des fonctions calculées):
?(V) :- parent(U, V), #isMemberOf(U, bob, sam).
Le travail de développement du stagiaire sera organisé de la façon suivante:
1) comprendre le papier de 2004, les dépendances, et la reformulation, et implémenter ces nouvelles façons de coder la requête reformulée (la plupart des méthodes difficiles à coder sont déjà dans Integraal)
2) Généraliser cette méthode au corps des règles (qui sont aussi des requêtes) pour pouvoir l'utiliser tout le long d'un chase
3) mettre en place un protocole de test pour évaluer l'efficacité de cette nouvelle méthode
4) si aucun gain d'efficacité n'est décelé, voir si ce n'est pas du à l'implémentation naïve des sous-requêtes disjonctives dans Integraal. Dans ce cas, on pourra s'inspirer de différentes optimisations présentes dans les BD relationnelles.
5) L'implémentation de ce nouvel algorithme nécessitant de modifier de nombreux modules d'Integraal, une attention particulière sera donnée à l'aspect "génie logiciel" du stage. Ceci nécessitera peut-être une réorganisation du code existant.
L'objectif minimal du stage est d'améliorer notre algorithme actuel utilisant le graphe de dépendances. Il serait également intéressant qu'il soit plus performant que notre version du chase qui ne l'utilise pas. Enfin, dans le cas où ce nouvel algorithme serait au moins aussi efficace que les versions du chase utilisées par d'autres outils, ce travail devrait pouvoir mener à une publication académique.
Références
Baget, J.-F., Leclère, M., Mugnier, M.-L. et Salvat, E. (2011) On rules with existential variables: Walking the decidability line. Artificial Intelligence, vol. 175(9-10), pp. 1620-1654. Https://www.sciencedirect.com/science/article/pii/S0004370211000397
Baget, J.-F. (2004). Improving the forward chaining algorithm for conceptual graphs rules. Proceedings of the 9th International Conferences on the Principles of Knowledge Representation and Reasoning (KR'04) , pp. 407-414 https://www.lirmm.fr/~baget/publications/KR04.pdf
Les liens vers Integraal ou la bibliothèque py4graal (qui permet une découverte plus aisée d'Integraal, et contient un tutoriel) sont disponibles sur la page https://www.lirmm.fr/~baget/software.html
Lien : - • Dernière mise à jour : 2025-11-30 15:43:56
Résumé : La simulation de physique 3D occupe une place essentielle en informatique graphique, notamment dans les jeux vidéo, les effets spéciaux, la robotique ou la réalité virtuelle. Contrairement aux approches issues des sciences physiques, qui privilégient la précision et la fidélité du modèle, les besoins en informatique graphique se concentrent plutôt sur la stabilité, la rapidité et le réalisme visuel. Les modèles physiques exacts étant souvent trop coûteux ou instables, plusieurs approches existent pour adapter ces modèles à la simulation en temps réel.
Les méthodes traditionnelles reposent sur le calcul des forces et les lois de Newton, où lon calcule, à chaque pas de temps, accélérations, vitesses et positions. Cependant, les schémas implicites exigent la résolution de systèmes non linéaires complexes, parfois inadaptés aux contraintes de performance. Pour répondre à ces limites, les méthodes basées sur la position (Position Based Dynamics, PBD) permettent un contrôle direct des positions des objets, facilitant la manipulation, la gestion des collisions et offrant une plus grande stabilité. Leurs extensions, comme XPBD, améliorent le contrôle de la rigidité et la robustesse des simulations.
Le projet proposé vise limplémentation dun simulateur dobjets non rigides utilisant ces méthodes, incluant la compréhension théorique, le développement du solveur et des expérimentations sur divers matériaux et collisions.
Prérequis : Bases de simulation physique en 3D, Intégration numérique
Lien vers le sujet : https://www.overleaf.com/read/cqkgsfmshgmd#bb7f05
Profil/Filière : IMAGINE
Lien : https://www.overleaf.com/read/cqkgsfmshgmd#bb7f05 • Dernière mise à jour : 2025-11-30 15:47:34
Résumé : TER ICo / Inception
Développement d'un jeu en ligne multi-joueurs (un des joueurs étant une
IA générative) de découverte de mots en fonction de concepts (ce jeu
peut s'inspirer d'un jeu plateau appelé Concepts).
Un joueur doit faire deviner un mot aux autres joueurs (une analyse
déterminera si ce mot peut être tiré aléatoirement d'un dictionnaire ou
s'il doit faire partie d'un mot pris dans un panel pré-établi). Pour
cela, il doit utiliser des mots (ou des figures représentant ces mots)
"conceptuels" qu'il présente progressivement, par exemple des formes,
des couleurs, des consistances, des espaces temporels, des états et
dimensions psychologiques...
Un des joueurs sera une IA (connectée en API) ce qui permettra de
quantifier le pouvoir de "conceptualisation" de celle-ci par rapport aux
joueurs humains.
Lien : - • Dernière mise à jour : 2025-12-03 09:44:57
Résumé : Contexte La cybersécurité vise à protéger les systèmes d'information contre les attaques, la fraude et la compromission des données. Elle recouvre un spectre large de préoccupations allant de la sécurité réseau (segmentation, filtrage, détection d'intrusions) à la sécurité des systèmes (durcissement, gestion des privilèges), en passant par la cryptographie, l'identité et l'accès, la sécurité des applications web et mobiles, le cloud et le DevSecOps, sans oublier la gouvernance, le risque et la conformité. Dans cet ensemble, la sécurité logicielle se concentre sur les logiciels eux-mêmes, leur code, leurs dépendances et leur chaîne de livraison, avec l'objectif de prévenir, détecter et corriger les vulnérabilités et comportements malveillants.
La sécurité logicielle se décline en plusieurs axes complémentaires : ingénierie sécurisée dès la conception (threat modeling, exigences de sécurité), pratiques de développement et de revue (secure coding, SAST/DAST/IAST, SCA, fuzzing), protection à l'exécution (RASP, durcissement, contrôle d'intégrité), sécurité de la supply chain (SBOM, signature d'artefacts, politique de dépendances), et surveillance en production (journalisation, détection d'anomalies, réponse à incident). Parmi ces axes, l'identification des malwares occupe une place centrale : il s'agit de discriminer des artefacts logiciels bénins de ceux qui présentent des intentions ou effets malveillants, en amont (à l'analyse) et/ou en aval (en exécution), afin de réduire le risque d'intrusion, de vol de données ou de sabotage.
Les travaux sur la détection de malwares se classent suivant plusieurs critères structurants. On distingue d'abord le substrat analysé (code source, binaire, bytecode, manifeste, ressources, traces d'appels, journaux d'exécution), puis le mode d'analyse (statique basée sur la structure ' chaînes, opcodes, API, graphes AST/CFG/DFG ', dynamique basée sur le comportement en sandbox ' appels système, réseau, fichiers ', ou hybride combinant les deux). Viennent ensuite les descripteurs et représentations (n-grammes, séquences d'API, graphes d'appels, permissions Android, indicateurs réseau), ainsi que les méthodes d'apprentissage (classique : SVM, RF, XGBoost ; profond : CNN/RNN/Transformers ; graphes : GNN). Les plateformes cibles (serveur, desktop, mobile), les jeux de données et protocoles d'évaluation (stratification temporelle, métriques précision/rappel/F1/AUC), les contraintes opérationnelles (latence, consommation, passage à l'échelle) et les propriétés non fonctionnelles (explicabilité, robustesse face à l'obfuscation et aux attaques d'évasion, respect de la vie privée) complètent la grille de lecture.
Objectif
L'objectif de ce projet de TER est triple :
1) D'abord, il s'agit de réaliser une étude bibliographique structurée qui cartographie le domaine de l'identification des malwares sous l'angle ci-dessus (substrat, mode d'analyse, représentations, modèles, plateformes, métriques), en mettant en évidence tendances, limites et bonnes pratiques reproductibles.
2) Ensuite, le projet proposera une implémentation de référence pour des applications logicielles 'serveur' : à partir d'artefacts logiciels (par exemple code source et/ou bytecode, fichiers de configuration, dépendances), l'étudiant extraira des caractéristiques statiques et/ou dynamiques et entraînera un classifieur d'apprentissage automatique pour distinguer échantillons bénins et malveillants selon un protocole expérimental clair.
3) Enfin, une seconde implémentation ciblant le mobile permettra d'adapter la démarche au contexte des applications Android/iOS, en utilisant des artefacts pertinents (manifestes, permissions, séquences d'API, graphes d'appels, ressources) et un pipeline d'apprentissage analogue pour la détection.
Lien : - • Dernière mise à jour : 2025-12-03 11:17:13
Résumé : Qualitative Spatial and Temporal Reasoning (QSTR) [8] is a rule-based framework for representing and reasoning about space and time in an abstract, human-like manner. In brief, QSTR abstracts from quantitative information and uses certain restricted languages of terms like inside, precedes, or north of to describe the spatio-temporal relationships between entities [8]. In fact, one of earliest such languages, called Interval Algebra [2], was proposed to facilitate natural language processing with respect to temporal information in text. Ontheother hand, Large Language Models (LLMs) [3,4], such as OpenAIs GPT models,1 are data-driven, deep learning models that have over the recent years claimed most (if not all) of the natural language processing tasks. In sum, LLMs are artificial neural networks (pre-)trained using self-supervised learning and semi-supervised learning and largely work by taking an input text and repeatedly predicting the next token or word. They are utilized to recognize, translate, and predict or generate text and other content.
Objective So far, LLMs have impressed with their overall natural language processing capabilities with respect to common querying. This raises the question of whether or not these models are able to perform well with more specialized tasks, such as reasoning about (complex) spatial and temporal information. Inspired from recent efforts in the QSTR and Natural Language Processing communities regarding the aforementioned question [1,3,57,9], and from our own experiences (see Figure 1), we propose this project of developing a framework for assessing the spatio-temporal reasoning capabilities of LLMs in an automated manner. The main goals of this project are as follows: 1. Implement a pipeline for posing spatial or temporal queries to an LLM, and then encoding the responses into appropriate spatio-temporal constraint networks that can be used to evaluate validity, consistency, and inconsistency of the answers; 2. Design and perform an experimental evaluation with the implemented pipeline, based on certain query patterns, such as adding missing spatio-temporal information (cf. Figure 1), repairing inconsistencies, asserting consistencies, and so on. For the project, certain tools can be used to assist with the measurement of inconsistent/contradictory spatio-temporal information. Specifically, these tools can be found at https://msioutis.gitlab.io/software/ and pertain to the qualitative constraint languages of Interval Algebra [2] and RCC8 [10].
Co-Supervisors: Michael Sioutis (COCONUT),MaximosSkandalis (TEXTE),and Richard Moot (TEXTE)
References [1] Lasha Abzianidze, Joost Zwarts, and Yoad Winter. SpaceNLI: Evaluating the consistency of predicting inferences in space. In Natural Logic Meets Machine Learning Workshop @ IWCS, 2023. [2] James F. Allen. Maintaining Knowledge about Temporal Intervals. Commun. ACM, 26:832843, 1983. [3] Yejin Bang, Samuel Cahyawijaya, Nayeon Lee, Wenliang Dai, Dan Su, Bryan Wilie, Holy Lovenia, Ziwei Ji, Tiezheng Yu, Willy Chung, Quyet V. Do, Yan Xu, and Pascale Fung. A multitask, multilingual, multimodal evaluation of ChatGPT on reasoning, hallucination, and interactivity. In IJCNLP-AACL, 2023. [4] Yoshua Bengio, R´ejean Ducharme, Pascal Vincent, and Christian Janvin. A Neural Probabilistic Language Model. J. Mach. Learn. Res., 3:11371155, 2003. [5] Anthony G. Cohn. An Evaluation of ChatGPT-4s Qualitative Spatial Reasoning Capabilities in RCC-8. In International Workshop on Qualitative Reasoning @ ECAI, 2023. [6] Bahare Fatemi, Mehran Kazemi, Anton Tsitsulin, Karishma Malkan, Jinyeong Yim, John Palowitch, Sungyong Seo, Jonathan Halcrow, and Bryan Perozzi. Test of time: A benchmark for evaluating llms on temporal reasoning, 2024. https://doi.org/10.48550/arXiv.2406.09170. [7] Fangjun Li, David C. Hogg, and Anthony G. Cohn. Advancing spatial reasoning in large language models: An in-depth evaluation and enhancement using the stepgame benchmark. In AAAI, 2024. [8] G´erard Ligozat. Qualitative Spatial and Temporal Reasoning. ISTE Series. Wiley, 2011. [9] Roshanak Mirzaee, Hossein Rajaby Faghihi, Qiang Ning, and Parisa Kordjamshidi. SPARTQA: A Textual Question Answering Benchmark for Spatial Reasoning. In NAACL, 2021. [10] David A. Randell, Zhan Cui, and Anthony Cohn. A Spatial Logic Based on Regions and Connection. In KR, 1992.
Lien : - • Dernière mise à jour : 2025-12-03 14:24:28
Résumé : Mots clés : transformer, classification, encoder, decoder
Résumé
Contexte : Au départ, la classification de textes sappuyait sur des sacs de mots : on compte les occurrences (ou ngrammes), puis on entraîne un classifieur. Ces méthodes fonctionnent bien mais ignorent lordre et le contexte. Les embeddings distribués ont ensuite permis de représenter les mots dans un espace continu, capturant des proximités sémantiques. Avec les transformers, les représentations deviennent contextuelles et améliorent nettement la classification, la génération et la traduction. Le sujet de TER propose dexaminer ces approches, de les mettre en oeuvre, de les expérimenter et de définir ses propres modèles de transformers. Travail à réaliser : Le travail va commencer par une exploration des représentations en sacs de mots afin den comprendre le fonctionnement et les limites. Nous étudierons ensuite des embeddings pré-entraînés ou appris sur le corpus et lon comparera leurs performances par rapport aux précédentes. La dernière étape portera sur des modèles de type transformers afin de mieux comprendre comment ils fonctionnent et leur intérêt. Ils seront notamment comparés aux représentation en sac de mots afin de vérifier si leur utilisation est toujours pertinente. Par la suite, en fonction de votre intérêt de nouvelles pistes seront abordés : comment créer "from scratch" mon propre ChatGPT ou mon propre BERT et le spécialiser sur une tâche particulière (classification, question-réponse, détection d'entités nommées) ? comment transformer votre ChatGPT votre BERT en un traducteur ? Pré-requis : savoir programmer en Python. Aucun pré-requis sur l'apprentissage ou le deep learning n'est demandé (les concepts seront appris au fur et à mesure). De la motivation.
Bibliographie
Pascal Poncelet. "Guide pratique des réseaux de neurones", 160 pages, 2025.
Pascal Poncelet. "Guide pratique de lApprentissage Profond de Données Textuelles", 193 pages, 2025.
Lien : - • Dernière mise à jour : 2025-12-03 14:27:03
Résumé : Ce sujet de TER s'adresse plus particulièrement aux étudiants étudiants ayant un attrait certain pour l'informatique théorique et plus particulièreme la théorie des graphes et l'algorithmique. Il est prévu pour un groupe de 3 étudiants au moins.
---------------------
Une alliance (défensive) dans un graphe est un sous-ensemble X de ses
sommets tel que tout sommet de X a plus (au sens large) de voisin dans X
qu'en dehors de X.
Un partition amicale (ou satisfaisante) d'un graphe est une partition de
ses sommets en deux alliances. La détectection de partition amicale d'un
graphe un problème apparaissant dans de nombreuses applications (voir
[3] par exemple). Si on généralise ce problème en recherchant une
partition en k alliances, le problème devient une variante du classique
problème de clustering.
Les articles [1], [2] et [3] contiennent de nombreux résultats
concernant les alliances.
De nombreux problèmes restent cependant ouverts à leur propos. On
s'interessera notamment à la question suivante de M. DeVos:
Est-ce que pour tout r entier positifs, tous les graphes r-réguliers,
sauf un nombre fini d'entre eux, admettent une partition amicale'
Pour r=1 et 2 la question est immédiate. Pour r=3, il n'est pas très dur
de montrer que K4 et K3,3 sont les seuls graphes 3-réguliers n'admettant
pas de partition amicale. Pour r=4, la conjecture est aussi vérifiée, K5
étant le seul graphe 4-régulier non partitionnable. Pour r> 4, rien
n'est connu.
---------------------
Le travail attendu consiste en une lecture des articles [1], [2] et [3]
afin d'identifier les définitions et résultats clés du domaine.
Il faudra implémenter des algorithmes de test d'existance de partition
amicale (exhaustif), puis les algorithmes polynomiaux qui permettent de
partitionner les graphes 3 et 4-réguliers.
On essayera des heuristiques pour les graphes 5-réguliers dans l'espoir
de prouver la conjecture de DeVos ou de trouver une famille infinie de
contre-exemples.
Suivant les préférences des étudiants et l'avancée du travail, on pourra
orienter le travail vers d'autres questions si besoin.
Le début du travail à réaliser étant d'ordre bibliographique, il sera
nécessaire de débuter l'écriture du mémoire (en LaTeX !) tôt dans le
déroulement du TER.
Après les diverses propositions algorithmiques et implémentations et la
recherche de réponses à la conjecture de DeVos, le TER se terminera par
la fin de la rédaction du mémoire et la préparation de la soutenance.
Une rencontre encadrant-étudiants est prévue une fois quinzaine selon
l'avancée
du TER.
-----------------
Me contacter (stephane.bessy@umontpellier.fr) pour en savoir plus et
avoir accès aux articles si besoin.
------------------------------------------------------------------------------------
[1] Defensive alliances in graphs: a survey.
Ismael González Yero and Juan A. Rodrı́guez-Velázquez
arXiv:1308.2096v1 [math.CO], 2013
[2] The Satisfactory Partition Problem.
Ajinkya Gaikwad, Soumen Maity, and Shuvam Kant Tripathi
arXiv:2007.14339v1 [cs.DS], 2020
[3] Satisfactory graph partition, variants, and generalizations.
Cristina Bazgan, Zsolt Tuza, Daniel Vanderpooten
European Journal of Operational Research 206 (2010) 271'280
[4] http://www.openproblemgarden.org/op/friendly_partitions
Lien : - • Dernière mise à jour : 2025-12-04 08:46:58
Résumé : Ce TER vise à traiter des maillages complexes et volumineux issus de
scanners ou photogrammétrie, souvent trop lourds pour être affichés ou
manipulés en mémoire. La solution consiste à découper ces maillages en
morceaux, simplifier chaque partie, puis reconstituer un maillage global
simplifié.
L'�objectif est de développer une implémentation en C++ avec Polyscope
pour la visualisation, disponible en Open Source, ouvrant la voie à
divers traitements géométriques multi-échelle (recalage,
partitionnement, déformation, etc.).
Travail demandé
Étude bibliographique des méthodes existantes.
Implémentation : tri spatial, découpage, simplification, et
reconstitution du maillage.
Extensions possibles : exploration de variantes ou focus sur des
traitements multi-échelle.
Prérequis:
Profil : Imagine (ou GL motivé)
Connaissance du c++, 3D, géométrie, mathématiques
Lien : https://seafile.lirmm.fr/f/2ee2faa726d142c3bd01/?dl=1 • Dernière mise à jour : 2025-12-04 14:59:27
Résumé : Les images de géométrie (Geometry Image [GGH02]) sont une curiosité en informatique graphique, à
l'�intersection entre le traitement des images et le traitement des surfaces en 3D. Une image de géométrie
capture la géométrie 3D d'�une surface dans une image 2D, chaque pixel contient une information RGB
correspondante à une position XYZ sur la surface du modèle 3D. Ce TER vise à utiliser les images de géométrie pour faire divers traitements de maillage 3D comme de la compression, du lissage etc..
L'�objectif est de développer une implémentation en C++ avec Polyscope (par exemple) pour la visualisation, ouvrant la voie à divers traitements de géométrie 3D par les images de géométries.
Travail demandé
Étude bibliographique des méthodes existantes.
Implémentation de la méthode d'image de géométrie
Traitement d'image
Prérequis:
Profil : Imagine (ou GL motivé)
Connaissance du c++, 3D, géométrie, mathématiques
Lien : https://seafile.lirmm.fr/f/20770ab6773241708e3c/?dl=1 • Dernière mise à jour : 2025-12-04 15:00:12
Résumé : Les intelligences artificielles (IA) génératives peuvent-elles faire
ressentir des émotions à leurs usagers lors déchanges conversationnels
? Comment ces émotions transparaissent-elles dans les conversations ?
Les IA peuvent-elles repérer automatiquement des émotions telles que la
joie, la peur, le dégoût ou dautres encore ? Le sujet sinscrit dans le
cadre du projet AI-EMOTION (en collaboration avec LERASS à lUniversité
Paul Valéry, France) qui sintéresse plus particulièrement aux agents
conversationnels pour comprendre comment le dialogue humain-machine peut
constituer un nouvel espace de fabriques des émotions, cest-à-dire
devenir un espace propice à la création et au partage démotions. Le TER
aura pour objectif de constituer un corpus de dialogues et d'évaluer un
ensemble de modèles (basés sur les Transformers) de baseline sur ce
corpus pour la tâche de détection automatique d'émotions.
** Des prérequis si nécessaires
- Connaissances des librairies de machine learning sous Python
- Curiosité pour les sujets de recherche inter- et pluridisciplinaires
** profil/filière des étudiants que vous souhaitez :
Tous parcours
Lien : - • Dernière mise à jour : 2025-12-04 14:11:33
Résumé : Résumé : En informatique graphique, la génération procédurale de zones urbaines pose deux difficultés : les zones urbaines peuvent être denses et diverses en terme de nombre et de taille des objets, ce qui augmente l'occupation mémoire; de plus, cette densité et variété peut rendre la visualisation de telles scènes coûteuse en temps de calcul. D'un autre côté, dans les scènes représentant des zones urbaines, les mêmes objets se répètent souvent et les différents styles d'architecture des bâtiments ainsi que la manufacture d'objets s'appuie sur des répétitions de formes simples, comme des plans pour des murs et des toits et des lignes et courbes pour des routes, ce qui permet d'utiliser des primitives simples à stocker et à rendre, par exemple avec des champs de distance signés (SDF).
Dans ce TER, vous devrez créer un prototype de rendu de ville infinie, générée procéduralement en temps réel (ou avec une technologie compatible avec le temps réel). Pour ça, vous remettrez au goût du jour une méthode de 2003 créée par Greuter et al., qui propose de rendre des bâtiments en les disposant sur une grille régulière, en les générant à l'aide d'extrusion de primitives.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_villes.pdf
Lien : - • Dernière mise à jour : 2025-12-04 14:29:35
Résumé : Dans le monde réel, la lumière interagit avec les objets en dessous de l'échelle du nanomètre, ce qui rend difficile la représentation de ces interactions à une échelle plus élevée. Le rendu physiquement réaliste (PBR) a pour objectif de représenter statistiquement ces interactions afin qu'il soit possible de les visualiser.
Le rendu des plumes et des plumages est particulièrement difficile à cause des nombreuses micro-structures qui composent les plumes : les barbes ramifiées et les barbules imbriquées sur ces barbes génèrent des interactions lumineuses autour du rachis central.
En 2024, Padron Griffe et al. ont proposé un modèle de rendu de plumes basé sur une BSDF (bidirectional scattering distribution function) qui représente ces interactions lumineuses autour de ces micro-structures, elle-même basée sur une BCSDF (bidirectional curve-scattering distribution functions) qui permet en particulier de modéliser des interactions lumineuses autour de micro-structures courbées ou cylindriques.
Dans ce TER, vous implémenterez le modèle de rendu de plumes de Padron Griffe et al. Celui-ci sera implémenté dans Blender, dans un moteur de jeu grand public tel que Godot, ou dans un moteur OpenGL fait maison.
Vous testerez notamment les performances du modèle dans un contexte de rendu temps réel : s'il est possible de rendre les plumes en temps réel, sinon, quels compromis à effectuer.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_plumes.pdf
Lien : - • Dernière mise à jour : 2025-12-04 14:31:09
Résumé : Dans la réalité, les terrains sont formés par des phénomènes physiques, en particulier les mouvements des eaux (pluie, rivières), qui érodent les matériaux à la surface des terrains.
Leur modélisation réaliste dans un monde virtuel nécessite des processus proches de la simulation physique; cependant, ces derniers sont généralement coûteux en temps de calcul.
En 2007, Mei et al. proposent une méthode de simulation d'érosion temps réel sur GPU. Cette méthode s'appuie sur le calcul d'un champ de vitesse des mouvements d'eaux pour calculer les processus d'érosion, de déplacement de matière et de sédimentation.
Vous implémenterez la méthode de simulation d'érosion de Mei et al. sur GPU. Vous accélérerez l'implémentation en utilisant des compute shaders pour les calculs coûteux.
Cette méthode ainsi que les méthodes basées sur la simulation d'érosion sont critiquées comme étant peu précises et générant peu de détails. Vous proposerez et testerez donc en plus une approche pour améliorer la méthode de Mei et al.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_erosion.pdf
Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_erosion.pdf • Dernière mise à jour : 2025-12-06 17:43:05
Résumé : La synthèse de textures temps réel par l'exemple consiste à étendre un petit échantillon de texture sur la surface à l'aide d'un algorithme contenant de l'aléa, sans les répétitions alignées que causeraient le fait de répéter cet échantillon à l'infini sur la surface (une technique couramment utilisée dans le jeu vidéo qu'on appelle "pavage périodique").
Ces algorithmes sont implémentés directement dans un fragment shader pour que la texture soit générée à la volée, uniquement lorsque la surface texturée est visible, et uniquement pour chaque pixel ayant une visibilité directe sur la texture. Ces algorithmes doivent donc être extrêmement rapides à calculer.
Les algorithmes de synthèse actuels varient selon la texture d'entrée. Vous allez donc proposer une méthode unique, universelle pour toutes les textures. Cette piste consistera à représenter la texture avec un pavage périodique de près, et l'algorithme du pavage et mélange de loin. Vous ferez en sorte que la transition soit le moins visible possible et vous argumenterez vos choix d'implémentation. Vous disposerez déjà de l'implémentation de la synthèse de textures en tant que GDShader.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_synthese.pdf
Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_synthese.pdf • Dernière mise à jour : 2025-12-06 17:50:04
Résumé : La synthèse de textures temps réel par l'exemple consiste à étendre un petit échantillon de texture sur la surface à l'aide d'un algorithme contenant de l'aléa, sans les répétitions alignées que causeraient le fait de répéter cet échantillon à l'infini sur la surface (une technique couramment utilisée dans le jeu vidéo qu'on appelle "pavage périodique").
En 2025, Brian Delvigne a effectué un stage au LIRMM et a proposé un prototype d'algorithme permettant de synthétiser un volume à partir d'une texture surfacique. Ce prototype permet de déplacer une surface dans l'espace pour explorer un volume infini, comme une loupe magique.
Le problème du travail de Brian Delvigne est qu'il se limite à la projection du volume sur une surface rastérisée, puisque le shader a lui-même été programmé comme décrivant l'apparence d'une surface rastérisée, ce qui rend impossible la représentation de surfaces creuses ou semi-transparentes avec du ray-marching.
Vous commencerez par implémenter un ray marching, en temps réel ou non, peu importe le support de programmation. Ensuite, vous réimplémenterez la synthèse de Brian Delvigne, en l'adaptant à des exemples de textures semi-transparentes.
Profil : IMAGINE
URL : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_volumique.pdf
Lien : https://www.lirmm.fr/nicolas-lutz/sujets/ter_2025_volumique.pdf • Dernière mise à jour : 2025-12-06 17:50:49
Résumé : Résumé: ce stage propose de concevoir un jeu très simple entre un humain et un robot (Pepper ou QT) pour étudier si, et comment, les utilisateurs perçoivent quun robot triche. Lobjectif nest pas la performance dIA, mais la compréhension de la confiance et du sentiment de justice dans une interaction ludique humainrobot.
Le jeu peut être de type lancer de dé caché ou tirage de carte : seul le robot voit le résultat (généré par le programme), annonce le score et tient les comptes. Lhumain ne voit jamais directement le dé / la carte, il doit croire ou douter du robot. Le système implémente plusieurs modes :
robot honnête (annonce toujours le vrai résultat),
robot tricheur (modifie parfois le résultat en sa faveur, ou en faveur de lhumain),
robot transparent (explique ses annonces ou reconnaît ses erreurs).
Techniquement, le comportement du robot est entièrement piloté par des règles (pas de machine learning), avec une probabilité de triche paramétrable. Une petite expérience utilisateur comparera les conditions (robot honnête vs tricheur, avec ou sans explication ou excuses), en mesurant la confiance, la perception de justice, la frustration et lacceptabilité du robot via questionnaires courts et analyse des attitudes (par exemple, à quel moment les participants pensent que le robot triche). Le stage vise une contribution claire sur la perception de triche et de fiabilité chez un robot social dans un cadre ludique minimal.
Prérequis
Bases en programmation (Python ou C++ selon lAPI robot)
Intérêt pour interaction humainrobot et questions de confiance / justice
Notions de ROS/NAOqi ou volonté de les apprendre pendant le stage
Lien : - • Dernière mise à jour : 2025-12-09 10:17:56
Résumé : Ce stage vise à développer un système dadaptation du dialogue sur Pepper ou QT basé sur une modélisation logique explicite des états émotionnels et de leurs relations avec des stratégies de réponse. Lémotion de lutilisateur sera détectée via un modèle léger pré-entraîné (par ex. DistilBERT, MiniLM) puis convertie en une représentation symbolique structurée (catégorie émotionnelle, intensité, niveau dincertitude).
Une base de connaissances logique formalisera les liens entre émotions, intentions interactionnelles et comportements sociaux (par ex. validation émotionnelle, encouragement, information). Le système sappuiera sur un mécanisme de raisonnement symbolique (règles logiques, raisonnements conditionnels, ou logique floue légère) permettant de dériver des décisions comportementales réalisables en temps réel par le robot.
Lintérêt scientifique central de ce travail réside dans lexplicabilité native quoffre la modélisation logique : chaque décision résultant du raisonnement peut être associée à une explication textuelle retraçant les règles activées et les hypothèses retenues. Cette propriété permet de conduire une expérimentation utilisateur, comparant une version explicable du robot à une version non-explicable, afin dévaluer dans quelle mesure lintelligibilité des décisions influence la perception dempathie, de cohérence et dappréciation générale du comportement robotique.
Ce stage permettra ainsi dexplorer le potentiel des modèles symboliques explicables pour améliorer la qualité perçue des interactions humainrobot dans un contexte émotionnel.
Prérequis
Python
Intérêt pour IA symbolique, logique ou représentation des connaissances
Notions de NLP appréciées
Lien : - • Dernière mise à jour : 2025-12-09 10:18:50
Résumé : Ce stage vise à concevoir un environnement en réalité virtuelle dans lequel un utilisateur interagit verbalement avec un robot social virtuel, et à étudier comment différentes incarnations visuelles du robot influencent la perception dempathie. Lhypothèse est que des caractéristiques corporelles simples (morphologie, expressivité, style visuel) modulent la perception sociale du robot, indépendamment du contenu verbal produit.
Létudiant développera, dans Unity, deux incarnations contrastées dun robot virtuel (par ex. modèle humanoïde expressif vs modèle minimaliste géométrique), en sappuyant sur des modèles 3D existants (Unity humanoid rig, Mixamo, Robot Kyle, ou modèles open-source). Le dialogue sera piloté par un module simple utilisant une détection démotion linguistique via un modèle pré-entraîné léger (par ex. DistilBERT, MiniLM, ou un classifieur zero-shot HuggingFace) appliqué à lentrée textuelle ou transcrite, et un ensemble de réponses conditionnelles pré-scriptées.
Les animations corporelles (geste, orientation, expression faciale) seront synchronisées aux tours de parole via des paramètres comportementaux (blendshapes, triggers danimation, eye gaze controller), sans apprentissage automatique. Une expérience utilisateur contrôlée (N=612) comparera les deux incarnations, avec mesure de :
empathie perçue,
présence sociale,
confort interactionnel,
et engagement (questionnaires Likert courts).
Lobjectif scientifique est de déterminer si une variation minimale de lincarnation corporelle impacte la qualité perçue dune interaction émotionnelle en VR et de caractériser les mécanismes perceptifs impliqués.
Prérequis
Connaissances de base en Unity (C#)
Notions de NLP appréciées mais non obligatoires
Lien : - • Dernière mise à jour : 2025-12-09 10:20:13
Résumé : Ce projet a pour objectif de concevoir un module embarqué sur Pepper ou QT permettant la détection en temps réel de postures corporelles humaines et la classification détats émotionnels associés, afin dadapter le comportement du robot lors dune interaction sociale. Lapproche se concentrera sur lutilisation de méthodes légères, temps réel et sans GPU, applicables via webcam.
La détection squelettique pourra sappuyer sur des modèles de pose estimation légers tels que MediaPipe Pose, BlazePose ou MoveNet (Lightning), permettant lextraction de points clés (3317 joints). Sur la base de ces features, une classification détats émotionnels ou motivationnels (par ex. stress, fatigue, désengagement, ouverture) sera réalisée via :
règles heuristiques / features engineering, ou
un classifieur léger (ex. SVM, Random Forest, Logistic Regression), entraîné sur un petit dataset interne ou public.
Un module de décision comportementale (par ex. Finite State Machine ou behaviour tree) contrôlera lanimation robotique (gestuelle, proxémie, orientation, feedback verbal). Ce système devra sexécuter en temps réel avec une latence faible (<150ms) et être robuste aux variations de posture.
Une évaluation expérimentale à petite échelle permettra de mesurer leffet de ladaptation posture → comportement sur lengagement, la fluidité interactionnelle et la perception sociale du robot.
Prérequis
Python ; bases en vision par ordinateur
Intérêt pour ML léger / embedded AI
Notions de ROS/NAOqi appréciées mais non obligatoires
Lien : - • Dernière mise à jour : 2025-12-09 10:21:16
Résumé : Ce projet vise à implémenter un système dinteraction embarqué sur Pepper permettant la détection automatique détats émotionnels liés au stress académique et ladaptation conditionnelle du dialogue. Lapproche repose sur lutilisation de modèles pré-entraînés légers exploitables en temps réel sur une machine sans GPU.
Pour lanalyse textuelle, le système pourra exploiter des modèles distillés tels que DistilBERT, MiniLM ou DistilRoBERTa, appliqués à des tâches de sentiment analysis, valence-arousal ou stress detection via classification supervisée ou zero-shot. La transcription automatique du discours pourra être réalisée via Vosk ou Whisper tiny en local.
Pour lanalyse visuelle (optionnelle), létudiant pourra intégrer des méthodes de détection faciale légères telles que MediaPipe FaceMesh, couplées à un classifieur par heuristiques pour 35 catégories émotionnelles de base.
Une stratégie de late fusion par pondération de confiance ou séparation de priorités devra être définie pour combiner les modalités. Une policy de réponse robotique (rule-based, FSM ou behaviour tree) sur Pepper décidera des sorties verbales et non verbales, en comparant un style neutre et un style empathique.
Une expérimentation utilisateur à petite échelle permettra dévaluer limpact de ladaptation émotionnelle sur la perception de soutien, la valence émotionnelle post-interaction et la fluidité du dialogue.
Prérequis
Python, manipulation de modèles pré-entraînés (HuggingFace)
Bases en NLP ou vision par ordinateur
Intérêt pour robotique sociale et systèmes interactifs
Lien : - • Dernière mise à jour : 2025-12-09 10:22:04
Résumé : JeuxDeMots (https://www.jeuxdemots.org) est une base de connaissances développée au LIRMM et constituée à l'aide de jeux sérieux éponymes. Le but de ce TER est d'extraire des informations de JeuxDeMots via l'API récemment développée (https://jdm-api.demo.lirmm.fr) en vue de créer une interface web interrogeable par un programme. Celle-ci devra se présenter sous la forme d'un langage de requête de sélection dans la base de données à l'aide de variables et d'opérateurs (OU, ET, =) afin de donner les valeurs possibles pour ces variables en respectant les contraintes. Dans un soucis d'optimisation, il faudra mettre en place des heuristiques traitant en priorité les clauses les plus contraintes. Voici des exemples de requêtes à 1 et 2 variables :
Requête 1 : ($x r_isa artiste) ET (($x = ba%) OU ($x = Ba%)) -> Donner les termes ayant pour hyperonyme 'artiste' (c'est à dire étant des artistes) et commençant par 'ba' ou 'Ba'.
Résultat de la requête 1 ($x) : (batteur) (Bach) (bassiste) (baryton) (barbarigaire) (bassoniste) (Bachir Touré) (Barbara) ...
Requête 2 : ($x r_isa animal) ET ($y r_isa animal) ET ($x r_can_eat $y) -> Donner les couples de termes ayant comme hyperonyme 'animal' (c'est à dire étant des animaux), dont le premier peut manger le second.
Résultat de la requête 2 ($x,$y) : (lion,gazelle) (lion,antilope) (chat,souris) (caméléon,mouche) ...
Lien : https://jdm-api.demo.lirmm.fr • Dernière mise à jour : 2025-12-09 10:56:40
Résumé : JeuxDeMots (https://www.jeuxdemots.org) est une base de connaissances développée au LIRMM et constituée à l'aide de jeux sérieux éponymes. Le but de ce TER est d'extraire des informations de JeuxDeMots via son API (https://jdm-api.demo.lirmm.fr) afin de désambiguïser les mots inscrits dans des phrases en langue française. Certains termes sont polysémiques, autrement dit, ils peuvent avoir plusieurs raffinements. Désambiguïser consiste à déduire de quel raffinement du terme il est question à partir du terme non raffiné et du contexte dans lequel il s'inscrit.
Exemple 1 : "L'avocat raconte des salades." L'avocat est en l'occurrence la personne et non pas le fruit. La salade est ici le synonyme de mensonge et non pas la plante. Bien que l'avocat (fruit) et la salade (plante) soient proches sémantiquement, on commence dans ce cas par désambiguïser à l'aide du verbe raconter, chose que seul l'avocat (personne) peut faire et on en déduit ensuite le bon raffinement de salade.
Exemple 2 : "Le chat joue avec la souris." Le chat (animal) peut jouer aussi bien avec la souris (rongeur) que la souris (ordinateur) mais on peut penser que c'est plus probable que ce soit avec la souris (rongeur).
Exemple 3 : "L'avocat est véreux." Cet énoncé est intrinsèquement ambiguë puisqu'on ne sait pas si c'est l'avocat (fruit) qui véreux (au sens propre) c'est à dire qu'il contient littéralement des vers ou alors l'avocat (personne) qui est véreux (au sens figuré) c'est à dire qu'il est corrompu.
Lien : https://jdm-api.demo.lirmm.fr • Dernière mise à jour : 2025-12-09 14:08:49
Résumé : En traitement automatique du langage naturel (TALN) et en IA, la tâche de l'inférence textuelle (natural language inference ou recognising textual entailment, en anglais) est une tâche de classification de paires de phrases (sentence-pair classification task) avec trois étiquettes/classes (entailment, neutral, contradiction).
Un exemple:
Prémisse: Rebekah Maciorowski, une mercenaire américaine de 28 ans, est morte au front en Ukraine, selon une publication du 11 décembre 2022 sur Facebook.
Hypothèse: Si Rebekah Maciorowski est bel et bien américaine et présente sur le front en Ukraine, elle n'est ni mercenaire, ni décédée dans des combats.
Étiquette correct: Contradiction
Presque tous les modèles d'apprentissage profond pour cette tâche en français sont entraînés sur le sous-ensemble d'entraînement de XNLI, qui n'est qu'une traduction par machine au français du sous-ensemble d'entraînement de la version anglaise originale de XNLI.
Le projet de TER proposé consiste à étudier les possibilités du few-shot learning avec différents grands modèles de langage (GPT-5, Gemini 3, Mistral 3, CamemBERT) sur les jeux de données que nous avons introduits pour le français (DACCORD, RTE3-FR, GQNLI-FR, SICK-FR, LingNLI-FR). L'objectif serait de tester à quelle mesure le few-shot learning, avec différentes combinaisons de modèles de langage et de jeux de données, pourrait influencer la performance des modèles sur tous les jeux de données disponibles pour le français. Il s'agirait aussi de voir si le paramétrage sur un (ou plusieurs) de nos jeux de données des modèles initialement entraînés sur XNLI est efficace pour améliorer les performances des modèles sur des exemples issus d'autres jeux de données distincts.
Les missions du TER comprennent :
1. paramétrer ou fine-tuner plusieurs modèles récents d'apprentissage profond (deep learning) sur nos jeux de données (par exemple, avec des méthodes PEFT déjà disponibles sur HuggingFace) ;
2. évaluer les performances de ces modèles sur tous les jeux de données mentionnés ;
3. tester des techniques de few-shot learning (par exemple, Few-Shot Prompting) sur différents modèles et avec différents jeux de données parmi ceux qui sont indiqués ci-dessus.
Lien : https://plmlatex.math.cnrs.fr/read/qqkvhxrcjgsg • Dernière mise à jour : 2025-12-10 17:22:43
Résumé : Le projet porte sur l'amélioration d'une interface graphique
Web nommée SmartFCA, dédiée à l'extraction de connaissances à partir de
données via des méthodes d'intelligence artificielle symbolique.
L'objectif est de fiabiliser cette interface, corriger les bugs
existants et enrichir ses fonctionnalités pour une meilleure ergonomie
et collaboration. Parmi les évolutions prévues figurent lajout dun
affichage en temps réel, un mode dédition collaborative et un
gestionnaire de composants graphiques. Ce projet permet de mobiliser ou
d'acquérir des compétences en développement front-end moderne, requêtage
d'API REST et qualité logicielle.
Pré-requis : Bonne maitrise de javascript. Une expérience avec un
framework front sera un avantage.
URL: https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/?p=%2FWeb-app.pdf
Lien : https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/?p=%2FWeb-app.pdf • Dernière mise à jour : 2025-12-10 10:52:35
Résumé : Ce projet propose de repenser l'architecture serveur de SmartFCA, une plateforme d'IA symbolique dédiée à la fouille de données, en migrant d'un ensemble de micro‑services vers un monolithe modulaire.
L'objectif est de concevoir une base serveur plus cohérente, performante et maintenable, tout en garantissant la compatibilité avec les clients existants. Ce projet offre une mise en pratique concrète de l'architecture logicielle avancée, de la gestion des dépendances et des tests backend dans un contexte de recherche appliquée.
Pré-requis :Bonne maitrise de javascript. Connaissance des API RESTFUL. Une connaissance de node et de express.js sera un vrai plus.
URL : https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/'p=%2Fmodular-monolith.pdf
Lien : https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/?p=%2Fmodular-monolith.pdf • Dernière mise à jour : 2025-12-10 14:52:52
Résumé : Ce projet consiste à concevoir un mini IDE web intégré à SmartFCA, une plateforme dIA symbolique pour la fouille de données, afin dautomatiser la création de nouveaux composants de calcul. Lobjectif est de générer, à partir dune description graphique et dun court script métier, tout le code nécessaire à lintégration et au déploiement dun composant dans la plateforme. Ce projet mobilise des compétences en développement web avancé, génération de code et conteneurisation Docker, au bénéfice dune expérience développeur fluide et productive.
Pré-requis : Bonnes connaissances en JavaScript, familiarité avec un framework front-end, bases en Docker et concepts de conteneurisation. Une première expérience avec des environnements de développement intégrés léger (Web IDE) sera un plus.
URL : https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/?p=%2FIDE.pdf
Lien : https://seafile.lirmm.fr/d/029b4b9161c6485ba7b4/files/?p=%2FIDE.pdf • Dernière mise à jour : 2025-12-10 10:55:12
Résumé : Lobjectif de ce TER est dexplorer une approche hybride combinant génération procédurale classique et apprentissage profond pour la création automatique de paysages. Plus précisément, il sagira de concevoir une méthode de génération rapide de terrains à laide dun conditional GAN (cGAN), de type pix2pix, capable de produire des cartes délévation réalistes à partir de cartes labelisées de haut niveau.
Dans un premier temps, les étudiants devront constituer un jeu de données synthétique. Celui-ci sera généré automatiquement à partir de fonctions de bruit (Perlin, Simplex, etc.) et de simulations dérosion simplifiées. Chaque échantillon devra être composé dune paire : une carte délévation et une carte labelisée associée (biomes, régions, paramètres abstraits).
Dans un second temps, un cGAN sera entraîné sur ce dataset afin dapprendre la correspondance entre cartes labelisées et terrains. Le générateur devra permettre à un utilisateur de créer de nouveaux paysages en ne fournissant quune carte dentrée simple.
Plusieurs axes de recherche sont encouragés : lencodage des cartes labelisées (biomes discrets, paramètres continus, encodage RGB), la gestion des limitations de résolution du modèle (assemblage et fusion de tuiles), et la génération de mondes potentiellement infinis à partir dentrées utilisateur cohérentes.
Le TER donnera lieu à un prototype fonctionnel, une analyse critique des résultats et une discussion des limites et perspectives.
Lien : https://drive.proton.me/urls/PG4S5JYH34#j8b481ohEokF • Dernière mise à jour : 2025-12-11 13:13:48
Résumé : Parcours visé : Master Imagine
La simulation et le rendu de leau constituent des problématiques centrales en infographie, notamment dans les applications interactives et temps réel. Les modèles physiques complets de dynamique des fluides sont généralement trop coûteux pour ces contextes, ce qui conduit à lutilisation de modèles simplifiés visant avant tout un réalisme visuel crédible. Les environnements littoraux, et en particulier les plages, concentrent plusieurs défis spécifiques : animation des vagues, interaction avec le rivage, dissipation de lénergie et rendu optique complexe de leau et du sable.
Lobjectif de ce TER est de concevoir et dimplémenter une approche simplifiée de simulation et de rendu de plages et de plans deau adaptée au temps réel. Les étudiants étudieront des modèles paramétriques de vagues, tels que les ondes sinusoïdales ou les vagues de Gerstner, et analyseront leur comportement en zone peu profonde. Des heuristiques simples permettront de modéliser le déferlement et le ressac au contact du rivage.
Un travail particulier sera consacré au rendu visuel, incluant la réflexion et la réfraction de leau, latténuation en fonction de la profondeur, ainsi que la représentation du sable sec et humide. Le projet donnera lieu à la réalisation dun prototype interactif permettant dexplorer différents paramètres de simulation. Le TER devra être accompagné dun rapport académique présentant la méthodologie, les résultats obtenus et une analyse critique des compromis entre fidélité physique, qualité visuelle et performance.
Lien : https://drive.proton.me/urls/M93835X8WG#OjcgDYowuTEM • Dernière mise à jour : 2025-12-11 13:15:06
Résumé : La génération de comportements complexes à partir de règles simples constitue un enjeu central en intelligence artificielle et en animation procédurale. Les travaux fondateurs de Karl Sims ont montré que des créatures virtuelles, dotées de morphologies et de contrôleurs simples, peuvent faire émerger des comportements de locomotion crédibles par évolution. Plus récemment, lalgorithme NEAT (NeuroEvolution of Augmenting Topologies) a permis dautomatiser la co-évolution de la structure et des paramètres de réseaux de neurones, offrant un cadre particulièrement adapté à ce type de problématique.
Ce TER a pour objectif de concevoir un moteur générique de simulation de créatures évolutives, inspirées des travaux de Karl Sims, reposant sur lalgorithme NEAT. Les étudiants devront définir une représentation modulaire des créatures (morphologie, articulations, capteurs et actionneurs), couplée à un simulateur physique simplifié. Chaque créature sera contrôlée par un réseau neuronal évolutif généré et optimisé via NEAT.
Une fois le moteur implémenté, différents scénarios de comportement seront proposés : locomotion terrestre (marche), déplacement en milieu liquide (nage), recherche et collecte de ressources, ou encore interaction avec un environnement dynamique.
Le travail consistera à analyser linfluence des scénarios, des capteurs disponibles et des fonctions de fitness sur les comportements émergents. Les livrables incluront un prototype fonctionnel, des visualisations des créatures et un rapport critique mettant en perspective les résultats obtenus et les limites de lapproche.
Lien : https://drive.proton.me/urls/X62DDQM4CM#EerZAUeWkp9P • Dernière mise à jour : 2025-12-11 13:15:56
Résumé : La simulation de fluides constitue un domaine central de linfographie et de la modélisation physique, avec des applications en animation, visualisation scientifique et environnements interactifs. Si les modèles complets basés sur les équations de NavierStokes permettent des simulations réalistes, leur coût computationnel reste un frein majeur aux usages temps réel. De nombreux travaux proposent ainsi des approches simplifiées visant un compromis entre réalisme visuel, stabilité numérique et interactivité.
Lobjectif de ce TER est de concevoir et dimplémenter une simulation de fluides interactive, permettant à un utilisateur dagir en temps réel sur le fluide (ajout de forces, sources, obstacles). Les étudiants devront étudier et comparer différents modèles de simulation adaptés à linteractivité, tels que les méthodes eulériennes sur grille (stable fluids), les approches particulaires (SPH) ou des modèles hybrides en deux dimensions.
Le travail consistera à choisir un modèle de simulation, à en implémenter les étapes clés (advection, diffusion, projection, intégration temporelle) et à assurer la stabilité et la performance de lensemble. Une attention particulière sera portée à loptimisation des calculs, à la gestion de la résolution et à la visualisation du fluide.
Le projet donnera lieu à la réalisation dun prototype interactif démontrant la manipulation du fluide en temps réel, accompagné dun rapport académique présentant la méthodologie, les résultats obtenus et une analyse critique des limites du modèle choisi.
Lien : https://drive.proton.me/urls/P7TD7P0EC8#zy2A0fIo5XS3 • Dernière mise à jour : 2025-12-11 13:16:46
Résumé : La génération procédurale d'agencements d'intérieur pose un défi particulier, car elle doit concilier des contraintes géométriques, ergonomiques et fonctionnelles généralement implicites et difficiles à formaliser sous forme de règles fixes. Ce TER propose d'aborder ce problème à travers une approche fondée sur la simulation d'usage et l'évolution génétique des agencements.
L'objectif est de concevoir un système capable de générer automatiquement l'agencement d'une pièce ou d'un logement en faisant évoluer la position et l'orientation des meubles. Chaque individu de la population représente un agencement complet, défini par un ensemble de gènes décrivant les meubles présents (position, rotation, dimensions éventuelles). La qualité d'un agencement est évaluée à l'aide d'une fonction de fitness reposant sur des simulations : agents virtuels simulant des déplacements humains, vérification des zones d'usage (ouverture de portes, espace autour des meubles), et mesure de critères tels que l'accessibilité, la fluidité de circulation et le confort.
Un algorithme génétique sera utilisé pour faire évoluer les agencements par mutation et recombinaison, la simulation servant de mécanisme central d'évaluation. Le système devra permettre de tester différents scénarios (chambre, salon, bureau) et d'analyser l'influence des critères de fitness sur les solutions générées.
Le TER donnera lieu à un prototype interactif, des visualisations 2D des agencements obtenus et un rapport académique analysant les comportements émergents et les limites de l'approche.
Lien : https://drive.proton.me/urls/1T52WXY6B0#t5idpkqc0Fim • Dernière mise à jour : 2025-12-11 13:19:30
Résumé : L'essor rapide des Intelligences Artificielles (IA) génératives (telles que les modèles de langage, les générateurs d'images ou de code) transforme profondément les pratiques professionnelles, scientifiques et éducatives liées à l'Informatique. Ces technologies, désormais largement accessibles, interrogent directement le rôle et la pertinence des formations universitaires en Informatique : quelles compétences fondamentales restent essentielles, quelles nouvelles connaissances doivent être intégrées aux cursus. Et comment les formations peuvent-elles se positionner face à des outils capables de produire du code, d'assister la programmation ou d'automatiser certaines tâches cognitives
Dans ce contexte, il apparaît nécessaire d'analyser la place actuelle et future des formations en Informatique au sein de l'écosystème des IA génératives, en tenant compte à la fois des enjeux pédagogiques, techniques, éthiques et professionnels. On peut ainsi résumer la problématique de la manière suivante : dans quelle mesure les formations universitaires en Informatique sont-elles adaptées aux évolutions induites par les intelligences artificielles génératives, et comment peuvent-elles se repositionner pour rester pertinentes dans cet écosystème en mutation rapide.
Ne rêvez pas, vous ne vous attaquerez à cette problématique dans ce sujet de TER. C'est une problématique qui implique de nombreux autres acteurs. En revanche, on se propose de fournir un certain nombre d'éléments concrets permettant d'alimenter le débat. Plus précisément, nous sélectionnerons des UE des formations du département Informatique de la Faculté des Sciences et nous nous poserons la question dans quelle mesure les IA génératives sont capables de ' capturer ' le contenu de ces UE. Par ' capturer ', nous entendons le fait de pouvoir répondre avec succès aux évaluations de ces UE (questions de TD et de TP, examens, etc.).
Dans ce travail, il conviendra de préciser le protocole expérimental, ainsi que d'automatiser au maximum le travail de validation des évaluations des IA génératives. Par exemple,si une UE est une UE principalement de programmation, on pourra mettre en place un certain nombre de tests permettant de valider les réponses des IA génératives. Pour l'UEHAI102I (qui pourrait être une des premières UE à considérer dans ce projet), ce travail sera grandement facilité par la présence d'un outil d'autotest (Learn-OCaml).
Ce projet pourrait également déboucher sur la réalisation d'un outil permettant d'être alimenté par du contenu pour chaque UE (documents de cours, fichiers de code, etc.),qui sera transmis aux IA génératives. La validation pourra être automatique et dans le cas contraire, une validation manuelle sera demandée (et mémorisée) à l'utilisateur. Avec cet outil, on pourrait voir rapidement si les IA génératives (pas forcément un outil mais un ensemble d'outils) sont en mesure de passer avec succès nos formations.
** Des prérequis si nécessaires :
Avoir un goût particulier pour les IA génératives.
Avoir à coeur d'esquisser l'obsolescence de certaines UE.
Être intéressé par le débat sur la place des IA génératives dans nos formations.
** le profil/filière des étudiants que vous souhaitez : IASD, GL, Algo.
Lien : https://moodle.umontpellier.fr/pluginfile.php/3029719/mod_resource/content/2/liamatuer.pdf • Dernière mise à jour : 2025-12-15 19:17:02
Résumé : Dans ce sujet, nous nous proposons de modéliser la sémantique formelle dun langage de programmation impératif en utilisant loutil daide à la preuve Coq (renommé récemment en Rocq). La sémantique formelle dun langage de programmation permet de définir un modèle mathématique du sens de tout programme écrit dans ce langage. Les sémantiques formelles permettent de modéliser très précisément lexécution des programmes.
La sémantique que nous considérerons ici est la sémantique opérationnelle à grands pas (« à la Khan »), appelée aussi sémantique opérationnelle naturelle. Lavantage de cette sémantique est quelle est très proche de lexécution des programmes et on peut implémenter très facilement un interprète (entre autres) à partir des règles de cette sémantique.
Concernant le langage de programmation, il sagit dun petit langage impératif, avec peu de structures de données (entiers, booléens, tableaux) et avec une structure de contrôle itérative (le « while »). Même si ce langage apparaît comme assez dépouillé, il reste Turing-complet cependant. Ce langage sera vu exclusivement par le prisme de sa syntaxe abstraite. Aucun travail danalyse syntaxique sera demandé. On écrira directement les programmes en utilisant la syntaxe abstraite.
La formalisation du langage et des règles sémantiques sera effectuée en utilisant loutil daide à la preuve Coq (que vous connaissez par exemple si vous avez suivi lUE HAI603I « Vérification » en L3 de la Licence Informatique de lUniversité de Montpellier). Cette formalisation sera réalisée au moyen dun plongement profond, cest-à-dire que le langage et les règles sémantiques seront encodées au moyen de structures de données manipulables (typiquement des types inductifs). Il faudra ensuite écrire un interprète pour ce langage et démontrer que cet interprète est conforme aux règles de la sémantique.
** Des prérequis si nécessaires ;
Avoir suivi lUE HAI603I (Vérification) ou connaître un peu loutil Coq.
Avoir une appétence pour la programmation fonctionnelle (OCaml par exemple).
Avoir un goût particulier pour lInformatique théorique.
** le profil/filière des étudiants que vous souhaitez : Algo, GL, IASD.
Lien : https://moodle.umontpellier.fr/pluginfile.php/3029690/mod_resource/content/1/sem.pdf • Dernière mise à jour : 2025-12-15 08:50:33
Résumé : Le style architectural « microservice » sest progressivement imposé comme un modèle de référence pour la conception de systèmes logiciels modernes, en particulier dans des contextes nécessitant une forte évolutivité, une grande résilience et une capacité dadaptation rapide aux évolutions métier. Lémergence des microservices est étroitement liée à lévolution de lécosystème technologique qui les entoure. Le déploiement sur le cloud, lutilisation des conteneurs (Docker), ainsi que lorchestration de ces conteneurs via des plateformes comme Kubernetes, constituent aujourdhui un socle technologique largement adopté en industrie. Cependant, une grande partie des systèmes logiciels actuellement en production dans les entreprises repose encore sur des architectures monolithiques, souvent développées depuis plusieurs années. Dans ce contexte, la migration des systèmes monolithiques vers des architectures microservices représente un enjeu majeur pour les entreprises.
Lobjectif principal de ce projet de TER est détudier et de mettre en uvre un processus de migration dune architecture logicielle monolithique vers une architecture à base de microservices. Ce processus de migration doit être défini dans le cadre du Framework Spring et Spring Boot
** le profil/filière des étudiants que vous souhaitez : GL.
Lien : https://docs.google.com/document/d/1rIURrR_AqvWBXtW1FFNVP2X_PhNj1EXM_gzEmCIBo-s/edit?usp=sharing • Dernière mise à jour : 2025-12-15 08:52:17
Résumé : Les tests logiciels constituent une activité centrale du cycle de vie dun logiciel et jouent un rôle essentiel dans lassurance qualité. On distingue plusieurs types de tests, notamment les tests unitaires, les tests dintégration, les tests système, les tests fonctionnels, ainsi que les tests de performance et de sécurité. Cependant, la mise en uvre et lexécution régulière de ces tests représentent un coût important, tant en termes de temps que de ressources humaines et matérielles. Dans les environnements industriels modernes, caractérisés par des cycles de développement courts et des intégrations fréquentes (CI/CD), lexécution complète de lensemble des tests à chaque modification du code devient rapidement difficilement soutenable. Dans ce contexte, les tests de non-régression occupent une place particulière. Leur objectif est de vérifier que les modifications apportées au code nintroduisent pas de nouveaux défauts dans les fonctionnalités existantes. La sélection des tests de non-régression pertinents, exécutés après chaque modification, est donc un enjeu majeur pour réduire les coûts tout en conservant un niveau de confiance élevé dans le logiciel. La Regression Test Selection (RTS) vise précisément à identifier, parmi lensemble des tests disponibles, ceux qui doivent être réexécutés suite à une évolution du code. Lobjectif principal de ce projet de TER est d'étudier et d'implémenter une approche dautomatisation de la sélection des tests fonctionnels de non-régression suite à des commits de modification de code.
** le profil/filière des étudiants que vous souhaitez : GL.
Lien : https://docs.google.com/document/d/1DI9w3_jBanFzTLA6m6FQ1iXT1Evkbdx3oeUPAKmlZEY/edit?usp=sharing • Dernière mise à jour : 2025-12-15 09:00:50
Résumé : Les tests logiciels constituent une activité fondamentale du cycle de vie dun logiciel. Ils permettent de garantir la qualité, la fiabilité et la conformité dun système aux exigences exprimées. On distingue plusieurs catégories de tests, notamment les tests unitaires, les tests dintégration, les tests fonctionnels et les tests non fonctionnels. Toutefois, la mise en uvre et lexécution des tests représentent un coût élevé pour les entreprises. Ce coût inclut le temps de conception des tests, leur exécution, lanalyse des résultats ainsi que la maintenance des scénarios et des scripts de test lors des évolutions du logiciel. Les tests fonctionnels sont souvent parmi les plus coûteux, car ils nécessitent des environnements spécifiques, des outils dédiés et une interprétation fine des résultats.
Face à ces contraintes, lautomatisation des tests est devenue un levier majeur pour réduire les coûts et améliorer lefficacité du processus de validation. De nombreux outils existent pour lautomatisation des tests fonctionnels, tels que Selenium, Cypress ou Playwright, qui permettent de simuler des interactions utilisateur et de vérifier le comportement attendu de lapplication. Cependant, ces outils présentent des limites importantes : il est toujours nécessaire de définir manuellement les scénarios de test, décrire les scripts dautomatisation, et souvent de vérifier manuellement les résultats, en particulier pour les aspects non fonctionnels où linterprétation des données est complexe. Lobjectif de ce projet de TER est de proposer une approche dautomatisation des tests fonctionnels reposant sur lexploitation des Large Language Models (LLMs), combinée à lanalyse des traces dexécution issues de mécanismes dobservabilité et de monitoring des logiciels.
Lien : - • Dernière mise à jour : 2025-12-15 09:01:30
Résumé : Le développement d'applications informatiques modernes implique invariablement l'utilisation de nombreuses dépendances, qu'il s'agisse de bibliothèques open source ou de composants propriétaires. Cependant, une préoccupation majeure réside dans le fait que ces dépendances peuvent, à un moment donné, contenir des vulnérabilités de sécurité. Ce projet de TER vise à examiner les méthodes actuelles de détection des vulnérabilités associées aux dépendances logicielles et d'analyse des composants logiciels, en s'appuyant sur des techniques d'analyse du code de l'application développée. De plus, l'objectif est de proposer une approche à la fois théorique et pratique permettant de contextualiser ces vulnérabilités afin d'aider les développeurs à prioriser les actions de correction et à concentrer leurs efforts sur celles qui sont effectivement exploitables dans l'application.
** le profil/filière des étudiants que vous souhaitez : GL, IASD.
Lien : https://docs.google.com/document/d/1-4Na6kl4zsqYkXuA5qzszjF2tQGqROu-ihP0HgCP_xU/edit?usp=sharing • Dernière mise à jour : 2025-12-15 18:32:43
Résumé : Le projet s'inscrit à l'interface entre le génie logiciel et l'intelligence artificielle. Ces deux mondes interagissent fortement. D'une part, l'IA au service du génie logiciel (AI4SE / IA4GL) améliore les activités d'ingénierie : génération de code, revue automatique, analyse statique, tests, observabilité, etc. D'autre part, le génie logiciel au service des systèmes d'IA (SE4AI / GL4IA) apporte méthodes, normes et architectures pour industrialiser des logiciels IA-enabled / IA-powered : gouvernance des données et des modèles, traçabilité, MLOps, sûreté, sécurité, conformité et opérations.
Le projet vise (i) à étudier la variabilité architecturale des systèmes logiciels basés sur l'IA et à la représenter sous une forme adéquate (p. ex. feature model), (ii) à identifier des critères de choix (exigences métier et contraintes non fonctionnelles) orientant la sélection d'un style/variant architectural, et (iii) à implémenter une architecture de référence 'Agentic AI' fondée sur les microservices et son écosystème (conteneurisation, Kubernetes, Kafka/RabbitMQ, API Gateway, stockage vecteur pour RAG, registre de modèles, pipeline MLOps basique), illustrée par un scénario applicatif minimal mais réaliste.
** le profil/filière des étudiants que vous souhaitez : GL, IASD.
Lien : https://docs.google.com/document/d/1lp_H_4R3ZSlXq2DlSKutahP3_zWo9uOa9Mb-NLAJ4yk/edit?usp=sharing • Dernière mise à jour : 2025-12-15 18:32:16
Résumé : L'arrivée des LLMs remet en question de nombreuses pratiques dont celles du développement logiciel. Lors de ce TER, nous cherchons à reprendre des essais effectués l'année dernière par un groupe de TER M1 et à examiner à quel point les LLMs ont évolué dans le domaine du calcul combinatoire sur des données ou la production d'un code capable de l'effectuer. Ces calculs consistent à calculer des artefacts utiles dans le domaine de l'extraction de connaissances dite symbolique (basée sur la logique, et non sur la statistique). Les artefacts visés sont des treillis de concepts ou des systèmes de règles d'implication. Il s'agira de disposer d'une ou plusieurs implémentations de référence, rédigées par un programmeur et testées, auxquelles comparer ce qui sera produit à l'aide des LLMs. Les LLMs pourront être utilisés pour : effectuer les calculs eux-mêmes, générer un code effectuant ces calculs, comparer des résultats, comparer des codes, etc.
** Des prérequis si nécessaires : Connaissance de Java. Le reste sera appris pendant le TER.
** le profil/filière des étudiants que vous souhaitez : GL
Lien : https://seafile.lirmm.fr/f/ae8a3740c4454ecbab2e • Dernière mise à jour : 2025-12-15 18:31:46
Résumé : Résumé : Ce projet a pour objectif d'étudier et d'implémenter des algorithmes pour le problème de model checking pour la logique temporelle linéaire (LTL), qui consiste à déterminer si un système physique donné satisfait une propriété exprimée par une formule LTL. L'algorithme général de résolution du problème procède par la traduction d'une formule en un automate de Büchi, et de chaque exécution du système en un mot sur l'alphabet de ses états. Ce problème est PSPACE-complet, la partie coûteuse de l'algorithme étant la construction de l'automate correspondant à une formule. Il s'agira donc dans un premier temps de se familiariser avec la méthode générale, la logique LTL et les automates de Büchi, puis dans un second temps d'implémenter et comparer certains algorithmes choisis de traduction de formules en automates, dans le langage de préférence des étudiant·es. Si le temps et l'avancement du projet le permettent, il sera possible de le prolonger en regardant d'autres méthodes de résolution du problème pour LTL, et/ou en étudiant le model checking pour CTL*, qui est une extension des logiques LTL et CTL; au choix des étudiant·es.
Lien vers le sujet détaillé : https://seafile.lirmm.fr/f/9db4cb75ebda4f8b95bd/
Lien : https://seafile.lirmm.fr/f/9db4cb75ebda4f8b95bd/ • Dernière mise à jour : 2025-12-19 19:05:54
Résumé : Dès le début de linformatique, les premiers algorithmiciens de génie ont implémenté des
structures de données super efficaces sur les machines limitées de lépoque. De Williams
(heaps, 1964) à Tarjan (union-find, 1975), ces algorithmes, encore enseignés aujourdhui,
incarnent la recherche dénumérations et de structures de données minimalement redondant.
Les codes de Gray (Gray 53) font partie de ces structures magiques qui permettent damortir
les complexités des algorithmes standards. Le principe consiste à énumérer les données qui
ne changent que dune et une seule modification à chaque étape (typiquement pour le code
de Gray standard, cest une différence de Hamming égale à 1 sur lécriture binaire des
nombres).
Il existe de nombreux codes de Gray généralisés sur dautres structures combinatoires, par
exemple un moyen dénumérer tous les graphes (Lucas 87) ou tous les chemins dans un graphe
par une seule modification incrémentale à chaque itération, ou encore balayer toutes les
colorations possibles dun graphe en ne changeant quune arête à chaque fois.
Le but de ce TER est de lister les structures combinatoires existantes, possédant ces propriétés
de code combinatoires et dimplémenter quelques types dénumérations, afin de les utiliser à
bon escient pour optimiser des résolutions sur des problèmes combinatoires (Branch and
Bound, modélisation quantique, utilisant du cache pour accélérer les calculs,
)
Lusage des IA (Implémentation Augmentée) pour générer le code sera fortement encouragée
et exploitée, afin de construire une bibliothèque homogène de structures et dalgorithmes
combinatoires, facilitant leur réutilisation et leur optimisation (docker, tests automatisés,
benchmark de validation).
Lien : - • Dernière mise à jour : 2026-01-10 09:06:19
Résumé : LIA sest étendu partout pour résoudre des problèmes, mais une classe peuplée dirréductibles
graphes non contractables (théorie des mineurs [1]) résiste toujours à lenvahisseur.
Les problèmes de graphes ont été longtemps réputés difficile pour lIA car lencodage dun
graphe par la simple matrice dadjacence de 0/1, bien que ressemblant à une matrice de pixels
comme des images, ne permet pas de faire efficacement de lapprentissage et des prédictions.
Récemment des méthodes de projection et vectorisation (Graph2Vec [2]) ont permis dobtenir
de premiers résultats.
Dans le cadre de ce projet, vous sera amener à utiliser des algorithmes de deep learning sur
de la modélisation de problèmes combinatoires, en utilisant les packages [3] [4] de GNN de
vectorisation existants pour la résolution de problèmes classiques : recherche du nombre
chromatique dun graphe [5], test de planarité, prédiction de la TreeWidth,
En fonction de lavancée de vos résultats des problème plus complexes seront esquissés
(minimisation dun cycle hamiltonien).
[1] hbps://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem
[2] graph2vec: Learning Distributed Representa8ons of Graphs
hbps://arxiv.org/abs/1707.05005
[3] hbps://github.com/IvanIsCoding/GNN-for-Combinatorial-Op8miza8on
[4] hbps://juliapackages.com/p/graphneuralnetworks
[5] Graph Colouring Meets Deep Learning: Effec8ve Graph Neural Network Models for
Combinatorial Problems hbps://arxiv.org/abs/1903.04598
Lien : - • Dernière mise à jour : 2026-01-10 09:06:48
Résumé : Il existe actuellement un outil développé au LIRMM pour optimiser le
remplissage des salles lors des
examens de lUM3 : APEX (Assistant de Planification des Examens) et de
la FDS : APEX-UM. Le but de
ce projet est de concevoir un bloc de post optimisation en sortie de
loutil, pour perfectionner le
planning des examens en ajoutant de nouveaux critères de qualité.
Actuellement loutil résout deux problèmes à la suite : un problème de
bin packing 3D (affectation des
salles) puis un problème de flot équilibré (affectation surveillants).
Cependant certaines contraintes
trop spécifiques ou transversales aux 2 solveurs ne sont pas bien prises
en compte (tiers temps, UE
regroupée,
)
Cette recherche damélioration sera réalisée par exploration de
voisinages combinatoires en recherche
locale (recuit, NN, arbre déjection,
). Des jeux de données des
anciennes planifications permettront
de valider les gains. Vous contribuerez ainsi à fournir de meilleurs
plannings pour les sessions à venir
tenant en compte entre autres :
Dune meilleure gestion des tiers temps
Des périodes de repos/révision inter examens mieux répartie
Dune meilleure adéquation entre les surveillants et les matières
surveillées
Des plannings moins chargés les vendredis
Lien : - • Dernière mise à jour : 2026-01-10 09:07:19
| encadrant | sujets proposés et pris (# étudiants / # encadrants) | encadrement à déclarer nb h total / taille groupe => nb |
|---|---|---|
abdelhak.seriai@lirmm.fr | y.bonavero_2 | |
damien.arvor@univ-rennes2.fr | mougenot_1 | |
david.delahaye@lirmm.fr | D.Delahaye_1 D.Delahaye_2 | |
eric.bourreau@lirmm.fr | e.bourreau_1 e.bourreau_2 e.bourreau_3 | |
hani.guenoune@lirmm.fr | m.lafourcade_4 h.guenoune_1 m.lafourcade_5 | |
isabelle.mougenot@umontpellier.fr | mougenot_1 | |
jean-francois.baget@lirmm.fr | baget_1 (3/1 = 3 => 3/1=3) | 3 / 3 => 1 |
jeremie.roux@lirmm.fr | j.roux_1 j.roux_2 | |
konstantin.todorov@lirmm.fr | todorov_1 | |
loic.allegre@lirmm.fr | v.blazy_1 | |
madalina.croitoru@lirmm.fr | m.croitoru_1 m.croitoru_2 m.croitoru_3 m.croitoru_4 m.croitoru_5 | |
marc.hartley@umontpellier.fr | m.hartley_1 m.hartley_2 m.hartley_3 m.hartley_4 m.hartley_5 | |
marianne.huchard@lirmm.fr | M.Huchard_1 | |
mathieu.ladeuil@lirmm.fr | m.ladeuil_1 m.ladeuil_2 | |
mathieu.lafourcade@lirmm.fr | m.lafourcade_1 m.lafourcade_2 m.lafourcade_3 m.lafourcade_4 h.guenoune_1 m.lafourcade_5 j.roux_1 j.roux_2 D.Delahaye_1 | |
maximos.skandalis@lirmm.fr | m.skandalis_1 | |
michael.sioutis@lirmm.fr | sioutis_1 (3/1 = 3 => 3/1=3) m.skandalis_1 | 3 / 3 => 1 |
nicolas.luciani@umontpellier.fr | luciani_1 m.ladeuil_1 | |
nicolas.lutz@umontpellier.fr | n.lutz_1 n.lutz_2 (4/1 = 4 => 4/1=4) n.lutz_3 (3/1 = 3 => 3/1=3) n.lutz_4 n.lutz_5 | 7 / 4 => 1 / 3 => 1 |
pascal.poncelet@lirmm.fr | poncelet_1 poncelet_2 poncelet_3 poncelet_CMI (3/1 = 3 => 3/1=3) | 3 / 3 => 1 |
pompidor@lirmm.fr | pompidor_1 | |
rodolphe.giroudeau@lirmm.fr | giroudeau_1 giroudeau_2 | |
seriai@lirmm.fr | seriai_1 (4/1 = 4 => 4/1=4) seriai_2 seriai_3 (3/1 = 3 => 3/1=3) seriai_4 seriai_5 seriai_6 | 7 / 4 => 1 / 3 => 1 |
stephane.bessy@lirmm.fr | bessy_1 | |
vincent.blazy@lirmm.fr | v.blazy_1 | |
yoann.bonavero@lirmm.fr | y.bonavero_1 y.bonavero_2 y.bonavero_3 | |
yulin.zhang@crispi-upjv.fr | M.Huchard_1 | |
| TOTAL=23 |
Affectation des rapporteurs
Mathieu Lafourcade, janvier 2023 (merci d'envoyer toute remarque ou question sur les TERs à
mathieu.lafourcade
avec comme sujet du mail "[TER_M1_2023] Question") - Merci à Mountaz qui est l'origine du contenu et du style de cette page.