TIiK2 zadania z DC

background image

TIiK vol. 2

1) Źródło generuje dziewięć wiadomości

x

1,

x

2,

... , x

9

. Zakoduj kodem binarnym

natychmiastowo dekodowalnym to źródło w taki sposób, żeby najczęściej generowane
wiadomości

x

1,

x

2

były związane z najkrótszymi możliwymi słowami kodowymi, a

pozostałe wiadomości ze słowami o jednakowej, najmniejszej z możliwych długości słowa
kodowego.

x

1,

x

2

muszą być zakodowane na dwóch bitach (jakbyśmy zrobili na jednym, to wtedy kod

byłby niejednoznaczny).

Wtedy, pozostała ilość (korzystając z nierówności Krafta):

i

=1

n

2

l

i

≤1 ⇔ 2⋅

1

2

2

7⋅

1

2

k

≤1 ⇔

1

2

k

1

14

k ≥log

2

7

1⇔ k

min

=4

Propozycja kodu:

x

1

00

x

2

01

x

3

1000

x

4

1001

x

5

1010

x

6

1011

x

7

1100

x

8

1101

x

9

1110

2) Zbiór 6 wiadomości

x

1,

... , x

i

,... , x

6

zakodowano według sześciu kodów A - F

danych w tabeli. Określ, które kody są jednoznacznie dekodowalne, a które natychmiastowo
dekodowalne. Policz średnią długość dla każdego kodu jednoznacznie dekodowalnego.

Wiadomość

p

x

i

Kod A Kod B

Kod C

Kod D

Kod E

Kod F

x

1

1/2

000

0

0

0

0

1

x

2

1/4

001

01

10

10

10

100

x

3

1/16

010

011

110

110

1100

101

x

4

1/16

011

0111

1110

1110

1011

110

x

5

1/16

100

01111

11110

1011

1110

111

x

6

1/16

101

011111 111110

1101

1111

011

Aby był jednoznaczny, to jedno słowo nie może być początkiem innego (dlatego np. ruch i

ruchać jest niejednoznaczne, ba, nawet dwuznaczne :P ) -> tak dokładnie jest to warunek
wystarczający, ale nie jest on konieczny-> przykładem są kody przecinkowe. Kody D, E i F
odpadają w przedbiegach, ponieważ można otrzymać sekwencje niejednoznaczne na wyjściu.

Kod A -> jednoznaczny, natychmiastowo dekodowalny (wiemy, że każde słowo ma długość

trzech bitów).

Krzychoo, TIiK

background image

L

A

=

i

=1

6

p

i

l

i

=3

(chyba oczywiste)

Kod B -> jednoznaczny, nie jest jednak natychmiastowy (zakończenie słowa oznacza

przyjście '0' do odbiornika, a '0' to początek kolejnego słowa)

L

B

=2

1
8

Kod C -> jednoznaczny, natychmiastowy (zero jest końcem każdego słowa kodowego, nie

musimy więc czekać na następne słowo)

L

C

=2

1
8

3) Źródło generuje równoprawdopodobne słowa kodowe kodu zwięzłego

trójsymbolowego o długościach równych cztery symbole. Policz, ile informacji o źródle
uzyskano po odebraniu 8 słów.

D = 3
L = 4

Równość prawdopodobieństw, więc kod jest optymalny. Zatem możemy zapisać:

L

=

H

X

log

2

D

H X =L⋅log

2

D

[bitów /słowo]

(entropia dla pojedynczego słowa). Słów

przesłano n =8, zatem:

I

X

n

=nL⋅log

2

D

=32 log

2

3

=50,72[bit ]

4) Czy można, w alfabecie liczącym trzy elementy skonstruować kod natychmiastowo

dekodowalny, jeśli długości słów kodowych miałyby wynosić:

1,2,2,2,2,2,3,3,3,3?

A jeśli długości słów kodowych wynoszą:

1,2,2,2,2,2,3,3,3,?

Jak wiele takich kodów można skonstruować?

Musi być spełniona nierówność Krafta. Dla pierwszego przypadku nie jest:

i

=1

n

3

l

i

=

1
3

5⋅

1

3

2

4⋅

1

3

3

=

28
27

1

Dla drugiego zaś jest.
Pomyślmy wobec tego, ile takich kodów można skonstruować.
Najpierw tworzymy jedno słowo o długości jeden:

K

1

=W

3

1

=3

Teraz utworzymy słowa o długości dwa, z uwzględnieniem, że kod musi być jednoznacznie

dekodowalny:

K

2

=W

3

1

−1⋅W

3

1

=6

No i słowa o długości trzy, biorąc pod uwagę, ile już słów zużyliśmy do poprzednich

kodowań:

K

3

=W

3

2

−5−1⋅W

3

1

⋅W

3

1

=3

Teraz, spośród tych symboli, musimy wybrać jeden o długości jeden, pięć o długości dwa i

Krzychoo, TIiK

background image

trzy o długości trzy (tyle będzie kombinacji słów kodowych).

K

S

=C

3

1

C

6

5

C

3

3

=

3
1



6
5



3
3

=18

