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

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

Semestr letni 2014/15

1 Kodowanie i dekodowanie

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

Teoria grafów i jej zastosowania. 1 / 126

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

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

XVII Warmi«sko-Mazurskie Zawody Matematyczne

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

O pewnym zadaniu olimpijskim

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

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

Metodydowodzenia twierdzeń

Ukªady równa«liniowych

Metody dowodzenia twierdze«

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

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

Przekroje Dedekinda 1

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

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Liczby zmiennopozycyjne. Kody Hamminga.

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

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

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

Matematyka dyskretna dla informatyków

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

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

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

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

Wykªad 4. Droga i cykl Eulera i Hamiltona

Uczenie Wielowarstwowych Sieci Neuronów o

1 Bª dy i arytmetyka zmiennopozycyjna

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Materiaªy do Repetytorium z matematyki

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

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

Metody numeryczne i statystyka dla in»ynierów

Elementy geometrii w przestrzeni R 3

Wykªad 4. Funkcje wielu zmiennych.

Stereometria (geometria przestrzenna)

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

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

Metoda tablic semantycznych. 1 Metoda tablic semantycznych

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Biedronka. Wej±cie. Wyj±cie. Przykªady. VI OIG Zawody dru»ynowe, Finaª. 19 V 2012 Dost pna pami : 64 MB.

2 Liczby rzeczywiste - cz. 2

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

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

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

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

Podstawy matematyki dla informatyków

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

Modele wielorównaniowe. Problem identykacji

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Liczby zmiennoprzecinkowe

Wykªad 1. Wprowadzenie do teorii grafów

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Cyfrowe Ukªady Scalone

c Marcin Sydow Planarno± Grafy i Zastosowania Tw. Eulera 7: Planarno± Inne powierzchnie Dualno± Podsumowanie

Wojewódzki Konkurs Matematyczny

Lab. 02: Algorytm Schrage

Dokªadny jak komputer

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

x y x y x y x + y x y

Algorytmy i Struktury Danych

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Ekonometria - wykªad 8

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

Wst p do sieci neuronowych, wykªad 14 Zespolone sieci neuronowe

Dokªadny jak komputer?

Funkcje, wielomiany. Informacje pomocnicze

Matematyka dyskretna dla informatyków

Ekstremalnie fajne równania

Uogólnione drzewa Humana

Interpolacja funkcjami sklejanymi

Notatki z AiSD. Nr 2. 4 marca 2010 Algorytmy Zachªanne.

Zastosowania matematyki

CCNA Subnetting Guide

Metody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, Dawid Rasaªa Metody numeryczne 1 / 9

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

Minimalne drzewa rozpinaj ce

Semestr letni 2014/15

Algorytmy zwiazane z gramatykami bezkontekstowymi

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

Wojewódzki Konkurs Matematyczny

Teoria grafów i sieci 1 / 188

Kody blokowe Wykład 2, 10 III 2011

Model obiektu w JavaScript

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............................ 11 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 19 4.1 Przykªad kompresowania danych................. 19 4.2 Idea entropii............................ 20 4.3 Denicja entropii......................... 21 4.4 Maximum i minimum entropii.................. 22 4.5 Rozszerzenie ¹ródªa........................ 24 4.6 Entropia a przeci tna dªugo± sªowa kodowego......... 25 4.7 Twierdzenie Shannona o kodowaniu bezszumowym....... 26 5 Pewna komunikacja poprzez niepewne ª cza 28 5.1 Symetryczne ª cze binarne.................... 28 5.2 Pr dko± przepªywu informacji.................. 30 2

5.3 Bariera pojemno±ci........................ 31 5.4 Odlegªo± Hamminga....................... 32 5.5 Wykrywanie i poprawianie bª dów................ 34 6 Kody liniowe 36 6.1 Denicja.............................. 36 6.2 Macierz generuj ca........................ 37 6.3 Równania opisuj ce kody..................... 40 6.4 Macierz sprawdzaj ca parzysto±................ 41 6.5 Waga Hamminga......................... 42 6.6 Syndrom.............................. 44 6.7 Wykrywanie i poprawianie bª dów................ 45 6.8 Kody Hamminga......................... 47 3

