41
Teoria informacji i kodowania Ćwiczenia Piotr Cholda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej

Teoria informacji i kodowania - Cwiczenia

Embed Size (px)

Citation preview

Page 1: Teoria informacji i kodowania - Cwiczenia

Teoria informacji i kodowaniaĆwiczenia

Piotr Chołda, Andrzej Kamisiński

Katedra Telekomunikacji Akademii Górniczo-Hutniczej

Page 2: Teoria informacji i kodowania - Cwiczenia

Plan prezentacji

1 Wprowadzenie do ćwiczeń

2 Powtórka różnych zagadnień z matematyki stosowanej

3 Wstęp do teorii informacji: informacja, niepewność,entropia, obliczanie entropii

Katedra Telekomunikacji AGH 2/41

Page 3: Teoria informacji i kodowania - Cwiczenia

Plan prezentacji

1 Wprowadzenie do ćwiczeń

2 Powtórka różnych zagadnień z matematyki stosowanej

3 Wstęp do teorii informacji: informacja, niepewność,entropia, obliczanie entropii

Katedra Telekomunikacji AGH 3/41

Page 4: Teoria informacji i kodowania - Cwiczenia

Prowadzący

Dr hab. inż. PiotrChołda

I D-5, parter, pokój 015

T (+48 12 617–)40–36

[email protected]

mhttp://www.cholda.pl/teaching

Mgr inż. AndrzejKamisiński

I D-5, parter, pokój 012

U Wtorki, 16.20-17.50

T (+48 12 617–)40–34

[email protected]

Spotkania w ramach konsultacji: prosimy o wcześniejszy kontaktdrogą elektroniczną.

Katedra Telekomunikacji AGH 4/41

Page 5: Teoria informacji i kodowania - Cwiczenia

Literatura do ćwiczeń

Polecamy dwie pozycje w języku polskim:

Jan Chojcan, Jerzy Rutkowski. Zbiór zadań z teorii informacjii kodowania.Wydawnictwo Politechniki Śląskiej, Gliwice, 1994.

Radosław Biernacki, Bohdan Butkiewicz, Jerzy Szabatin,

Bożena Świdzińska. Zbiór zadań z teorii sygnałów i teoriiinformacji.Wydawnictwo Politechniki Warszawskiej, Warszawa, Poland,2007.

Katedra Telekomunikacji AGH 5/41

Page 6: Teoria informacji i kodowania - Cwiczenia

Dobre podręcznikiZawierają również zadania z rozwiązaniami

Dominic Welsh. Codes and Cryptography.

Clarendon Press, Oxford, UK, 1988.

Thomas M. Cover and Joy A. Thomas. Elements of Information Theory.

John Wiley & Sons, Inc., New York, NY, 1991.

Steven Roman. Coding and Information Theory.

Graduate Texts in Mathematics. Springer-Verlag, Berlin, Germany, 1992.

Gareth A. Jones and J. Mary Jones. Information and Coding Theory.

Springer-Verlag London Ltd., London, UK, 2000.

Todd K. Moon. Error Correction Coding.

John Wiley & Sons, Inc., Hoboken, NJ, 2005.

Stefan M. Moser and Po-Ning Chen. A Student’s Guide to Coding andInformation Theory.

Cambridge University Press, Cambridge, UK, 2012.Katedra Telekomunikacji AGH 6/41

Page 7: Teoria informacji i kodowania - Cwiczenia

Zasady zaliczeniaZaliczenie w normalnym trybie

Trzy kolokwia:dwa zadania (12 + 13 lub 13 + 13 punktów),czas trwania: 90 minut,nieobecność: 0 punktów (nie przewidujemy poprawekpojedynczych kolokwiów ani terminów dodatkowych, zwyłączeniem dwóch kolokwiów zaliczeniowych poprawkowych),zakaz używania urządzeń elektronicznych oraz materiałówpomocniczych,kolokwium dla całego roku na raz w godzinach wieczornych?

Aktywność podczas zajęć: dodatkowe pojedyncze punkty; nieprzyznajemy punktów ujemnych.

