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

Podobne dokumenty
0 + 0 = 0, = 1, = 1, = 0.

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

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

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

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

W11 Kody nadmiarowe, zastosowania w transmisji danych

Kody blokowe Wykład 2, 10 III 2011

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Laboratorium ochrony danych

Matematyka dyskretna

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

1. Wykład NWD, NWW i algorytm Euklidesa.

Grupy, pierścienie i ciała

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

LISTA 1 ZADANIE 1 a) 41 x =5 podnosimy obustronnie do kwadratu i otrzymujemy: 41 x =5 x 5 x przechodzimy na system dziesiętny: 4x 1 1=25 4x =24

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

Liczby zmiennoprzecinkowe i błędy

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

Joanna Kluczenko 1. Spotkania z matematyka

W. Guzicki Zadanie 41 z Informatora Maturalnego poziom podstawowy 1

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

Dlaczego nie wystarczają liczby wymierne

Wojewódzki Przedmiotowy Konkurs z informatyki dla uczniów szkół gimnazjalnych ETAP REJONOWY 2013/2014 TEST

Kody blokowe Wykład 1, 3 III 2011

Algorytm. a programowanie -

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Przykładowe zadania z teorii liczb

Laboratorium podstaw elektroniki

Luty 2001 Algorytmy (7) 2000/2001

ARCHITEKTURA KOMPUTERÓW Systemy liczbowe

Moneta 1 Moneta 2 Kostka O, R O,R 1,2,3,4,5, Moneta 1 Moneta 2 Kostka O O ( )

Analiza matematyczna i algebra liniowa Macierze

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Zbiory, relacje i funkcje

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

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

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

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Paweł Gładki. Algebra. pgladki/

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

wagi cyfry pozycje

Arytmetyka liczb binarnych

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

Układy równań i nierówności liniowych

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

BADANIE DIAGNOSTYCZNE W ROKU SZKOLNYM 2012/2013

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Pracownia Komputerowa wyk ad IV

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych

Operacje arytmetyczne

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

Zestaw zadań dotyczących liczb całkowitych

Rozwiązaniem jest zbiór (, ] (5, )


Podstawy Informatyki

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

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

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Kod U2 Opracował: Andrzej Nowak

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

Interfejsy systemów pomiarowych

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Dzień pierwszy- grupa młodsza

Rozdział 1. Zadania. 1.1 Liczby pierwsze. 1. Wykorzystując sito Eratostenesa wyznaczyć wszystkie liczby pierwsze mniejsze niż 200.

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wojewódzki Konkurs Przedmiotowy z Matematyki etap szkolny. Przykładowe rozwiązania i propozycja punktacji rozwiązań

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

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

Architektura komputerów

KURS MATEMATYKA DYSKRETNA

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

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

NUMERY LOKALIZACYJNE EAN

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

KONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności.

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

Pracownia Komputerowa wykład IV

Wojewódzki Przedmiotowy Konkurs z informatyki dla uczniów szkół gimnazjalnych ETAP REJONOWY 2008/2009 TEST

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

Matematyka II - Organizacja zajęć. Egzamin w sesji letniej

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Rozwiązania, seria 5.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Transkrypt:

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl

Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 2 / 24

Przykłady kodów wykrywających błędy Przykłady kodów wykrywających błędy Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 3 / 24

Kod ISBN RUDOLF KIPPENHAHN Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 4 / 24

Kod ISBN RUDOLF KIPPENHAHN TAJEMNE PRZEKAZY SZYFRY, ENIGMA I KARTY CHIPOWE Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 4 / 24

Kod ISBN RUDOLF KIPPENHAHN TAJEMNE PRZEKAZY SZYFRY, ENIGMA I KARTY CHIPOWE Na ścieżkach nauki Wydawnictwo Prószyński i S-ka Warszawa 2000 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 4 / 24

Kod ISBN RUDOLF KIPPENHAHN TAJEMNE PRZEKAZY SZYFRY, ENIGMA I KARTY CHIPOWE Na ścieżkach nauki Wydawnictwo Prószyński i S-ka Warszawa 2000 ISBN 83-7255-073-5 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 4 / 24

Kod ISBN Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 5 / 24

Kontrola poprawności kodu ISBN ISBN 83-7255-073-5 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 6 / 24

Kontrola poprawności kodu ISBN ISBN 83-7255-073-5 10 8 + 9 3 + 8 7 + 7 2 + 6 5 + 5 5 + 4 0 + 3 7 + 2 3 + 1 5 = 264 = 11 24 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 6 / 24

