Professional Documents
Culture Documents
TIIK Predavanja KS PDF 13
TIIK Predavanja KS PDF 13
pi = P (xi ) = P (si )
l=
pi li .
i=1
Dli 1,
(K)
i=1
i i i
f =l+
li
f
= 0,
Dli = 1,
pi l i +
f
= 0,
li
li
i = 1, . . . , N
pi + Dli ( ln D) = 0.
Dli =
pi
,
ln D
1 .
i i
Dli = pi ,
li = logD pi = logD
Odgovarajua vrijednost l je
lm =
pi logD
1
.
pi
1
1
1
1
=
H(S).
pi ld =
pi
ld D i
pi
ld D
lm l
1
ln D
(N
1
i=1
D li
pi .
i=1
N
i=1 i
H(S)
.
ld D
( ).
Ako je za neki kod ispunjeno l = l , nazivamo ga idealnim kompaktnim
kodom. Kasnije emo vidjeti kada postoji takav kod.
Uvodi se koecijent ekasnosti kodiranja:
m
lm
H(S)
=
.
l
l ld D
l lm
l
Primjer
Razmotrimo binarno kodiranje izvora sa etiri simbola, s , s , s , s , i odgovarajuim vjerovatnostima p = 1/2, p = 1/4, p = p = 1/8. Za ravnomjerni kod
1
x1 = 00,
x2 = 01,
x3 = 10,
x4 = 11,
H(S) =
pi ld
7
1
= .
pi
4
Koecijent ekasnosti ravnomjernog koda je = (7/4)/2 = 7/8, a redundansa R = 1 = 1/8. Dakle, svaki osmi simbol je suvian.
Sad se pozabavimo pitanjem za kakve izvore postoji idealni kompaktni kod? Ovoje matematiki problem: dat je niz pozitivnih brojeva
p , p , . . . , p , sa
p = 1, i pitanje je da li se mogu nai prirodni brojevi
l takvi da je
1
i i
pi li = H(S) =
i=1
pi ld
i=1
1
pi
pi = 2li ,
2li =
i=1
pi = 1,
i=1
1
= 1,
p1
ld
1
= 2,
p2
ld
1
= 3,
p3
ld
1
= 3,
p4
ld
1
1
li < ld + 1.
pi
pi
pi 2li ,
()
pa je prema tome
li
pi = 1.
i=1
i i i
N
N
1
1
1
pi ld l <
pi ld + 1 =
pi ld + 1
pi
pi
pi
i=1
i=1
i=1
Sada su naravno kodne rijei due, jer ima ukupno N rijei poruka
proirenog izvora kojima treba pridruiti kodne rijei, pa je i prosjena duina
l vea od l. No, znamo da je entropija proirenog izvora H(S ) = nH(S),
pa je
nH(S) l < nH(S) + 1,
dakle
l
n
(n)
(n)
H(S)
(n)
< H(S) +
1
.
n
()
(n)
(n)
H(0 , 1 , . . . , n )
,
n+1
C. Shannon i R. Fano su konstruisali kodove za izvorno (kompresiono) kodiranje, koji su dosta slini i svode se na slijedee:
1. Simboli (elementarne poruke) izvora poredaju se tako da odgovarajue
vjerovatnosti ine opadajui niz,
p1 p2 p3 pN .
k+1
s1
s2
s3
s4
0.5
0.25
0.125
0.125
0
1
1
1
0
1
1
0
1
i i i
Da bismo doli do naina konstrukcije optimalnog koda, razmotrimo njegove osobine. Uzmimo da su elementarne poruke simboli numerisani tako
da odgovarajue vjerovatnosti opadaju,
p1 p2 p3 pN .
postoje dvije kodne rijei maksimalne duine (lN ), takve da se one razlikuju
samo posljednjim simbolima, a svi prethodni su im jednaki.
N 2
N 2
N 1
N 1
N 1
N 1
(N 1)
l = l(N 1) + p,
(N 1)
(N 1)
Dakle, za dobijanje optimalnog koda trebaju se koristiti uzastopne kontrakcije originalnog izvora. To vodi na Humanov algoritam:
1. Poredaju se poruke izvora po opadajuim vjerovatnostima.
2. Saberu se dvije najmanje vjerovatnosti i naini nova lista takoe
poredana po opadajuim vjerovatnostima.
3. Postupak se nastavlja sve dok se ne dobije lista od samo dva lana.
Njima se pripisuju 0 i 1 kao prve kodne cifre. Ostale cifre dopisuju
se prema pravilu cijepanja sve dok se ne vratimo na simbole (poruke)
originalnog izvora. Kako je polazni kod (0,1) oito optimalan (srednja
duina kodne rijei je 1, i nikako ne moe biti kraa), i kodovi koji se
dobijaju cijepanjem su takoe optimalni.
Primjer U slijedeoj tabeli prikazana je konstrukcija Humanovog koda
za izvor sa pet simbola. Kontrakcije izvora (sa sabiranjem vjerovatnosti)
dovode do novih kolona idui s lijeva na desno, a kodne rijei se onda
dobijaju idui s desna na lijevo.
si
s1
s2
s3
s4
s5
pi
xi
1
010
011
000
001
si
s1
s45
s2
s3
pi
xi
1
00
010
011
si
s1
s45
s23
pi
xi
1
00
01
si
s4523
s1
pi
xi
0
1
0.4
0.4
0.4
0.6
0.15
0.3
0.3
0.4
0.15
0.15
0.3
0.15
0.15
0.15
Uporedimo dobijeni kod sa Shannon-Fano kodom za isti izvor. ShannonFano kod dobija se na poznati nain, dijeljenjem skupa simbola izvora na
dijelove sa to bliim sumama vjerovatnosti:
s
p I II III
i
s1
s2
s3
s4
s5
0.4
0.15
0.15
0.15
0.15
0
0
1
1
1
0
1
0
1
1
0
1