Matematyka dyskretna

Podobne dokumenty
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

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

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

W11 Kody nadmiarowe, zastosowania w transmisji danych

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

Kody blokowe Wykład 2, 10 III 2011

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

Kody blokowe Wykład 1, 3 III 2011

Laboratorium ochrony danych

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

Kody blokowe Wykład 5a;

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

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

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

IMIĘ NAZWISKO... grupa C... sala Egzamin ELiTM I

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

1 Elementy logiki i teorii mnogości

1 Motywacje. 2 Zastosowania kodów. 3 Podstawowe definicje i oznaczenia. Sieci komputerowe II. Uniwersytet Warszawski Podanie notatek

Algebra Abstrakcyjna i Kodowanie Lista zadań

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

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

Matematyka dyskretna

Wielomiany jednej zmiennej rzeczywistej algorytmy

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Matematyka dyskretna

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

Działania Definicja: Działaniem wewnętrznym w niepustym zbiorze G nazywamy funkcję działającą ze zbioru GxG w zbiór G.

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

n=0 Dla zbioru Cantora prawdziwe są wersje lematu 3.6 oraz lematu 3.8 przy założeniu α = :

φ(x 1,..., x n ) = a i x 2 i +

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

Funkcje dwóch zmiennych

Wersja testu A 18 czerwca 2012 r. x 2 +x dx

Kombinacje liniowe wektorów.

1. R jest grupą abelową względem działania + (tzn. działanie jest łączne, przemienne, istnieje element neutralny oraz element odwrotny)

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

Informatyka Stosowana. a b c d a a b c d b b d a c c c a d b d d c b a

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

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

Algebra liniowa z geometrią

Kody splotowe. Zastosowanie

Teoria Informacji - wykład. Kodowanie wiadomości

Zadania z algebry liniowej - sem. I Struktury algebraiczne

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Matematyka dyskretna

1. Wielomiany Podstawowe definicje i twierdzenia

Lista. Przestrzenie liniowe. Zadanie 1 Sprawdź, czy (V, +, ) jest przestrzenią liniową nadr :

Przestrzenie wektorowe

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

Ciągłość i topologia. Rozdział Ciągłość funkcji wg. Cauchy

Matematyka dyskretna

Chcąc wyróżnić jedno z działań, piszemy np. (, ) i mówimy, że działanie wprowadza w STRUKTURĘ ALGEBRAICZNĄ lub, że (, ) jest SYSTEMEM ALGEBRAICZNYM.

Zadania z algebry liniowej Iloczyn skalarny, przestrzenie euklidesowe

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

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

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

Funkcje dwóch zmiennych, pochodne cząstkowe

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

Krzywe Freya i Wielkie Twierdzenie Fermata

Zajmijmy się najpierw pierwszym równaniem. Zapiszmy je w postaci trygonometrycznej, podstawiając z = r(cos ϕ + i sin ϕ).

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Przestrzenie metryczne. Elementy Topologii. Zjazd 2. Elementy Topologii

Podstawowe struktury algebraiczne

Zadania egzaminacyjne

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

Kurs wyrównawczy - teoria funkcji holomorficznych

Kilka słów o teorii kodów i kryptografii. głównie na podstawie prostych zagadek :)

Teoria informacji i kodowania

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

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Modulacja i Kodowanie. Labolatorium. Kodowanie Kanałowe Kody Hamminga

Zastosowania wyznaczników

1 Równania nieliniowe

Aproksymacja. funkcji: ,a 2. ,...,a m. - są funkcjami bazowymi m+1 wymiarowej podprzestrzeni liniowej X m+1

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Przestrzenie liniowe

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

Przekształcenia liniowe

Dystrybucje. Marcin Orchel. 1 Wstęp Dystrybucje Pochodna dystrybucyjna Przestrzenie... 5

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

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

Macierze. Rozdział Działania na macierzach

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

Skończone rozszerzenia ciał

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

Elementy teorii informacji i kodowania

= b i M i [x], gdy charf = p, to a i jest pierwiastkiem wielomianu x n i

DB Algebra liniowa semestr zimowy 2018

1 Określenie pierścienia

Kodowanie i entropia

1 Pochodne wyższych rzędów

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Transkrypt:

Matematyka dyskretna Wykład 7: Kody korygujące błędy Gniewomir Sarbicki