Rozdziaª 5 Pewna komunikacja poprzez niepewne ª cza Jak dot d, starali±my si jak najbardziej skróci kod przesyªanej wiadomo±ci. W poprzednim rozdziale pokazali±my,»e granic kompresji stanowi entropia danego ¹ródªa. Maksymalnie skompresowany tekst nie jest jednak dobry do przesªania poprzez ª cze, w którym mog pojawi si zakªócenia niewielkie zakªócenie kodu powoduje niemo»no± rozkodowania. Aby nasz kod staª si odpornym na zakªócenia, musimy go wydªu»y uzupeªniaj c go pewn liczb dodatkowych bitów. Zanim jednak przejdziemy do modykacji kodów, zdeniujmy ª cza, po których ów zmodykowany kod zostanie przesªany. 5.1 Symetryczne ª cze binarne Gdyby±my mieli do dyspozycji ª cze, w którym nigdy nie pojawiaj si szumy, nie musieliby±my modykowa kodu. Jednak»e tego rodzaju ª cza s w praktyce nie spotykane. Dlatego zaªó»my,»e w ª czu powstaj szumy, które powoduj,»e odebrana wiadomo± mo»e si ró»ni od wysªanej. Zakªadamy jednak,»e podczas transmisji nie powstaje bª d synchronizacji, tj.»aden nowy symbol nie pojawi si w kodzie, ani te»»aden nie zniknie. Symetrycznym ª czem binarnym (BSC) nazywamy ª cze, które speªnia nast puj ce warunki: 1. Komunikacja zachodzi za pomoc kodu dwójkowego, tj. zarówno na wej±ciu, jak i na wyj±ciu mog pojawia si tylko 0 lub 1; 28

2. Prawdopodobie«stwo otrzymania 1 pod warunkiem wysªania 0 jest równe prawdopodobie«stwie otrzymania 0 pod warunkiem wysªania 1; 3. Š cze nie ma pami ci, tj. prawdopodobie«stwo znieksztaªcenia danego symbolu nie zale»y od wcze±niej wysªanych bitów. Oznaczmy przez p prawdopodobie«stwo znieksztaªcenia wysªanego przez BSC symbolu, a przez q = 1 p prawdopodobie«stwo poprawnej transmisji danego bitu. Mo»emy zaªo»y,»e 0 p 0, 5 jako,»e je±li prawdopodobie«- stwo to jest wi ksze od 1, to przed przeczytaniem kodu mo»emy zamieni 2 rolami zera i jedynki. 5.1 Przykªad. Zaªó»my,»e pewne ª cze znieksztaªca 1 symbol na tysi c. Zatem p = 0, 001 oraz q = 0, 999. Zaªó»my jednak»e,»e nie mo»emy sobie pozwoli na wi cej ni» jeden bª d na dziesi tysi cy symboli. Aby podnie± pewno± kodu mo»emy ka»dy symbol kodowy powtórzy kilka razy. Nazywa si to kodem powtórze«1. Na przykªad, 011001 000111111000000111. Dla danego kodu K, odpowiadaj cy mu kod powtórze«oznaczymy przez K s, gdzie s oznacza liczb powtórze«danego bitu. Tak wi c otrzymuj c wiadomo± w kodzie K 3 oczekujemy,»e bity wyst puj w jednorodnych blokach dªugo±ci 3. Zatem, gdy otrzymujemy taki blok a 1 a 2 a 3, wiemy,»e zanim zostaª on wysªany wszystkie jego bity byªy równe. Je±li jednak otrzymany blok nie ma takich samych bitów, rozkodowujemy go wedªug,,prawa wi kszo±ci. Bª d w odczycie popeªniamy, je±li wszystkie trzy bity zostaªy znieksztaªcone (prawdopodobie«stwo p 3 ), lub gdy dwa bity zostaªy znieksztaªcone (prawdopodobie«stwo 3p 2 q). Zatem prawdopodobie«- stwo niewªa±ciwego odczytu wynosi P err (K 3 ) = p 3 + 3p 2 q < 10 5. Kod K 3 speªnia wi c postawione wcze±niej wymagania. Uzupeªnimy przykªad uwag,»e P err (K 5 ) 10 8 oraz,»e P err (K n ) 0 je±li n. 1 ang. repetition code 29

