Compressie methoden

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Berichten: 142

Compressie methoden

De reden dat ik dit bij wiskunde zet en niet bij programmeren is omdat ik het hier niet over een programmeertaal heb en omdat je compressie vaak (in ieder geval hier) wiskundig kan benaderen. Wel zal ik wat computertermen gebruiken, dus als dat niet mag moet dit topic toch verplaatst worden. :D

Nu verder met mijn verhaal...

Ik ben de laatste tijd ineens heel erg geïnteresseerd geraakt in compressie. Maar ik ben er eigenlijk heel slecht in. ;) Ik probeer lossless te comprimeren, dus dat je geen informatie kwijt raakt, en op dit moment probeer ik het nog uit op tekst.

Ik heb al geprobeerd om bijvoorbeeld in een tabel alle mogelijke combinaties te maken van 5 letters van het alfabet. De bedoeling was dan dat je alleen een verwijzing hoefde te gebruiken die naar het goede veld in de tabel verwees. Het probleem daarvan is dat je dan zoveel mogelijkheden in de tabel hebt dat je verwijzing ongeveer even veel bytes lang is dan als je die 5 letters zelf zou typen, soms nog wel langer.

Daarna dacht ik dat het misschien met een formule zou kunnen met een aantal parameters, maar dan heb je evenveel parameters nodig als het aantal getallen dat je terug wilt (de letters van het alfabet kan je ook als getallen schrijven), en die parameters zijn vaak breuken dus dat zijn nog meer bytes.

Ik zit nog steeds in mijn hoofd met dat je alle informatie in het programma zet en in het bestand alleen verwijzingen zodat die de goede informatie bij elkaar zoekt, maar tot nu toe komt er steeds uit dat de verwijzingen evenveel bytes kosten als de info zelf. Ik kom er niet uit, ik denk waarschijnlijk te simpel. Maar weet iemand een lossless compressie-methode die wel werkt? pi.gif

Gebruikersavatar
Berichten: 6.905

Re: Compressie methoden

http://zlib.net

Is ideaal voor tekst
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Re: Compressie methoden

Informatietheorie houdt zich bezig met dit soort problemen.

Bekijk jouw probleem met die letterparen.

Niet elk paar komt met de zelfde frequentie in een tekst voor.

Sorteer de paren naar frequentie, zodat de veel voorkomende eenvoudig benaderd worden

Dan mogen de zeldzame gevallen extra duur kosten.


Berichten: 308

Re: Compressie methoden


Berichten: 142

Re: Compressie methoden

Volgens mij is de compressie die daar staat voor het alfabet lang niet optimaal. nog steeds krijgen letters meer bits dan nodig is, dan is dit beter:

Code: Selecteer alles

E = 0

N = 1

A = 10

T = 11

I = 100

R = 101

O = 110

D = 111

S = 1000

L = 1001

G = 1010

V = 1011

H = 1100

K = 1101

M = 1110

U = 1111

B = 10000

P = 10001

W = 10010

J = 10011

Z = 10100

C = 10101

F = 10110

X = 10111

Y = 11000

Q = 11001

Gebruikersavatar
Berichten: 24.578

Re: Compressie methoden

Het probleem hierbij is dat als je "11" binnenkrijgt, je niet weet of dit "NN" of "T" is.

Dit probleem heb je niet met Huffmancodering werkt, omdat dit een "prefixcode" is.

Dat wil zeggen: geen enkele code is gelijk aan het begin ("de prefix") van een andere code.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

Berichten: 142

Re: Compressie methoden

Ohja, had ik niet aan gedacht. XD

Jemig ik moet toch eens wat beter gaan nadenken. XD

Reageer