Kontrola poprawności kodu ISBN ISBN 83-7255-073-5 10 8 + 9 3 + 8 7 + 7 2 + 6 5 + 5 5 + 4 0 + 3 7 + 2 3 + 1 5 = 264 = 11 24 Każdy numer ISBN po zastosowaniu powyższej procedury daje wynik podzielny przez 11. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 6 / 24

Algorytm podzielności przez 11 Kiedy liczba x 1 x 2 x 3 x 4... x n jest podzielna przez 11? Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 7 / 24

Algorytm podzielności przez 11 Kiedy liczba x 1 x 2 x 3 x 4... x n jest podzielna przez 11? Kryterium Liczba naturalna x 1 x 2 x 3 x 4... x n (gdzie x 1, x 2, x 3, x 4..., x n są jej cyframi przy zapisie dziesiętnym) jest podzielna przez 11 dokładnie wtedy gdy wartość wyrażenia x 1 x 2 + x 3 x 4 +... (stawiamy między cyframi raz plus, raz minus) jest podzielna przez 11. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 7 / 24

Algorytm podzielności przez 11 Kiedy liczba x 1 x 2 x 3 x 4... x n jest podzielna przez 11? Kryterium Liczba naturalna x 1 x 2 x 3 x 4... x n (gdzie x 1, x 2, x 3, x 4..., x n są jej cyframi przy zapisie dziesiętnym) jest podzielna przez 11 dokładnie wtedy gdy wartość wyrażenia x 1 x 2 + x 3 x 4 +... (stawiamy między cyframi raz plus, raz minus) jest podzielna przez 11. Przykład Liczba 7256436 jest podzielna przez 11 bo 7 2 + 5 6 + 4 3 + 6 = 11 jest podzielne przez 11. Rzeczywiście 7256436 : 11 = 659676 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 7 / 24

Karty Visa Każdy numer karty Visa złożony jest z 12 cyfr. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 8 / 24

Karty Visa Każdy numer karty Visa złożony jest z 12 cyfr. Weźmy kartę Visa o numerze: 0 6 9 9 0 0 4 3 1 3 1 3 9 6 4 2 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 8 / 24

Karty Visa Każdy numer karty Visa złożony jest z 12 cyfr. Weźmy kartę Visa o numerze: 0 6 9 9 0 0 4 3 1 3 1 3 9 6 4 2 Pod spodem wypisujemy cyfry z nieparzystych pozycji: 0 6 9 9 0 0 4 3 1 3 1 3 9 6 4 2 6 9 0 3 3 3 6 2 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 8 / 24

Kontrola poprawności numeru karty Visa Cyfry z pozycji parzystych mnożymy przez dwa i wpisujemy kolejno w puste miejsca (jeśli przy mnożeniu otrzymamy liczbę większą od 9 to odejmujemy od niej 9). itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 9 / 24

Kontrola poprawności numeru karty Visa Cyfry z pozycji parzystych mnożymy przez dwa i wpisujemy kolejno w puste miejsca (jeśli przy mnożeniu otrzymamy liczbę większą od 9 to odejmujemy od niej 9). 0 6 9 9 0 0 4 3 1 3 1 3 9 6 4 2 6 9 0 3 3 3 6 2 0 6 9 9 0 0 8 3 2 3 2 3 9 6 8 2 itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 9 / 24

Kontrola poprawności numeru karty Visa Cyfry z pozycji parzystych mnożymy przez dwa i wpisujemy kolejno w puste miejsca (jeśli przy mnożeniu otrzymamy liczbę większą od 9 to odejmujemy od niej 9). 0 6 9 9 0 0 4 3 1 3 1 3 9 6 4 2 6 9 0 3 3 3 6 2 0 6 9 9 0 0 8 3 2 3 2 3 9 6 8 2 Tak otrzymane cyfry dodajemy do siebie: 0 + 6 + 9 + 9 + 0 + 0 + 8 + 3 + 2 + 3 + 2 + 3 + 9 + 6 + 8 + 2 I sprawdzamy czy wynik jest podzielny przez 10. Jeśli tak jest to numer karty jest poprawny. W naszym przypadku wynik jest równy 70. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 9 / 24

Kod kontroli parzystości Rozważmy wszystkie binarne ciągi ośmiobitowe. To znaczy wszystkie ciagi x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8, dla których każda pozycja x i jest równa 1 lub 0 (jest ich 2 8 = 256). itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 10 / 24

