Ki aki ért A Shannon féle kódoláshoz?
Ha van pl a szöveg, hogy ABRAKADABRA, ennek 5 érték tört alakban pl
A 5/11
B 2/11
R 2/11
K 1/11
D 1/11
Ezek tört alakban.
Hogy írjuk fel az ENTRÓPIÁT, HATÁSFOKOT és a kódhosszt???
Neten nemm találok példát törtre. Tudnátok részletes leírással segíteni?
"Ki aki ért A Shannon féle kódoláshoz?"
Szerinted ez egy értelmes magyar mondat?
A wikipédia szócikke már eléggé informatív.
Az a lényege, ami a huffmannak is. A talált szimbólumokat gyakoriság szerint kell rendezni és az a szimbólum kapja a legrövidebb kódot, amelynek előfordulása a legmagasabb.
A második leggyakoribb a második legrövidebbet (vagy ugyanolyan hosszút) és így tovább.
Nincs semmiféle tört.
Az csak azt jelzi, hogy adott szimbólum az egész hanyad része, de nem kell tört alakban ábrázolni. a 2/11 annyit tesz, hogy a 11 szimbólumból (ekkora a hossza az abrakadabra szónak) B kétszer szerepel.
Eddig ez stimmt. Viszont sorba rendeztem az megvan. Mikor hova írok 1-est vagy nullát azt nem tudom, azt tudom felezni kel, de hogyan.
Mert lenyegeben a Pi valoszinuseg akkor az maga a tort alak, de a felezesnel higy dontom el, hogy melyik kap nullat vagy egyet, es az milyen hosszu lesz???
A hatásfok meg úgy jön ki, hogy a kódolandó szöveg eredetileg 11-szer 8 bit, azaz 88 bit.
Ha az A ötször szerepel a szövegben és az a leggyakoribb, akkor ha A kódja 00 lesz, az két bit, tehát az eredeti ötször nyolc bit (40) helyett az A szimbólummal, mivel ötször szerepel, ennyiszer két biten (10) tudod leírni az eredeti 40 bitnyi információt. Ezzel nyertél 30 bitet. Ami azt jelenti, hogy a tömörítésed hatásfoka ezen a szinten 1:4 azaz 25 % a 100 %-hoz képest.
Persze később, ha minden szimbólumot feldolgozol, akkor a hatásfok csökkenni fog, mert a végén az egyszer szereplő szimbólum kódja hosszabb lesz két bitnél, esetleg még háromnál is.
"Mert lenyegeben a Pi valoszinuseg akkor az maga a tort alak"
Igen. Tört alakban is leírhatod a gyakoriságot, de azzal nem leszel előrébb.
A gyakoriság minden szimbólum esetében (gyakorlatilag) egy-egy integer.
Ezen integereket összeadva kapod meg a teljes hosszát a kódolandó adatnak.
De ismétlem, nem kell törtes ábrázolás. El is felejtheted.
Ha a BABAMAMA stringet akarod "tömöríteni" akkor a gyakoriságelemzés eredménye ez lesz:
B 2
A 4
M 2
Mivel a BABAMAMA string hossza 8 karakter, így látható, hogy a szimbólumok gyakoriságának összege is 8 lesz.
A köv lépés a két részre bontás, hogy lehetőség szerint a két szimbólumhalmaz gyakorisága eggyezzen, vagy legalább közelítőleg eggyezzen.
Ez lesz az eredmény:
egyik fél: A (1 x 4)
másik fél: BM (2 x 2 (azaz 4))
Az első osztás így fog kinézni:
A = 0
BM = 1
A második osztás:
A = 0
B = 1
M = 0
A kódtábla meg ez lesz:
A = 00
B = 11
M = 10
Építheted is a kódfát.
Megvan az átlagoss hossz meg a fa is.
Most az entrópiát hogy számolom ki?
H(A)= -(valoszinuseg log valoszinuseg+ valiszinuseg2 log valoszinuseg2.....)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!