diff --git a/README.md b/README.md index 48767cf84680a35fc7789d976e185a3afab69a8c..82f0ac1add91a92054854c0c71c26493f04fef7b 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,18 @@ utilisant un inverse modulaire obtenu avec le `prime_number`. Afin de décoder le message, nous utilisons la méthode `reed_solomon` qui fonctionne de la manière suivante : 1) On parcourt toutes les combinaisons de points possiblement juste. 2) On crée une liste qui regroupe une combinaison de points avec tous les points justes que l'on connait. -3) On construit le polynôme de Lagrange avec la méthode `compute_lagrange_polynomial`. -4) On parcourt l'intégralité des points afin de vérifier si le polynôme est correct. -5) Si on a suffisamment de points justes, alors on peut décoder le message. +3) On ajoute x points qui sont probablement juste. (Dans notre cas 2 car la longueur du message (25) - le nombre de points juste a partir de l'index fournis (23) = 2) +4) On construit le polynôme de Lagrange avec la méthode `compute_lagrange_polynomial`. +5) On parcourt l'intégralité des points afin de vérifier si le polynôme est correct. + 1) On injecte x dans le polynôme et on regarde que le résultat soit égale à y. + +6) Si on a suffisamment de points justes (m+n points) , alors on a trouvé le bon et unique polynôme qui passe par tous les points du message sans erreur si que nous permet de corriger notre message. ## Message décodé -Ce message vaut 18 points \ No newline at end of file +"Ce message vaut 18 points" + +Polynôme passant par tous les points du message : + +$229x²⁴ + 361x²³ + 51x²² + 312x²¹ + 36x²⁰ + 293x¹⁹ + 99x¹⁸ + 266x¹⁷ + 169x¹⁶ + 273x¹⁵ + 8x¹⁴ + 294x¹³ + 204x¹² + 35x¹¹ + 225x¹⁰ + 48x⁹ + 265x⁸ + 113x⁷ + 102x⁶ + 43x⁵ + 101x⁴ + 349x³ + 30x² + 138x + 67$ +