Błędy transmisji i kodowanie nadmiarowe Zakładamy, że przy pewnym małym prawdopodobieństwie ɛ przy transmisji bit zmienia wartość. Kanał jest bez pamięci, czyli zmiany wartości kolejnych bitów są od siebie niezależne. Podobnie, przy przechowywaniu informacji na nośniku może zajść z małym prawdopodobieństwem zamiana wartości bitu. Możemy dowolnie zmniejszyć prawdopodobieństwo błędu w przekazie informacji przez kodowanie nadmiarpwe - do kodowania informacji używamy tylko podzbioru możliwych sekwencji znaków z alfabetu (bitów). Przykład: Słowo nadmiarpwe bez problemu odczytujemy jako nadmiarowe

Przykład Przykład: Kodujemy 0 jako 000 a 1 jako 111. Trójkę dekodujemy jako 0 gdy ma więcej zer i jako 1 gdy ma więcej jedynek. Przeskoczenie jednego bitu wygeneruje sekwencje 001, 010, 100, 110, 101, 011, które bez trudu możemy poprawić. Błąd popełnimy dopiero, gdy przynajmniej dwa bity z trzech zmienią wartość. Prawdopodobieństwo błędu zmniejszyło się z ɛ(3 3ɛ + ɛ 2 ) 3ɛ do ɛ 2 (3 2ɛ) 3ɛ 2. Kodowanie przez powtarzanie

Definicja: (Odległość Hamminga) Odległością Hamminga dwóch elementów w F n q nazywamy funkcję: d(x, y) = #{i : x i y i } Fakt: Funkcja d : F n q F n q N jest metryką, tzn. spełnia trzy warunki: x, y d(x, y) 0 (d(x, y) = 0 x = y) x, y d(x, y) = d(y, x) d(x, y) + d(y, z) = d(x, z) Dowód: Ćwiczenie Definicja: (Kula domknięta) - symetryczność - nierówność trójkąta Kulą domkniętą (w metryce Hamminga) o promieniu r i środku w x 0 nazywamy zbiór: B(C, r) = {x : d(x, x 0 ) r}

Definicja: (Kod) Kodem długości n nad F q nazywamy zbiór C F n q (zbiór słów kodowych). Definicja: (Dekodowanie) Dekodowanie słowa s F n q polega na znalezieniu najbliższego słowa kodowego Definicja: (minimalna odległość kodu) minimalna odległość kodu to odległość pomiędzy najbliższymi słowami kodowymi: d min (C) = min{d(x, y) : x, y C}

Definicja: (Wykrywanie i korekcja) Mówimy, że kod C F n q wykrywa t błędów, jeżeli odległość Hamminga dowolnych dwóch słow kodowych jest większa od t. Mówimy, że kod C F n q koryguje r błędów, jeżeli dla każdego słowa y F n q istnieje co najwyżej jedno słowo kodowe x C takie że d(x, y) r. Twierdzenie: Kod o minimalnej długości d wykrywa d 1 błędów i koryguje (d 1)/2 błędów Dowód: Ćwiczenie

Jak zbudować kod o danej mocy #C i maksymalnej odległości minimalnej? Twierdzenie: (Ograniczenie Hamminga) Jeżeli kod C F n q koryguje r błędów, to ( ( ) ( )) n n #C 1 + (q 1) + + (q 1) r q n 1 r Dowód: Wyrażenie w nawiasie to ilość elementów w kuli o promieniu r Fakt: (ograniczenie Singletona) Dla kodu C F n q o min. odległości d zachodzi #C q n d+1 Definicja: Kody dla których zachodzi równość nazywamy MDS (Maximum Distance Separable)

Definicja: (kod liniowy i wymiar kodu) Jeżeli C F n q jest podprzestrzenią liniową przestrzeni F n q, to kod C nazywamy kodem liniowym. Wymiar podprzestrzeni C nazywamy wymiarem kodu. Definicja: (macierz kontroli parzystości) Macierz H C rzędu n k spełniająca warunek: x C H x = 0 nazywamy macierzą kontroli parzystości kodu C o wymiarze k. Definicja: (macierz generująca) Macierzą generującą kodu C o wymiarze k nazywamy dowolną macierz G rzędu k spełniającą warunek H C G T = 0 Wiersze macierzy G tworzą bazę przestrzeni C, a wiersze macierzy H bazę jej dopełnienia ortogonalnego.

