Articles

Reddit-SiliconValleyHBO-begrijpt iemand conceptueel middle out compressie?

Het is niet echt, het is verzonnen.

verliesloze datacompressiealgoritmen kunnen compressie voor alle invoergegevensreeksen niet garanderen. Met andere woorden, voor elke verliesloze data compressie algoritme, zal er een input data set die niet kleiner wordt wanneer verwerkt door het algoritme, en voor elke verliesloze data compressie algoritme dat ten minste één bestand kleiner maakt, zal er ten minste één bestand dat het groter maakt. Dit is gemakkelijk te bewijzen met elementaire wiskunde met behulp van een telargument, als volgt:

neem aan dat elk bestand wordt weergegeven als een reeks bits van een willekeurige lengte.Stel dat er een compressiealgoritme is dat elk bestand omzet in een uitvoerbestand dat niet langer is dan het originele bestand, en dat ten minste één bestand wordt gecomprimeerd in een uitvoerbestand dat korter is dan het originele bestand.

laat M het kleinste getal zijn, zodat er een bestand F is met lengtem-bits die comprimeren tot iets korter. Zij N de lengte (in bits) van de gecomprimeerde versie van F.

omdat N<M, behoudt elk bestand met lengte N zijn grootte tijdens compressie. Er zijn 2N dergelijke bestanden. Samen met F maakt dit 2n + 1 bestanden die allemaal comprimeren in een van de 2N bestanden van lengte N.

maar 2N is kleiner dan 2N + 1, dus volgens het principe van het postvak moet er een bestand van lengte N zijn dat tegelijkertijd de uitvoer is van de compressiefunctie op twee verschillende ingangen. Dat bestand kan niet betrouwbaar worden gedecomprimeerd (welke van de twee originelen moet dat opleveren?), wat in tegenspraak is met de veronderstelling dat het algoritme verliesloos was.

We moeten daarom concluderen dat onze oorspronkelijke hypothese (dat de compressiefunctie geen bestand meer maakt) noodzakelijkerwijs onwaar is.

https://en.wikipedia.org/wiki/Lossless_compression#Limitations

https://en.wikipedia.org/wiki/Kolmogorov_complexity