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

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

1 Kodowanie i dekodowanie

Semestr letni 2014/15

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

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Ukªady równa«liniowych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Metody dowodzenia twierdze«

O pewnym zadaniu olimpijskim

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

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

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

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

Przekroje Dedekinda 1

x y x y x y x + y x y

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

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

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

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Elementy geometrii w przestrzeni R 3

1 Bª dy i arytmetyka zmiennopozycyjna

Liczby zmiennopozycyjne. Kody Hamminga.

Metodydowodzenia twierdzeń

Podstawy matematyki dla informatyków

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Modele wielorównaniowe. Problem identykacji

Uczenie Wielowarstwowych Sieci Neuronów o

Liczby zmiennoprzecinkowe

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

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

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

Elementy geometrii analitycznej w przestrzeni

Kody blokowe Wykład 2, 10 III 2011

Zbiory i odwzorowania

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

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:

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Matematyka dyskretna

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

ZADANIA. Maciej Zakarczemny

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.

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

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

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

Przeksztaªcenia liniowe

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

Opis matematyczny ukªadów liniowych

Funkcje, wielomiany. Informacje pomocnicze

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

Twierdzenie Wedderburna Witold Tomaszewski

Teoria Informacji - wykład. Kodowanie wiadomości

Indeksowane rodziny zbiorów

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,

Mosty królewieckie, chi«ski listonosz i... kojarzenie maª»e«stw

ANALIZA MATEMATYCZNA Z ALGEBR

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

Teoria grafów i jej zastosowania. 1 / 126

Informacje pomocnicze

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Wska¹niki, tablice dynamiczne wielowymiarowe

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

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

Architektury systemów komputerowych

1 Przypomnienie wiadomo±ci ze szkoªy ±redniej. Rozwi zywanie prostych równa«i nierówno±ci

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

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

Materiaªy do Repetytorium z matematyki

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

Paweª Jamer Promotor: dr in». Agata Pilitowska. Reszty kwadratowe i ich zastosowanie przy konstrukcji wybranych kodów.

2 Liczby rzeczywiste - cz. 2

Wykªad 10. Spis tre±ci. 1 Niesko«czona studnia potencjaªu. Fizyka 2 (Informatyka - EEIiA 2006/07) c Mariusz Krasi«ski 2007

1.1. Pozycyjne systemy liczbowe

Wektory w przestrzeni

Algorytmiczna teoria grafów

Metody numeryczne i statystyka dla in»ynierów

Dokªadny jak komputer?

Wyra»enia logicznie równowa»ne

1 Granice funkcji wielu zmiennych.

Laboratorium ochrony danych

Dokªadny jak komputer

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

RACHUNEK ZBIORÓW 2 A B = B A

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

Transkrypt:

WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4

Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................ 5.3 Dekodowanie jednoznaczne.................... 7.4 Kody blokowe i natychmiastowe................. 7.5 Przykªady znanych kodów blokowych.............. 8 2 Twierdzenia Krafta i McMillana 0 2. Konstruowanie kodów natychmiastowych............ 0 2.2 Twierdzenia............................ 3 Kody Humana 3 3. ródªo informacji......................... 3 3.2 Denicja kodu Humana..................... 4 3.3 Konstrukcja kodu Humana................... 5 4 Kompresowanie kodów i entropia 8 4. Przykªad kompresowania danych................. 8 4.2 Idea entropii............................ 9 4.3 Denicja entropii......................... 20 4.4 Maximum i minimum entropii.................. 2 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. Symetryczne ª cze binarne.................... 27 5.2 Pr dko± przepªywu informacji.................. 29 2

