teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1
zakres materiału
zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja. 4. Kodowanie. Pierwsze twierdzenie Shannona. 5. Kodowanie Huffmana. 6. Entropia warunkowa i łączna. Informacja wzajemna. 7. Kanał komunikacyjny. Przepustowość kanału. 8. Binarny kanał symetryczny. 9. Drugie twierdzenie Shannona. 10. Kody korygujące błędy. Kod Hamminga. 11. Algorytmy kompresji: RLE, kodowanie arytmetyczne. 12. Złożoność Kolomogorova. 13. 3
prace domowe 3 zadania: jedno dziś, dwa jutro, 4
prace domowe 3 zadania: jedno dziś, dwa jutro, nieobowiązkowe, 5
prace domowe 3 zadania: jedno dziś, dwa jutro, nieobowiązkowe, drobne nagrody dla osób, które je rozwiążą, 6
prace domowe 3 zadania: jedno dziś, dwa jutro, nieobowiązkowe, drobne nagrody dla osób, które je rozwiążą, rozwiązania należy dostarczyć do czwartku. 7
dziś 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja. 4. Kodowanie. Pierwsze twierdzenie Shannona. 5. Kodowanie Huffmana. 6. Entropia warunkowa i łączna. Informacja wzajemna. 7. Kanał komunikacyjny. Przepustowość kanału. 8. Binarny kanał symetryczny. 9. Drugie twierdzenie Shannona. 10. Kody korygujące błędy. Kod Hamminga. 11. Algorytmy kompresji: RLE, kodowanie arytmetyczne. 12. Złożoność Kolomogorova. 13. 8
czym jest teoria informacji?
czym jest teoria informacji? Czym jest informacja i jak ją mierzyć? 10
czym jest teoria informacji? Czym jest informacja i jak ją mierzyć? Jaki jest związek między informacją a niepewnością? 11
czym jest teoria informacji? Czym jest informacja i jak ją mierzyć? Jaki jest związek między informacją a niepewnością? Jak najefektywniej przechowywać i przesyłać informacje? 12
czym jest teoria informacji? Czym jest informacja i jak ją mierzyć? Jaki jest związek między informacją a niepewnością? Jak najefektywniej przechowywać i przesyłać informacje? Jak radzić sobie z błędami przy przesyle informacji? 13
czym jest teoria informacji? Czym jest informacja i jak ją mierzyć? Jaki jest związek między informacją a niepewnością? Jak najefektywniej przechowywać i przesyłać informacje? Jak radzić sobie z błędami przy przesyle informacji? Jak bezstratnie opisać ciągły sygnał? 14
wprowadzenie matematyczne
alfabet Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy przez Σ. 16
alfabet Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy przez Σ. Przykłady alfabetów: {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z} 17
alfabet Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy przez Σ. Przykłady alfabetów: {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z} {a, b, c, d} 18
alfabet Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy przez Σ. Przykłady alfabetów: {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z} {a, b, c, d} {0, 1} 19
alfabet Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy przez Σ. Przykłady alfabetów: {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z} {a, b, c, d} {0, 1} {,,, } 20
prawdopodobieństwo (i) Prawdopodobieństwo opisuje jak często dany wynik doświadczenia będzie występować przy wielu powtórzeniach. Tutaj interesuje nas prawdopodobieństwo występowania danego symbolu alfabetu. Będziemy zapisywać, na przykład, p(0) = 0.5, aby określić częstotliwość występowania symbolu. 21
prawdopodobieństwo (ii) Istotne własności prawdopodobieństwa: 0 p(a) 1, p(a b) = p(a) + p(b), jeżeli a i b są rozłączne, p(a) = 1 p(a C ), gdzie p(a C ) to prawdopodobieństwo, że a nie zajdzie. 22
prawdopodobieństwo subiektywne Prawdopodobieństwo subiektywne opisuje stopień wiary w to, że dane wydarzenie nastąpi. Używane jest do opisu zdarzeń, których nie da się wielokrotnie powtórzyć. 23
logarytm Logarytm o podstawie b z liczby n to potęga, do której należy podnieść b, aby otrzymać n. log b n = k b k = n 24
logarytm Logarytm o podstawie b z liczby n to potęga, do której należy podnieść b, aby otrzymać n. log b n = k b k = n Tutaj interesuje nas wyłącznie logarytm o podstawie 2, zatem będziemy pomijać podstawę w zapisie w domyśle jest to 2. 25
zadanie Znajdź wartości poniższych logarytmów (a) log 16 (b) log 4 (c) log 1 (d) log 1 2 (e) log 1 8 (f) log 1 64 26
własności logarytmów Interesują nas w szczególności te dwie własności logarytmów: log(ab) = log a + log b, log 1 a = log a 27
zadanie Udowodnij prawdziwość tych dwóch własności logarytmów: (a) log(ab) = log a + log b, (b) log 1 a = log a 28
entropia i informacja
informacja Informacja którą niesie ze sobą dane wydarzenie (symbol) jest równa logarytmowi z jego prawdopodobieństwa. I = log 2 p 30
własności informacji jest zawsze ujemna, 31
własności informacji jest zawsze ujemna, jest addytywna, 32
własności informacji jest zawsze ujemna, jest addytywna, informacja niesiona przez wydarzenie pewne jest równa 0. 33
entropia Entropia jest miarą niepewności. Jest przeciwnością informacji. H = I = log p = log 1 p 34
35
i want to play a game Pomyślę o jakiejś literze alfabetu. Możecie zadawać dowolne pytania tak/nie na temat tej litery. Zadaniem jest zgadnąć o jaką literę chodzi przy użyciu jak najmniejszej liczby pytań. Ile pytań będzie potrzebne? 36
entropia alfabetu Entropia alfabetu to średnia entropia wszystkich jego symboli. H = i p i log p i 37
zadanie Policz entropię 26-literowego alfabetu, w którym każdy z symboli posiada takie samo prawdopodobieństwo. 38
i want to play a game (again) Entropia 26-literowego alfabetu wynosi 4.7 bitów, a każde z pytań tak/nie niesie ze sobą między 0 a 1 bitów informacji. Przy odpowiednim doborze pytań nigdy nie będzie ich potrzeba więcej niż 5. 39
entropia dla różnych prawdopodobieństw W rzeczywistości niektóre litery występują w tekście częściej niż inne. Na przykład dla angielskiego alfabetu: E T O A N I R S.105.072.066.063.059.055.054.052 40
entropia dla różnych prawdopodobieństw W rzeczywistości niektóre litery występują w tekście częściej niż inne. Na przykład dla angielskiego alfabetu: E T O A N I R S.105.072.066.063.059.055.054.052 Rzeczywista entropia angielskiego alfabetu wynosi niemal dokładnie 4 bity. 41
kodowanie
kod Kod to przekształcenie ciągu symboli jednego alfabetu w ciąg symboli innego (mniejszego) alfabetu. W szczególności interesują nas przekształcenia na alfabet {0, 1}, jako że w takiej formie przechowywane i przesyłane są informacje w komputerach. 43
kod Kod to przekształcenie ciągu symboli jednego alfabetu w ciąg symboli innego (mniejszego) alfabetu. W szczególności interesują nas przekształcenia na alfabet {0, 1}, jako że w takiej formie przechowywane i przesyłane są informacje w komputerach. Każdemu symbolowi (lub ciągowi symboli) oryginalnego alfabetu przypisujemy słowo kodowe, czyli ciąg symboli w drugim alfabecie. 44
ascii Kodowanie ASCII przypisuje każdej literze (osobno małej i wielkiej) alfabetu angielskiego, cyfrze, niektórym znakom interpunkcyjnym i innym specjalnym symbolom, 8-bitowe słowo kodowe. 0 0011 0000 A 0100 0001 a 0110 0001 1 0011 0001 B 0100 0010 b 0110 0010 2 0011 0010 C 0100 0011 c 0110 0011 3 0011 0011 D 0100 0100 d 0110 0100 45
kody o stałej długości Jeżeli każde ze słów kodowych w danym kodzie ma tę samą długość, to mówimy, że jest to kod o stałej długości. Kody takie są zazwyczaj bardzo nieefektywne. 46
stopa kodu Stopa kodu to średnia długość słowa kodowego w tym kodzie. 47
zadanie Policz stopę następującego kodu: Symbol p Słowo kodowe A 1 2 0 B 1 4 10 C 1 8 110 D 1 8 111 48
kod bezprefiksowy Kod bezprefiksowy to taki, w którym żadne ze słów kodowych nie jest prefiksem innego słowa kodowego. 49
zadanie Które z trzech kodów poniżej są bezprefiksowe? Symbol Kod 1 Kod 2 Kod 3 A 1 0 0 B 00 10 01 C 01 110 011 D 10 111 111 50
pierwsze twierdzenia shannona Dla dyskretnego żródła o entropii H, dla dowolnego ϵ > 0, jest możliwe skonstruowanie kodu o stopie R = H + ϵ. 51
kody huffmana Kod Huffmana budowany jest w postaci drzewa binarnego, od dołu, wedle następującej procedury: 1. Wybierz dwa symbole o najniższych prawdopodobieństwach. 2. Dodaj bit 0/1 aby rozróżnić te dwa symbole. 3. Zastąp te dwa symbole nowym, o zsumowanym prawdopodobieństwie. 4. Jeżeli został więcej niż jeden symbol wróć do 1. 52
zadanie Dany jest alfabet {A, B, C, D, E} o prawdopodobieństwach p(a) = p(b) = p(c) = 1 4 i p(d) = p(e) = 1 8. Policz entropię tego alfabetu. Skonstruuj kod Huffmana dla tego alfabetu i policz jego stopę. 53
podsumowanie dzisiejszych zajęć Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe. Pierwsze twierdzenie Shannona. Kody Huffmana. 54
praca domowa 1 Dany jest alfabet i prawdopodobieństwa: A B C D E F G H 1 2 1 4 1 8 1 16 1 32 Policz entropię tego alfabetu. Skonstruuj dla niego kod Huffmana i policz jego stopę. Czy to kodowanie jest optymalne dla tego alfabetu? 1 64 1 128 1 128 55
jutro 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja. 4. Kodowanie. Pierwsze twierdzenie Shannona. 5. Kodowanie Huffmana. 6. Entropia warunkowa i łączna. Informacja wzajemna. 7. Kanał komunikacyjny. Przepustowość kanału. 8. Binarny kanał symetryczny. 9. Drugie twierdzenie Shannona. 10. Kody korygujące błędy. Kod Hamminga. 11. Algorytmy kompresji: RLE, kodowanie arytmetyczne. 12. Złożoność Kolomogorova. 13. 56