Bonjour,
Alors voilà, je cherche à créer un algo calculant l'empreinte d'un n-uplet.
Exemple:
(1 ; 0.75 ; -0.5 ; 0.5 ; -0.25 ; 0.25 ; 0) => fdsf54ds (exemple d'empreinte)
Je pense que cela correspond à une fonction de hachage (l'avantage pour moi, c'est de pouvoir comparer les empreintes plutôt que les n-uplets).
Le problème est le suivant :
il faut que la fonction de hachage soit insensible à une sorte de 'permutation circulaire', c'est à dire que les sept-uplets suivants doivent tous avoir la même empreinte :
(0 ; 0.75 ; -0.5 ; 0.5 ; -0.25 ; 0.25 ; 0) => fdsf54ds
(0.75 ; -0.5 ; 0.5 ; -0.25 ; 0.25 ; 0 ; 0.75) => fdsf54ds
(-0.5 ; 0.5 ; -0.25 ; 0.25 ; 0 ; 0.75 ; -0.5) => fdsf54ds
(0.5 ; -0.25 ; 0.25 ; 0 ; 0.75 ; -0.5 ; 0.5) => fdsf54ds
(-0.25 ; 0.25 ; 0 ; 0.75 ; -0.5 ; 0.5 ; -0.25) => fdsf54ds
(0.25 ; 0 ; 0.75 ; -0.5 ; 0.5 ; -0.25 ; 0.25) => fdsf54ds
Je ne sais pas comment le faire.
J'ai commencé par étudier une fonction f(a, b, c, d, e, f, g, h), mais je ne sais pas quoi choisir pour f.
Note: en d'autres termes, je cherche une fonction f qui vérifie :
f(a, b, c, d, e, f, g, h) = f(b, c, d, e, f, g, h, a) = f(c, d, e, f, g, h, a, b) = f(d, e, f, g, h, a, b, c) = f(e, f, g, h, a, b, c, d) = f(f, g, h, a, b, c, d, e) = f(g, h, a, b, c, d, e, f) = f(h, a, b, c, d, e, f, g)
Merci.
-----