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

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

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

Semestr letni 2014/15

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

1 Kodowanie i dekodowanie

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

1 Metody iteracyjne rozwi zywania równania f(x)=0

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metody dowodzenia twierdze«

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Teoria Informacji - wykład. Kodowanie wiadomości

Teoria informacji i kodowania Ćwiczenia

Ukªady równa«liniowych

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Wykªad 4. Funkcje wielu zmiennych.

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Przekroje Dedekinda 1

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

1 Bª dy i arytmetyka zmiennopozycyjna

Zbiory i odwzorowania

Wektory w przestrzeni

Elementy geometrii w przestrzeni R 3

Elementy teorii informacji i kodowania

Podstawy matematyki dla informatyków

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.

Ÿ1 Oznaczenia, poj cia wst pne

O pewnym zadaniu olimpijskim

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Zastosowanie eliptycznych równa«ró»niczkowych

Logika dla matematyków i informatyków Wykªad 1

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

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

1 Granice funkcji wielu zmiennych.

Listy i operacje pytania

ZADANIA. Maciej Zakarczemny

Zastosowania matematyki

Teoria grafów i sieci 1 / 58

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ekonometria - wykªad 8

Modele wielorównaniowe. Problem identykacji

Metody numeryczne i statystyka dla in»ynierów

Materiaªy do Repetytorium z matematyki

istnienie elementu neutralnego dodawania (zera): 0 K a K a + 0 = a, istnienie elementu neutralnego mno»enia (jedynki): 1 K a K a 1 = a,

2 Podstawowe obiekty kombinatoryczne

Liniowe zadania najmniejszych kwadratów

Funkcje, wielomiany. Informacje pomocnicze

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Informacje pomocnicze

Model obiektu w JavaScript

Oba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).

Wykªad 12. Transformata Laplace'a i metoda operatorowa

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Matematyka dyskretna

Elementy geometrii analitycznej w przestrzeni

Wykªad 1. Wprowadzenie do teorii grafów

Indeksowane rodziny zbiorów

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Kompresja bezstratna. Entropia. Kod Huffmana

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

x y x y x y x + y x y

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2014/15

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

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Funkcje jednej zmiennej. Granica, ci gªo±. (szkic wykªadu)

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Matematyka dyskretna dla informatyków

Rachunek zda«. Relacje. 2018/2019

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:

3. (8 punktów) EGZAMIN MAGISTERSKI, Biomatematyka

Metodydowodzenia twierdzeń

Macierze i Wyznaczniki

Algorytmy zwiazane z gramatykami bezkontekstowymi

Macierze i Wyznaczniki

Elementarna statystyka

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Arkusz maturalny. Šukasz Dawidowski. 25 kwietnia 2016r. Powtórki maturalne

c Marcin Sydow Spójno± Grafy i Zastosowania Grafy Eulerowskie 2: Drogi i Cykle Grafy Hamiltonowskie Podsumowanie

1 Poj cia pomocnicze. Przykªad 1. A A d

Matematyka dyskretna dla informatyków

Czy funkcja zadana wzorem f(x) = ex e x. 1 + e. = lim. e x + e x lim. lim. 2 dla x = 1 f(x) dla x (0, 1) e e 1 dla x = 1

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Transkrypt:

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

Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................ 5 1.3 Dekodowanie jednoznaczne.................... 7 1.4 Kody blokowe i natychmiastowe................. 7 1.5 Przykªady znanych kodów blokowych.............. 8 2 Twierdzenia Krafta i McMillana 10 2.1 Konstruowanie kodów natychmiastowych............ 10 2.2 Twierdzenia............................ 3 Kody Humana 13 3.1 ródªo informacji......................... 13 3.2 Denicja kodu Humana..................... 14 3.3 Konstrukcja kodu Humana................... 15 4 Kompresowanie kodów i entropia 18 4.1 Przykªad kompresowania danych................. 18 4.2 Idea entropii............................ 19 4.3 Denicja entropii......................... 20 4.4 Maximum i minimum entropii.................. 21 4.5 Rozszerzenie ¹ródªa........................ 23 4.6 Entropia a przeci tna dªugo± sªowa kodowego......... 24 4.7 Twierdzenie Shannona o kodowaniu bezszumowym....... 25 5 Pewna komunikacja poprzez niepewne ª cza 27 5.1 Symetryczne ª cze binarne.................... 27 5.2 Pr dko± przepªywu informacji.................. 29 2

