Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

compression

3 réponses
Avatar
remy
bonjour

je vous propose un algo de compression
avec probabilité de perte info
bicause collisions fct de hachage


en gros

a=1231354564464..............
un entier sur plusieurs octets


b entier
b=sqrt(a)
c=a-b^2

donc a =b^2+c
avec b qui a une taille 2 fois plus petite que a bicause sqrt
ensuite j'écris b+c =d avec d qui a une taille de a/2 toujours bicause sqrt
1 ou 2
donc ensuite je rajoute disons une petite poignées d'octets
qui est le résultat d'une fct de hachage
de la chaine concaténée de b et c


et je l'écris donc d'un point de vue de la taille
a= 100 octets
b+c=d 50 octets+1 ,2,3, 10 octets de la fct de hachage
à étudier de plus près

50+10<100

pour décompresser
(d-x)+x je calcule la fct de hachage puis vérifie avec le résultat
si oui ça roule (d-x)^2+x=a
sinon x++;

et comme dab s'est récursif


qd pensez vous ?
cela vaut t'il le coup que je le code
avant d'aller faire un tour dans la vraie vie
loin des maths à titre perso j'ai la flemme trop vieux trop con
tout ça quoi

remy

ps courrier en copie en crypto pour la fct de hachage

3 réponses

Avatar
Cenekemoi
bonjour

je vous propose un algo de compression
avec probabilité de perte info
bicause collisions fct de hachage


en gros

a31354564464..............
un entier sur plusieurs octets


b entier
b=sqrt(a)
c=a-b^2

donc a =b^2+c


si:
b=sqrt(a)
alors:
a = b^2
donc:
c = 0

je dois avoir un paramètre mal positionné, mais j'y comprends rien...

--
Cordialement, Thierry ;-)

Avatar
Gilles Robert
si b=sqrt(a) alors a = b^2 donc c = 0

je dois avoir un paramètre mal positionné, mais j'y comprends rien...


Si a n'est pas un carré, sqrt(a) n'est pas un entier. Je suppose que le
b de remy est la partie entière de la racine carrée de a, et donc que le
c est entre 0 et 2b.

Par contre, je ne vois pas où est le gain entre stocker un nombre sur N
octets ou le stocker sur deux fois N/2 octets.
--
Gilles

Avatar
remy
un truc rigolo


a=b^2+c
dans le pire des cas c=2*b

donc d=b+c=3*b taille a/2+2

b-c donc b-c+¡ a1±^2+c1 taille a/2+1 +1 pour le signe

maintenant je décide que c sera toujours plus petit que b
parce que a1 a une taille de ((a/2+1))/2 dans ax=bx^2+c2
avec ax=bx+cx


remy