Przykład: Niech G = [I k, A]. Wtedy H = [ A T, I n k ]. Kod taki nazywamy kodem systematycznym.

Dekodowanie kodu liniowego w = Hy nazywamy syndromem słowa y. Inicjalizacja: 1 Dla każdego możliwego słowa wyznaczamy najbliższe słowo kodowe - generujemy słownik dekodujący 2 Rozbijamy słownik na mniejsze słowniki grupujące klucze o tym samym syndromie - tworzymy słownik przypisujący syndromowi jego słownik dekodujący Dekodowanie: Dla przychodzącego słowa znajdujemy syndrom i dekodujemy je przy pomocy odpowiadającego mu słownika dekodującego.

Definicja: (kod cykliczny) Kod liniowy nazywamy cyklicznym, jeżeli dla każdego słowa kodowego y = (a 0,..., a n 1 ) słowo y = (a n 1, a 0,..., a n 2 ) jest również słowem kodowym. Poprzez odwzorowanie (a 0,..., a n 1 ) a 0 + a 1 X +... a n 1 X n 1 można utożsamić przestrzeń liniową F n q z pierścieniem wielomianów F[X]/(X n 1). Mnożenie w pierścieniu przez X odpowiada przesunięciu cyklicznemu. Fakt: y(x) C X y(x) C y(x) C r(x) F[X]/(X n 1) r(x) y(x) C

Twierdzenie: (O istnieniu generatora) Niech C F[X]/(X n 1) będzie kodem cyklicznym wymiaru k. Istnieje dokładnie jeden wielomian g F[X]/(X n 1) o własnościach: C = {f g f(x) F[X]/(X n 1)} degg = n k Wielomian g dzieli wielomian X n 1. Wielomian ten nazywamy generatorem kodu C. Dowód: Bez dowodu. Wniosek: Tyle jest kodów cyklicznych nad F q długości n i wymiaru k ile wielomian X n 1 nad ciałem F n q ma dzielników stopnia n k.

Przykład: Sprawdźmy, że w pierścieniu Z 2 [X] wielomian x 1 dzieli wielomian x 3 1. Sprawdźmy, co jest wynikiem mnożenia wielomianów z Z 2 [X]/(X 3 1) przez x 1: 000 0 0 000 001 1 x + 1 011 010 x x 2 + x 110 011 x + 1 x 2 + 1 101 100 x 2 x 2 + 1 101 101 x 2 + 1 x 2 + x 110 110 x 2 + x x + 1 011 111 x 2 + x + 1 0 000 Widzimy, że uzyskany kod jest kodem cyklicznym. deg(x + 1) = n k = 3 2. Wymiarem kodu jest 2. Rzeczywiście, 2 2 = 4, tyle ile słów kodowych. Ćwiczenie: Sprawdź że w Z 2 [X] x 2 + x + 1 jest dzielnikiem x 3 1 i sprawdź jaki kod on generuje.

Twierdzenie: (macierz kontroli parzystości kodu cyklicznego) Niech g(x) będzie generatorem kodu cyklicznego o wymiarze k. Zdefiniujmy h(x) = h 0 + h 1 X + + h k X k = (X n 1)/g(X). Wówczas macierz h k h k 1 h 0 0 0. 0 h k h k 1 h.. 0.............. 0 0 0 h k h k 1 h 0 jest macierzą kontroli parzystości kodu C Dowód: Ćwiczenie

Dowód: Każdy wielomian prowadzi do innego słowa kodowego = #C = q k Dwa różne wielomiany stopnia < k mogą mieć co najwyżej k 1 punktów wspólnych = d min n k + 1 Istnieją dwa wielomiany dla których punktów wspólnych jest dokładnie k 1 = d min n k + 1. Minimalna odległość kodu wynosi zatem n k + 1 q n d min+1 = q k = #C, więc kod jest kodem MDS Uwaga: Dla odpowiedniego wyboru ciągu A kod RS jest cykliczny. Definicja: (kod RS) Niech q - potęga liczby pierwszej i A - n-elementowy różnowartościowy ciąg elementów F q. Dla k < n kod {f(a) : degf < k} F n q nazywamy kodem Reeda-Solomona. Twierdzenie: (własności kodu RS) Kod RS jest kodem wymiaru k Kod RS jest kodem MDS