Teoria informacji - Entropia, informacja, kodowanie
Transkrypt
Teoria informacji - Entropia, informacja, kodowanie
teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Czym jest teoria informacji? Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Pierwsze twierdzenie Shannona. Kodowanie Huffmana. Entropia warunkowa i łączna. Informacja wzajemna. Kanał komunikacyjny. Przepustowość kanału. Binarny kanał symetryczny. Drugie twierdzenie Shannona. Kody korygujące błędy. Kod Hamminga. Algorytmy kompresji: RLE, kodowanie arytmetyczne. Złożoność Kolomogorova. … 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. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Czym jest teoria informacji? Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Pierwsze twierdzenie Shannona. Kodowanie Huffmana. Entropia warunkowa i łączna. Informacja wzajemna. Kanał komunikacyjny. Przepustowość kanału. Binarny kanał symetryczny. Drugie twierdzenie Shannona. Kody korygujące błędy. Kod Hamminga. Algorytmy kompresji: RLE, kodowanie arytmetyczne. Złożoność Kolomogorova. … 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(aC ), gdzie p(aC ) 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. logb n = k ⇔ bk = n 24 logarytm Logarytm o podstawie b z liczby n to potęga, do której należy podnieść b, aby otrzymać n. logb n = k ⇔ bk = 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 21 (e) log 81 1 (f) log 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 a1 = − log a 27 zadanie Udowodnij prawdziwość tych dwóch własności logarytmów: (a) log(ab) = log a + log b, (b) log a1 = − 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 = log2 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=− ∑ pi log pi 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 .105 T .072 O .066 A .063 N .059 I .055 R .054 S .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 .105 T .072 O .066 A .063 N .059 I .055 R .054 S .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 1 2 3 0011 0000 0011 0001 0011 0010 0011 0011 A B C D 0100 0001 0100 0010 0100 0011 0100 0100 … a b c d 0110 0001 0110 0010 0110 0011 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 A B C D p 1 2 1 4 1 8 1 8 Słowo kodowe 0 10 110 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 A B C D Kod 1 1 00 01 10 Kod 2 0 10 110 111 Kod 3 0 01 011 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) = 41 i p(D) = p(E) = 81 . 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 1 64 1 128 1 128 Policz entropię tego alfabetu. Skonstruuj dla niego kod Huffmana i policz jego stopę. Czy to kodowanie jest optymalne dla tego alfabetu? 55 jutro 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Czym jest teoria informacji? Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Pierwsze twierdzenie Shannona. Kodowanie Huffmana. Entropia warunkowa i łączna. Informacja wzajemna. Kanał komunikacyjny. Przepustowość kanału. Binarny kanał symetryczny. Drugie twierdzenie Shannona. Kody korygujące błędy. Kod Hamminga. Algorytmy kompresji: RLE, kodowanie arytmetyczne. Złożoność Kolomogorova. … 56