Algorithmes de compression des données
- Le codage de Huffman.
- L’algorithme Lempel-Ziv.
Travaux pratiques
Rédaction d’un algorithme de compression.
Algorithmes de cryptographie
- Algorithmes de cryptographie symétrique (à clef secrète).
- Algorithme de cryptographie asymétrique (à clefs publique et privée). Algorithme RSA.
Travaux pratiques
Présentation des algorithmes utilisés dans la couche de chiffrement SSL.
Algorithmes heuristiques et méta-heuristiques
- Notion d’heuristique. Algorithmes d’IA utilisant des heuristiques.
- Exemple de méta-heuristique.
Les algorithmes stochastiques
- Méthode de Monte-Carlo, exemples d’utilisation.
- Algorithme du recuit simulé pour obtenir les extrema d’une fonction. Exemple d’utilisation.
- Retour sur les méta-heuristiques : algorithmes à estimation de distribution, algorithmes à stratégies d'évolution.
- Algorithmes génétiques pour obtenir les extrema d’une fonction (optimisation combinatoire).
Travaux pratiques
Écriture d’un algorithme stochastique pour l’évaluation d’une probabilité.
Algorithmique répartie
- Les concepts de base : message, vague, anneau/jeton, estampille.
- Calcul d’un arbre de recouvrement à partir d’un centre, en utilisant les vagues.
- Synchronisation de producteurs et de consommateurs.
- L’algorithme Map/Reduce et son utilisation dans le big data.
Travaux pratiques
Conception d’un algorithme réparti simple.
Algorithmes adaptatifs
- Exemple des QCM adaptatifs.
- Algorithme d’apprentissage par die and retry.
Travaux pratiques
Écriture d’un programme statfull.
Les réseaux de neurones
- Les algorithmes émergents.
- Principe des réseaux de neurones avec apprentissage supervisé.
- Domaines d’utilisation des réseaux de neurones.