Kod kontroli parzystości Rozważmy wszystkie binarne ciągi ośmiobitowe. To znaczy wszystkie ciagi x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8, dla których każda pozycja x i jest równa 1 lub 0 (jest ich 2 8 = 256). Niech C będzie zbiorem tych wszystkich ciągów, które mają w swoim zapisie parzystą liczbę 1. Na przykład 01111111 nie należy do C, a 11111111 należy. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 10 / 24

Kod kontroli parzystości Rozważmy wszystkie binarne ciągi ośmiobitowe. To znaczy wszystkie ciagi x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8, dla których każda pozycja x i jest równa 1 lub 0 (jest ich 2 8 = 256). Niech C będzie zbiorem tych wszystkich ciągów, które mają w swoim zapisie parzystą liczbę 1. Na przykład 01111111 nie należy do C, a 11111111 należy. Uznajemy ciągi należące do C za prawidłowe, a te które do C nie należą za nieprawidłowe. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 10 / 24

Kod kontroli parzystości Rozważmy wszystkie binarne ciągi ośmiobitowe. To znaczy wszystkie ciagi x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8, dla których każda pozycja x i jest równa 1 lub 0 (jest ich 2 8 = 256). Niech C będzie zbiorem tych wszystkich ciągów, które mają w swoim zapisie parzystą liczbę 1. Na przykład 01111111 nie należy do C, a 11111111 należy. Uznajemy ciągi należące do C za prawidłowe, a te które do C nie należą za nieprawidłowe. C nazywamy kodem kontroli parzystości. Kod ten jest wykorzystywany do testowania pamięci komputera. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 10 / 24

Kod kontroli parzystości Rozważmy wszystkie binarne ciągi ośmiobitowe. To znaczy wszystkie ciagi x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8, dla których każda pozycja x i jest równa 1 lub 0 (jest ich 2 8 = 256). Niech C będzie zbiorem tych wszystkich ciągów, które mają w swoim zapisie parzystą liczbę 1. Na przykład 01111111 nie należy do C, a 11111111 należy. Uznajemy ciągi należące do C za prawidłowe, a te które do C nie należą za nieprawidłowe. C nazywamy kodem kontroli parzystości. Kod ten jest wykorzystywany do testowania pamięci komputera. Kod ten wykrywa błędy pojedyńcze. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 10 / 24

Przykłady kodów umozliwiających poprawianie błędów Przykłady kodów korekcyjnych Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 11 / 24

Kod powtórzeniowy Rozważmy wszystkie trzybitowe ciągi binarne 000, 001, 010, 011, 100, 101, 110, 111 itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 12 / 24

Kod powtórzeniowy Rozważmy wszystkie trzybitowe ciągi binarne 000, 001, 010, 011, 100, 101, 110, 111 Umówmy się teraz, że nadawca wysyła tylko dwa ciągi 000 i 111. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 12 / 24

Kod powtórzeniowy Rozważmy wszystkie trzybitowe ciągi binarne 000, 001, 010, 011, 100, 101, 110, 111 Umówmy się teraz, że nadawca wysyła tylko dwa ciągi 000 i 111. Możemy to rozumieć tak, że podstawowymi znakami wysyłanymi są 0 i 1. Aby poprawić niezawodność przekazu nadawca zamiast wysyłać do odbiorcy 0 to wysyła 000, a zamiast wysyłać 1 wysyła 111. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 12 / 24

Kod powtórzeniowy Rozważmy wszystkie trzybitowe ciągi binarne 000, 001, 010, 011, 100, 101, 110, 111 Umówmy się teraz, że nadawca wysyła tylko dwa ciągi 000 i 111. Możemy to rozumieć tak, że podstawowymi znakami wysyłanymi są 0 i 1. Aby poprawić niezawodność przekazu nadawca zamiast wysyłać do odbiorcy 0 to wysyła 000, a zamiast wysyłać 1 wysyła 111. Ponieważ w trakcie transmisji mogło dojść do przekłamań na każdej pozycji to odbiorca może otrzymać każdy trzybitowy ciąg. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 12 / 24

Przykład korekcji C = {000, 111}. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 13 / 24

Przykład korekcji C = {000, 111}. Przypuśćmy, że odborca otrzymał wiadomość 101. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 13 / 24

Przykład korekcji C = {000, 111}. Przypuśćmy, że odborca otrzymał wiadomość 101. Wie, że ona jest błędna ale zauważa, że ciąg ten różni się od 000 dwoma pozycjami, a od 111 tylko jedną. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 13 / 24

