Elementy teorii informacji i kodowania

Podobne dokumenty
Kodowanie i entropia

Teoria informacji i kodowania Ćwiczenia

Teoria Informacji - wykład. Kodowanie wiadomości

Kompresja bezstratna. Entropia. Kod Huffmana

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Podstawowe pojęcia. Teoria informacji

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Nierówność Krafta-McMillana, Kodowanie Huffmana

Definicja. Jeśli. wtedy

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Temat: Algorytm kompresji plików metodą Huffmana

Notatki z Podstaw kodowania i kryptografii. switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX

0-0000, , , itd

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.

Algorytmy zachłanne. dr inż. Urszula Gałązka

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Kody Tunstalla. Kodowanie arytmetyczne

Przetwarzanie i transmisja danych multimedialnych. Wykład 2 Podstawy kompresji. Przemysław Sękalski.

Podstawy Informatyki: Kody. Korekcja błędów.

O oszczędnym dziennikarzu, czyli czym jest

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Matematyka dyskretna

Algorytmy kodowania entropijnego

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Teoria Informacji i Metody Kompresji Danych

Kodowanie informacji

wiadomość komunikat - informacja Caius Julius Cesar Człowiek zasztyletowany przez senatorów na forum Romanum w Idy Marcowe roku DCCIX ab urbe condita

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Modelowanie motywów łańcuchami Markowa wyższego rzędu

Kody blokowe Wykład 5a;

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Dyskretne procesy stacjonarne o nieskończonej entropii nadwyżkowej

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

0 + 0 = 0, = 1, = 1, = 0.

RACHUNEK PRAWDOPODOBIEŃSTWA - POJĘCIA WSTĘPNE MATERIAŁY POMOCNICZE - TEORIA

22 Pochodna funkcji definicja

Wykład 5 Estymatory nieobciążone z jednostajnie minimalną war

Jak zadać dobre pytanie, czyli czym jest informacja i jak ja

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Architektura systemów komputerowych

Kody blokowe Wykład 2, 10 III 2011

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Teoria Informacji i Metody Kompresji Danych

Programowanie liniowe

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Podstawy kompresji danych

Kody Huffmana. Konrad Wypyski. 11 lutego 2006 roku

Wzór Maclaurina. Jeśli we wzorze Taylora przyjmiemy x 0 = 0 oraz h = x, to otrzymujemy tzw. wzór Maclaurina: f (x) = x k + f (n) (θx) x n.

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Problem kodowania w automatach

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Wstęp do Informatyki

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Algorytmy i struktury danych. wykład 8

KRYTERIA OCENIANIA ODPOWIEDZI Próbna Matura z OPERONEM. Matematyka Poziom rozszerzony

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Wykład 2 Zmienne losowe i ich rozkłady

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Problemy Decyzyjne dla Systemów Nieskończonych

Zmienne losowe. Powtórzenie. Dariusz Uciński. Wykład 1. Instytut Sterowania i Systemów Informatycznych Universytet Zielonogórski

WKLĘSŁOŚĆ I WYPUKŁOŚĆ KRZYWEJ. PUNKT PRZEGIĘCIA.

Matematyka dyskretna. Andrzej Łachwa, UJ, A/15

Drzewa klasyfikacyjne Lasy losowe. Wprowadzenie

Podręcznik. Wzór Shannona

2. ZASTOSOWANIA POCHODNYCH. (a) f(x) = ln 3 x ln x, (b) f(x) = e2x x 2 2.

Pracownia Komputerowa wykład V

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Teoria przetwarzania A/C i C/A.

RÓŻNICZKOWANIE FUNKCJI WIELU ZMIENNYCH: rachunek pochodnych dla funkcji wektorowych. Pochodne cząstkowe funkcji rzeczywistej wielu zmiennych

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

TEORETYCZNE PODSTAWY INFORMATYKI

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Informacja o przestrzeniach Hilberta

Kody Huffmana oraz entropia przestrzeni produktowej. Zuzanna Kalicińska. 1 maja 2004

Zaawansowane metody numeryczne

Pochodną funkcji w punkcie nazywamy granicę ilorazu różnicowego w punkcie gdy przyrost argumentu dąży do zera: lim

Kompresja danych - wprowadzenie. 1. Konieczno kompresji 2. Definicja, typy kompresji 3. Modelowanie 4. Podstawy teorii informacji 5.

Wykład 6, pochodne funkcji. Siedlce

13. Funkcje wielu zmiennych pochodne, gradient, Jacobian, ekstrema lokalne.

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Transkrypt:

i kodowania Entropia, nierówność Krafta, kodowanie optymalne Marcin Jenczmyk m.jenczmyk@knm.katowice.pl 17 kwietnia 2015 M. Jenczmyk Spotkanie KNM i kodowania 1 / 20

Niech S = {x 1,..., x q } oznacza alfabet, zbiór zdarzeń, a P = {p 1,..., p q } będzie stowarzyszonym z nim zbiorem prawdopodobieństw takim, że P(x i ) = p i oraz q p i = 1. M. Jenczmyk Spotkanie KNM i kodowania 2 / 20