Do tablicy — tylko chętni (póki są. . . ).

Katedra Telekomunikacji AGH 7/41

Page 8: Teoria informacji i kodowania - Cwiczenia

Zasady zaliczeniaZaliczenie w normalnym trybie, cd.

Trzy spotkania zakładające rozwiązywanie zadań przy użyciukomputera (3 · 8 punktów)

Wśród zadań domowych znajdują się „zadania z gwiazdką”(trudniejsze ćwiczenia teoretyczne albo np. napisanieprogramu w Matlabie) — pierwsza osoba, która wyśle doprowadzącego zajęcia poprawne rozwiązanie takiego zadania,otrzyma dodatkowe punkty.

Ocena końcowa jest wyliczana według Regulaminu Studiów,§13.1 (100% = 100 punktów).

Regulamin, §11.3: obecność na ćwiczeniach jest obowiązkowa,więc na każdych zajęciach zostanie wystawiona lista obecności(obecność = podpisana osobiście lista).

Katedra Telekomunikacji AGH 8/41

Page 9: Teoria informacji i kodowania - Cwiczenia

Zasady zaliczeniaKolokwia zaliczeniowe

Pierwsze kolokwium zaliczeniowe: dla osób, które w ciągusemestru uzyskały co najmniej 35 pkt.

Drugie kolokwium zaliczeniowe: dla osób, które w ciągusemestru uzyskały co najmniej 16 pkt.

Kolokwia zaliczeniowe — możliwe tylko dwa wyniki: ndst(uzyskanie za kol. <50% punktów) albo dst (uzyskanie za kol.≥50% punktów).

Katedra Telekomunikacji AGH 9/41

Page 10: Teoria informacji i kodowania - Cwiczenia

Zadania na ćwiczeniach

Zadania są udostępniane na stronie WWW.Sugestia odnośnie sposobu pracy z zadaniami:

przeczytać odpowiedni wykład i postarać się zrozumieć jegotreść (np. zaglądając do podręczników, korzystając zkonsultacji itp.);przejrzeć wszystkie zadania przed ćwiczeniami;rozwiązać przynajmniej po jednym zadaniu z każdej grupy;w czasie ćwiczeń zgłosić te zadania, które wyglądają na trudnedo samodzielnego rozwiązania (w miarę możliwości spróbujemyje rozwiązać);po ćwiczeniach rozwiązać wszystkie pozostałe zadania (w razieproblemów warto ponownie zgłosić się na konsultacje).

Katedra Telekomunikacji AGH 10/41

Page 11: Teoria informacji i kodowania - Cwiczenia

Plan prezentacji

1 Wprowadzenie do ćwiczeń

2 Powtórka różnych zagadnień z matematyki stosowanej

3 Wstęp do teorii informacji: informacja, niepewność,entropia, obliczanie entropii

Katedra Telekomunikacji AGH 11/41

Page 12: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaIndukcja matematyczna

Sposób dowodzenia niektórych twierdzeń zachodzących dlaliczb naturalnych

Musimy dowieść, że twierdzenie zachodzi dla pewnych liczbnaturalnych, poczynając od pewnej wybranej liczby n0: T (n),n ∈ N, n ≥ n0.

T (n0) ∧ [T (n)⇒ T (n + 1)]⇔ T (n ∈ N, n ≥ n0)

Katedra Telekomunikacji AGH 12/41

Page 13: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaLogika

Zaprzeczanie zdań

Negacja koniunkcji: ¬(p ∧ q)⇔ (¬p ∨ ¬q).Negacja implikacji: ¬(p ⇒ q)⇔ (p ∧ ¬q).

Katedra Telekomunikacji AGH 13/41

Page 14: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaKombinatoryka

Silnian! = 1× 2× · · · × n.

Permutacja

Liczba permutacji n różnych obiektów to: n!.

Katedra Telekomunikacji AGH 14/41

Page 15: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaKombinatoryka

Symbol Newtona(nk

)= n!

k!(n−k)! :(nn

)= 1,

(n0

)= 1,

(n1

)= n,