Z tym, że w zadaniu należy chyba wziąć pod uwagę to, że A=01 i B=11 to inny kod niż A=11

i B=01, zatem ilość znacznie wzrośnie:

K

K

=[C

3

1

C

9

1

]⋅[P

5

C

8

5

C

6

5

]⋅[ P

3

C

3

3

C

3

3

]=P

9

K

S

Ot, zwyczajny dobór "przestrzeni życiowej" dla poszczególnych słów...

5) Ile najwięcej słów kodowych może liczyć binarny natychmiastowo dekodowalny

kod, którego najdłuższe słowo ma długość 7?

Najwięcej możliwości (słów kodowych) będziemy mieli, jeśli każde ze słów będzie miało 7

bitów długości. Oznaczać to będzie przy okazji, że kod będzie natychmiastowo dekodowalny.

No to walnijmy jeszcze nierówność Krafta:

N

2

7

≤1⇔ N

max

=2

7

=128

6) Załóżmy, że alfabet kodu liczy D elementów oraz że sekwencja n liczb całkowitych

l

i

:1

l

1

l

2

...

l

n

spełnia nierówność Krafta. Na ile sposobów można wybrać słowa

kodowe

w

1

... w

n

, dla których długości

l

w

i

=l

i

, tak żeby zbiór

{ w

1

... w

n

}

był kodem

natychmiastowo dekodowalnym?

Zapiszmy więc dla pierwszego słowa:

K

1

=W

D

l

1

Dla drugiego słowa:

K

2

= K

1

−1⋅W

D

l

2

l

1

=W

D

l

1

−1⋅W

D

l

2

l

1

=W

D

l

2

W

D

l

2

l

1

Dla trzeciego:

K

3

=K

2

−1⋅W

D

l

3

l

2

=W

D

l

2

W

D

l

2

l

1

−1⋅W

D

l

3

l

2

=W

D

l

3

W

D

l

3

l

2

W

D

l

3

l

1

Itd., dochodząc do n-tego:

K

n

=W

D

l

n

W

D

l

n

l

n

−1

−...−W

D

l

n

l

1

Sprawdźmy jeszcze, czy przypadkiem gdzieś po drodze nie wyczerpią nam się możliwości

(wtedy dalsze kodowanie byłoby niemożliwe). Zajmijmy się najdalej położonym, czyli też
najbardziej "wyczerpanym",

K

n

:

K

n

=W

D

l

n

W

D

l

n

l

n

−1

−...−W

D

l

n

l

1

=D

l

n

D

l

n

l

n

−1

−...− D

l

n

l

1

=D

l

n

⋅[1− D

l

1

... D

l

n

−1

]=D

l

n

⋅1−

i

=1

n

−1

D

l

i

>0

Dlaczego niby większe od zera? Bo czynnik w nawiasie wynika z nierówności Krafta.

Liczba sposobów zaś:

K

=K

1

K

2

⋅...⋅K

n

7) Udowodnij, że dla każdego zwięzłego źródła o rozkładzie prawdopodobieństwa

p

i

istnieje następująca zależność pomiędzy prawdopodobieństwami wystąpienia

wiadomości a długościami reprezentujących je kodów:

L=minp

j

p

k

l

j

l

k

(1)

Możemy zapisać, że:

L=

i

=1

N

p

i

l

i

=Sp

k

l

k

p

j

l

j

Krzychoo, TIiK

background image

Teraz zakładamy (metoda nie wprost):

L=minl

j

l

k

p

j

p

k

(2)

Oznacza to, że dla każdego ciągu kodowego wartość minimalna będzie dla powyższych

założeń.

Wystarczy więc choćby jeden kontrprzykład, aby obalić hipotezę (2), dzięki czemu

udowodnimy prawdziwość twierdzenia (1).

No to jedziemy:

L

2

=S p

k

l

k2

p

j

l

j2

Jako ciąg hipotetycznie większy weźmy ten z twierdzenia (1):

L

2

=S p

k

l

k2

p

j

l

j2

≤ 

L

1

=S p

k

l

k1

p

j

l

j1

Przy założeniach:

l

k1

l

j1

l

k2

l

j2

p

k

p

j

Wobec tego mamy:

p

k

l

k2

p

j

l

j2

p

k

l

k1

p

j

l

j1

l

k2

l

k1

p

j

p

k

l

j1

l

j2

Przyjmijmy, że

l

k2

=l

k1

⇒ l

j1

l

j2

Tak więc mamy:

l

k2

l

k1

=0

p

j

p

k

l

j1

l

j2

< 0

A to jest bzdura!
Hipoteza została obalona, wobec czego twierdzenie (1) jest prawdziwe.

8) Źródło generuje trzy wiadomości z prawdopodobieństwem

p

1

p

2

p

3

. Pokaż,

że średnia długość binarnego kodu Huffmana C dla tego źródła wynosi:

L

C =2− p

1

Ile będzie wynosiła długość takiego kodu dla źródła generującego cztery wiadomości

z prawdopodobieństwami:

p

1

p

2

p

3

p

4

?

a)

Wiadomości S1

S2

Długość

m1

p1

p1

1 znak

m2

p2

