Compressie methoden
Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
-
- 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.
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
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
- Berichten: 6.905
Re: Compressie methoden
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.
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: 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
- 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.
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
Jemig ik moet toch eens wat beter gaan nadenken. XD