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

Podobne dokumenty
Matematyka dyskretna

W11 Kody nadmiarowe, zastosowania w transmisji danych

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

Kody blokowe Wykład 2, 10 III 2011

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

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

Kody blokowe Wykład 5a;

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

Laboratorium ochrony danych

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

Kody blokowe Wykład 1, 3 III 2011

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

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

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

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

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

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

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

Podstawowe pojęcia. Teoria informacji

Kody splotowe. Zastosowanie

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

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

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Algebra Abstrakcyjna i Kodowanie Lista zadań

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

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

Kodowanie i entropia

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Kwantyzacja wektorowa. Kodowanie różnicowe.

Prawdopodobieństwo i statystyka

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

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

Kody splotowe (konwolucyjne)

Procesy stochastyczne

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Kody Tunstalla. Kodowanie arytmetyczne

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Teoria Informacji - wykład. Kodowanie wiadomości

Quality characteristics of finite linear codes

Arytmetyka komputera

Temat: Algorytm kompresji plików metodą Huffmana

Procesy stochastyczne

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

- Quadrature Amplitude Modulation

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

Granica i ciągłość funkcji. 1 Granica funkcji rzeczywistej jednej zmiennej rzeczywistej

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

Teoria informacji i kodowania

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest

Prawdopodobieństwo i statystyka

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Elementy teorii informacji i kodowania

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

Kodowanie informacji

Nierówność Krafta-McMillana, Kodowanie Huffmana

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Kompresja bezstratna. Entropia. Kod Huffmana

Zadania do Rozdziału X

Sławomir Kulesza. Projektowanie automatów asynchronicznych

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

F t+ := s>t. F s = F t.

Rodzinę spełniającą trzeci warunek tylko dla sumy skończonej nazywamy ciałem (algebrą) w zbiorze X.

Przestrzenie liniowe

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

Języki, automaty i obliczenia

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Obliczenia inspirowane Naturą

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Podstawowe własności grafów. Wykład 3. Własności grafów

Techniki multimedialne

Kodowanie Shannona-Fano

1 Automaty niedeterministyczne

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Wybrane metody kompresji obrazów

Dystrybucje, wiadomości wstępne (I)

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Statystyka i eksploracja danych

Cyfrowy zapis informacji

Podstawy Informatyki

Ocena wpływu algorytmu dupleksowego systemu transmisji danych na szybkość transmisji

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

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

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.

Teoria Informacji i Metody Kompresji Danych

(j, k) jeśli k j w przeciwnym przypadku.

Teoria systemów uczacych się i wymiar Vapnika-Chervonenkisa

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Rodzinę F złożoną z podzbiorów zbioru X będziemy nazywali ciałem zbiorów, gdy spełnione są dwa następujące warunki.

Granica i ciągłość funkcji. 1 Granica funkcji rzeczywistej jednej zmiennej rzeczywsitej

Transkrypt:

Sieci komputerowe II Notatki Uniwersytet Warszawski Podanie notatek 17-01-2005 Wykład nr 3: 17-01-2005 Temat: Kody korygujące błędy 1 Motywacje 1. Ograniczenia nośnika powodują, że czasami ilość błędów jest zbyt duża, aby można ją było tolerować. 2. Czasami nie możemy sobie pozwolić na retransmisję (komunikacja jest jednostronna, retransmisja na duże odległości bardzo zwalnia przesyłanie informacji). 3. Kody są używane także przy zapisie na nośniku; nośnik może ulegać z czasem degradacji. 2 Zastosowania kodów 1. Dyski kompaktowe, DVD. 2. Komunikacja z sondami kosmicznymi. 3. Transmisja z dużymi szybkościami. 3 Podstawowe definicje i oznaczenia Przy omawianiu kodów stosuje się pojęcie odległości Hamminga kodów. Niech x = (x 1,..., x n ) i y = (y 1,..., y n ). Odległość Hamminga tych dwóch wektorów ( x, y) to liczba pozycji, na których x różni się od y. Minimalna odległość między słowami kodowymi w zbiorze C jest określona jako (C) = min ( x, y). x y C Niech Σ będzie alfabetem używanych symboli. Kod systematyczny (n, k, d) q to podzbiór C Σ n, gdzie n długość bloku/pakietu danych, k = log q C ilość informacji umieszczona w zakodowanym pakiecie, d minimalna odległość między słowami kodowymi w zbiorze C,