p2 + p3

2 znaki

m3

p3

Wobec tego:

L

C = p

1

⋅1 p

2

p

3

⋅2= p

1

p

2

p

3

1

p

2

p

3

1

p

1

=2− p

1

b)

Wiadomości

S1

S2

S3

Długość

m1

p1

p1

p1

1

m2

p2

p2

p2 + p3 + p4

2

m3

p3

p3 + p4

3

m4

p4

3

L

C =3−2p

1

p

2

Inny przypadek:

Krzychoo, TIiK

background image

Wiadomości

S1

S2

S3

Długość

m1

p1

p3 + p4

p1 + p2

2

m2

p2

p1

p3 + p4

2

m3

p3

p2

2

m4

p4

2

L

C =2

itp.

9) Algorytm Huffmana polega między innymi na tworzeniu ciągu zredukowanych źródeł

wiadomości w taki sposób, że za każdym razem (tzn. na etapie redukcji numer i) musimy
obliczać prawdopodobieństwo

p

i

pewnej liczby najmniej prawdopodobnych wiadomości.

Pokaż, że średnią długość binarnego kodu Huffmana C można obliczyć jako:

L

C =1

i

p

i

Rozważmy etap i oraz i +1:

L

C

i

=

j

=1

M

p

j

l

j

=

j

=1

M

−2

p

j

l

j

p

M

−1

l

M

−1

p

M

l

M

=

j

=1

M

−2

p

j

l

j

 p

M

−1

p

M

p

i

l

M

l

M

i l

M

−1

są sobie równe.

L

C

i

1

=

j

=1

M

−1

p

j

l

'

j

=

j

=1

M

−2

p

j

l

j

p

i

l

M

−1

'

L

C

i

− LC

i

1

= p

i

⋅l

M

l

M

−1

'

1

= p

i

Teraz, przechodząc do finału:

L

C = LC

1

=LC

1

[L C

2

−LC

2

]...[ L C

N

−L C

N

]

L

C =[ LC

1

−LC

2

][ LC

2

−L C

3

]...L C

N

1

=1

i

p

i

10) Na podstawie analizy kodowania Huffmana dla bezpamięciowego źródła

generującego

N

≥2

wiadomości, pokaż że tworzone w alfabecie binarnym słowa kodowe

o długościach

l

i

spełniają poniższą nierówność:

i

=1

N

l

i

1
2

⋅ N

2

N −2

Skorzystajmy z indukcji matematycznej:
1)
N = 2
L = 1 + 1 =2
P = 2
L = P (prawda)
2)
Założenie: dla N =n twierdzenie prawdziwe.
Czy N = n +1 twierdzenie jest prawdziwe?

L =

i

=1

n

1

l

i

=

i

=1

n

l

i

2=

n

2

P =

1
2

⋅n1

2

n1−2=

1
2

⋅n

2

n−2

1
2

⋅ 2 n2

Krzychoo, TIiK

background image

n

2≤

?

1
2

n

2

n−2[n1]

Wystarczy tylko wykazać, że n + 1jest większe od dwóch, co dla N określonych w zadaniu

zawsze jest prawdziwe.

Zatem twierdzenie udowodnione.

11) Znajdź entropię źródła X, które ma nieskończenie wiele symboli o

prawdopodobieństwach

p

i

=2

i

(i = 1,2,3 ...). Znajdź optymalny binarny kod

natychmiastowo dekodowalny i oblicz jego średnią długość.

H

X =

i

=1

i

2

i

=

x

x−1

2

| x

=2

=2

Wiemy, że dla kodu optymalnego zachodzi równość:

L=

H

X

log

2

D

⇔ L=H X ⇔

i

=1

p

i

l

i

L

=

i

=1

p

i

i

H

X

⇔∀ n :l

n

=n

W zasadzie tutaj mamy znalezioną średnią długość (równa entropii wszakże). Przy okazji też
wiemy, że n-ty symbol powinien być zakodowany na n bitach. A teraz pora na jakąś propozycję:

m1

0

m2

10

m3

110

m4

1110

m5

11110

m6

111110

m7

1111110

m8

11111110

m9

111111110

m10

1111111110

m11

11111111110

...

...

Krzychoo, TIiK


Wyszukiwarka

Podobne podstrony:
TIiK3, zadania z DC
zadania DC
AKlab Dc, zadania
Zadania z treścia
Prezentacja 2 analiza akcji zadania dla studentow
Przedmiot i zadania dydaktyki 4
zadanie 1 v 002
Przedmiot dzialy i zadania kryminologii oraz metody badan kr
KOLOKWIUM 2 zadanie wg Adamczewskiego na porownawczą 97
CELE I ZADANIA EDUKACJI MEDIALNEJ(1)
ochrona atmosfery zadania
zadania
Przedmiot i zadania dydaktyki 2
Wymogi, cechy i zadania sprawozdawczośći finansowej
ZADANIA PiP Prezentacja Microsoft PowerPoint
1F CWICZENIE zadanie wg Adamczewskiego na porownawczą 97id 18959 ppt
zadania i rozwiazania z przekrojów 2

więcej podobnych podstron