Nous chercherons dans ce travail de synthèse à comprendre et mettre en oeuvre une technique de l'intelligence artificielle et plus précisément de Machine Learning : Les réseaux de neurones. Pour en savoir un peu plus, lisez le one idea, one story du td4. Nous nous intéresserons à une application (encore à préciser) du type: diagnostique de cancer du sein ou reconnaissance de chiffres écrits à la main.

Le sujet exact de ce travail de synthèse ne sera disponible qu'au 3 Janvier.

On s'intéresse à l'optimisation de l'approvisionnement de fleurs de différents types (de différentes durées de vie). Connaissant certains coûts, il s'agit de trouver la politique qui permet de minimiser le coût de gestion de stocks. Plusieurs scénarios sont envisagés, notamment un cas d'univers certain permettant une résolution exacte à partir d'une analyse mathématique classique, et un cas d'univers incertain nécessitant des outils probabilistes pour la modélisation et de la simulation pour la résolution.

On veut se servir d'une machine de découpe programmable pour fabriquer des disques. Le processeur incorporé à la machine ne permet de réaliser que 4 opérations arithmétiques (+, -, *, \) ; des fonctions comme sinus et cosinus lui sont inconnues. Or, l'équation paramétrique d'un cercle est donnée par :

Le but de cette étude de cas est de découper un disque de rayon 1, simplement avec les 4 opérations arithmétiques. L'implémentation et la représentation graphique seront faites avec Java et StdDraw.

On cherche à résoudre un problème probabiliste concernant une loterie de pelotes de laine pour chats. Dans un premier temps on va résoudre analytiquement le problème afi n d'identi fier toutes les lois des variables aléatoires qui nous intéressent. Dans un deuxième temps, on simulera le phénomène afi n d'estimer empiriquement les valeurs des probabilités que l'on cherche. Cette simulation sera faite en Java.

Etant donné un nuage de points, on cherche à faire une régression linéaire par morceaux. Faire une régression linéaire consiste à identifier la meilleure droite permettant de modéliser la relation entre deux variables. Ici, au lieu de chercher un modèle s’appuyant sur une droite unique, on cherche une solution s’appuyant sur un nombre arbitraire de segments de droites.

On proposera des algorithmes itératifs et récursifs pour résoudre ce problème. L'implémentation et la représentation graphique des données et des solutions utiliseront Java et StdDraw.

Le problème de Maximum Satisfiability (MAX-SAT) est un problème classique en optimisation. Etant données n variables booléennes x1, x2, .., xn, et m clauses (relations logiques "OU" entre les variables), on cherche les valeurs des variables telles que le plus possible de clauses valent VRAI.

Ce problème est considéré comme difficile, c'est-à-dire qu'on ne connaît pas d'algorithme permettant de calculer l'optimal efficacement pour n'importe quel jeu de données. Vous commencerez par proposer un algorithme permettant d'obtenir une solution faisable, puis travaillerez sur un algorithme d'affectation aléatoire en cherchant des garanties sur sa performance. Ces deux algorithmes seront implémentés et testés sur des instances que vous générerez vous-mêmes avec Java.