Huffman och LZ
Här är ett exempel på Huffman kodning i C#: http://pastebin.com/8QZW2xZ3
Jag tycker informationen på Wikipedia är väldigt bra, men den är ganska formellt skriven så det är inte det enklast att ta till sig om man inte har kommit i kontakt med området förut.
Men en sak som kan nämnas är att för ett meddelande (en ström av symboler) så finns ett begrepp som kallas informationentropi, http://en.wikipedia.org/wiki/Entropy_(information_theory), som ungefär motsvarar "informationsinnehåll". Huffmankodning är optimal i den meningen att den ger en kodning som är så nära entropin som möjligt.
Formeln för att beräkna informationsentropin finns i Wikipedia-artikeln ovan, http://en.wikipedia.org/wiki/Entropy_(information_theory)#Def.... p(xi) är sannolikheten för att en viss symbol ska komma, alltså motsvarande det som du kallar frekvensen fast normaliserad. Om man använder 2-logaritmen så får man svaret i antalet bitar.
Det är enklast att förklara med ett exempel:
Ett meddelande har tre symboler, A, B och C. Sannolikheten för att de ska dyka upp i meddelandet är p(A) = 1/2, p(B) = 1/3, p(C) = 1/6, så att den totala sannolikheten p(A) + p(B) + p(C) = 1. Entropin i meddelandet är då:
H(X) = -((1/2) * log2(1/2) + (1/3) * log2(1/3) + (1/6) * log2(1/6)) ≈ 1,459 bitar per symbol.
Om man använder Huffman algoritmen så tilldelas symbolerna koderna:
A: 0
B: 10
C: 11
Och om man räknar ut hur många bitar i snitt som kommer användas i meddelandet så blir det:
(1/2) * 1 + (1/3) * 2 + (1/6) * 2 = 1,5 bitar per symbol.
Om man istället använder en kodning som har fast längd (så att alla symboler har koder med lika många bitar) så behövs 2 bitar per symbol i det här fallet.
Det är också värt att säga att detta gäller för förlustfri komprimering; kan man ta bort data så har man extra kunskap kring meddelandet som inte har tagits med i den här modellen, som gör att man kan göra en kortare kodning.
- Idag Sony läcker uppgifter i rättegång – så stort är Call of Duty 16
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 38
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 48
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
- Idag Youtube testar aggressiv taktik mot annonsblockerare 1
- Igår Veckans fråga: Vilket operativsystem föredrar du? 84
- Igår Bilar med smarta inslag ger fler dumma fel 64
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 90
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- Rekommendation för lödkolv?10
- Wordle på svenska - ordlig.se5944
- Mekaniska tangentbord och tillbehör, allmän diskussion och frågor.6381
- Grafikkort med Vulkan, vad?0
- Ert dyraste ” datormisstag”?404
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"90
- Irriterande förändring Bitwarden/Chrome12
- funderade på att köpa ett nytt system: amd eller intel?13
- Vad spelar du för tillfället?725
- Veckans fråga: Vilket operativsystem föredrar du?85
- Säljes Intel Core i5 13400F
- Säljes Gamingdator 4080 / 13700KF / 32GB DDR5
- Säljes I5 12500
- Säljes LG 27'' UltraGear 27GP950 4K Nano IPS 160 Hz HDMI 2.1
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Youtube testar aggressiv taktik mot annonsblockerare3
- Sony läcker uppgifter i rättegång – så stort är Call of Duty16
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"38
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare48
- Veckans fråga: Vilket operativsystem föredrar du?85
- Bilar med smarta inslag ger fler dumma fel64
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet72
- Starfield utvecklas med AMD:s välsignelse154
Externa nyheter
Spelnyheter från FZ
- Över tre miljoner exemplar av Final Fantasy XVI har skeppats och sålts idag
- Sony råkar avslöja spelbudgetar och annat på grund av dålig märkpenna idag
- Alan Wake och CoD: Kallt krig snart på PS Plus igår
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster igår
- Fallout London flyttas för att slippa Starfield-konkurrensen igår