5.3 Bariera pojemno±ci........................ 30 5.4 Odlegªo± Hamminga....................... 3 5.5 Wykrywanie i poprawianie bª dów................ 33 6 Kody liniowe 35 6. Denicja.............................. 35 6.2 Macierz generuj ca........................ 36 6.3 Równania opisuj ce kody..................... 39 6.4 Macierz sprawdzaj ca....................... 40 6.5 Waga Hamminga......................... 4 6.6 Syndrom.............................. 43 6.7 Wykrywanie i poprawianie bª dów................ 44 7 Kody Hamminga 46 7. 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 5 8. Funkcje Boole'a.......................... 5 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ª 7 Kody Hamminga 7. Optymalne kody poprawiaj ce pojedyncze bª dy Zajmiemy si teraz kodami liniowymi, które zostaªy skonstruowane w celu wykrywania pojedynczych bª dów. Jak wiadomo, taki kod powinien mie wag minimaln wi ksz lub równ 3. Naszym zadaniem jest skonstruowanie optymalnego kodu poprawiaj cego pojedyncze bª dy, czyli liczba bitów sprawdzaj cych powinna by mo»liwie najmniejsza. Pierwszy punkt zaczepienia daje nam nast puj ce twierdzenie. 7. Twierdzenie. Ka»dy binarny kod liniowy dªugo±ci n poprawiaj cy pojedyncze bª dy ma co najmniej log 2 (n + ) bitów sprawdzaj cych. Dowód. Zaªó»my,»e K jest naszym kodem liniowym i»e ma on r bitów sprawdzaj cych. Wynika st d,»e bitów informacyjnych jest n r. Rozwa»my bloki informacyjne, w których wyst puje dokªadnie jedna jedynka. Takich bloków jest n r. Poniewa» K poprawia pojedyncze bª dy, wi c jego minimalna waga musi by wi ksza lub równa 3. Zatem w±ród bitów sprawdzaj cych odpowiadaj cych rozwa»anym blokom informacyjnym musz si znajdowa przynajmniej dwie jedynki. Otrzymujemy wi c nierówno± ( ) ( ) ( ) r r r n r + + +, 2 3 r która musi by speªniona. Jest ona równowa»na nierówno±ci n r 2 r r. 46

Z ostatniej nierówno±ci otrzymujemy log 2 (n + ) r. Poniewa» r jest liczb caªkowit, wi c log 2 (n + ) r. Wobec powy»szego twierdzenia, ªatwo jest zauwa»y,»e nasz optymalny kod powinien mie dªugo± 2 m oraz posiada dokªadnie m bitów sprawdzaj cych. Przyjrzyjmy si teraz jak powinna wygl da macierz sprawdzaj ca kod poprawiaj cy pojedyncze bª dy. 7.2 Twierdzenie. Dwójkowy kod K poprawia pojedyncze bª dy wtedy i tylko wtedy, gdy ka»da jego macierz sprawdzaj ca ma niezerowe i parami ró»ne kolumny. Dowód. Zaªó»my najpierw,»e K poprawia pojedyncze bª dy. Niech H b dzie macierz sprawdzaj c kod K, w której jedna kolumna (powiedzmy j-ta) skªada si z samych zer. Wówczas sªowo o wadze Hamminga, które jedyn jedynk ma na pozycji j-tej jest sªowem kodowym. Zatem K nie mo»e poprawia pojedynczych bª dów. Zaªó»my teraz,»e macierz sprawdzaj ca kod K ma identyczne dwie kolumny, powiedzmy i-t oraz j-t. Wtedy sªowo o wadze Hamminga 2, które ma jedynki na pozycjach i-tej oraz j-tej jest sªowem kodowym, co znów oznacza,»e K nie mo»e poprawi pojedynczych bª dów. Zaªó»my teraz,»e H jest macierz sprawdzaj c kod K, która nie ma kolumn skªadaj cych si z samych zer oraz nie ma dwóch identycznych kolumn. Mno» c H przez sªowo w którym wyst puje dokªadnie jedna jedynka (powiedzmy na pozycji j), otrzymamy j-t kolumn macierzy H, która nie jest zerowa. Zatem sªowa o wadze Hamminga nie s sªowami kodowymi. Podobnie, je±li pomno»ymy H przez sªowo maj ce jedynki na pozycjach i oraz j otrzymamy sum i-tej i j-tej kolumny macierzy H. Poniewa» kolumny te s ró»ne, wi c suma nie b dzie zerowa. Zatem sªowa o wadze Hamminga 2 te» nie s sªowami kodowymi. Tak wi c waga minimalna kodu K wynosi przynajmniej 3, czyli K poprawia pojedyncze bª dy. Z powy»szego twierdzenia w poª czeniu z dyskusj po twierdzeniu 7. wnioskujemy jak powinna wygl da macierz sprawdzaj ca optymalny kod poprawiaj cy pojedyncze bª dy: powinna mie ona 2 m parami ró»nych, niezerowych kolumn. Czyli jej kolumnami powinny by wszystkie liczby od do 2 m zapisane w ukªadzie dwójkowym. Liniowy kod dwójkowy K nazywamy kodem Hamminga, je±li dla pewnego m 2 macierz sprawdzaj ca kod H ma m wierszy oraz 2 m kolumn, które 47

