Reddit-SiliconValleyHBO – forstår noen konseptuelt midt ut komprimering?
Det er ikke ekte, det er gjort opp.
tapsfri datakomprimeringsalgoritmer kan ikke garantere komprimering for alle inndatasett. Med andre ord, for enhver tapsfri datakomprimeringsalgoritme, vil det være et inndatasett som ikke blir mindre når det behandles av algoritmen, og for enhver tapsfri datakomprimeringsalgoritme som gjør minst en fil mindre, vil det være minst en fil som den gjør større. Dette er lett bevist med elementær matematikk ved hjelp av et telleargument, som følger:
Anta at hver fil er representert som en streng av biter av noe vilkårlig lengde.Anta at det er en komprimeringsalgoritme som forvandler hver fil til en utdatafil som ikke er lenger enn den opprinnelige filen, og at minst en fil vil bli komprimert til en utdatafil som er kortere enn den opprinnelige filen.
La M være det minste tallet slik at det er en fil F Med lengde m biter som komprimerer til noe kortere. La N være lengden (i biter) av den komprimerte versjonen Av F.
Fordi N < M, beholder hver fil med lengde N sin størrelse under komprimering. DET er 2N slike filer. Sammen Med F gjør DETTE 2N + 1-filer som alle komprimerer til EN av 2n-filene med lengde N.
Men 2N er mindre ENN 2N+1, så ved pigeonhole-prinsippet må det være en fil med lengde N som samtidig er utgangen av komprimeringsfunksjonen på to forskjellige innganger. Den filen kan ikke dekomprimeres pålitelig (hvilken av de to originalene skal det gi?), som motsier antagelsen om at algoritmen var lossless.
Vi må derfor konkludere med at vår opprinnelige hypotese (at komprimeringsfunksjonen ikke gjør noen fil lenger) nødvendigvis er usann.
https://en.wikipedia.org/wiki/Lossless_compression#Limitations
https://en.wikipedia.org/wiki/Kolmogorov_complexity