(nk

)=( nn−k).

Wzory rekurencyjne:(n+1

k

)=(nk

)+( nk−1),(nk

)= n

k

(n−1k−1).

Dwumian Newtona: (x + y)n =∑n

k=0

(nk

)xkyn−k .

(1 + x)n =∑n

k=0

(nk

)xk .

2n = (1 + 1)n =∑n

k=0

(nk

).

k elementów można wybrać bez powtórzeń ze zbioru nelementów na

(nk

)sposobów.

Katedra Telekomunikacji AGH 15/41

Page 16: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAnaliza

Logarytm

loga b = c ⇔ ac = b.Właściwości logarytmów:

iloczyn: loga(bc) = loga b + loga c ,iloraz: loga

(bc

)= loga b − loga c ,

potęgowanie: loga(bc) = c loga b,

zamiana podstawy: loga b = logc blogc a

.

Katedra Telekomunikacji AGH 16/41

Page 17: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAnaliza

Ciąg arytmetyczny

an = a1 + (n − 1)d ,

suma: a1 + · · ·+ an = n a1+an2 .

Ciąg geometryczny

an = a1 × rn−1,

suma: a1 + · · ·+ an =

{a11−rn1−r r 6= 1

na1 r = 1.

Katedra Telekomunikacji AGH 17/41

Page 18: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAnaliza

Suma szeregu geometrycznego zbieżnego (dla |r | < 1)∑∞n=1 ar

n−1 = a+ ar + · · · = a1−r .

Różniczkowanie szeregu

Gdy mamy zbieżność i pochodne istnieją:∑∞n=0d f (n,x)d x =

d∑∞

n=0 f (n,x)d x .

Analogicznie dla całkowania.

Katedra Telekomunikacji AGH 18/41

Page 19: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAnaliza

Pochodna dd xLogarytm: (loga x)

′ = 1x ln a .

Iloczyn funkcji: (f (x)g(x))′ = f ′(x)g(x) + f (x)g ′(x).

Iloraz funkcji:(

f (x)g(x)

)′= f ′(x)g(x)−f (x)g ′(x)

g2(x).

Funkcja złożona: (f (g(x)))′ = f ′(g(x))g ′(x).

Katedra Telekomunikacji AGH 19/41

Page 20: Teoria informacji i kodowania - Cwiczenia

Kilka użytecznych konwencji. . .

Umówmy się na następujące oznaczenia:

log2 x = lg x ;

log10 x = log x ;

loge x = ln x .

Gdy wiadomo (lub nie jest istotne), jaki przedział przebiegazmienna indeksująca i , często dla wygody zapisujemy:

∑i

(∑

i ) zamiast np.N∑i=0

. Ale gdy przebieg zmiennej indeksującej

jest „nietypowy” lub szczególnie ważny z punktu widzenia

danego problemu, zapisujemy dokładniej, np.K−5∑

i=N+2.

Katedra Telekomunikacji AGH 20/41

Page 21: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaRachunek prawdopodobieństwa

A,B — zdarzenia wzajemnie rozłączne

Pr{A ∩ B} = 0.

Pr{A ∪ B} = Pr{A}+ Pr{B}.Pr{A ∩ B} = Pr{A}.

Katedra Telekomunikacji AGH 21/41

Page 22: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaRachunek prawdopodobieństwa

X ,Y — zm. los. niezależne

Pr{xi ∩ yj} = Pr{xi , yj} = Pr{yj , xi} = Pr{xi} × Pr{yj}.

Prawdopodobieństwo warunkowe

Pr{xi |yj} =Pr{xi ,yj}Pr{yj} ;

Pr{xi , yj} = Pr{yj} × Pr{xi |yj} = Pr{xi} × Pr{yj |xi};∑i

Pr{xi |yj} = 1;

twierdzenie o prawdopodobieństwie całkowitym:Pr{xi} =

∑j

Pr{xi |yj}Pr{yj} =∑j

Pr{xi , yj}.

Katedra Telekomunikacji AGH 22/41

Page 23: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaRachunek prawdopodobieństwa

Wartość średnia/oczekiwana dyskretnej zmiennej losowej

X przyjmuje jako realizacje wartości xi — każdą zprawdopodobieństwem Pr{xi};

∑i Pr{xi} = 1:

E [X ] =∑

i xi Pr{xi}.Wartość średnia sumy dyskretnych zmiennych losowych:

E [X + Y ] = E [X ] + E [Y ].

Rozkład dwumianowy/Bernoulliego

Prawdopodobieństwo k sukcesów w n próbach, gdy p toprawdopodobieństwo sukcesu dla pojedynczego zdarzenia:

Pr{X = k} =(nk

)pk(1− p)n−k , E [X ] = np.

Katedra Telekomunikacji AGH 23/41

Page 24: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAlgebra

Przestrzenie liniowe

Kombinacja liniowa wektorów (V jest przestrzenią liniową nadciałem skalarów K ): k1v1 + · · ·+ knvn, ki ∈ K , vi ∈ V .

Przestrzeń liniowa: V jest przestrzenią liniową nad zbioremskalarów K ⇔ ∀ki∈K ,vi∈V k1v1 + · · ·+ knvn ∈ V .

Wektory v1, . . . , vn ∈ V , vi 6= 0 są liniowo zależne: jeśli∃ki∈K ,ki 6=0 k1v1 + · · ·+ knvn = 0.

Katedra Telekomunikacji AGH 24/41

Page 25: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAlgebra

Arytmetyka mod-2 (alternatywa wykluczająca)

⊕ 0 1

0 0 11 1 0

Katedra Telekomunikacji AGH 25/41

Page 26: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAlgebra

Macierze

An×p = [aik ]n×p =

a11 a12 . . . a1pa21 a22 . . . a2p...

.... . .

...an1 an2 . . . anp

.

Transpozycja: AT = [aik ]p×n =

a11 a21 . . . an1a12 a22 . . . an2...

.... . .

...a1p a2p . . . anp

.Macierz jednostkowa — macierz diagonalna z samymi ‘1’ na przekątnej:

In = In×n = 1n =

1 0 . . . 00 1 . . . 0....... . .

...0 0 . . . 1

.Katedra Telekomunikacji AGH 26/41

Page 27: Teoria informacji i kodowania - Cwiczenia

Materiał do powtórzeniaAlgebra

Mnożenie macierzy

Uwaga na wymiary: An×p × Bp×q = Cn×q.

a11 a12 . . . a1p

a21 a22 . . . a2p

.

.

....

. . ....

an1 an2 . . . anp

A : n rzędów p kolumn

b11 b12 . . . b1q

b21 b22 . . . b2q

.

.

....

. . ....

bp1 bp2 . . . bpq

B : p rzędów q kolumn

c11 c12 . . . c1q

c21 c22 . . . c2q

.

.

....

. . ....

cn1 cn2 . . . cnq

a 21×b 12

a 22×b 22

a 2p×b p2

+

+ . . .+

C = A× B : n rzędów q kolumn

Katedra Telekomunikacji AGH 27/41

Page 28: Teoria informacji i kodowania - Cwiczenia

Plan prezentacji

1 Wprowadzenie do ćwiczeń

2 Powtórka różnych zagadnień z matematyki stosowanej

3 Wstęp do teorii informacji: informacja, niepewność,entropia, obliczanie entropii

Katedra Telekomunikacji AGH 28/41

Page 29: Teoria informacji i kodowania - Cwiczenia

Miara informacji

Zawartość informacyjna pojedynczej wiadomości

Jeśli pewna wiadomość xi może wystąpić z prawdopodobieństwemPr{xi} = p, to jej zawartość informacyjna wynosi:

I (xi ) = I (p) = lg 1p = − lg p.

Na przykład:

I(110

)≈ 3,32;

I(12

)= 1;

I(910

)≈ 0,15.

Katedra Telekomunikacji AGH 29/41

Page 30: Teoria informacji i kodowania - Cwiczenia

Miara informacji cd.

Entropia zmiennej losowej

Zmienna losowa X o dyskretnym rozkładzie prawdopodobieństwa(stosujemy różne konwencje oznaczeniowe, np.Pr{X = xi} = Pr{xi} = p (xi ) = pi ),

∑i pi = 1, charakteryzuje się

entropią (zmiennej losowej), którą można rozumieć jako wartośćśrednią zawartości informacyjnej:

H(X ) = H(p1, p2, . . . ) = −∑ipi lg pi [bitów/wiadomość].

Źródło informacji utożsamiamy z rozkładem zmiennej losowej.

Katedra Telekomunikacji AGH 30/41

Page 31: Teoria informacji i kodowania - Cwiczenia

Właściowości entropii

Niech będzie dany dyskretny rozkład prawdopodobieństwazmiennej losowej X , której zbiór realizacji ma liczność N (możemyten rozkład utożsamić z rozkładem prawdopodobieństwagenerowania wiadomości przez jakieś źródło wiadomości).

Granica dla zerowych prawdopodobieństw limp→0

p × lg p = 0.

Ograniczenie górne i dolne 0 ≤ H(X ) ≤ lgN.

Równomierny rozkład prawdopodobieństwa dla rozkładuPr{X = xi} = 1

N , 1 ≤ i ≤ N, entropia osiągamaksimum po wszystkich rozkładachN-elementowych:Hmax(X ) = H

(1N ,1N , . . . ,

1N

)= lgN.

Katedra Telekomunikacji AGH 31/41

Page 32: Teoria informacji i kodowania - Cwiczenia

Przykład użycia w systemach ITPoszukiwanie zaszyfrowanego lub spakowanego złośliwegooprogramowania

Analiza entropii plików dostarcza interesujących informacji zpunktu widzenia bezpieczeństwa systemów IT, na przykład:

Zaszyfrowane lub spakowane złośliwe oprogramowanieutrudnia jego automatyczne wykrywanie (hakerzywykorzystują ten fakt).

Dotyczy to 80-90% przypadków.

Normalne postępowanie: wykrywa się „ręcznie” podejrzaneoprogramowanie, które jest spakowane lub zaszyfrowane, apotem dopiero poddaje je odpowiedniej obróbce systemubezpieczeństwa.

Katedra Telekomunikacji AGH 32/41

Page 33: Teoria informacji i kodowania - Cwiczenia

Przykład użycia w systemach ITPoszukiwanie zaszyfrowanego lub spakowanego złośliwegooprogramowania cd.

Silne algorytmy szyfrujące, np. Triple DES, generują mniejprzewidywalne sekwencje — zwiększają entropię.

W celu wykrywania podejrzanych plików bada się entropięsekwencji binarnych.

Metoda: analiza częstości pojawiania się bajtów (00h do FFh)występujących w równej długości blokach, następnie użyciewzorów na obliczanie entropii.

Generalnie wyższe wartości entropii są skorelowane zzaszyfrowaną lub spakowaną treścią.

Wszystkich możliwych ciągów jest 16×16=28, czyli entropiamaksymalna takiego tekstu (przy najlepszym rozproszeniu) to8.

Katedra Telekomunikacji AGH 33/41

Page 34: Teoria informacji i kodowania - Cwiczenia

Przykład użycia w systemach ITPoszukiwanie zaszyfrowanego lub spakowanego złośliwegooprogramowania cd.

W ten sposób można rozróżniać wstępnie zwykłe plikiwykonywalne od zaszyfrowanych/spakowanych.

Przykładowe dane otrzymane z próbki uczącej:

Zbiór danych Średnia entropia

Zwykły tekst 4,347

Pliki wykonywalne 5,099

Plik spakowany 6,801

Plik zaszyfrowany 7,175

Źródło: Robert Lyda and James Hamrock. Using Entropy Analysis to Find Encrypted and Packed Malware.IEEE Security & Privacy, 5(2):40–45, March/April 2007.

Katedra Telekomunikacji AGH 34/41

Page 35: Teoria informacji i kodowania - Cwiczenia

Rozszerzenie źródła

k-krotne rozszerzenie źródłaNiech będzie dane dyskretne źródło X , generujące N wiadomościx1, x2, . . . , xN . Weźmy sekwencje o długości k złożone zwiadomości generowanych przez X :

si = xi(1)xi(2) . . . xi(k).

Źródło generujące wiadomości si nazywamy k-krotnymrozszerzeniem źródła.

Jeśli X k jest k-krotnym rozszerzeniem bezpamięciowego źródła X ,wtedy:

H(X k)= k × H(X ).

Katedra Telekomunikacji AGH 35/41

Page 36: Teoria informacji i kodowania - Cwiczenia

Właściowości entropii cd.Entropia binarnego źródła wiadomości

p

H(p, 1− p) = −p × lg p − (1− p)× lg(1− p)

14

34

112

14

12

34

1

Katedra Telekomunikacji AGH 36/41

Page 37: Teoria informacji i kodowania - Cwiczenia

Entropia dla wielu zmiennych losowychEntropia łączna

Entropia łączna

Dla dwóch dowolnych zmiennych losowych X ,Y o łącznymrozkładzie prawdopodobieństwa (różnie przez nas oznaczanym, np.Pr {X = xi ,Y = yj} = Pr {xi ∩ yj} = Pr {xi , yj} = p(i , j) = pij),∑

i

∑j p(i , j) = 1, następująco definiujemy entropię łączną:

H(X ,Y ) = −∑i

∑jp(i , j) lg p(i , j).

Katedra Telekomunikacji AGH 37/41

Page 38: Teoria informacji i kodowania - Cwiczenia

Entropia dla wielu zmiennych losowychEntropia warunkowa

Entropia warunkowa

Dla połączonych doświadczeń (zmiennych losowych) X i Yentropia warunkowa H(Y |X ) jest definiowana jako wartość średniaentropii Y pod warunkiem znanej realizacji zmiennej X :

H(Y |X ) = EX [H(Y |X = x)] =−∑i

Pr{xi}∑j

Pr{yj |xi} × lg Pr{yj |xi} =

= −∑i

∑j

Pr{xi , yj} × lg Pr{yj |xi}.

Entropia warunkowa służy do oceny ilościowej naszej niepewnościodnośnie wartości Y przy znanym wyniku X .

Katedra Telekomunikacji AGH 38/41

Page 39: Teoria informacji i kodowania - Cwiczenia

Informacja wzajemna (transinformacja)

x1...xi...xM

XKanał informacyjny

[Pr{yj |xi}]

y1...yj...yL

Y

Informacja wzajemna

Informację wzajemną (transinformację) definiujemy następująco:

I (X ;Y ) =∑i

∑j

Pr{xi , yj} lg Pr{xi ,yj}Pr{xi}Pr{yj} .

Piszemy średnik I (X ;Y ), a nie przecinek (czasem stosowanyzapis I (X ,Y ) oznacza po prostu entropię łączną!).

We wzorze definicyjnym nie ma minusa!Katedra Telekomunikacji AGH 39/41

Page 40: Teoria informacji i kodowania - Cwiczenia

Informacja wzajemna cd.Właściwości

Poniższe właściowości pokazują związek tak zdefiniowanejtransinformacji z różnego typu entropiami liczonymi dla zmiennychlosowych opisujących wejście i wyjście kanału transmisji danych:

H(X ,Y )

H(X )

H(Y )

H(X |Y ) H(X |Y )I (X ;Y )

Katedra Telekomunikacji AGH 40/41

Page 41: Teoria informacji i kodowania - Cwiczenia

Użyteczne wzory na kolokwium

Pewne użyteczne zależności będą w poniższej formie zapisane nakartce z kolokwium (więc nie trzeba się ich uczyć na pamięć, aletrzeba je rozumieć!):

H(X ,Y ) = H(X ) + H(Y |X )

I (X ;Y ) = H(X )− H(X |Y )

= H(Y )− H(Y |X )

= H(X ) + H(Y )− H(X ,Y )

X ,Y — niezależne: H(X ,Y ) = H(X ) + H(Y )

Katedra Telekomunikacji AGH 41/41