stanowi liczby od do 2 m zapisane w systemie o podstawie 2 (lub ka»de niezerowe sªowo binarne dªugo±ci m jest pewn kolumn macierzy H). 7.2 Przykªady kodów Hamminga Z podanej denicji wynika,»e kody Hamminga zale» od jednego paramatru m, który jest liczb naturaln wi ksz lub równ 2. Kody Hamminga b dziemy wi c oznacza H m. Dla H 2, macierz sprawdzaj c jest macierz 2 3 [ ] 0 0 Zatem kod jest opisany ukªadem równa«x 2 + x 3 = 0 x + x 3 = 0, który jest równowa»ny równaniu x = x 2 = x 3. Zatem H 2 = K 3. Macierz generuj c kod H 2 jest [ ]. Rozwa»my teraz kod H 3. Jego macierz sprawdzaj c jest 0 0 0 0 0 0 0 0 0 Kod jest wi c opisany ukªadem równa«który jest równowa»ny poni»szemu:. x 4 + x 5 + x 6 + x 7 = 0 x 2 + x 3 + x 6 + x 7 = 0 x + x 3 + x 5 + x 7 = 0, x 5 = x 2 + x 3 + x 4 x 6 = x + x 3 + x 4 x 7 = x + x 2 + x 4. Je±li wi c x, x 2, x 3 oraz x 4 s bitami informacyjnymi, to macierz generuj ca H 3 ma posta 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 48

Kod H 3 jest najprostszym nietrywialnym kodem Hamminga. Kody Hamminga H m dla m > 3 staj si do± niewygodne w zapisie. Podamy tu jeszcze macierz sprawdzaj c kod H 4, ale nie b dziemy tego kodu szczegóªowo rozwa»a. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7.3 Dekodowanie kodów Hamminga Jedn z przyczyn, dla których kody Hamminga s do± popularne jest ªatwo± ich dekodowania. Tak jak w przypadku ogólnym, dekodowanie polega na obliczeniu syndromu, którym jest iloczyn macierzy sprawdzaj cej i otrzymanego sªowa. Tym razem jednak nie trzeba konstruowa tabeli reprezentantów warstw oraz odpowiadaj cej im listy syndromów jak w poprzednim rozdziale, poniewa» tutaj syndrom jest zapisanym w ukªadzie dwójkowym numerem pozycji znieksztaªconego bitu. Dla przykªadu, rozwa»my sytuacj, w której otrzymujemy sªowo 00 (wykorzystujemy kod H 3 ). Jego syndromem jest s T = 0 0 0 0 0 0 0 0 0 0 0 = co oznacza,»e znieksztaªcony zostaª (0) 2 = 6 bit. Zatem otrzymane sªowo dekodujemy jako 000. Dlaczego opisany powy»ej algorytm jest prawidªowy? Aby odpowiedzie na to pytanie, zaªó»my,»e otrzymali±my sªowo w = w w 2... w 2 m ze znieksztaªconym jednym bitem. Przyjmijmy,»e bª d wyst piª na pozycji i. Znieksztaªcenie bita jest równowa»ne dodaniu sªowa d i, które ma zera na wszystkich pozycjach z wyj tkiem i-tej. Zatem w = v + d i, gdzie v jest wysªanym sªowem kodowym. Je±li macierz sprawdzaj c oznaczymy przez H, to syndrom (transponowany) jest równy Hw T = Hv T + Hd T i = Hd T i. 49 0,.

Ale ostatni iloczyn to i-ta kolumna macierzy H, czyli i zapisane w systemie o podstawie 2. Dowodzi to sªuszno±ci przedstawionego algorytmu. 7.4 Uwagi ko«cowe Zauwa»my,»e pr dko± przepªywu informacji dla kodów Hamminga wynosi R = m 2 m. Zatem je±li m, to R. Odlegªo± minimalna dla ka»dego kodu Hamminga wynosi 3. Wynika to z dwóch faktów. Po pierwsze, pokazali±my,»e H m poprawia pojedyncze bª dy, zatem odlegªo± minimalna musi wynosi przynajmniej trzy. Po drugie, sªowo 00... 0 jest sªowem kodowym w dowolnym kodzie Hamminga, wi c waga minimalna (a wi c i odlegªo± minimalna) H m wynosi dokªadnie 3. Optymalno± (w sensie opisanym na pocz tku) ma te» swoje wady. Otó» ka»de sªowo jest albo sªowem kodowym, albo jego odlegªo± Hamminga od pewnego sªowa kodowego wynosi dokªadnie. Oznacza to,»e je±li w wyniku transmisji wyst piªy dwa bª dy, to otrzymane sªowo zostanie na pewno ¹le rozkodowane. 50