5.3 Bariera pojemno±ci........................ 30 5.4 Odlegªo± Hamminga....................... 31 5.5 Wykrywanie i poprawianie bª dów................ 33 6 Kody liniowe 35 6.1 Denicja.............................. 35 6.2 Macierz generuj ca........................ 36 6.3 Równania opisuj ce kody..................... 39 6.4 Macierz sprawdzaj ca parzysto±................ 40 6.5 Waga Hamminga......................... 41 6.6 Syndrom.............................. 43 6.7 Wykrywanie i poprawianie bª dów................ 44 7 Kody Hamminga 46 7.1 Optymalne kody poprawiaj ce pojedyncze bª dy........ 46 7.2 Przykªady kodów Hamminga................... 48 7.3 Dekodowanie kodów Hamminga................. 49 7.4 Uwagi ko«cowe.......................... 50 8 Kody ReedaMüllera 51 8.1 Funkcje Boole'a.......................... 51 8.2 Wielomiany Boole'a........................ 54 8.3 Kody ReedaMüllera....................... 56 8.4 Geometria aniczna nad ciaªem Z 2............... 60 8.5 Dekodowanie kodu Reeda-Müllera................ 63 3

Rozdziaª 3 Kody Humana Kod Humana stanowi rozwi zanie minimalizacji dªugo±ci kodu dla danego tekstu. Dla przykªadu, rozwa»my problem znalezienia takiego kodu binarnego dla alfabetu {A, B, D, K, R}, aby sªowo abrakadabra miaªo mo»liwie najkrótszy kod. Interesuj nas przy tym, oczywi±cie, tylko kody jednoznacznie dekodowalne. Je±li zastosujemy tu kod blokowy, to b dzie on miaª dªugo± nie mniejsz ni» 3. Wówczas nasze sªowo b dzie miaªo kod przynajmniej trzydziesto-trzy znakowy. Kod Humana daje mo»liwo± zakodowania sªowa abrakadabra kodem natychmiastowym dªugo±ci 23, co daje prawie trzydziesto procentow oszcz dno±. 3.1 ródªo informacji ródªem informacji nazywamy alfabet ¹ródªowy wraz z dystrybucj prawdopodobie«stw wyst powania poszczególnych liter tego alfabetu, tj. zbiór A = {a 1, a 2,..., a n }, przy czym n > 1 wraz z funkcj P : A (0, 1) speªniaj c warunek n P (a i ) = 1. i=1 Zaªó»my jeszcze,»e prawdopodobie«stwa wyst powania poszczególnych liter w tek±cie s niezale»ne, tj. P (a i1 a i2... a ik ) = 13 n P (a ij ), j=1

czyli prawdopodobienstwo wyst pienia sªowa a i1 a i2... a ik jest równe iloczynowi prawdopodobie«stw wyst pienia poszczególnych liter. 3.2 Denicja kodu Humana Niech K b dzie kodowaniem ¹ródªa informacji, tj. alfabetu A = {a 1, a 2,..., a n } wraz z przyporz dkowan mu dystrybucj prawdopodobie«stw. Oznaczmy przez d i (gdzie 1 i n) dªugo± sªowa kodowego K(a i ). redni dªugo±ci sªowa kodowego nazywamy wielko± n L(K) = d i P (a i ), (3.1) i=1 czyli warto± oczekiwan zmiennej losowej {(d i, P (a i )) : i {1, 2,..., n}} lub ±redni wa»on prawdopodobie«stw. Najbardziej efektywnym jest taki kod natychmiastowy, dla którego wielko± L(K) jest najmniejsza. Dla danego ¹ródªa informacji S oznaczmy przez L min (S) najmniejsz dªugo± ±redni sªowa kodowego, czyli minimum po L(K) dla wszystkich mo»liwych kodowa«alfabetu A. Minimum to istnieje, poniewa» mamy tylko sko«czon liczb warto±ci sumy (3.1) mniejszych od n. Kod K, dla którego L(K) = L min (S) nazywamy kodem Humana. 3.1 Przykªad. Rozwa»my nast puj ce ¹ródªo informacji. x A B D K R P (x) 5 2 Przypiszmy sªowa kodowe w trzech ró»nych kodach K 1, K 2 i K 3 nast puj co. Otrzymujemy 1 1 2 x A B D K R K 1 (x) 000 001 010 0 100 K 2 (x) 0 10 0 10 K 3 (x) 0 100 101 0 1 L(K 1 ) = 3 L(K 2 ) = 24 L(K 3 ) = 23. Zatem L min (S) 23. Analizuj c warto±ci sumy (3.1) pod k tem znalezienia warto±ci minimalnej, szybko zauwa»amy»e mamy tu równo±. 14