Niech S = {x 1,..., x q } oznacza alfabet, zbiór zdarzeń, a P = {p 1,..., p q } będzie stowarzyszonym z nim zbiorem prawdopodobieństw takim, że P(x i ) = p i oraz q p i = 1. Ponadto załóżmy, że źródło S jest źródłem bez pamięci, tzn. że kolejne znaki są generowane niezależnie od siebie. M. Jenczmyk Spotkanie KNM i kodowania 2 / 20

Informacja Ilością informacji stowarzyszonej z zdarzeniem nazywamy funkcję I określoną na zbiorze zdarzeń, zadaną wzorem dla pewnego k > 0 oraz k 1. I (x) = log k P(x) M. Jenczmyk Spotkanie KNM i kodowania 3 / 20

Informacja Ilością informacji stowarzyszonej z zdarzeniem nazywamy funkcję I określoną na zbiorze zdarzeń, zadaną wzorem dla pewnego k > 0 oraz k 1. I (x) = log k P(x) W zależności od podstawy logarytmu ilość informacji może być mierzona w różnych jednostkach. Dla k = 2 jednostką informacji jest bit, dla k = e nat, a dla k = 10 Hartley. M. Jenczmyk Spotkanie KNM i kodowania 3 / 20

M. Jenczmyk Spotkanie KNM i kodowania 4 / 20

Entropia Entropią stowarzyszoną z źródłem S = {x 1,..., x q } nazywamy funkcję H(S) = H(p 1,..., p q ) = q P(x i ) log P(x i ) = q P(x i )I (x i ). Funkcja ta jest wartością oczekiwaną ilości informacji ujawnianej przez źródło. M. Jenczmyk Spotkanie KNM i kodowania 5 / 20

Przykład Rozważmy źródło S = {x 1, x 2, x 3 } takie, że P(x 1 ) = 1 2, a P(x 2 ) = P(x 3 ) = 1 4. Wówczas I (x 1 ) = log 1 2 = log 2 = 1, I (x 2 ) =I (x 3 ) = log 1 4 = log 4 = 2, a entropia żródła wynosi H(S) = 1 2 I (x 1) + 1 4 I (x 2) + 1 4 I (x 3) = 1 2 + 1 2 + 1 2 = 3 2. M. Jenczmyk Spotkanie KNM i kodowania 6 / 20

M. Jenczmyk Spotkanie KNM i kodowania 7 / 20

Twierdzenie Dla dowolnego zbioru prawdopodobieństw p 1,..., p q zachodzi oszacowanie ( 1 0 = H(1, 0,..., 0) H(p 1,..., p q ) H q,..., 1 ) = log q. q M. Jenczmyk Spotkanie KNM i kodowania 8 / 20

Dowód. Ponieważ q p i = 1, to p q = 1 q 1 p i oraz H(p 1,..., p q ) = H(p 1,..., p q 1 ) q 1 q 1 q 1 = p i log p i 1 log 1 p i p i. M. Jenczmyk Spotkanie KNM i kodowania 9 / 20

Dowód. Ponieważ q p i = 1, to p q = 1 q 1 p i oraz H(p 1,..., p q ) = H(p 1,..., p q 1 ) q 1 q 1 q 1 = p i log p i 1 log 1 p i p i. Funkcja może mieć ekstremum w punkcie, gdy q 1 H = (log p i + log e) + log 1 p i + log e p i q 1 = log p i + log 1 p i = log p q = 0, p i M. Jenczmyk Spotkanie KNM i kodowania 9 / 20

Dowód (cd.) Tak się dzieje gdy log p q p i = 0 p q p i = 1 p i = p q = 1 q. M. Jenczmyk Spotkanie KNM i kodowania 10 / 20

Dowód (cd.) Tak się dzieje gdy log p q p i = 0 p q p i = 1 p i = p q = 1 q. W badanym punkcie 2 H = log e(p i + p q ) = log e p i p i p q p i ( 1 p i + 1 p q ) = 2q log e M. Jenczmyk Spotkanie KNM i kodowania 10 / 20

Dowód (cd.) Tak się dzieje gdy log p q p i = 0 p q p i = 1 p i = p q = 1 q. W badanym punkcie 2 H = log e(p i + p q ) = log e p i p i p q p i ( 1 p i + 1 p q ) = 2q log e oraz 2 H = log e = q log e. p i p j p q M. Jenczmyk Spotkanie KNM i kodowania 10 / 20

Dowód (cd.) Macierz drugich pochodnych w badanym punkcie jest postaci 2q log e q log e... q log e q log e 2q log e... q log e...... q log e q log e... q log e M. Jenczmyk Spotkanie KNM i kodowania 11 / 20

Dowód (cd.) Macierz drugich pochodnych w badanym punkcie jest postaci 2q log e q log e... q log e q log e 2q log e... q log e...... q log e q log e... q log e Macierz ta jest ujemnie określona, więc punkt jest maksimum entropii. M. Jenczmyk Spotkanie KNM i kodowania 11 / 20