5.2 Pr dko± przepªywu informacji W przykªadzie kodu powtórze«k n tylko jeden bit na n byª no±nikiem informacji. Pozostaªe bity jedynie sprawdzaªy, czy informacja zostaªa prawidªowo przesªana przez ª cze. Zatem mieli±my tu do czynienia z kodem blokowym, w którym jeden bit jest bitem informacyjnym, a n 1 bitów s bitami sprawdzaj cymi. Uogólniaj c powy»sz sytuacj, dla dowolnego kodu blokowego K wyró»niamy w ka»dym bloku k bitów informacyjnych oraz n k bitów sprawdzaj cych. Bity informacyjne mog by dowolne, wi c mamy mo»liwych dokªadnie 2 k sªów kodowych. Bity sprawdzaj ce w tych sªowach ±ci±le zale» od bitów informacyjnych. Odwrotnie, je±li dany kod blokowy ma dokªadnie 2 k sªów, to oznacza to,»e w ka»dym bloku mamy k bitów informacyjnych. Przesyªanie informacji odbywa si wi c w nast puj cy sposób: dan wiadomo± kodujemy stosuj c kod Humana; otrzymany kod kompresujemy tak, by byª on mo»liwie najkrótszy, skompresowany kod dzielimy na bloki dªugo±ci k i ka»dy z tych bloków uzupeªniamy bitami sprawdzaj cymi tak by otrzyma kod blokowy dªugo±ci n k; ka»dy z bloków przesyªamy poprzez ª cze, odbiorca kodu, najpierw sprawdza poprawno± przesªanego kodu i poprawia bª dy transmisji wykorzystuj c bity sprawdzaj ce, odbiorca odrzuca bity sprawdzaj ce i ª czy bloki bitów informacyjnych w zakodowan i skompresowan wiadomo±, odbiorca dekompresuje kod i rozkodowuje wiadomo±. Czynno± sprawdzania otrzymanego w wyniku transmisji kodu blokowego oraz poprawiania wynikªych bª dów, tak»e nazywamy dekodowaniem lub rozkodowywaniem. Dla dwójkowego kodu blokowego K dªugo±ci n o k n bitach informacyjnych deniujemy wielko± R(K) = k, któr nazwiemy pr dko±ci przepªywu n informacji kodu K. Je»eli k = 0, kod K ma tylko jedno sªowo kodowe, R(K) = 0 i bity sprawdzaj ce sygnalizuj jedynie,»e nast piªa transmisja. Taki kod nazywamy trywialnym. Drug skrajno± stanowi kod o pr dko±ci 30

przepªywu informacji 1. Taki kod nie posiada bitów sprawdzaj cych. Generalnie, je±li R(K) jest bliskie 0, kod ma du» odporno± na szumy, ale nie jest efektywny w sensie przepªywu informacji. Je»eli natomiast R(K) jest bliskie 1, kod K ma bardzo du» efektywno±, ale nie ma istotnego zabezpieczenia na zakªócenia. Dla przykªadu zauwa»my,»e kod powtórze«k n ma pr dko± przepªywu 1 informacji.,,ortogonalnym do niego jest kod sprawdzaj cy parzysto±,1 n w którym mamy n 1 bitów informacyjnych oraz jeden bit sprawdzaj cy ustalony tak, by liczba jedynek w bloku byªa parzysta. Zatem tutaj, R = n 1, n ale tylko pojedyncze bª dy zostan wykryte bez mo»liwo±ci ich poprawienia. 5.3 Bariera pojemno±ci Wysyªaj c kod poprzez ª cze, musimy mie na uwadze nie tylko to, i» w ª - czu mog wyst pi zakªócenia, ale tak»e to,»e ª cze ma pewn ograniczon pojemno±. Rozwa»my tu nast puj cy przykªad: nasze ¹ródªo wysyªa jeden bit na sekund, ale ª cze nie mo»e przesªa wi cej ni» dwa bity na sekund. Zaªó»my konkretnie,»e p = 0, 001, jednak»e nie mo»emy sobie pozwoli na wi cej bª dów ni» dwa na 10000. Ze wzgl du na pojemno± ª cza nie mo»emy doda wi cej ni» jednego bitu sprawdzaj cego na jeden bit informacyjny. Zauwa»my,»e kod K 2 nie jest w ogóle dobrym rozwi zaniem. Istotnie, bª d popeªniamy, gdy oba bity s znieksztaªcone (prawdopodobie«stwo p 2 ), lub gdy jeden bit jest znieksztaªcony, przy czym musimy zdecydowa który (prawdopodobie«stwo 2 1 2 pq). St d P (K 2) = p 2 + pq = p. Zatem prawdopodobie«stwo bª du jest takie samo jak bez u»ycia bitu sprawdzaj cego. Podobnie, mo»emy zauwa»y,»e P (K 2s ) = P (K 2s 1 ). 5.2 Przykªad. Spróbujmy nast puj cego kodu, w którym do bloku informacyjnego dªugo±ci k dodajemy dwa bity sprawdzaj ce, które s równe drugiemu bitowi z bloku. Tak wi c 00 0000 01 0111 10 1000 11 1111. Powy»szy kod oznaczymy przez K 4. Przy odbiorze, zakªadamy,»e pierwszy bit jest prawidªowy, a drugi ustalamy poprzez,,prawo wi kszo±ci. Zatem odbiór jest prawidªowy wtedy i tylko wtedy, gdy»aden z bitów nie zostaª 1 ang. even-parity code 31