3.3 Konstrukcja kodu Humana Zaªó»my,»e nasze ¹ródªo informacji ma alfabet dwuelementowy. Wówczas przyporz dkowanie jednemu elementowi zera, a drugiemu jedynki jest tu optymalnym kodem i w tym przypadku L min = 1. Je±li ¹ródªo ma n symboli, to sprowadzimy je do przypadku dwuelementowego. W tym celu zaªó»my,»e A = {a 1, a 2,..., a n } jest alfabetem ¹ródªowym oraz»e zachodzi P (a 1 ) P (a 2 ) P (a n ). Powy»sze ¹ródªo informacji oznaczmy przez S. ródªem zredukowanym S nazywamy ¹ródªo, w którym alfabetem jest A = {a 1, a 2,..., a n 2, a n 1 a n } (ostatnia litera alfabetu A jest sªowem w alfabecie A), natomiast dystrybucja prawdopodobie«stw wygl da nast puj co: P (a i ) = P (a i ) dla 1 i n 2 P (a n 1 a n ) = P (a n 1 ) + P (a n ). Šatwo jest sprawdzi,»e S jest faktycznie ¹ródªem informacji. 3.2 Twierdzenie. Stosuj c powy»sze oznaczenia, zaªó»my,»e K jest kodem Humana dla zredukowanego ¹ródªa informacji. Wówczas kod K(a i ) = K (a i ) dla 1 i n 2 K(a n 1 ) = K (a n 1 a n )0 K(a n ) = K (a n 1 a n )1 jest kodem Humana dla ¹ródªa S. Dowód. Zaªó»my,»e elementy a 1, a 2,..., a n s uporz dkowane wedªug malej cych prawdopodbie«stw. Dowód konstrukcyjny przeprowadzimy w trzech krokach. Krok 1. Poka»emy,»e dla ¹ródªa S istnieje kod Humana K 0, dla którego d 1 d 2 d n, gdzie d i oznacza dªugo± K 0 (a i ) oraz 1 i n. Zauwa»my,»e L min (S) jest równy minimum z L(K), gdzie K przebiega wszystkie mo»liwe kody natychmiastowe okre±lone na alfabecie A ¹ródªa informacji S. Poniewa» minimum to jest osi galne, wi c kod Humana zawsze istnieje. Niech K b dzie pewnym kodem Humana dla ¹ródªa informacji S. Je»eli istnieje litera a i, dla której d i > d i+1, zamieniamy sªowa kodowe liter 15