Kodowanie Kodowaniem elementów alfabetu S = {x 1,..., x q } o prawdopodobieństwach P = {p 1,..., p q } przy użyciu alfabetu C = {c 1,..., c n } nazywamy proces przyporządkowania elementom S elementów lub ciągów znaków (słów kodowych) alfabetu C. M. Jenczmyk Spotkanie KNM i kodowania 12 / 20

Kodowanie Kodowaniem elementów alfabetu S = {x 1,..., x q } o prawdopodobieństwach P = {p 1,..., p q } przy użyciu alfabetu C = {c 1,..., c n } nazywamy proces przyporządkowania elementom S elementów lub ciągów znaków (słów kodowych) alfabetu C. Przykład (kod binarny) Elementy alfabetu Słowa kodowe s 1 00 s 2 01 s 3 10 s 4 11 M. Jenczmyk Spotkanie KNM i kodowania 12 / 20

E Kod jednoznacznie dekodowalny Kod nazywamy jednoznacznie dekodowalnym, jeśli istnieje tylko jeden sposób podziału ciągu słów kodu c i1, c i2,..., c ik na oddzielne słowa kodu, tzn. jeśli c i1, c i2,..., c ik = c j1, c j2,..., c jk to l = 1,..., k zachodzi c il = c jl. M. Jenczmyk Spotkanie KNM i kodowania 13 / 20

E Kod jednoznacznie dekodowalny Kod nazywamy jednoznacznie dekodowalnym, jeśli istnieje tylko jeden sposób podziału ciągu słów kodu c i1, c i2,..., c ik na oddzielne słowa kodu, tzn. jeśli c i1, c i2,..., c ik = c j1, c j2,..., c jk to l = 1,..., k zachodzi c il = c jl. Kod prefixowy Kod nazywamy kodem prefixowym, jeśli żadne słowo kodowe nie jest przedrostkiem innego słowa kodowego. M. Jenczmyk Spotkanie KNM i kodowania 13 / 20

Przykłady Znak K 1 K 2 K 3 K 4 A 0 0 00 00 B 1 11 01 01 C 01 01 10 1 M. Jenczmyk Spotkanie KNM i kodowania 14 / 20

Nierówność Krafta Binarny kod przedrostkowy złożony ze słów kodu {c 1,..., c n } o długościach {l 1,..., l n } istnieje n 2 l i 1. (1) M. Jenczmyk Spotkanie KNM i kodowania 15 / 20

Nierówność Krafta Binarny kod przedrostkowy złożony ze słów kodu {c 1,..., c n } o długościach {l 1,..., l n } istnieje Dowód. n 2 l i 1. (1) ( ) Mając binarny kod przedrostkowy umieśćmy słowa kodu w drzewie binarnym zgodnie z kodami słów i uzupełnijmy je do drzewa pełnego, o 2 lmax liściach. i-ty wierzchołek zajmuje 2 lmax l i liści drzewa. Wobec tego musi zachodzić n 2 lmax l i 2 lmax n 2 l i 1. M. Jenczmyk Spotkanie KNM i kodowania 15 / 20

Dowód. ( ) Przeciwnie, załóżmy, że (1) zachodzi. Wówczas możemy umieścić słowa w wybranych węzłach, tworząc w ten sposób kody słów. Zauważmy, że liści nie może zabraknąć - po umieszczeniu w drzewie j-tego wierzchołka ilość zablokowanych to j j n 2 lmax l i 2 lmax 2 l i 2 lmax 2 l i 2 lmax. M. Jenczmyk Spotkanie KNM i kodowania 16 / 20

Twierdzenie Dla dowolnego binarnego kodu przedrostkowego dla którego średnia długość słowa kodowego L śr = p i l i zachodzi nierówność L śr H(S) Ponadto istnieje binarny kod przedrostkowy dla którego L śr < H(S) + 1 M. Jenczmyk Spotkanie KNM i kodowania 17 / 20

Dowód. Na początku udowodnimy część pierwszą tezy. = p i (log p i + log 2 l i p i ( 1 p i 2 l i H(S) L śr = p i log p i p i l i ) = (p i log p i 2 l i ) = pi log 1 p i 2 l i ) 1 log e = log e (2 l i p i ) 0 Dowód drugiej części. Niech l i = log p i. 2 l i p i = 1 Ponadto l i < log p i + 1 p i l i < p i log p i + p i L śr < H(S) + 1 M. Jenczmyk Spotkanie KNM i kodowania 18 / 20

Bibliografia Adam Drozdek, Wprowadzenie do kompresji danych, WNT, Warszawa 1999 Norman Abromson, Teoria informacji i kodowania, PWN, 1969 M. Jenczmyk Spotkanie KNM i kodowania 19 / 20

Dziękuję za (nie)uwagę! M. Jenczmyk Spotkanie KNM i kodowania 20 / 20