Przykład korekcji C = {000, 111}. Przypuśćmy, że odborca otrzymał wiadomość 101. Wie, że ona jest błędna ale zauważa, że ciąg ten różni się od 000 dwoma pozycjami, a od 111 tylko jedną. Zakładając, że rzadziej popełnia się dwa błędy niż jeden może stwierdzić (z przekonaniem graniczącym z pewnością), że nadanym ciągiem był 111. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 13 / 24

Ogólna zasada korekcji Możemy teraz trzybitowe ciągi binarne podzielić na dwa obozy : 000 001 010 100 111 011 101 110 itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 14 / 24

Ogólna zasada korekcji Możemy teraz trzybitowe ciągi binarne podzielić na dwa obozy : 000 001 010 100 111 011 101 110 Obóz czerwony to ciągi bliżej położone do 000, a niebieski ciągi bliżej położone do 111. Zatem ciągi czerwone będziemy odczytywać jako 000, a niebieskie jako 111. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 14 / 24

Ogólna zasada korekcji Możemy teraz trzybitowe ciągi binarne podzielić na dwa obozy : 000 001 010 100 111 011 101 110 Obóz czerwony to ciągi bliżej położone do 000, a niebieski ciągi bliżej położone do 111. Zatem ciągi czerwone będziemy odczytywać jako 000, a niebieskie jako 111. Tak przyjęta zasada nazywana jest Zasadą Największej Wiarygodności itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 14 / 24

Ogólna zasada korekcji Możemy teraz trzybitowe ciągi binarne podzielić na dwa obozy : 000 001 010 100 111 011 101 110 Obóz czerwony to ciągi bliżej położone do 000, a niebieski ciągi bliżej położone do 111. Zatem ciągi czerwone będziemy odczytywać jako 000, a niebieskie jako 111. Tak przyjęta zasada nazywana jest Zasadą Największej Wiarygodności Kod ten wykrywa błędy podwójne, koryguje błędy pojedyńcze. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 14 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. Nadawca nadaje do odbiorcy tylko ciągi ze zbioru C. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. Nadawca nadaje do odbiorcy tylko ciągi ze zbioru C. Odbiorca może otrzymać dowolny ciąg n-bitowy. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. Nadawca nadaje do odbiorcy tylko ciągi ze zbioru C. Odbiorca może otrzymać dowolny ciąg n-bitowy. Jeśli otrzyma ciąg y i ten ciąg należy do zbioru C to przyjmuje, że y został prawidłowo odebrany. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. Nadawca nadaje do odbiorcy tylko ciągi ze zbioru C. Odbiorca może otrzymać dowolny ciąg n-bitowy. Jeśli otrzyma ciąg y i ten ciąg należy do zbioru C to przyjmuje, że y został prawidłowo odebrany. Jeśli y nie należy do C to (odbiorca) szuka element c ze zbioru C, który różni się o najmniejszą liczbę pozycji od y. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Zasada Największej Wiarygodności Ustalmy liczbę n. Rozważmy zbiór wszystkich n-bitowych ciągów binarnych. Oznaczymy go przez {0, 1} n. Niech C będzie niepustym podzbiorem tego zbioru. Nadawca nadaje do odbiorcy tylko ciągi ze zbioru C. Odbiorca może otrzymać dowolny ciąg n-bitowy. Jeśli otrzyma ciąg y i ten ciąg należy do zbioru C to przyjmuje, że y został prawidłowo odebrany. Jeśli y nie należy do C to (odbiorca) szuka element c ze zbioru C, który różni się o najmniejszą liczbę pozycji od y. Jeśli takie c jest jedyne to odbiorca uznaje, że c zostało nadane (koryguje y na c). itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 15 / 24

Przykład Rozważmy zbiór czterobitowych ciągów binarnych. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 16 / 24

Przykład Rozważmy zbiór czterobitowych ciągów binarnych. Niech C = {0000, 1111} Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 16 / 24

Przykład Rozważmy zbiór czterobitowych ciągów binarnych. Niech C = {0000, 1111} Jeśli odbiorca otrzymał 0001 to może przyjąć, że nadany został 0000 bo 0001 różni się o jedną pozycję od 0000 i aż o trzy pozycje od 1111. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 16 / 24

Przykład Rozważmy zbiór czterobitowych ciągów binarnych. Niech C = {0000, 1111} Jeśli odbiorca otrzymał 0001 to może przyjąć, że nadany został 0000 bo 0001 różni się o jedną pozycję od 0000 i aż o trzy pozycje od 1111. Jeśli otrzymał jednak 0011 to ma problem bo ciąg ten różni się od dwie pozycje i od 0000 i od 1111. Musi więc zrezygnować (lub przyjąć jakąś inną zasadę). Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 16 / 24