a i oraz a i+1. Zatem a i ma teraz kod dªugo±ci d i+1, a a i+1 kod dªugo±ci d i. Otrzymany kod K 1 w dalszym ci gu jest natychmiastowy. Poka»emy,»e jest on te» kodem Humana. Istotnie, L(K) L(K 1 ) = d i P (a i ) + d i+1 P (a i+1 ) (d i+1 P (a i ) + d i P (a i+1 )) = (d i d i+1 )(P (a i ) P (a i+1 ). Poniewa» elementy alfabetu A s uporz dkowane wedªug malej cych prawdopodobie«stw, wi c P (a i ) P (a i+1 ). Z drugiej strony, zaªo»yli±my,»e d i > d i+1. Zatem L(K) L(K 1 ) 0, czyli L(K) L(K 1 ). Ale K jest kodem Humana, wi c L(K) = L min (S). St d L(K) = L(K 1 ) = L min (S) i K 1 te» jest kodem Humana. Post pujemy podobnie a» dªugo±ci sªów kodowych zostan uporz dkowane rosn co. Odpowiadaj cy kod Human'a jest poszukiwanym kodem K 0. Krok 2. Poprawimy kod K 0 otrzymuj c kod Humana K 1 taki,»e sªowa kodowe K 1 (a n ) oraz K 1 (a n 1 ) ró»ni si tylko ostatnim bitem. Niech K 0 b dzie kodem otrzymanym z K 0 poprzez odrzucenie ostatniego bitu z K 0 (a n ). Poniewa» P (a n ) > 0, wi c L( K 0 ) < L(K 0 ) = L min (S) i K 0 nie mo»e by kodem natychmiastowym (inaczej K 0 nie byªby kodem Humana). Zatem K 0 (a n ) musi by pocz tkiem pewnego sªowa kodowego K 0 (a i ) = K 0 (a i ) dla 1 i n 1. Oznaczmy przez d n dªugo± sªowa K 0 (a n ). Mamy d n 1 = d n. Skoro K 0 (a n ) jest pocz tkiem sªowa K 0 (a i ), wi c d n d i d n. Je±li jednak d n = d i, to K 0 (a i ) = K 0 (a n ) jest pocz tkiem sªowa kodowego K 0 (a n ) co przeczy natychmiastowo±ci kodu K 0. Zatem musi by d i = d n. Oznacza to, po pierwsze,»e d i = d i+1 = = d n oraz, po drugie,»e sªowa K 0 (a i ) oraz K 0 (a n ) ró»ni si tylko ostatnim bitem. Mo»emy zatem zamieni sªowa kodowe liter a n 1 oraz a i (o ile jest to konieczne) i otrzymamy» dany kod K 1. Krok 3. Zako«czymy dowód twierdzenia. Zauwa»my,»e dla zdeniowanego w tezie twierdzenia kodu K zachodzi równo± L(K) = L(K ) + P (a n 1 ) + P (a n ). Niech K 1 b dzie kodem dla ¹ródªa S otrzymanym w kroku 2. Oznaczmy przez K 1 kod dla zredukowanego ¹ródªa informacji, gdzie sªowo kodowe K 1(a n 1 a n ) jest równe K 1 (a n 1 ) lub K 1 (a n ) z odrzuconym ostatnim bitem oraz K 1(a j ) = K 1 (a j ) dla n j n 1. Wówczas K 1 jest natychmiastowy. Mamy te» L(K 1 ) L(K 1) = P (a n 1 ) + P (a n ) = L(K) L(K ). 16

St d L(K) = L(K 1 ) L(K 1) + L(K ). Ale K jest z zaªo»enia kodem Humana, wi c L(K 1) + L(K ) 0. Zatem L(K) L(K 1 ). Ale skoro K 1 jest kodem Humana, wi c takowym musi te» by K. Konstrukcja kodu Humana dla ¹ródªa informacji S polega na tworzeniu kolejnych ¹ródeª zredukowanych S, S,... S (h) a» otrzymamy ¹ródªo z alfabetem dwuelementowym. Nast pnie deniujemy tak jak w poprzednim twierdzeniu kody Humana dla ¹ródeª S (h 1), S (h 2),... S. 3.3 Przykªad. Dla ¹ródªa informacji z przykªadu 3.1 tworzymy kolejne zredukowane ¹ródªa x A B DK R S : 5 2 2 2 P (x) S : x A BDK R P (x) 5 4 x BDKR A S (3) : 6 P (x) którym odpowiadaj kody 5 2 K (3) (BDKR) = 0, K (3) (A) = 1; K (A) = 1, K (BDK) = 00, K (R) = 01; K (A) = 1, K (B) = 000, K (DK) = 001, K (R) = 01. Ostatecznie, otrzymamy dla naszego ¹ródªa informacji nast puj cy kod Humana x A B D K R K(x) 1 000 0010 00 01 Zatem L min (S) = 23 i najkrótszy jednoznacznie dekodowalny kod sªowa abrakadabra ma 23 znaki. Kody Humana mo»emy te» tworzy dla alfabetów kodowych o wi kszej ni» dwa liczbie znaków. Caªe rozumowanie tego podrozdziaªu mo»na przenie± na ten przypadekz t tylko ró»nic,»e inaczej deniujemy kolejne ¹ródªa zredukowane. 17