Kody blokowe Wykład 2, 10 III 2011

Podobne dokumenty
Kody blokowe Wykład 1, 3 III 2011

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

Kody blokowe Wykład 5a;

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

Matematyka dyskretna

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

W11 Kody nadmiarowe, zastosowania w transmisji danych

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

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

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

Detekcja i korekcja błędów w transmisji cyfrowej

1 Zbiory i działania na zbiorach.

1 Macierze i wyznaczniki

Macierze. Rozdział Działania na macierzach

Baza w jądrze i baza obrazu ( )

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Laboratorium ochrony danych

Detekcja i korekcja błędów w transmisji cyfrowej

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

3. Wykład Układy równań liniowych.

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

Podstawowe struktury algebraiczne

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Kongruencje twierdzenie Wilsona

Relacje. opracował Maciej Grzesiak. 17 października 2011

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

FUNKCJE. (odwzorowania) Funkcje 1

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

Układy równań liniowych

Przekształcenia liniowe

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Zestaw 12- Macierz odwrotna, układy równań liniowych

Teoria Informacji - wykład. Kodowanie wiadomości

Przestrzenie wektorowe

Wykład 1: Przestrzeń probabilistyczna. Prawdopodobieństwo klasyczne. Prawdopodobieństwo geometryczne.

Matematyka dyskretna

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Teoretyczne podstawy programowania liniowego

Wykład 5. Ker(f) = {v V ; f(v) = 0}

Zastosowania wyznaczników

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

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

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

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

Przestrzenie liniowe

Przykładowe zadania z teorii liczb

Kongruencje pierwsze kroki

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Arkusz maturalny nr 2 poziom podstawowy ZADANIA ZAMKNIĘTE. Rozwiązania. Wartość bezwzględna jest odległością na osi liczbowej.

Funkcje analityczne. Wykład 2. Płaszczyzna zespolona. Paweł Mleczko. Funkcje analityczne (rok akademicki 2017/2018)

Macierz o wymiarach m n. a 21. a 22. A =

Układy równań liniowych

Matematyka dyskretna

Ciała skończone. 1. Ciała: podstawy

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

14. Przestrzenie liniowe

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

Algorytmy i struktury danych. Wykład 4

1 Działania na zbiorach

Wstęp do Informatyki

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

Grupy, pierścienie i ciała

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Wstęp do informatyki- wykład 1

wagi cyfry pozycje

Podstawy metod probabilistycznych. dr Adam Kiersztyn

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

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

Macierze i Wyznaczniki

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Wyznaczniki. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 6. Wykład z algebry liniowej Warszawa, listopad 2013

Własności wyznacznika

Zadania z algebry liniowej Iloczyn skalarny, przestrzenie euklidesowe

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Liczby zespolone. x + 2 = 0.

Teoria. a, jeśli a < 0.

Zapis liczb binarnych ze znakiem

Definicja i własności wartości bezwzględnej.

Temperatura w atmosferze (czy innym ośrodku) jako funkcja dł. i szer. geogr. oraz wysokości.

Kurs wyrównawczy - teoria funkcji holomorficznych

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Wstęp do informatyki- wykład 1 Systemy liczbowe

Sumy kwadratów kolejnych liczb naturalnych

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

1 Podobieństwo macierzy

Indukcja matematyczna. Zasada minimum. Zastosowania.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Wyznaczniki 3.1 Wyznaczniki stopni 2 i 3

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Układy liniowo niezależne

Transkrypt:

Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding Theory and Cryptography. Essentials, 2000 1

Uprzednio należy zauważyć, że będziemy działać w ciele F q, gdzie u nas q = 2. (Uwaga! - nie jest to ciało liczbowe, tylko ciało reszt modulo 2). Symbol F 2 występuje tutaj raz jako ciało (w sensie struktury algebraicznej), a raz jako zbiór, F 2 = {0, 1}. Możemy zatem zapisać, że ciało F q = ({0, 1},, ), gdzie i oznaczają dodawanie i mnożenie modulo 2, a nadto 0 [0] := {2k k Z}, 1 [1] := {2k + 1 k Z}. 2

