Teoria informacji - Kanały komunikacyjne, kody korygujące

Transkrypt

Teoria informacji - Kanały komunikacyjne, kody korygujące
teoria informacji
Kanały komunikacyjne, kody korygujące
Mariusz Różycki
25 sierpnia 2015
1
wczoraj
∙ Wprowadzenie matematyczne.
∙ Entropia i informacja.
∙ Kodowanie.
∙ Kod ASCII.
∙ Stopa kodu.
∙ Kody bezprefiksowe.
∙ Pierwsze twierdzenie Shannona.
∙ Kody Huffmana.
2
dziś
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Czym jest teoria informacji?
Wprowadzenie matematyczne.
Entropia i informacja.
Kodowanie. Pierwsze twierdzenie Shannona.
Kodowanie Huffmana.
Entropia warunkowa i łączna. Informacja wzajemna.
Kanał komunikacyjny. Przepustowość kanału.
Binarny kanał symetryczny.
Drugie twierdzenie Shannona.
Kody korygujące błędy. Kod Hamminga.
Algorytmy kompresji: RLE, kodowanie arytmetyczne.
Złożoność Kolomogorova.
…
3
dwie gry na rozgrzewkę
zgadywanie liczby
Pomyśl sobie liczbę od 1 do 32 włącznie. Zapisz ją na kartce
papieru i nie pokazuj nikomu.
Pokażę ci 5 zestawów liczb, za każdym razem pytając czy twoja
liczba znajduje się w danym zestawie.
Potem powiem ci jaka była twoja liczba.
5
zgadywanie liczby (i)
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31
6
zgadywanie liczby (ii)
2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31
7
zgadywanie liczby (iii)
4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31
8
zgadywanie liczby (iv)
8, 9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31
9
zgadywanie liczby (v)
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31
10
zgadnij regułę
Podam wam ciąg 3 liczb, które spełniają pewną regułę.
Wy możecie podawać mi dowolne inne ciągi trzech liczb, a ja
wam powiem czy spełniają one moją regułę czy nie.
Musicie odgadnąć jaka to reguła.
11
zgadnij regułę
2, 4, 8
12
entropia warunkowa i łączna.
informacja wzajemna
notacja prawdopodobieństwa dla wielu alfabetów
Do zapisu prawdopodobieństw wewnątrz jednego alfabetu
używaliśmy skróconego zapisu p(a). W przypadku wielu
alfabetów (żródeł) używać będziemy zapisu p(X = a).
14
prawdopodobieństwo warunkowe
Prawdopodobieństwo p(X = a | Y = b) oznacza
prawdopodobieństwo że wartość źródła X będzie równa a,
jeżeli wartość źródła Y wynosi b.
Ta wartość, podobnie jak inne, będzie z reguły dana, jednak
możemy ją zdefiniować jako
p(X = a | Y = b) =
p(X = a, Y = b)
p(Y = b)
gdzie p(X = a, Y = b) to prawdopodobieństwo łączne.
15
prawdopodobieństwo łączne
Prawdopodobieńśtwo łączne określa prawdopodobieństwo że
dwa wydarzenia zajdą jednocześnie. Zapisujemy to
p(X = a, Y = b).
16
entropia łączna
Entropia łączna opisuje wspólną entropię dwóch alfabetów.
Jest po prostu entropią na zbiorze par symboli wziętych z
dwóch alfabetów.
H(X, Y) = −
∑
a,b
p(X = a, Y = b) log
1
p(X = a, Y = b)
17
zadanie
Dane są dwa źródła: X i Y, z tym samym alfabetem {0, 1, 2, 3}.
Prawdopodobieństwo dla każdego z tych symboli w źródle X
wynosi 41 .
Jeżeli źródło X emituje symbol n, to źródło Y emituje z
prawdopodobieństwem 21 ten sam symbol i z
prawdopodobieństwem 21 symbol n + 1 (przy czym jeżeli n = 3,
to n + 1 = 0).
Policz entropię łączną H(X, Y) tych dwóch źródeł.
18
entropia warunkowa
Podobnie do prawdopodobieństwa warunkowego, entropia
warunkowa określa wpływ znajomości jednego źródła na
entropię drugiego.
H(X | Y) = −
∑
p(X = a, Y = b) log p(X = a | Y = b)
a,b
19
zadanie
Dane są dwa źródła: X i Y, z tym samym alfabetem {0, 1, 2, 3}.
Prawdopodobieństwo dla każdego z tych symboli w źródle X
wynosi 41 .
Jeżeli źródło X emituje symbol n, to źródło Y emituje z
prawdopodobieństwem 21 ten sam symbol i z
prawdopodobieństwem 21 symbol n + 1 (przy czym jeżeli n = 3,
to n + 1 = 0).
Policz entropię warunkową H(X | Y) tych dwóch źródeł.
20
informacja wzajemna
Informacja wzajemna między dwoma źródłami mierzy jaką
ilość informacji jedno ze źródeł niesie na temat drugiego.
Innymi słowy, jest to średnia redukcja niepewności na temat
jednego źródła przy uzyskiwaniu informacji na temat drugiego.
I(X; Y) =
∑
a,b
p(X = a, Y = b) log
p(X = a, Y = b)
p(X = a)p(Y = b)
21
zadanie
Spójrz na diagram Venna prezentujący związki między
entropiami, entropiami warunkowymi, entropią łączną i
informacją wzajemną. Na jego podstawie znajdź 3 różne
wyrażenia pomagające obliczyć informację wzajemną z
pozostałych 5 wartości.
22
kanał komunikacyjny
kanał komunikacyjny
Kanał komunikacyjny składa się z dwóch źródeł (każdy z
własnym alfabetem): wejściowego X i wyjściowego Y, oraz
zestawu prawdopodobieństw warunkowych p(Y = b | X = a),
które opisują prawdopodobieństwo otrzymania danego
symbolu na wyjściu, jeżeli dany symbol pojawił się na wejściu.
24
przepustowość kanału
Przepustowość kanału to maksymalna wartość informacji
wzajemnej między wejściem a wyjściem kanału jaką możemy
otrzymać zmieniając rozkład prawdopodobieństw symboli na
wejściu.
25
binarny kanał symetryczny
Binarny kanał symetryczny posiada dwuelementowy alfabet na
wejściu i na wyjściu (na przykład {0, 1}). Posiada także stałe
prawdopodobieństwo p, że symbol na wyjściu będzie inny niż
na wejściu.
26
zadanie
Policz entropię źródła wejściowego i wyjściowego o
prawdopodobieństwie błędu p oraz równym
prawdopodobieństwie pojawienia się obu symboli na wejściu.
Znajdź warunkową entropię H(X | Y) oraz wzajemną informację
I(X; Y) między źródłem wejściowym a wyjściowym. Oblicz
liczbowe wartości tych wielkości dla
(a) p = 0
(b) p =
1
2
(c) p = 1
(d) p = 0.01
27
korekcja błędów
retransmisja
Aby zmniejszyć szansę na błędną transmisję, możemy przesłać
jeden bit wielokrotnie i wybrać jako wiążącą tę wartość, która
występuje więcej razy.
Jeżeli powtórzymy każdy bit siedmiokrotnie, co najmniej 4 z
transmisji muszą być błędne.
29
zadanie
Jeżeli prawdopodobieństwo błędnej transmisji pojedynczego
bitu wynosi p = 0.01, jakie jest prawdopodobieństwo błędnej
transmisji przy siedmiokrotnej retransmisji tego bitu? A 2k − 1
krotnej?
30
detekcja błędów
Naiwna retransmisja jest bardzo kosztowna. Co jeżeli przy
pierwszej próbie nie było błędu? Pozostałe 6 prób było wtedy
całkowicie zbędnych.
Możemy spróbować tak zakodować sygnał, aby wiedzieć czy
żaden z bitów nie został zamieniony przy transmisji.
31
dystans hamminga
Dystans Hamminga między dwoma ciągami 0 i 1 o jednakowych
długościach to liczba symboli które trzeba zamienić w jednym
ciągu aby uzyskać drugi.
Na przykład: dystans Hammina między 0110 i 1100 to 2.
32
zadanie
Policz dystans Hamminga między poniższymi parami ciągów:
(a) 01001, 01101
(b) 11010101, 11001010
(c) 111001010010, 111010010110
33
kodowanie wykrywające 1 błąd na n (i)
Możemy do każdego bloku n bitów dodać jeszcze jeden bit tak,
aby między żadną parą możliwych n + 1-bitowych ciągów nie
występował dystans Hamminga równy 1. Wtedy pojedyncza
zmiana wartości bitu będzie wykrywalna (otrzymamy na
wyjściu ciąg, który nie mógł być wysłany) i będziemy mogli
poprosić o retransmisję.
34
kodowanie wykrywające 1 błąd na n (ii)
Wystarczy jako n + 1-szy bit dodać bit parzystości. Jeżeli w n
bitach występuje parzysta liczba jedynek, dodatkowy bit będzie
równy 0, w przeciwnym razie będzie równy 1.
Każdy n + 1-bitowy blok będzie zawierać wtedy parzystą liczbę
jedynek. Zmiana wartości jednego bitu da nam nieparzystą
liczbę jedynek w bloku, czyli łatwo wykrywalny błąd przesyłu.
35
zadanie
Skonstruuj 4-bitowy kod wykrywający pojedynczy błąd w
3-bitowych blokach.
36
zadanie
Co się stanie, jeżeli zmianie ulegną 2 bity? A 3 bity?
37
drugie twierdzenie shannona
Mając dany kanał o przepustowości C i źródło o entropii H, przy
założeniu, że H ⩽ C, da się skonstruować taki kod, aby
prawdopodobieństwo błędu przesyłu (bez retransmisji!) było
mniejsze niż dowolnie małe ϵ ⩾ 0.
38
kodowanie systematyczne 7/4 hamminga (i)
Przykładem takiego kodu jest kodowanie Hamminga. Jest ono
w stanie przesłać 4 bity informacji na 7 bitach
transmitowanych, mogąc przy tym poprawić pojedynczy błąd
na dowolnym z 7 transmitowanych bitów (bez retransmisji!).
39
kodowanie systematyczne 7/4 hamminga (ii)
Dane są przesyłane w 7-bitowych blokach b1 b2 b3 b4 b5 b6 b7 .
40
kodowanie systematyczne 7/4 hamminga (ii)
Dane są przesyłane w 7-bitowych blokach b1 b2 b3 b4 b5 b6 b7 .
Wyłącznie bity b3 , b5 , b6 i b7 przesyłają właściwe informacje,
natomiast bity b1 , b2 i b4 służą do wykrywania i korekcji błędów.
41
kodowanie systematyczne 7/4 hamminga (iii)
Bity korygujące błędy zdefiniowane są następująco:
b4 = b5 ⊕ b6 ⊕ b7
b2 = b3 ⊕ b6 ⊕ b7
b1 = b5 ⊕ b5 ⊕ b7
42
kodowanie systematyczne 7/4 hamminga (iii)
Bity korygujące błędy zdefiniowane są następująco:
b4 = b5 ⊕ b6 ⊕ b7
b2 = b3 ⊕ b6 ⊕ b7
b1 = b5 ⊕ b5 ⊕ b7
Przy odbiorze bloku obliczamy syndromy s1 , s2 i s4 :
s 4 = b4 ⊕ b5 ⊕ b6 ⊕ b7
s 2 = b2 ⊕ b3 ⊕ b6 ⊕ b7
s 1 = b1 ⊕ b3 ⊕ b5 ⊕ b7
Jeżeli wszystkie syndromy są równe 0, nie było błędu. W
przeciwnym razie bit 4s4 + 2s2 + s1 był błędny.
43
gra ulama
Pomyślę o liczbie między 0 a 15 włącznie.
Możesz zadać 7 pytań tak/nie o moją liczbę. Mogę skłamać w
odpowiedzi na co najwyżej jedno pytanie.
Czy jesteś w stanie odgadnąć moją liczbę?
44
podsumowanie dzisiejszych zajęć
∙ Entropia warunkowa i łączna.
∙ Informacja wzajemna.
∙ Kanał komunikacyjny i przepustowość.
∙ Binarny kanał symetryczny.
∙ Retransmisja.
∙ Wykrywanie błędów przez bit parzystości.
∙ Drugie twierdzenie Shannona.
∙ Kod korygujący błędy – kod Hamminga.
45
praca domowa 2
Wypisz wszystkie 7-bitowe bloki kodu systematycznego
Hamminga. Policz dystans Hamminga między każdą parą
bloków. Jaka jest minimalna wartość? Co to oznacza?
46
jutro
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Czym jest teoria informacji?
Wprowadzenie matematyczne.
Entropia i informacja.
Kodowanie. Pierwsze twierdzenie Shannona.
Kodowanie Huffmana.
Entropia warunkowa i łączna. Informacja wzajemna.
Kanał komunikacyjny. Przepustowość kanału.
Binarny kanał symetryczny.
Drugie twierdzenie Shannona.
Kody korygujące błędy. Kod Hamminga.
Algorytmy kompresji: RLE, kodowanie arytmetyczne.
Złożoność Kolomogorova.
…
47