Kody Hamminga Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 17 / 24

Działania modulo 2 W zbiorze {0, 1} możemy zdefiniować działania dodawania i mnożenia modulo 2: 0 + 2 0 = 0 0 + 2 1 = 1 1 + 2 0 = 1 1 + 2 1 = 0 0 2 0 = 0 0 2 1 = 1 1 2 0 = 1 1 2 1 = 0 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 18 / 24

Macierz Wypiszmy w kolumnach wszystkie niezerowe trzybitowe ciągi binarne: Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 19 / 24

Macierz Wypiszmy w kolumnach wszystkie niezerowe trzybitowe ciągi binarne: H = 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 19 / 24

Mnożenie macierzy Definiujemy mnożenie: 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = 0 x 1 + 0 x 2 + 0 x 3 + 1 x 4 + 1 x 5 + 1 x 6 + 1 x 7 0 x 1 + 1 x 2 + 1 x 3 + 0 x 4 + 0 x 5 + 1 x 6 + 1 x 7 1 x 1 + 0 x 2 + 1 x 3 + 0 x 4 + 1 x 5 + 0 x 6 + 1 x 7 x 4 + x 5 + x 6 + x 7 x 2 + x 3 + x 6 + x 7 x 1 + x 3 + x 5 + x 6 + x 7 = Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 20 / 24

Mnożenie macierzy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = x 4 + x 5 + x 6 + x 7 x 2 + x 3 + x 6 + x 7 x 1 + x 3 + x 5 + x 6 + x 7 itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 21 / 24

Mnożenie macierzy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = x 4 + x 5 + x 6 + x 7 x 2 + x 3 + x 6 + x 7 x 1 + x 3 + x 5 + x 6 + x 7 Działania wykonujemy oczywiście modulo 2. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 21 / 24

Kod Hamminga Za prawidłowe (wysyłane) uznajemy te ciągi siedmiobitowe x 1 x 2 x 3 x 4 x 5 x 6 x 7, dla których 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = 0 0 0 itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 22 / 24

Kod Hamminga Za prawidłowe (wysyłane) uznajemy te ciągi siedmiobitowe x 1 x 2 x 3 x 4 x 5 x 6 x 7, dla których 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = 0 0 0 Na przykład 0000000, 1111111 są prawidłowe, a 1111110 nie Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 22 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = y 1 y 2 y 3 y 4 y 5 y 6 y 7. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 23 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = y 1 y 2 y 3 y 4 y 5 y 6 y 7. 2 Obliczamy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 y 1 y 2 y 3 y 4 y 5 y 6 y 7 = s 1 s 2 s 3 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 23 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = y 1 y 2 y 3 y 4 y 5 y 6 y 7. 2 Obliczamy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 y 1 y 2 y 3 y 4 y 5 y 6 y 7 = 3 Jeśli s 1 s 2 s 3 = 000 to y został prawidłowo odebrany. s 1 s 2 s 3 Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 23 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = y 1 y 2 y 3 y 4 y 5 y 6 y 7. 2 Obliczamy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 y 1 y 2 y 3 y 4 y 5 y 6 y 7 = 3 Jeśli s 1 s 2 s 3 = 000 to y został prawidłowo odebrany. s 1 4 Jeśli s 1 s 2 s 3 000 to s 2 jest jedną z kolumn macierzy H. s 3 Szukamy numeru tej kolumny i y korygujemy zmieniając znak na pozycji odpowiadającej temu numerowi (to znaczy zmieniamy 0 na 1 i 1 na 0). itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 23 / 24 s 1 s 2 s 3

Algorytm korekcji 1 Otrzymujemy ciąg y = 1111000. Witold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 24 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = 1111000. 2 Obliczamy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 = 1 0 0 Witold Tomaszewski (Instytut Matematyki Politechniki Śląskieje-mail: Witold.Tomaszewski@polsl.pl) Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach 24 / 24

Algorytm korekcji 1 Otrzymujemy ciąg y = 1111000. 2 Obliczamy 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 = 1 0 0 3 Ponieważ to co otrzymaliśmy jest czwartą kolumną macierzy H to w wektorze odebranym 1111000 zmieniamy czwartą pozycję otrzymując 1110000. itold Tomaszewski (Instytut Matematyki Polska-Brazylia Politechniki Śląskieje-mail: 5:0, czyli o poprawianiu Witold.Tomaszewski@polsl.pl) błędów w przekazywanych informacjach 24 / 24