Nasze dzisiejsze rozważania rozpoczniemy od następującego stwierdzenia. Nie każdy kod liniowy C ma macierz generującą G C w postaci systematycznej. Pokażemy to na przykładzie. [ ] 1 0 0 k = 2 Przykład 1. Niech G C =, 0 0 1 n = 3 Liczba słów C = 2 k = 2 2 = 4 oraz C = S := lins, gdzie S jest zbiorem wierszy macierzy G C. Bierzemy tu do C wszystkie kombinacje liniowe (dwóch) słów bazowych, co sprowadza się do wyboru wszystkich możliwych sum. w 1 + w 2 = 100 001 = 101 C, w 1 + w 1 = 100 100 = 000, w 2 + w 2 = 001 001 = 000. Trzy słowa w C są niezerowe i każde dwa z nich tworzą zbiór liniowo niezależny. Zatem ( 3 2) = 3 jest równe liczbie baz w C. Liczba macierzy generujących kod C wynosi 3 2! = 6 (ważna jest kolejność wierszy w macierzy). We wszystkich tych macierzach kolumna 2 jest zerowa. Ostatecznie, kod C nie ma macierzy generującej w postaci systematycznej. 3

Definicja 1 Kod blokowy ma słowa tej samej długości n. Wszystkie jego słowa wypisane jedno pod drugim tworzą blok (czyli tablicę, ang. array) o wymiarach M n, gdzie M = C. Każdy kod liniowy jest więc kodem blokowym. Istnieją jednak ciekawe nieliniowe kody blokowe. Są to np. kody (n, M, d), których moc M dla wielu par (n, d) jest większa niż moc wszystkich kodów liniowych o długości n i dystansie d. 4