znieksztaªcony, lub gdy tylko drugi, trzeci lub czwarty bit zostaª przeinaczony. St d 1 P err (K 4) = q 4 + 3pq 3 0, 9997. Zatem a» 3 bity na 10000 mog by ¹le odczytane, co nas jeszcze nie satysfakcjonuje. Wypróbujemy wi c nast puj cy kod K 6. 5.3 Przykªad. Kod K6 koduje bloki informacyjne dªugo±ci 3 dodaj c 3 bity sprawdzaj ce. 000 000000 100 100011 010 010101 001 001110 011 011011 101 101101 110 110110 111 111000 Kod ten jest tak skonstruowany,»e dwa ró»ne sªowa kodowe ró»ni si mi dzy sob przynajmniej trzema bitami. Zatem przy rozkodowywaniu natraamy albo na sªowo kodowe albo na sªowo, które ró»ni si od pewnego (dokªadnie jednego) sªowa kodowego w dokªadnie jednym bitem. W pierwszym przypadku nie mamy problemów z dekodowaniem, w drugim dekodujemy otrzymany blok jako w. Zatem bª d mo»emy popeªni je±li przynajmniej dwa bity w bloku zostaªy znieksztaªcone. St d 1 P err (K 6) q 6 + 6pq 5 0, 99984, czyli P err 0, 00016, co jest lepszym wynikiem ni» pierwotnie wymagali±my. Precyzyjna denicja pojemno±ci ª cza jest nieco skomplikowana. Poniewa» w dalszym ci gu wykªadu zajmiemy si tylko sposobami kodowania bloków informacyjnych, nie b dziemy teraz dokªadnie rozpatrywa kwestii pojemno±ci. Zajmiemy si natomiast praktycznymi sposobami odczytywania kodu przesªanego przez ª cze BSC. 5.4 Odlegªo± Hamminga Naszym celem jest skonstruowanie kodu, który ma minimaln liczb bitów sprawdzaj cych, ale sªowa kodowe ró»ni si od siebie jak najwi ksz liczb bitów. Chcemy zatem, aby sªowa kodowe byªy,,jak najdalej od siebie. Sformalizujemy teraz poj cie odlegªo±ci. 32

Niech a = a 1 a 2... a n oraz b = b 1 b 2... b n b d sªowami kodu blokowego. Odlegªo±ci Hamminga d(a, b) pomi dzy sªowami a oraz b nazywamy liczb pozycji na których sªowa te maj ró»ne bity, tj. d(a, b) = # {1 i n : a i b i }. W kodzie powtórze«k n odlegªo± Hamminga pomi dzy dwoma ró»nymi sªowami wynosi n. W kodzie K 6 jest ona wi ksza lub równa 3. 5.4 Twierdzenie. Dla danego alfabetu A odlegªo± Hamminga okre±la metryk na zbiorze W n (A) wszystkich sªów nliterowych. Dowód. Zauwa»my,»e wprost z denicji wynika,»e d(a, a) = 0 oraz,»e d(a, b) > 0 dla a b. Dalej mamy d(a, b) = d(b, a). Wystarczy zatem pokaza,»e zachodzi warunek trójk ta. W tym celu zapiszmy a = a 1 a 2... a n, b = b 1 b 2... b n oraz c = c 1 c 2... c n. Przyjmijmy d(a, b) = v i d(b, c) = w oraz zaªó»my,»e a i1 b i1, a i2 b i2,..., a iv b iv, b j1 c j1, b j2 c j2,..., b jw c jw. Rozwa»my teraz d(a, c). Odlegªo± ta b dzie najwi ksza, je±li»adne i s nie pokryje si z j r i b dzie wówczas równa dokªadnie v + w. Tak wi c ogólnie, d(a, c) d(a, b) + d(b, c). Opisan przestrze«metryczn mo»na zinterpretowa geometrycznie jako graf, którego wierzchoªkami s sªowa kodowe, a kraw dziami s poª czone tylko te wierzchoªki, które ró»ni si mi dzy sob o jeden bit. Odlegªo± pomi dzy dwoma wierzchoªkami, to najmniejsza ilo± kraw dzi, które trzeba pokona, by dotrze od jednego wierzchoªka do drugiego. Odlegªo± Hamminga wykorzystujemy przy wykrywaniu i poprawianiu bª dów powstaªych w wyniku transmisji przez ª cze BSC. Przesªany kod b dziemy dekodowa wedªug dekodowania maksymalnego podobie«stwa 1 (MLD). Jego dwie gªówne zasady to: je±li otrzymujemy sªowo kodowe, zakªadamy,»e nie wyst piª bª d transmisji; 1 ang. maximum likelihood decoding 33

je±li otrzymane sªowo nie nale»y do kodu, dekodujemy je jako sªowo kodowe, które jest najbli»ej otrzymanego w sensie odlegªo±ci Hamminga. Je»eli mamy wi cej ni» jeden wybór, wybieramy losowo. Je±li otrzymane sªowo nie jest sªowem kodowym, jeste±my pewni,»e wyst piª bª d. Mamy wówczas dwa wyj±cia: zawiadomi o tym nadawc i poprosi o ponown transmisj, lub te» poprawi bª d stosuj c zasad MLD. Mówimy,»e kod wykrywa t bª dów, je±li dla dowolnego sªowa kodowego a i ka»dego sªowa a' otrzymanego z a przez zmian co najwy»ej t bitów, a' nie jest sªowem kodowym. Mówimy,»e kod poprawia t bª dów, je»eli dla dowolnego sªowa kodowego a i ka»dego sªowa a' otrzymanego z a przez zmian co najwy»ej t bitów, procedura MLD dekodowania a' wiedzie jednoznacznie do a. 5.5 Wykrywanie i poprawianie bª dów Aby powi za wykrywanie i poprawianie bª dów z odlegªo±ci Hamminga, potrzebna nam b dzie nast puj ca denicja. Minimaln odlegªo±ci d(k) dla nietrywialnego kodu K nazywamy najmniejsz niezerow odlegªo± Hamminga pomi dzy dwoma ró»nymi sªowami kodowymi. d(k) = inf {d(a, b) : K a b K}. 5.5 Twierdzenie. Kod K wykrywa t bª dów wtedy i tylko wtedy, gdy d(k) > t. Dowód. Zaªó»my najpierw,»e d(k) > t. Je»eli sªowo a' zostaªo otrzymane ze sªowa kodowego a przez zmian t bitów, to d(a, a') = t < d(k). Zatem a' nie mo»e by sªowem kodowym. Zaªó»my teraz, nie wprost,»e d(k) t. Niech a oraz a' b d takimi sªowami kodowymi,»e d(k) = d(a, a') t. Je±li sªowo a' powstaªo z wysªanego sªowa a poprzez znieksztaªcenie co najwy»ej t bitów, to poniewa» a' jest sªowem kodowym, bª d pozostaje nie wykryty. Udowodnimy teraz podobne twierdzenie na temat poprawiania bª dów. 5.6 Twierdzenie. Kod K poprawia t bª dów wtedy i tylko wtedy, gdy d(k) > 2t. 34

Dowód. Zaªó»my,»e d(k) > 2t, a jest sªowem kodowym oraz a' otrzymali- ±my z a przez zmian co najwy»ej t symboli. Zaªó»my,»e procedura MLD dla sªowa a' prowadzi do sªowa b K. Wówczas Z drugiej strony jednak, Zatem d(a, b) d(a, a') + d(a', b). d(a, b) d(k) > 2t. d(a', b) d(a, b) d(a, a') > 2t t = t d(a, a'). Otrzymana nierówno± daje sprzeczno±, poniewa» b jest dalej ni» a od a'. Zaªó»my teraz nie wprost,»e K poprawia t bª dów, ale d(k) 2t. Niech a oraz b b d sªowami kodowymi, dla których d(k) d(a, b)) = u 2t. Oznaczmy przez i 1, i 2,..., i u wszystkie wska¹niki, dla których a i b i. Zaªó»my,»e min(t, u) = v oraz v u v. Zdeniujmy a' nast puj co a i = b i, je»eli i / {i 1, i 2,..., i u } a i = a i, je»eli i {i 1, i 2,..., i v } b i, w przeciwnym wypadku. Wówczas a' ró»ni si od a o dokªadnie u v t bitów. Jednak»e procedura MLD dla a' prowadzi do b. Podobnie post pujemy je±li v u v, tylko w denicji a i zamieniamy a i oraz b i. W obu przypadkach otrzymujemy sprzeczno±. 35