Commit 68da693c authored by Corentin Lingier's avatar Corentin Lingier

Readme

parent 67cc77ae
Pipeline #10797 passed with stage
in 0 seconds
......@@ -140,7 +140,7 @@ Nous pouvons prouver que la fonction `f` est cyclique. Cela constitue un problè
Dans notre cas, à chaque itération `x_i = f(x_i)` et `y_i = f(f(y_i))`. Puisque `y_i` "court" deux fois plus vite que `x_i` si `x_i = y_i` on peut considérer qu'un cycle a été détecté. Ce n'est pas une preuve absolue puisqu'il pourrait y avoir deux fois le même nombre dans la séquence. Seulement nous utilisons pollard rho pour factoriser les nombres supérieur a `2^32`dès lors `x_i` et `y_i` appartiennent à `[1, 2^32]` considérer que `x_i = y_i` est une preuve qu'un cycle a été détecté ne semble donc pas une approximation abhérente.
Si un cycle est détecté il suffit de relancer l'algorithme, rappelez-vous dans la fonction `f(x) = x^2 + a mod N` : `a` est un nombre aléatoire. Dès lors en relançant la fonction les valeurs `x_i` et `y_i` seront différentes. La détection de cycle est extrêmement rare, malgré tous les tests exécutés nous n'avons jamais dû faire face à ce problème. Excepté lors des tests visants à provoquer une détection de cycle en passant un nombre inférieur à `2^32`.
Si un cycle est détecté il suffit de relancer l'algorithme, rappelez-vous dans la fonction `f(x) = x^2 + a mod N` : `a` est un nombre aléatoire. Dès lors en relançant la fonction les valeurs `x_i` et `y_i` seront différentes.
### Structure du code
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment