Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej
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
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
Prowadzący Dr hab inż Piotr Chołda D-5, parter, pokój 015 (+48 12 617 )40 36 piotrcholda@aghedupl http://wwwcholdapl/teaching Mgr inż Andrzej Kamisiński D-5, parter, pokój 012 Wtorki, 1620-1750 (+48 12 617 )40 34 kamisinski@ktaghedupl Spotkania w ramach konsultacji: prosimy o wcześniejszy kontakt drogą elektroniczną Katedra Telekomunikacji AGH 4/41
Literatura do ćwiczeń Polecamy dwie pozycje w języku polskim: Jan Chojcan, Jerzy Rutkowski Zbiór zadań z teorii informacji i 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 teorii informacji Wydawnictwo Politechniki Warszawskiej, Warszawa, Poland, 2007 Katedra Telekomunikacji AGH 5/41
Dobre podręczniki Zawierają 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 and Information Theory Cambridge University Press, Cambridge, UK, 2012 Katedra Telekomunikacji AGH 6/41
Zasady zaliczenia Zaliczenie w normalnym trybie Trzy kolokwia: dwa zadania (12 + 13 lub 13 + 13 punktów), czas trwania: 90 minut, nieobecność: 0 punktów (nie przewidujemy poprawek pojedynczych kolokwiów ani terminów dodatkowych, z wyłączeniem dwóch kolokwiów zaliczeniowych poprawkowych), zakaz używania urządzeń elektronicznych oraz materiałów pomocniczych, kolokwium dla całego roku na raz w godzinach wieczornych? Aktywność podczas zajęć: dodatkowe pojedyncze punkty; nie przyznajemy punktów ujemnych Do tablicy tylko chętni (póki są ) Katedra Telekomunikacji AGH 7/41
Zasady zaliczenia Zaliczenie w normalnym trybie, cd Trzy spotkania zakładające rozwiązywanie zadań przy użyciu komputera (3 8 punktów) Wśród zadań domowych znajdują się zadania z gwiazdką (trudniejsze ćwiczenia teoretyczne albo np napisanie programu w Matlabie) pierwsza osoba, która wyśle do prowadzącego zajęcia poprawne rozwiązanie takiego zadania, otrzyma dodatkowe punkty Ocena końcowa jest wyliczana według Regulaminu Studiów, 131 (100% = 100 punktów) Regulamin, 113: 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
Zasady zaliczenia Kolokwia zaliczeniowe Pierwsze kolokwium zaliczeniowe: dla osób, które w ciągu semestru uzyskały co najmniej 35 pkt Drugie kolokwium zaliczeniowe: dla osób, które w ciągu semestru 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
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ć jego treść (np zaglądając do podręczników, korzystając z konsultacji 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 trudne do samodzielnego rozwiązania (w miarę możliwości spróbujemy je rozwiązać); po ćwiczeniach rozwiązać wszystkie pozostałe zadania (w razie problemów warto ponownie zgłosić się na konsultacje) Katedra Telekomunikacji AGH 10/41
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
Materiał do powtórzenia Indukcja matematyczna Sposób dowodzenia niektórych twierdzeń zachodzących dla liczb naturalnych Musimy dowieść, że twierdzenie zachodzi dla pewnych liczb naturalnych, poczynając od pewnej wybranej liczby n 0 : T (n), n N, n n 0 T (n 0 ) [T (n) T (n + 1)] T (n N, n n 0 ) Katedra Telekomunikacji AGH 12/41
Materiał do powtórzenia Logika Zaprzeczanie zdań Negacja koniunkcji: (p q) ( p q) Negacja implikacji: (p q) (p q) Katedra Telekomunikacji AGH 13/41
Materiał do powtórzenia Kombinatoryka Silnia n! = 1 2 n Permutacja Liczba permutacji n różnych obiektów to: n! Katedra Telekomunikacji AGH 14/41
Materiał do powtórzenia Kombinatoryka Symbol Newtona ) = n! ( n k k!(n k)! : ( n ) ( n = 1, n ) ( 0 = 1, n ) ( 1 = n, n ( k) = n Wzory rekurencyjne: ( ) ( n+1 k = n ( k) + n n k) ) ( = n n 1 k k 1) ( k 1), n k Dwumian Newtona: (x + y) n = n ( n k=0 k) x k y n k (1 + x) n = n ( n k=0 k) x k 2 n = (1 + 1) n = n ( n k=0 k) k elementów można wybrać bez powtórzeń ze zbioru n elementów na ( n k) sposobów Katedra Telekomunikacji AGH 15/41
Materiał do powtórzenia Analiza Logarytm log a b = c a c = b Właściwości logarytmów: iloczyn: log a (bc) = log a b + log a c, iloraz: log a ( b c ) = loga b log a c, potęgowanie: log a (b c ) = c log a b, zamiana podstawy: log a b = log c b log c a Katedra Telekomunikacji AGH 16/41
Materiał do powtórzenia Analiza Ciąg arytmetyczny a n = a 1 + (n 1)d, suma: a 1 + + a n = n a 1+a n 2 Ciąg geometryczny a n = a 1 r n 1, suma: a 1 + + a n = {a 1 1 r n 1 r r 1 na 1 r = 1 Katedra Telekomunikacji AGH 17/41
Materiał do powtórzenia Analiza Suma szeregu geometrycznego zbieżnego (dla r < 1) n=1 ar n 1 = a + ar + = a 1 r Różniczkowanie szeregu Gdy mamy zbieżność i pochodne istnieją: n=0 d f (n,x) d x Analogicznie dla całkowania = d n=0 f (n,x) d x Katedra Telekomunikacji AGH 18/41
Materiał do powtórzenia Analiza Pochodna d d x Logarytm: (log a x) = 1 x 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) g 2 (x) Funkcja złożona: (f (g(x))) = f (g(x))g (x) Katedra Telekomunikacji AGH 19/41
Kilka użytecznych konwencji Umówmy się na następujące oznaczenia: log 2 x = lg x; log 10 x = log x; log e x = ln x Gdy wiadomo (lub nie jest istotne), jaki przedział przebiega zmienna indeksująca i, często dla wygody zapisujemy: i ( i ) zamiast np N Ale gdy przebieg zmiennej indeksującej i=0 jest nietypowy lub szczególnie ważny z punktu widzenia K 5 danego problemu, zapisujemy dokładniej, np i=n+2 Katedra Telekomunikacji AGH 20/41
Materiał do powtórzenia Rachunek 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
Materiał do powtórzenia Rachunek prawdopodobieństwa X, Y zm los niezależne Pr{x i y j } = Pr{x i, y j } = Pr{y j, x i } = Pr{x i } Pr{y j } Prawdopodobieństwo warunkowe Pr{x i y j } = Pr{x i,y j } Pr{y j } ; Pr{x i, y j } = Pr{y j } Pr{x i y j } = Pr{x i } Pr{y j x i }; Pr{x i y j } = 1; i twierdzenie o prawdopodobieństwie całkowitym: Pr{x i } = Pr{x i y j } Pr{y j } = Pr{x i, y j } j j Katedra Telekomunikacji AGH 22/41
Materiał do powtórzenia Rachunek prawdopodobieństwa Wartość średnia/oczekiwana dyskretnej zmiennej losowej X przyjmuje jako realizacje wartości x i każdą z prawdopodobieństwem Pr{x i }; i Pr{x i} = 1: E[X ] = i x i Pr{x i } 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 to prawdopodobieństwo sukcesu dla pojedynczego zdarzenia: Katedra Telekomunikacji AGH 23/41 Pr{X = k} = ( n k) p k (1 p) n k, E[X ] = np
Materiał do powtórzenia Algebra Przestrzenie liniowe Kombinacja liniowa wektorów (V jest przestrzenią liniową nad ciałem skalarów K): k 1 v 1 + + k n v n, k i K, v i V Przestrzeń liniowa: V jest przestrzenią liniową nad zbiorem skalarów K ki K,v i V k 1 v 1 + + k n v n V Wektory v 1,, v n V, v i 0 są liniowo zależne: jeśli ki K,k i 0 k 1 v 1 + + k n v n = 0 Katedra Telekomunikacji AGH 24/41
Materiał do powtórzenia Algebra Arytmetyka mod-2 (alternatywa wykluczająca) 0 1 0 0 1 1 1 0 Katedra Telekomunikacji AGH 25/41
Materiał do powtórzenia Algebra Macierze a 11 a 12 a 1p a 21 a 22 a 2p A n p = [a ik ] n p = a n1 a n2 a np a 11 a 21 a n1 Transpozycja: A T a 12 a 22 a n2 = [a ik ] p n = a 1p a 2p a np Macierz jednostkowa macierz diagonalna z samymi 1 na przekątnej: 1 0 0 0 1 0 I n = I n n = 1 n = 0 0 1 Katedra Telekomunikacji AGH 26/41
Materiał do powtórzenia Algebra Mnożenie macierzy Uwaga na wymiary: A n p B p q = C n 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 a21 b12 a22 b22 a2p bp2 + + + C = A B : n rzędów q kolumn Katedra Telekomunikacji AGH 27/41
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
Miara informacji Zawartość informacyjna pojedynczej wiadomości Jeśli pewna wiadomość x i może wystąpić z prawdopodobieństwem Pr{x i } = p, to jej zawartość informacyjna wynosi: I (x i ) = I (p) = lg 1 p = lg p Na przykład: I ( 1 10) 3,32; I ( 1 2) = 1; I ( 9 10) 0,15 Katedra Telekomunikacji AGH 29/41
Miara informacji cd Entropia zmiennej losowej Zmienna losowa X o dyskretnym rozkładzie prawdopodobieństwa (stosujemy różne konwencje oznaczeniowe, np Pr{X = x i } = Pr{x i } = p (x i ) = p i ), i p i = 1, charakteryzuje się entropią (zmiennej losowej), którą można rozumieć jako wartość średnią zawartości informacyjnej: H(X ) = H(p 1, p 2, ) = p i lg p i [ bitów /wiadomość] i Źródło informacji utożsamiamy z rozkładem zmiennej losowej Katedra Telekomunikacji AGH 30/41
Właściowości entropii Niech będzie dany dyskretny rozkład prawdopodobieństwa zmiennej losowej X, której zbiór realizacji ma liczność N (możemy ten rozkład utożsamić z rozkładem prawdopodobieństwa generowania wiadomości przez jakieś źródło wiadomości) Granica dla zerowych prawdopodobieństw lim p 0 p lg p = 0 Ograniczenie górne i dolne 0 H(X ) lg N Równomierny rozkład prawdopodobieństwa dla rozkładu Pr{X = x i } = 1 N, 1 i N, entropia osiąga maksimum po wszystkich rozkładach N-elementowych: H max (X ) = H ( 1 N, 1 N,, 1 ) N = lg N Katedra Telekomunikacji AGH 31/41
Przykład użycia w systemach IT Poszukiwanie zaszyfrowanego lub spakowanego złośliwego oprogramowania Analiza entropii plików dostarcza interesujących informacji z punktu widzenia bezpieczeństwa systemów IT, na przykład: Zaszyfrowane lub spakowane złośliwe oprogramowanie utrudnia jego automatyczne wykrywanie (hakerzy wykorzystują ten fakt) Dotyczy to 80-90% przypadków Normalne postępowanie: wykrywa się ręcznie podejrzane oprogramowanie, które jest spakowane lub zaszyfrowane, a potem dopiero poddaje je odpowiedniej obróbce systemu bezpieczeństwa Katedra Telekomunikacji AGH 32/41
Przykład użycia w systemach IT Poszukiwanie zaszyfrowanego lub spakowanego złośliwego oprogramowania cd Silne algorytmy szyfrujące, np Triple DES, generują mniej przewidywalne 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 FF h) występujących w równej długości blokach, następnie użycie wzorów na obliczanie entropii Generalnie wyższe wartości entropii są skorelowane z zaszyfrowaną lub spakowaną treścią Wszystkich możliwych ciągów jest 16 16=2 8, czyli entropia maksymalna takiego tekstu (przy najlepszym rozproszeniu) to 8 Katedra Telekomunikacji AGH 33/41
Przykład użycia w systemach IT Poszukiwanie zaszyfrowanego lub spakowanego złośliwego oprogramowania cd W ten sposób można rozróżniać wstępnie zwykłe pliki wykonywalne 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
Rozszerzenie źródła k-krotne rozszerzenie źródła Niech będzie dane dyskretne źródło X, generujące N wiadomości x 1, x 2,, x N Weźmy sekwencje o długości k złożone z wiadomości generowanych przez X : s i = x i(1) x i(2) x i(k) Źródło generujące wiadomości s i nazywamy k-krotnym rozszerzeniem ź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
Właściowości entropii cd Entropia binarnego źródła wiadomości 1 H(p, 1 p) = p lg p (1 p) lg(1 p) 3 4 1 2 1 4 p 1 4 1 2 3 4 1 Katedra Telekomunikacji AGH 36/41
Entropia dla wielu zmiennych losowych Entropia łączna Entropia łączna Dla dwóch dowolnych zmiennych losowych X, Y o łącznym rozkładzie prawdopodobieństwa (różnie przez nas oznaczanym, np Pr {X = x i, Y = y j } = Pr {x i y j } = Pr {x i, y j } = p(i, j) = p ij ), i j p(i, j) = 1, następująco definiujemy entropię łączną: H(X, Y ) = p(i, j) lg p(i, j) i j Katedra Telekomunikacji AGH 37/41
Entropia dla wielu zmiennych losowych Entropia warunkowa Entropia warunkowa Dla połączonych doświadczeń (zmiennych losowych) X i Y entropia warunkowa H(Y X ) jest definiowana jako wartość średnia entropii Y pod warunkiem znanej realizacji zmiennej X : H(Y X ) = E X [H(Y X = x)] = Pr{x i } Pr{y j x i } lg Pr{y j x i } = i j = Pr{x i, y j } lg Pr{y j x i } i j Entropia warunkowa służy do oceny ilościowej naszej niepewności odnośnie wartości Y przy znanym wyniku X Katedra Telekomunikacji AGH 38/41
Informacja wzajemna (transinformacja) x 1 y 1 x i x M X Kanał informacyjny [Pr{y j x i }] Y y j y L Informacja wzajemna Informację wzajemną (transinformację) definiujemy następująco: I (X ; Y ) = Pr{x Pr{x i, y j } lg i,y j } Pr{x i } Pr{y j } i j Piszemy średnik I (X ;Y ), a nie przecinek (czasem stosowany zapis I (X,Y ) oznacza po prostu entropię łączną!) We wzorze definicyjnym nie ma minusa! Katedra Telekomunikacji AGH 39/41
Informacja wzajemna cd Właściwości Poniższe właściowości pokazują związek tak zdefiniowanej transinformacji z różnego typu entropiami liczonymi dla zmiennych losowych opisujących wejście i wyjście kanału transmisji danych: H(X, Y ) H(X ) H(Y ) H(X Y ) I (X ; Y ) H(X Y ) Katedra Telekomunikacji AGH 40/41
Użyteczne wzory na kolokwium Pewne użyteczne zależności będą w poniższej formie zapisane na kartce z kolokwium (więc nie trzeba się ich uczyć na pamięć, ale trzeba 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