2 : Notatki q = Σ rozmiar alfabetu. Kody systematyczne mają tę właśność, że najpierw występuje k symboli właściwych danych, po czym n k symboli dodatkowych. Kody systematyczne zostały wprowadzone przez Hamminga [Ham50]. Podobnie kod jest liniowy [n, k, d] q, gdy C jest podprzestrzenią liniową zbioru GF (q) n (ciała skończonego o charakterystyce q podniesionego do n-tej potęgi). 4 Przykłady kodów Wiele przykładów kodów liniowych dostajemy przez włożenie zbioru komunikatów w zbiór kodów. 1. Identyczność daje kod [n, n, 1] q. 2. Przekształcenie (x 1,..., x n 1 ) (x 1,..., x n 1, Σ n 1 i=1 x i) daje kod [n, n 1, 2] q tu można już próbować odzyskiwać stracone dane; bit parzystości. 3. Kody Reeda-Solomona (będące kodami [n, k, n k + 1] q ) otrzymujemy za pomocą następującego przepisu [RS60]: Ustalamy n różnych elementów GF (q): a 1,..., a n. Dla danego komunikatu m = (m 0,..., m k 1 ) tworzymy wielomian k 1 m(x) = m i x i, i=0 (który można traktować jak wektor o k współrzędnych). Kodujemy stosując przekształcenie: (m 0,..., m k 1 ) (m(a 1 ),..., m(a n )). Odtwarzanie: przy odtwarzaniu komunikatu m wybieramy wielomian stopnia k 1 najbliższy w sensie odległości Hamminga otrzymanemu wielomianowi stopnia n 1. W ogólności dla dowolnych kodów ten problem jest NP-zupełny [BMT78]. Ostatnio pokazano również, że jest on NP-zupełny także dla kodów Reeda-Solomona [GV04].

: Notatki 3 Istnieją algorytmy obliczające powyższe w czasie O(k 3 ) (a nawet w O(k 2,3... ) w granicach znanych ograniczeń na mnożenie macierzy) przy założeniu, że liczba błędów e nie przekracza (n k + 1)/2 [WB83]. Kody Reeda-Solomona oznacza się często przez RS(n, k). Koder bierze tutaj k symboli danych i dodaje do nich symbole korekcyjne tak, aby w sumie powstało słowo kodowe złożone z n symboli. 4. Kody Reeda-Müllera Zamiast wielomianów jednej zmiennej, jak w kodach Reeda-Solomona, używamy wielomianów wielu zmiennych. W wyniku tego nie musimy zakładać, że q n. Jest tak dlatego, że l różnych zmiennych pozwala na kodowanie l różnych współrzędnych o rozmiarach q każda. Kody te zostały wymyślone przez D.E. Müllera [Mul54], zaś I.S. Reed podał algorytm dla ich dekodowania [Ree54]. 5 Przykładowe zastosowanie CIRC Cross-Interleaved Reed-Solomon Coding (opracowane na podstawie [Han]). Kody Reeda-Solomona korygują do n k 2 błędów. Na przykład kod Reeda-Solomona [255, 223, ] dla bajtów koryguje do 16 8 błędów bitowych. CIRC 1. Najpierw bierzemy 24 ośmiobitowe słowa. 2. Kodujemy je kodem RS(28, 24) 4 nadmiarowe bity pozwalają na korekcję 2 bitów. 3. Rozpraszamy wynik pośród 109 ramek. 4. Kodujemy wynik kodem Reeda-Solomona RS(32, 28) korekcja 2 bitów. 5. Rozpraszamy wynik pośród 109 ramek. 109 ramek koryguje 436 błędów; przy zastosowaniu rozpraszania można w ten sposób poprawić 13625 ramek. RS(28, 24) jest kodowaniem poziomu C2, koryguje ono błędy nagrania i fizycznego stanu dysku. RS(32, 28) jest kodowaniem poziomu C1, koryguje ono błędy odcisków palców i zarysowań.

4 : Notatki 6 Podstawowe ograniczenia na własności kodów Podstawowe ograniczenie teorioinformacyjne na kody (n, k, d) q zwane ograniczeniem Hamminga [Ham50] ( q k Vol q d 1 ) 2, n q n, gdzie q k liczba kul w sensie odległości Hamminga (kodów), Vol q (r, s) objętość kuli o promieniu r w przestrzeni s wymiarowej, q n rozmiar przestrzeni wynikowych słów kodowych. Ograniczenie Singletona (Singleton to nazwisko) [Sin64]. Dla kodów (n, k, d) q zachodzi Ograniczenie Plotkina [Plo60] d n k + 1. 1. Jeśli kod (n, k, d) 2 spełnia d n 2, to k log 2(2n). 2. Każdy kod (n, k, d) 2 spełnia k n 2d + log 2 (4d). Ograniczenie Gilberta-Warshamowa[Gil52, Var57]: Dla każdego δ takiego, że 0 < δ < i dla każdego ɛ > 0 istnieje N takie, że dla każdego n > N istnieje kod 1 2 (H(δ) = (δ log 2 δ + (1 δ) log 2 (1 δ))) [n, n(1 H(δ) ɛ), δn] q 7 Kody liniowo dekodowalne Główna idea [SS96] Łączymy ze sobą bloki:

