Domaines | Machine Learning (IA) | |
---|---|---|
Librairies (proposées) | scikit-learn, keras, tensor-flow… | |
Langages (proposé) | Python, autre | |
Responsable du sujet | Rémy Cazabet | |
Informations à voir | Challenges Kaggle en cours | |
Kaggle est le site web le plus connu de challenges en machine learning.
En 2 mots: des entreprises proposent des challenges auxquels n'importe qui peut tenter de proposer une solution. La meilleure solution gagne. Mais là où Kaggle est particulièrement intéressant, c'est qu'il propose des tutoriels pour résoudre certains problèmes classiques, en utilisant différentes méthodes. Votre objectif: 1) Suivre un/des tutoriels pour résoudre un problème tout fait, 2)Choisir un challenge en cours et appliquer ce que vous avez appris.
Domaines | Machine Learning, python, developpement logiciel,… |
---|---|
Librairies (proposées) | cdlib, networkx, scikit-learn, seaborn, etc. |
Langages (proposé) | Python |
Responsable du sujet | Rémy Cazabet |
Informations à voir | http://cazabetremy.fr/Teaching/LIFPROJET.html |
La librairie python CDlib (Community Detection library) est une librairie spécialisée dans le problème de la détection de communautés dans les graphes, un problème équivalent à celui du clustering mais pour des données de type graphe. Il s’agit de la principale librairie du domaine, avec plus de 100 téléchargements individuels par mois. Je suis l’un des 3 principaux contributeurs de cette librairie. Le sujet consiste à contribuer à la librairie. Je propose soit de faire une nouvelle fonctionnalité (visualisation de graphes interactifs), soit de répondre à l'un des problèmes identifiés de la librairie (lien vers une liste à la fin de la description). Il y a 2 aspects: 1)Aspect “machine learning”, puisqu’il faudra se plonger dans domaine du machine learning, le clustering de graphe, 2)Un aspect développement logiciel, puisqu’il faudra comprendre le fonctionnement d’une librairie python, de la génération automatique de documentation, et coder avec un niveau de qualité suffisant pour intégrer du code à une librairie utilisée par des centaines de personnes.
Références: -Code de la librairie: https://github.com/GiulioRossetti/cdlib -Documentation: https://cdlib.readthedocs.io/en/latest/ -Liste d’améliorations possible identifiées: https://github.com/GiulioRossetti/cdlib/projects/2
Domaines | Data Mining, Data viz | |
---|---|---|
Librairies | Dash, networkx… | |
Langages (proposé) | Python(+javascript?) | |
Responsable du sujet | Rémy Cazabet |
Dans ce sujet, je vous propose de vous intéresser aux données de votes, soit des députés français, via l'API de nosdeputes.fr (https://github.com/regardscitoyens/nosdeputes.fr/blob/master/doc/api.md), soit sur les données du parlement européen (http://www.itsyourparliament.eu/api/). L'objectif sera 1)D'extraire un jeu de données propre facilement réutilisable, permettant de suivre les parcours de votes des députés 2)De prduire un outil de visualisation/exploration de ces données 3)Si possible, de produire un “compas politique”, permettant de positionner les partis/les députés les uns par rapport aux autres (réduction de dimension, etc.)
Domaines | Web, Data Exploration | |
---|---|---|
Librairies | Leaflet, Mapbox, etc. | |
Langages (proposé) | Libre (Python, languages web…) | |
Responsable du sujet | Rémy Cazabet |
Il existe de nombreux services web permettant de facilement trouver des restaurants, des hotels, des stations services, etc. Il y a cependant beaucoup moins de services permettant de facilement trouver des lieux touristiques autour de soi, ou de trouver les étapes touristiques intéressantes entre deux villes. Il existe pourtant une plateforme openData française qui référence ces informations (https://info.datatourisme.fr). En utilisant ces données, vous produirez un site web contenant une carte interactive, et une interface agréable pour explorer les données touristiques autour de l'utilisateur, ou entre 2 points d'intérêt, en incluant un planificateur d'itinéraire. Une difficulté réside dans la grande quantité des données.
Domaines | Web, Data Exploration | |
---|---|---|
Librairies | Dash (https://dash.plotly.com/tutorial), python, html/CSS | |
Langages (proposé) | python, javascript, html… | |
Responsable du sujet | Rémy Cazabet |
Depuis peu, l'état français fournir un jeu de données très intéressant, car il est détaillé au niveau de l'individu et de la commune: le registre des décès. Pour chaque personne décédé depuis 1970, on dispose ainsi de ses informations: nom, prénom, sexe, date et lieu de naissance (ville, pays), lieu de décès. Je propose de faire un outil pour explorer ce données, permettant par exemple de retracer la mobilité des personnes (est-ce que les personnes décédées en 2022 vivaient plus loin de leur lieu de naissance que les personnes décédées en 2012, 1992… ?), mais cela permet également de tracer des courbes indirectes de popularité des prénoms à la naissance dans certaines villes, etc. Je propose pour faire cet outil de découvrir le framework Dash (https://dash.plotly.com/tutorial), permettant de créer des webapp orienté analyses de données. Si le côté peu réjouissant des données sources sont un problème, on peut envisager des alternatives (mais il n'y a pas l'équivalent pour les naissances ou les mariages, a ma connaissance. Mais il y a beaucoup de données libres fournies par des villes ou l'état français).
Domaines | Web, dataviz… |
---|---|
Librairies (proposées) | Dash ou autre. |
Langages (proposé) | Python, javascript, html/css, etc. |
Responsable du sujet | Rémy Cazabet |
Informations à voir | |
Aujourd'hui, de nombreuses entreprises proposent de la location de voiture, en particulier de nouveaux acteurs tels que citiz, bolt ou leo&Go, qui ont introduit des facturations a la minute et au km, sur des voitures en libre service. L'objectif est de concevoir un site web, un outil en ligne, permettant de saisir des informations de trajets (distance, temps), et d'être capable de comparer les tarifs de ces diverses solutions. Des graphiques pourront par exemple montrer quand est-ce qu'une solution devient plus intéressante qu'une autre, en fonction du temps de location ou de la distance.
Domaines | Dataviz, analyse de réseau, API… |
---|---|
Librairies (proposées) | Dash ou autre. |
Langages (proposé) | Python, javascript, html/css, etc. |
Responsable du sujet | Rémy Cazabet |
Informations à voir | |
Les données de publications scientifiques des chercheurs sont disponibles sur un site “officiel” français, HAL (https://hal.science), qui dispose d'une API permettant de récupérer ces informations (tutoriel: https://colab.research.google.com/drive/1EQyB2xGay1hojuKbjYetccJWYaZr7v2j). Votre objectif dans ce projet sera de produire des analyses et des visualisations des travaux du laboratoire LIRIS: récupération de toutes ses publications, extraction des thématiques les plus fréquentes par analyse des résumés/titres, visualisation des réseaux de collaboration entre ses chercheurs, évolution des lieux de publications (journaux, conférences, etc.), des thématiques, etc.
Domaines | IA, … |
---|---|
Librairies (proposées) | LM Studio, autres |
Langages (proposé) | Python |
Responsable du sujet | Rémy Cazabet |
Informations à voir | |
Les LLM (Large Languages Models) sont maintenant assez facile à utiliser sur une machine personnelle, notamment en utilisant LM studio. Vous pouvez donc avoir un “chatGPT” personnalisé, qui tourne en local sur votre machine. Votre objectif sera de créer un assistant virtuel composé d'un système hybride, dont l'objectif sera de gérer votre boite mail/vos messages SMS/Whatsapp, etc. Le système est hybride dans le sense où il est composé d'une partie en code classique: interface avec une application, formattage, envoi de requête, etc., et que la parte LLM sert uniquement de “cerveau” à ce système hybride. Le LLM doit par exemple servir non pas uniquement à générer du texte, mais à prendre des décisions, telles que classer le message en spam ou non, répondre ou non, détecter s'il y a un demande de rendez-vous, voire ajouter le rendez-vous dans un agenda automatiquement. Ce genre d'interaction avec ce “cerveau central” LLM pourra se faire via des questions à choix multiple imposé (étant donné le mail de contenu […], dois-je le classer en spam, répond par OUI/NON). Le projet est ouvert à une autre application utilisant ce même principe de système hybride (e.g., RPG en mode texte sur une carte et des règles de jeux imposées par un code classique, “personnalité artificielle” effectuant des recherches sur le web via des requêtes et stoquant les résultats dans une base de données et/ou alimentant un site web, etc. Note: ce projet est exploratoire et les résultats ne sont pas garantis :)
Domaines | Image Processing / Deep Learning(IA) / Interaction |
---|---|
Techniques et langages | Python / PyQt |
Responsable du sujet | Alexandre Meyer |
Niveau de difficulté | intermédiaire |
L'objectif de ce projet est d'explorer les possibilités qu'offre les réseaux de neurones à traiter des images. Il y a deux grandes pistes qui peuvent être explorées. D'abord la classification d'images qui cherche à reconnaitre un objets à partir de sa photo, c'est à dire à lui donner un label : le nom de la personne, le type d'objet, un caractère pour la reconnaissance d'écriture, des informations sur des images satallitaires ou médicales, etc. Le deuxième aspect est l'édition ou la génération de nouvelles images. Un réseau peut apprendre à modifier, voir à générer une nouvelle image après avoir “appris” sur une base d'images du même type.
Par exemple, les auto-encoders sont une classe d'algorithme basée sur les réseaux de neurones profonds qui transforment un jeu de données (des images pour nous) en une représentation latente (cachée) que l'on nomme un code. Ils sont composés d'un encodeur qui produit le code et d'un décodeur qui repasse du code à la données d'origine (l'image). Une piste pour ce sujet serait de construire cet auto-encoder sur une classe d'images puis d'offrir à l'utilisateur des curseurs pour éditer le code tout en lui montrant l'image décodé. En allant plus loin, il est également envisageable d'explorer les GAN (Generative Adversarial Network) pour produire une nouvelle image … Le domaine est vaste.
GANs vs. Autoencoders: Comparison of Deep Generative Models GAN — Some cool applications of GANs.
Domaines | Animation/Interaction/Jeu vidéo |
---|---|
Techniques et langages | C# / Unity |
Responsable du sujet | Alexandre Meyer |
Difficulté | Raisonnable / Intermédiaire |
Les approches classiques d'animations d'un personnage virtuel dans un jeu vidéo sont en utilisant des clips d'animations. Ces clips peuvent être produit par un animateur, provenir de capture de mouvements ou être généré procéduralement. En pratique, les 3 approches sont souvent mélangées. L'idée de ce sujet est d'explorer la famille de techniques de génération procédurale. A partie de données comme la longueur du pas, l'algorithme pourra produire les positions de pieds sur le sol, ainsi qu'une trajectoire de vol entre chaque contact. En phase avec la trajectoire des pieds il est possible de produire une trajectoire du bassin. Le reste du corps pourra être déduit par de la cinématique inverse.
Unity semble être une bonne plateforme pour ceci car il propose un certains nombres d'outils intégrés : un algorithme de ray-casting pour trouver l'interection entre un rayon et la surface du sol (point de contact du pied), un algorithme de cinématique inverse pour générer la position du corps en fonction des positions des pieds, etc.
Il est possible de travailler uniquement sur l'animation ou d'inclure ces mouvements dans un jeu vidéo : jeu de sport, jeu de combat, voir “plateformer” ou exploration d'un monde. L'équipe du projet peut se partager entre les dévelopeurs du jeu qui déplaceront un personnage non animé dans un 1er temps et incluront l'animation procédurale au fur et à mesure.
Domaines | Image Processing |
---|---|
Techniques et langages | Python ou C++/OpenGL ou C#/Unity |
Responsable du sujet | Alexandre Meyer |
Difficulté | Sujet progressif |
L'objectif de ce projet est de développé un algorithme capable de transférer le mouvement d'un visage d'une personne filmé vers une autre personne. La capture de l'animation du visage source se fera en détectant les points caractéristiques d'un visage filmé avec une webcam en utilisant DLib (python ou C++).
Un premier prototype se fera en générant une nouvelle position de marqueurs de visage puis en réalisant un warping (déformation) de l'image du visage cible. Une interpolation par RBF (ou autre) semble une solution réalisable.
Ce warping pourra s'etendre dans 2 directions - vers la déformation d'un maillage 3D, probablement en utilsant Gkit (le code de LIFGRAPHIQUE en L2); - vers une éformation 2D plus réaliste en utilisant les réseaux de neurones (GAN).
Domaine | Algorithme évolutionniste, simulation physqiue, méta heuristiques, optimisation, moteur physique |
---|---|
Langage | C++ ou python avec BulletPhysics; Ou C# avec Unity; etc. |
Responsable du sujet | Fabien Rico et Alexandre Meyer |
Information à voir | |
http://jvf.free.fr/550_Articles_LinuxMag/GLMF_076_034_041.pdf | |
https://www.youtube.com/watch?v=JBgG_VSP7f8 | |
https://www.youtube.com/watch?v=m4E9sj9vH1I |
Les algorithmes évolutionnistes ou génétiques sont des méta-heuristique d'optimisation c'est à dire des méthodes globales pour résoudre des problèmes de toutes sorte qu'il faut adapté à un problème particulier. Comme leur nom l'indique, ils sont basés sur le concepts d'évolution. On génère une famille aléatoire d'individu dont on conserve les plus performant, que l'on mélange pour générer une nouvelle famille …
Une idée classique de ce choix de projet est d'appliquer ces algorithmes évolutionnistes à un problème de génération de forme de créatures en cherchant à ce que ces créatures réalisent une tâche le mieux possible : par exemple la locomotion. Vous prendrez en main un moteur physique. L'algorithme évolutioniste proposera une série de créatures avec des morphologies différentes encodées par une séquence de “gènes” (un code). La simulation physique donnera une distance de déplacement que l'algo cherchera à maximiser.
L'implémentation peut se faire en C++ ou en python avec le moteur BulletPhysics; mais également en C# avec Unity.
Domaine | Synthèse d'images |
---|---|
Langage | C++ (ou C# avec Unity) |
Responsable du sujet | Alexandre Meyer |
Information à voir | |
https://tel.archives-ouvertes.fr/tel-00319974/file/defense.pdf | |
Les nuages ou l'eau font partis des éléments à modéliser, afficher et animer dans une scène d'extérieure en synthèse d'images. Ce projet se propose d'explorer certains aspects des nuages ou de la surface de l'eau : leur formation, leur mouvement, leur interaction avec la lumière.
La réalisation pourra se faire en C++ avec gkit (ou autre code en C++), mais pourra également se réaliser en C# sous Unity.
Domaine | Intelligence Artificielle |
---|---|
Langage (proposé) | C++, java |
Responsable du sujet | |
A voir | https://perso.liris.cnrs.fr/samir.aknine/L3/Battle%20Simulation%20Distributed%20AI%20-%20Vid%c3%a9o%20pr%c3%a9sentation.mp4 |
L’objectif de ce projet est de proposer une modélisation distribuée d’un jeu stratégique. Nous prendrons comme exemple le tactical RPG. Nous considérerons des personnages qui évoluent sur un environnement dynamique. Les personnages appartiennent à plusieurs groupes. Les personnages peuvent se déplacer en même temps selon des règles préétablies. Nous implémenterons une méthode de résolution distribuée avec des entités autonomes dotée de comportements intelligents. Nous commencerons par définir des stratégies de résolution simples dans lesquelles les personnages effectuent des déplacements uniquement sur la base de leur perception. Dans une deuxième étape, nous définirons des stratégies de résolution plus fines permettant aux personnages de construire des stratégies de jeu collectives en interagissant avec leur voisinage. Plusieurs exemples de jeux ont été déjà implémentés par les étudiants. Nous pourrons mettre a disposition leur code. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine | Intelligence Artificielle |
---|---|
Langage (proposé) | C++, java |
Responsable du sujet | Samir AKNINE |
Plusieurs projets urbains innovants d’ilots autonomes tels que le projet du groupe Bouygues-construction pour la gestion intelligente de l’énergie traitent du problème du partage dynamique de l’énergie avec son réseau de communication énergétique et un système de stockage par des batteries de nouvelle génération directement installées dans les bâtiments. Ce projet vise à équiper les foyers avec de nouveaux dispositifs intelligents pour éprouver des solutions originales pour les futurs réseaux de distribution. Il cible l’ouverture des réseaux et l’exploitation automatique des îlots. L’évolution actuelle de ces ilots est renforcée grâce au développement de nouvelles batteries de stockage à fort potentiel et à faibles coûts, et au transfert intelligent de l’énergie entre les ilots avec un câblage interne indépendamment des systèmes de distribution classiques. Ce transfert permet d’envisager une adaptation de la consommation de manière locale, i.e., à l’échelle d’un quartier, en réduisant les coûts et les pertes du transport de l’énergie.
Pour accompagner le développement de ce projet, une solution pour la gestion du surplus d’énergie s’est inscrite en direction des véhicules autonomes solution de stockage et d’usage intelligent de l’énergie renouvelable. Ce modèle de fonctionnement requière l’installation de bornes de rechargement communicantes au niveau des ilots autonomes permettant aux résidents et aux non-résidents de l’ilot d’accéder au surplus d’énergie produite dans ces ilots moyennant une participation financière mais avec un coup d’achat de cette énergie relativement inférieur à celui appliqué par les fournisseurs standards. La gestion de l’énergie doit ainsi être reformulée comme un problème de planification où l’énergie fournie est considérée comme une ressource partagée et intermittente dont l’usage doit être régulé et optimisé par ce nouveau système intelligent. L’objectif de ce projet est ainsi d’implémenter une méthode de résolution qui permet aux véhicules de se recharger auprès des bornes intelligentes et de contrôler dynamiquement les interactions entre les véhicules autonomes et les bornes. Les étudiants peuvent se baser sur une premiere implementation deja realisee sur projet pour développer les nouveaux mécanismes.
Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine Intelligence Artificielle Langage (proposé) C++, java Responsable du sujet Samir AKNINE L’objectif de ce travail est de proposer un planner automatique pour la livraison intelligente de marchandise. Nous allons considérer un ensemble de véhicules de livraison chacun ayant des propriétés spécifiques (ex. poids maximum à transporter, niveau d’autonomie, …). Chaque véhicule possède une liste de tâches à accomplir dans la journée. Il doit planifier l’ordre d’exécution de ses tâches de manière dynamique et parer à tout événement pouvons se produire dans son environnement (ex. blocage ponctuel d’une voie). Nous proposerons une modélisation distribuée dans laquelle chaque véhicule possède des connaissances de son environnement et peut interagir avec les autres véhicules et l’infrastructure. Il décide individuellement de ses actions et peut adapter ses comportements de manière dynamique. Nous implémenterons et testerons un ensemble de mécanismes pour garantir cette interaction et adaptation aux événements imprévus. Une première implémentation de ce travail peut etre mise a disposition des étudiants. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine | Intelligence Artificielle |
---|---|
Langage (proposé) | C++, java |
Responsable du sujet | Samir AKNINE |
L’objectif de ce projet est de proposer une méthode distribuée pour l’affectation des places de stationnement à des véhicules intelligents. Le rôle de l’étudiant est d’implémenter l’ensemble des comportements nécessaires aux véhicules pour interagir avec les parkings et négocier le tarif de stationnement qui est décidé dynamiquement en tenant compte d’un ensemble d’informations, telles que la durée du stationnement, le profil de l’usager, le taux d’occupation du parking, le créneau horaire, etc. Un travail d’implémentation a été déjà mené sur ce projet. Les étudiants peuvent se baser sur ces développements pour implémenter les nouveaux mécanismes. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine Intelligence Artificielle Langage (proposé) C++, java Responsable du sujet Samir AKNINE Les récentes évolutions technologiques des dernières années ont permis d’améliorer le niveau d’équipement des véhicules rendus de plus en plus connectés, voire autonomes, ce qui permet de proposer de nouvelles réponses aux problèmes du trafic urbain. Les véhicules sont, à présent, capables de communiquer et de se coordonner. Avec notre projet, nous proposons une approche de régulation du trafic s’appuyant sur des méthodes distribuées pour améliorer les conditions de mobilité des véhicules. Dans le cadre ce travail, nous implémenterons la méthode de régulation que nous avons définie à l’échelle de l’intersection tirant parti des capacités de communication des véhicules, et dans laquelle les véhicules autonomes négocient leur droit de passage dans chaque intersection. Cette négociation s’effectue en utilisant des mécanismes prédéfinis en s’appuyant sur les données de mobilité de chaque véhicule et en permettant ainsi de prendre en compte différents critères pour la prise de décision locale, comme l’état général du trafic, la localisation d’éventuelles congestions, ou encore la circulation des bus, les trajets programmés par les véhicules, etc. L'étudiant peut avoir acces a une premiere implementation deja realisee. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine | Intelligence Artificielle |
---|---|
Langage (proposé) | C++, java |
Responsable du sujet | Samir AKNINE |
L’objectif de ce projet est de proposer une modélisation distribuée d’un jeu stratégique. Nous prendrons comme exemple une variante le jeu d’échés ou de dames. Dans ce jeu, les pièces peuvent se coordonner et communiquer pour mettre en œuvre des stratégies collectives. Elles peuvent effectuer différents mouvements parallèles selon des règles prédéfinies et exhiber différents comportements (tels que des attaques de groupes simultanées). Nous testerons différentes règles de jeu et implémenterons les stratégies collectives. Un travail d'implémentation a été réalisé préalablement sur ce projet. Les étudiants pourront s'ils le souhaitent réutiliser le code existant. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domaine | Intelligence Artificielle |
---|---|
Langage (proposé) | C++, java |
Responsable du sujet | Samir AKNINE |
Nous utiliserons des modèles de négociation automatique pour la mise en place de sites marchands intelligents. Chaque site dit “vendeur” propose plusieurs items ou produits avec des indications sur les propriétés des items (ex. prix min,…). Un utilisateur peut spécifier, à un site dit “acheteur”, l’item qu’il recherche, ses propriétés ainsi que les contraintes et les préférences associées à cet item. Le site acheteur se chargera alors de mener les négociations automatiques avec les sites vendeurs proposant cet item. Le travail demandé consiste à modéliser les différents comportements de négociation automatique pour la vente et l’achat des items. Nous définirons les protocoles d’interactions et de négociation correspondants. Nous implémenterons et testerons l'ensemble des mécanismes à proposer. Un système a été développé sur ce sujet. Nous pouvons mettre a disposition des étudiants le code associé. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/
Domain | HCI/Animation/Jeux vidéo |
---|---|
Langage | Unity/ Occulus Integration/ Meta XR UPM |
Responsable du sujet | Bruno YUN |
There are many platforms online to display arguments (e.g., https://www.kialo.com/) but there are currently no options to display argumentation graphs in augmented reality environments. In this project, we want to introduce you to the basics of making a Quest 3 XR game using Unity. The application should possess the following capabilities: (1) allowing the user to browse an argumentation graph in a virtual environment, (2) displaying specific arguments to a user in an augmented reality environment, (3) allowing the user to interact with the graph by modifying arguments, and (4) loading existing argumentation graphs from Kialo.
The project will focus on making an intuitive interface to enhance the user experience. The project is intended to be released as an application for the Meta Quest 3 headset.
Domain | Web Application/Argumentation |
---|---|
Langage | Python/HTML/Javascript |
Responsable du sujet | Bruno YUN |
In formal argumentation, arguments and their interactions are represented using a directed graphs. On this graph, many semantics can be used to extract meaningful sets of arguments or rank them from the most acceptable (less attacked) to the least (more attacked). The goal of this project is to improve an existing online platform (https://impact-gradual-semantics.vercel.app/) with new semantics, interactions, and features. The existing prototype is implemented using Django and deployed on Vercel. The successful student should be able to comprehend techniques described in the literature and implement them in the tool.
Domaines | Web/Argumentation/Visualisation | |
---|---|---|
Librairies | Plotly | |
Langages (proposé) | python, javascript, html… | |
Responsable du sujet | Bruno YUN |
In formal argumentation, arguments and their interactions are represented using a directed graphs. On this graph, many semantics can be used to score arguments from the most acceptable (less attacked) to the least (more attacked). Some graphs, called weighted argumentation graphs, are augmented with weights which represent in confidence in the source (author) of the argument. Given an weighted argumentation graph, we can obtain scores on each argument and the acceptability degree space is the set of all scores which can be achieved. The goal of this project is to visualise the acceptability degree space in an online application using multiple carefully selected 3D plots (https://plotly.com/python/3d-charts/). For more details, see https://arxiv.org/pdf/2203.01201.pdf (Figure 2).
Domaines | Web/Argumentation/Visualisation | |
---|---|---|
Librairies | Symbolic solvers | |
Langages (proposé) | python, javascript, html… | |
Responsable du sujet | Bruno YUN |
Several argumentation semantics have been defined to extract meaningful sets of arguments from argumentation graphs. Most of those argumentation semantics are hard to compute and solvers have been used to compute their results (see https://iccma2023.github.io/). The goal of this project is to embed one/multiple solvers into an online platform to allow scientists to compute and visual the result for simple examples (with less than 50 arguments). The successful student will put an emphasis on the interface to facilitate user interaction on he platform, inspiring himself from tools such as https://madebyevan.com/fsm/.
Domaines | Web/Game/Visualisation | |
---|---|---|
Langages (proposé) | python, javascript, html… | |
Responsable du sujet | Bruno YUN |
Plouf party (https://bibliojeu.net/jeux-de-societe/plouf-party) is a multiplayer board game where players have to push each other in a pool with the last player remaining wins. The goal of this project is to model this game in an online platform. This platform will be equipped with multiple AI agents with their own strategies. Optional goals will be to (1) implement a system for multiple players to join the same game or (2) make an analysis of the different strategies and design optimal ones.