Algorithmes et Programmation 2, année 2022

TD bonus

  1. Télécharger le fichier et décompressez le.

En ligne de commande:

wget https://paperman.name/page/enseignement/2021/AP2/TDBonus/livres.tag.gz tar xvfz livres.tar.gz

  1. En lisant la documentation sur la lecture des fichiers, écrire une fonction qui prend en argument un nom de livre présent dans le repertoires décompressé et retourne la chaîne de caractères contenant le livre.

Il n’est pas nécessaire de la doctester cette fonction.

  1. Écrire une fonction impérative qui prends en argument une chaîne de caractères et retourne un dictionnaire associant à chaque lettre sa fréquence dans la chaîne en entrée.

  2. Écrire une fonction impérative qui prends en argument une chaîne de caractères et retourne un dictionnaire associant chaque mots sa fréquence dans le document.

  3. Réécrire les fonctions précédentes en utilisant des constructeurs fonctionnelles.

Vous pouvez avoir besoin de la fonction groupby du module itertools

  1. Réécrire les fonctions précédentes en utilisant l’objet Counter du module collections

  2. Comparer les performances de chaque fonctions sur la chaine les_miserables.

:::{.remarque} Vous pouvez faire ça en vous inspirant du décorateur vu en cours

  1. À l’aide des résultats précédents, écrire une fonction efficace qui prends en argument une chaîne de caractères retourne la liste des paragraphes.

  2. Écrire une fonction, qui prends en argument deux dictionnaires et retourne leur distance pour la norme Euclidienne.

La norme Euclienne pour deux dictionnaires \(d_1\) et \(d_2\) dont l’ensemble des clefs est \(K\) (union des clefs de chaque dictionnaire), est définit comme \[ \sqrt{\sum_{k \in K} (d_1[k] - d_2[k])^2} \] avec comme convention que si la clef \(k\) n’est pas dans \(d_i\) alors \(d_i[k]\) vaut \(0\).

  1. Prenez un paragraphe au hasard des misérables, et trouver les trois paragraphe les plus proches dans le livre.

  2. Estimer la distance moyenne entre les paragraphes pour chaque livres.

  3. Écrire une fonction qui prends en argument un paragraphe et détermine de quel livre il est le plus proche.

  4. Demmandez à ChatGPT d’écrire un paragraphe dans le style d’un des livres et vérifier si cela marche (ou non)!


Compiled the: dim. 07 janv. 2024 23:19:03 CET