Skip to content

Huffman-koodi - yksinkertaistettu muunnelma Mystery Cache

Hidden : 9/23/2010
Difficulty:
3.5 out of 5
Terrain:
2 out of 5

Size: Size:   regular (regular)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:

Nykyaikainen, standardiksi muodostunut datan pakkausmenetelmä perustuu Huffman-koodiin, jonka kehitti yhdysvaltalainen IT-alan pioneeri David Albert Huffman. Pakkausta käytetään sekä tallennuskapasiteetin säästämiseksi että dataliikenteen optimoimiseksi. Huffman-koodaus on pakkausmenetelmänä häviötön.


Tässä mysteerissä sovelletaan Huffman-koodia yksinkertaistaen ensisijaisesti siksi, että koodauksen pystyisi ratkaisemaan helposti kotikonstein ilman IT-alan opintoja ja toiseksi siksi, että tämän muunnelman purkamiseksi tuskin löytyy netistä valmisohjelmaa

Huffman-koodin pakkaus perustuu siihen, että datassa useimmin esiintyvä merkki binaarikoodataan lyhiten. Jos siis merkkijonon yleisin kirjain on A, se saa arvon 0. Oletetaan edelleen, että seuraavaksi tihein esiintymä on kirjaimella T, jolloin se saa arvon 10, seuraavaksi I arvon 110 jne. Kirjaimen esitys pakatussa jonossa siis päättyy aina seuraavaan nollaan. Ykkösiä on kirjainta kohden sen mukaan kasvavasti, miten harvinainen kyseinen kirjain kulloisessakin yhteydessä on.

Yllä kuvatun esiintymisjärjestyksen perusteella kirjainten yleisyysjärjestys kerrottaisiin näin:
ATI
Sana TAITAA Huffman-koodattaisiin tässä muunnelmassa näin:
1001101000
eli kirjain kerrallaan:
T 10
A 0
I 110
T 10
A 0
A 0

Harvinaisimman kirjaimen esitys voisi olla tällainen:
111111111111111111110

Oikeaoppisen Huffman-koodauksen muodostaminen ei kuitenkaan ole aivan näin yksinkertaista, mutta periaate kuitenkin on tämä. Alla on esitetty mysteerin koordinaatit ja hiukan sanallista opastusta Huffman-koodattuna. Ensin esitetään tekstissä esiintyvät kirjaimet tiheysjärjestyksessä ja sitten varsinainen koodaus.

IA NSTKUEOLMPR-VDGJY.BH
1111111111111111111110111111111011111101111001101111111110111011
0111111000111011100111110111111110111110111110111111111111111111
1011011111111111010111111111111111110111011111111011111111011111
0011111111110111111111101011011110111110111111111011111111111110
1111111111101101111111111101111111110111110111111111011111111111
1100111011011111111111010011101111111110111101111111111110111111
1111111111111011111111110111111111111111010101110110111100111101
0111101111111100111010101110110111110111111101111111111111011111
1101111011110101101111111111101011111111110011111101111110101111
1111110101110110111111010111111101111111111110111111101110111111
1111111111100111011111111101111010111101111010110111111111111011
1111111101011111101111110011111101011111110111111111111011111110
1110111111111111111110011101101111101010111111111111111111010111
1111111101011110111101011111111111111111111011011111101111111110
1111111110111111111111101111111111111111001110101011111011111001
1111111011101101111111111100111011111110111111101111101111100111
1111101110110111111111111111101111111101111001111111111101010111
1111111001111101101111111110111111111111111010111110110111101111
1110111111101111111111111001110111111111111000111111111111101111
1011111111001110110111111111111011011111101111111110111111111101
1111111111011111111011111111111111011111111111111100011110011111
1111111110111111011111110111111101111001101111111111111111110101
1001101111111111111110001111001111111111111101110111111110111111
1111011111111111111111101011111111111111011111111111111111110111
1111111111111111111011111111111111110111111110111111011110101110
111111111111111111110

Rivinvaihdot tässä yhteydessä on tehty visuaalisuuden nimissä. Tosiasiassa tuo pakattu binaarinen Huffman-koodi on yhtä pötköä.

Kätkö ei sijaitse näennäiskoordinaateissaan. Paikalla on kuitenkin löyhä yhteys kätkön paikkaan.



Huffman-puu - ei liity mitenkään tämän variaation ratkaisemiseen

Additional Hints (No hints available.)