Ciekawostka. Ile baz ma liniowy binarny kod blokowy C o wymiarze k? Odpowiedź jest dość zaskakująca! Twierdzenie 1 Liczbą baz binarnego kodu liniowego o wymiarze k jest k 1 1 (2 k 2 i ). k! i=0 Udowodnimy, że to jest prawda. Uwaga! Baza w tym kontekście to zbiór k-elementowy, liniowo niezależny. W dowodzie wykorzystamy znany fakt, że każdy zbiór liniowo niezależny da się dopełnić do bazy. Dowód. Obliczamy liczbę baz uporządkowanych, czyli ciągów utworzonych z elementów baz nieuporządkowanych. Liczba tych ciągów to liczba wszystkich możliwych macierzy generujących kod (bowiem pary: macierz i ciąg jej wierszy to bijekcja ). Określamy na ile sposobów wybieramy słowa na kolejne pozycje i = 1, 2,..., k w macierzy (liczność lub liczbę oznaczamy symbolem #). Lp. # możliwości objaśnienie 1 2 k 1 słowo zerowe nie może być wybrane, 2 2 k 2 dwa słowa odrzucamy jako wygenerowane przez słowo już wybrane,......... j 2 k 2 j 1 2 j 1 jest wygenerowane przez j 1 już wybranych słów,...... j = 2, 3,..., k. j = k 2 k 2 k 1 Iloczyn znalezionych możliwości jest więc liczbą macierzy generujących. Z każdej zaś bazy, permutując jej słowa, otrzymujemy k! macierzy. Mamy więc k! razy więcej macierzy niż baz, a stąd teza twierdzenia. 5

Macierz generująca kod dualny do danego kodu liniowego Definicja 2 Macierz generującą kod dualny C do danego kodu liniowego C nazywamy macierzą kontroli parzystości kodu C i oznaczamy ją symbolem H (= H C ). Zatem G C =: H C, gdzie G C jest macierzą generującą kod dualny C. Należy zauważyć, że kod dualny do dualnego jest kodem początkowym, ponieważ ( C ) = C. Możemy zatem zapisać, że GC = H C. 6

Kod Hamminga oznaczamy przez H r, gdzie r jest liczbą pozycji nadmiarowych w słowach kodowych, tzn. r = n k, czyli k = n r. H r ma parametry [n = 2 r 1, n r, 3] = [n, k, d]. Macierz kontroli parzystości dla H r ma więc wymiary r n; H Hr F r n 2. Kod Hamminga definiujemy, podając konstrukcję jego macierzy kontroli parzystości. 7

Przykład 2. Niech r = 3. Wtedy n = 2 r 1 = 7. Zatem H H3 F 3 7 2, H H3 = 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 Każde dwie kolumny tej macierzy z definicji muszą być liniowo niezależne, czyli niejednakowe. Kolumny te to wszystkie możliwe słowa binarne długości r = 3. Kolumnami są więc reprezentacje binarne liczb 1, 2,..., n = 2 r 1, ale brane w dowolnej kolejności. Wybierając te reprezentacje w odpowiedniej kolejności możemy uzyskać macierz w postaci systematycznej, p. macierz w powyższym przykładzie z podmacierzą I 3 w pierwszych trzech kolumnach. Zatem ogólnie dla dowolnego r, w macierzy systematycznej H pierwszych r kolumn to reprezentacje malejących potęg dwójki, poczynając od 2 r 1 : 2 r 1 2 r 2... 2 1 1 0 0 0 0 1 0 0 F r n 2 H Hr = A 0 0 1 0, 0 0 0 1 gdzie A Fr (n r) 2. Pozostałe liczby (które nie są potęgami dwójki) są reprezentowane w dowolnej kolejności przez dalsze kolumny macierzy H Hr, tworząc macierz A. 8

Uwaga 1 Zgodnie z definicją, kod Hamminga jest dowolnym kodem z całej klasy kodów permutacyjnie równoważnych, wśród których jest kod o macierzy kontroli parzystości, będącej macierzą systematyczną, podaną powyżej. Takich kodów i macierzy systematycznych jest zresztą (n r)! = k!. 9

Twierdzenie 2 (o korygowaniu błędów) Niech C będzie kodem (niekoniecznie liniowym) o parametrach (n, M, d), gdzie M = C i niech τ := (d 1)/2. Kod ten koryguje τ lub mniej błędnych symboli w słowie otrzymanym. Dowód. W naszym dowodzie skorzystamy z zasady największej wiarogodności, która mówi, że jeśli w jest słowem otrzymanym i w C, to słowem wysłanym jest słowo kodowe v C, które jest najbliższe słowu w (w sensie metryki Hamminga). Mianowicie v C and d H (v, w) = min u C d H(u, w). A dlaczego może nastąpić jednoznaczne korygowanie? Ponieważ słowa kodowe są oddalone nawzajem o d lub więcej, gdzie d 2τ, więc otoczenia domknięte słów kodowych o promieniu τ są parami rozłączne, p. Rys., gdzie v, v 1 C. Jeśli więc w ma τ lub mniej błędnych symboli, to w jest w jednym tylko z tych otoczeń. 10

Twierdzenie 3 (o wykrywaniu błędnych słów) Kod C o dystansie d 2 wykrywa d 1 lub mniej błędnych symboli w słowie otrzymanym. Dowód. Niech w będzie słowem otrzymanym. Wtedy w C, jeżeli w nie ma błędnych symboli, tzn. w było wysłane, lub też w ma d lub więcej błędnych symboli. Jeśli zaś w różni się od słowa wysłanego v C na t pozycjach, gdzie 1 t d 1, to d H (v, w) = t 0 i t < d, czyli w / C, i dlatego błędność w jest wykrywana. 11

Jak określamy dystans d kodu C? d := min v,w C v w d(u, w) = min v,w C v w wt(v w). Jeżeli kod jest liniowy, to dla v, w C różnica v w C (kod liniowy jest zamknięty ze względu na dodawanie). Zatem dla kodu liniowego C mamy d = min wt(v). v C v 0 Uwaga 2 Dystans kodu nieliniowego znajdujemy po znalezieniu dystansu (odległości) dla ( ) C 2 par różnych słów kodowych, jako najmniejszą z tych odległości. Dla kodów liniowych natomiast dystansem jest najmniejsza waga spośród C 1 wag niezerowych. To oznacza mniejszą złożoność obliczeń, gdy kod jest liniowy. 12

Zasada największej wiarogodności (MLD - maximum-likelihood decoding) Definicja 3 Niech symbol Φ p (v, w) oznacza prawdopodobieństwo, że dla słowa otrzymanego w słowem wysłanym było słowo v, różniące się od w na d pozycjach; 1 p oznacza niezawodność kanału (BSC): 2 < p 1, (p 1 2 ), oraz n ( d) oznacza długość kodu. Wtedy Φ p (v, w) = (1 p) d p n d. Twierdzenie 4 Niech v 1, v 2 będą słowami kodowymi długości n, zaś p niezawodnością kanału, 1 2 < p < 1. Niech d i = d(v i, w) dla i = 1, 2, gdzie w jest słowem otrzymanym. Wówczas Φ p (v 1, w) Φ p (v 2, w) d 1 d 2, tzn. prawdopodobieństwo większe, dokładnie gdy odległość mniejsza. Dowód. Następujące nierówności są parami równoważne. p n d1 (1 p) d1 p n d2 (1 p) d2 ( ) d2 d p 1 1 1 p p d 2 d 1 (bo 1 p > 1). 13