Idées de projets pour les personnes à l'aise

Voici des idées de projets pour les personnes à l'aise en programmation. Langages autorisées : C, C++ ou Rust.

Interpréteur Scheme

Scheme est un dialecte de Lisp, un langage fonctionnel à typage fort et dynamique. L'avantage est que les expressions sont faciles à analyser syntaxiquement (à parser) car ce sont des expressions préfixes parenthésées.

  1. Ecrire un interpréteur pour des expressions simples (+ 1 2) etc.
  2. Etendre aux définitions de fonction etc.
  3. Implémenter une gestion d'exception, le call/cc
  4. Implémenter un bidding Python/C pour appeler votre fonction C/Rust d'évaluation d'expression Scheme en Python

Multi-agent path finding

On considère un environnement qui est une grille où certaines cases contiennent des obstacles (immobiles). Un nombre n de robots occupent des positions initiales (des cases libres) et doivent se rendre à des positions finales (des cases libres aussi).

L'objectif est de construire un chemin pour chaque robot (qui se déplace horizontalement ou verticalement d'une case à chaque étape, ou reste sur place) qui l'amène de sa position initiale à sa position finale telle que :

  • les robots n'entrent pas en collision
  • la durée totale de la mission (le max des longueurs des chemins) soit minimale.
  1. Construire un programme qui permet de charger des environnements et des instances
  2. Développer un algorithme basé sur A*
  3. Implémenter l'algorithme de [https://ojs.aaai.org/index.php/AAAI/article/view/8140]
  4. Implémenter les améliorations de CBS

Implémentation d'un algorithme pour CLIQUE COVER

Implémenter l'algorithme proposée dans https://arxiv.org/abs/2410.03609

Débugueur en raylib (projet très libre)

L'idée est de faire un programme qui discute avec gdb et affiche le contenu de la mémoire graphiquement. J'ai commencé un prototype existant. Je pourrais vous montrer.

Apprentissage et MINST (projet très libre)

Réimplémenter l'architecture utilisé par Yann LeCun pour apprendre à reconnaître des chiffres.