Projets de master 2.

Année 2013-2014: Résolution du scrabble

Objectifs
Développer un application androïd qui permet de jouer au scrabble en utilisant un lexique de la langue française. L'application doit proposer pour un tirage de n lettres fourni par l'utilisateur (dans le jeu physique n = 7, on laissera la possibilité de faire un tirage de longueur arbitraire) une liste des meilleurs coups possibles, c'est-à-dire des coups qui donnent le plus grand nombre de points au joueur.

Indications
Récupérez le lexique des formes fléchies (le fichier compressé fait environ 2MO et est encodé en UTF-8, préférez un wget) développé par l'INRIA. Ce fichier contient environ 1,2 million de formes fléchies du français, c'est-à-dire les singuliers et pluriels d'un même mot, les conjugaisons d'un même verbe, etc. Le fichier contient un terme par ligne ainsi que sa classe grammaticale (verbe, nom commun, nom propre, adjectif, etc.) séparée par une tabulation.

Le lexique devra être représenté à l'aide d'un arbre lexicographique avec la structure fils ainé/frères droits afin d'optimiser la complexité mémoire et la complexité en temps des recherches. C'est cet arbre qui devra être stocké sur la plateforme et pas le fichier d'origine. Un des objectifs de l'application est de pouvoir traiter un tel problème dans un environnement limité en ressources.

L'utilisateur doit pouvoir saisir un état particulier du plateau de jeu simplement, toucher une case doit permettre ensuite de saisir la lettre à placer (joker inclus).

L'application doit proposer de jouer contre l'utilisateur en lui indiquant, s'il le souhaite, le nombre de points qu'il peut faire avec un coup optimal, le nombre de lettres utilisées pour ce coup optimal et qui lui affiche le/les coups optimaux après qu'il a joué.

Année 2012-2013: Génération de QR-codes

Introduction
Les QR-codes (Quick Response) ont été créés par la société Denso-Wave Incorporated pour la gestion des pièces automobiles de Toyota. Il s'agit d'un code à lecture optique dont la lecture s'effectue sur deux dimensions, contrairement aux codes-barres dont la lecture est monodimensionnelle.  Les avantages par rapport aux codes-barres sont multiples, pour n'en citer que trois

  1. la capacité de stockage est largement supérieure (4296 symboles alphanumériques contre 48 avec la norme EAN 128 pour les codes-barres).
  2.  les QR-codes intègrent des codes correcteurs d'erreurs qui les rendent robustes aux altérations du support. Il y a 4 "niveaux" de correction, Low, Medium, Quality et High qui préservent le support d'un taux d'erreur de l'ordre de 7%, 15%, 25% et 30% respectivement.
  3. La lecture optique peut se faire selon n'importe quel axe sur 360°.

Objectif du projet
L'objectif du projet est de créer une application android qui génère un QR-code à partir d'un texte. Il existe 40 déclinaisons des QR-codes qui correspondent à des tailles différentes de la matrice 2D et du nombre de modules qui la constituent. Pour ne pas compliquer inutilement le projet, on se limitera au QR-code #1, à savoir un QR-code de 21 x 21 modules qui peut contenir de 10 à 25 symboles ASCII selon la capacité de correction souhaitée (L,M,Q ou H).

  1. Faire une étude des QR-codes, en particulier de la représentation matricielle de l'information (zone silencieuse, zones de détection, zone de données, zone de codes, etc.)
  2. Etudier les codes correcteurs utilisés pour assurer la robustesse du code (codes de Reed-Solomon)
  3. Réaliser une application androïd qui génère un QR-code 21 x 21 à partir d'un texte court de 25 symboles au maximum, le codage correcteur se limitant à LOW.