: Notatki 5 Każdy blok B i dla i = 1,..., m to graf dwudzielny (L i, R i, E i ). Utożsamione są wierzchołki R i z wierzchołkami L i+1. Podstawowa idea związana z pojedynczym blokiem B i : Kodowanie 1. Dla każdego kolejnego bloku B i spośród bloków B 1,..., B m wyprowadź z wartości w wierzchołkach L i wartości w wierzchołkach R i przez dodawanie mod2. 2. Dla R m zastosuj tradycyjną technikę, np. kodowanie Reeda-Solomona. Odkodowywanie Procedura postępuje z prawa na lewo. Dopóki istnieje x l tze. ma więcej niespełnionych prawych więzów niż spełnionych, to należy odwrócić wartość takiego x l. Główny problem Jaką strukturę powinny mieć bloki B i? Bloki deterministyczne Definicja 1 Graf dwudzielny B = (L, R, E) jest (d L, d R )-ograniczony, jeśli wierzchołki w L mają stopień ograniczony przez d L, zaś wierzchołki w R mają stopień ograniczony przez d R. Definicja 2 Graf j.w. jest (d L, d R )-regularny, jeśli wierzchołki w L mają stopień dokładnie d L, zaś wierzchołki w R mają stopień dokładnie d R. Definicja 3 Graf dwudzielny B = (L, R, E) jest (α, δ)-ekspanderem, jeśli dla wszystkich S L ( L = n) takich, że S < δn zachodzi (S) α S, gdzie (S) = {r R s S, (s, r) E}.

6 : Notatki Twierdzenie 1 Jeśli graf G = (L, R, E) jest (d L, d R ) ograniczony oraz jest (α, δ)-ekspanderem, to kod uzyskany z G przez konkatenację wartości bitów z L i R mają odległość 2αδ d L, o ile 2α > d L. Uwaga: (d L, d R )-ograniczony ekspander ma α d L. Twierdzenie 2 Jeśli graf G = (L, R, E) jest (d L, d R )-ograniczony oraz jest (α, δ)-ekspanderem i α > 3 4 d L, to wspomniany kod koryguje do ( 2α dl d L ) δ n, błędów w czasie liniowym. Złe wieści: nie ma jawnych konstrukcji (d L, d R )-ograniczonych ekspanderów dla α > 3 4 d L. Dobre wieści: losowe (d L, d R ) regularne grafy mają z dużym prawdopodobieństwem α > 3 4 d L. Bloki losowe Dla grafów losowych można określić wektory (λ 1,..., λ dl ) (ρ 1,..., ρ dr ), gdzie λ i 1 i 2 ρ i αi i! λ i prawdopodobieństwo, że wierzchołek po lewej ma stopień i, ρ i prawdopodobieństwo, że wierzchołek po prawej ma stopień i. Optymalne rozkłady: Literatura [BMT78] E. R. Berlekamp, R. J. McEliece, and H.C.A.van Tilborg. On the inherent intractability of certain coding problems. IEEE Transactions on Information Theory, 24:384 386, May 1978. [Gil52] [GV04] E.N. Gilbert. A comparison of signaling alphabets. Bell System Technical Journal, 31:504 522, 1952. Venkatesan Guruswami and Alexander Vardy. Maximum-likelihood decodong of reed-solomon codes is np-hard. Electronic Colloquium on Computational Complexity, (40), 2004.

: Notatki 7 [Ham50] Richard W. Hamming. Error detecting and error correcting codes. Bell System Technical Journal, 29:147 160, April 1950. [Han] Stan Hanley. Reed-solomon codes and cd encoding. http://web.usna.navy.mil/ wdj/reed-sol.htm. Notes to a course of Professor David Joyner. [Mul54] [Plo60] [Ree54] D.E. Muller. Application of boolean algebra to switching circuit design and to error detection. IEEE Transactions on Computers, 3:6 12, 1954. M. Plotkin. Binary codes with specified minimum distance. IRE Transactions on Information Theory, 6:445 450, 1960. Irving S. Reed. A class of multiple-error-correcting codes and the decoding scheme. IEEE Transactions on Information Theory, 4:38 49, 1954. [RS60] Irving S. Reed and Gustav Solomon. Polynomial codes over certain finite fields. J. SIAM, 8:300 304, 1960. [Sin64] Richard C. Singleton. Maximum distance q-nary codes. IEEE Transactions on Information Theory, 10:116 118, April 1964. [SS96] [Var57] [WB83] M. Spiser and D. Spielman. Expander codes. IEEE Transactions on Information Theory, 49(6):1710 1722, 1996. R.R. Varshamov. Estimate of the number of signals in error correcting codes. Doklady Akademii Nauk SSSR, 117:739 741, 1957. Russian. L. Welch and E.R. Berlekamp. Error correction for algebraic block codes. U.S. Patent 4 633 470, September 1983.