Teoria informacji - Entropia, informacja, kodowanie

Transkrypt

Teoria informacji - Entropia, informacja, kodowanie
teoria informacji
Entropia, informacja, kodowanie
Mariusz Różycki
24 sierpnia 2015
1
zakres materiału
zakres materiału
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
prace domowe
∙ 3 zadania: jedno dziś, dwa jutro,
4
prace domowe
∙ 3 zadania: jedno dziś, dwa jutro,
∙ nieobowiązkowe,
5
prace domowe
∙ 3 zadania: jedno dziś, dwa jutro,
∙ nieobowiązkowe,
∙ drobne nagrody dla osób, które je rozwiążą,
6
prace domowe
∙ 3 zadania: jedno dziś, dwa jutro,
∙ nieobowiązkowe,
∙ drobne nagrody dla osób, które je rozwiążą,
∙ rozwiązania należy dostarczyć do czwartku.
7
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.
…
8
czym jest teoria informacji?
czym jest teoria informacji?
∙ Czym jest informacja i jak ją mierzyć?
10
czym jest teoria informacji?
∙ Czym jest informacja i jak ją mierzyć?
∙ Jaki jest związek między informacją a niepewnością?
11
czym jest teoria informacji?
∙ Czym jest informacja i jak ją mierzyć?
∙ Jaki jest związek między informacją a niepewnością?
∙ Jak najefektywniej przechowywać i przesyłać informacje?
12
czym jest teoria informacji?
∙ Czym jest informacja i jak ją mierzyć?
∙ Jaki jest związek między informacją a niepewnością?
∙ Jak najefektywniej przechowywać i przesyłać informacje?
∙ Jak radzić sobie z błędami przy przesyle informacji?
13
czym jest teoria informacji?
∙ Czym jest informacja i jak ją mierzyć?
∙ Jaki jest związek między informacją a niepewnością?
∙ Jak najefektywniej przechowywać i przesyłać informacje?
∙ Jak radzić sobie z błędami przy przesyle informacji?
∙ Jak bezstratnie opisać ciągły sygnał?
14
wprowadzenie matematyczne
alfabet
Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy
przez Σ.
16
alfabet
Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy
przez Σ.
Przykłady alfabetów:
∙ {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}
17
alfabet
Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy
przez Σ.
Przykłady alfabetów:
∙ {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}
∙ {a, b, c, d}
18
alfabet
Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy
przez Σ.
Przykłady alfabetów:
∙ {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}
∙ {a, b, c, d}
∙ {0, 1}
19
alfabet
Alfabet to skończony zbiór symboli. Alfabet z reguły oznaczamy
przez Σ.
Przykłady alfabetów:
∙ {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z}
∙ {a, b, c, d}
∙ {0, 1}
∙ {♡, ♢, ♠, ♣}
20
prawdopodobieństwo (i)
Prawdopodobieństwo opisuje jak często dany wynik
doświadczenia będzie występować przy wielu powtórzeniach.
Tutaj interesuje nas prawdopodobieństwo występowania
danego symbolu alfabetu. Będziemy zapisywać, na przykład,
p(0) = 0.5, aby określić częstotliwość występowania symbolu.
21
prawdopodobieństwo (ii)
Istotne własności prawdopodobieństwa:
∙ 0 ⩽ p(a) ⩽ 1,
∙ p(a ∨ b) = p(a) + p(b), jeżeli a i b są rozłączne,
∙ p(a) = 1 − p(aC ), gdzie p(aC ) to prawdopodobieństwo, że a
nie zajdzie.
22
prawdopodobieństwo subiektywne
Prawdopodobieństwo subiektywne opisuje stopień wiary w to,
że dane wydarzenie nastąpi. Używane jest do opisu zdarzeń,
których nie da się wielokrotnie powtórzyć.
23
logarytm
Logarytm o podstawie b z liczby n to potęga, do której należy
podnieść b, aby otrzymać n.
logb n = k ⇔ bk = n
24
logarytm
Logarytm o podstawie b z liczby n to potęga, do której należy
podnieść b, aby otrzymać n.
logb n = k ⇔ bk = n
Tutaj interesuje nas wyłącznie logarytm o podstawie 2, zatem
będziemy pomijać podstawę w zapisie – w domyśle jest to 2.
25
zadanie
Znajdź wartości poniższych logarytmów
(a) log 16
(b) log 4
(c) log 1
(d) log 21
(e) log 81
1
(f) log 64
26
własności logarytmów
Interesują nas w szczególności te dwie własności logarytmów:
∙ log(ab) = log a + log b,
∙ log a1 = − log a
27
zadanie
Udowodnij prawdziwość tych dwóch własności logarytmów:
(a) log(ab) = log a + log b,
(b) log a1 = − log a
28
entropia i informacja
informacja
Informacja którą niesie ze sobą dane wydarzenie (symbol) jest
równa logarytmowi z jego prawdopodobieństwa.
I = log2 p
30
własności informacji
∙ jest zawsze ujemna,
31
własności informacji
∙ jest zawsze ujemna,
∙ jest addytywna,
32
własności informacji
∙ jest zawsze ujemna,
∙ jest addytywna,
∙ informacja niesiona przez wydarzenie pewne jest równa 0.
33
entropia
Entropia jest miarą niepewności. Jest przeciwnością informacji.
H = −I = − log p = log
1
p
34
35
i want to play a game
Pomyślę o jakiejś literze alfabetu. Możecie zadawać dowolne
pytania tak/nie na temat tej litery. Zadaniem jest zgadnąć o
jaką literę chodzi przy użyciu jak najmniejszej liczby pytań.
Ile pytań będzie potrzebne?
36
entropia alfabetu
Entropia alfabetu to średnia entropia wszystkich jego symboli.
H=−
∑
pi log pi
i
37
zadanie
Policz entropię 26-literowego alfabetu, w którym każdy z
symboli posiada takie samo prawdopodobieństwo.
38
i want to play a game (again)
Entropia 26-literowego alfabetu wynosi 4.7 bitów, a każde z
pytań tak/nie niesie ze sobą między 0 a 1 bitów informacji.
Przy odpowiednim doborze pytań nigdy nie będzie ich
potrzeba więcej niż 5.
39
entropia dla różnych prawdopodobieństw
W rzeczywistości niektóre litery występują w tekście częściej
niż inne. Na przykład dla angielskiego alfabetu:
E
.105
T
.072
O
.066
A
.063
N
.059
I
.055
R
.054
S
.052
…
…
40
entropia dla różnych prawdopodobieństw
W rzeczywistości niektóre litery występują w tekście częściej
niż inne. Na przykład dla angielskiego alfabetu:
E
.105
T
.072
O
.066
A
.063
N
.059
I
.055
R
.054
S
.052
…
…
Rzeczywista entropia angielskiego alfabetu wynosi niemal
dokładnie 4 bity.
41
kodowanie
kod
Kod to przekształcenie ciągu symboli jednego alfabetu w ciąg
symboli innego (mniejszego) alfabetu. W szczególności
interesują nas przekształcenia na alfabet {0, 1}, jako że w
takiej formie przechowywane i przesyłane są informacje w
komputerach.
43
kod
Kod to przekształcenie ciągu symboli jednego alfabetu w ciąg
symboli innego (mniejszego) alfabetu. W szczególności
interesują nas przekształcenia na alfabet {0, 1}, jako że w
takiej formie przechowywane i przesyłane są informacje w
komputerach.
Każdemu symbolowi (lub ciągowi symboli) oryginalnego
alfabetu przypisujemy słowo kodowe, czyli ciąg symboli w
drugim alfabecie.
44
ascii
Kodowanie ASCII przypisuje każdej literze (osobno małej i
wielkiej) alfabetu angielskiego, cyfrze, niektórym znakom
interpunkcyjnym i innym specjalnym symbolom, 8-bitowe
słowo kodowe.
0
1
2
3
0011 0000
0011 0001
0011 0010
0011 0011
A
B
C
D
0100 0001
0100 0010
0100 0011
0100 0100
…
a
b
c
d
0110 0001
0110 0010
0110 0011
0110 0100
45
kody o stałej długości
Jeżeli każde ze słów kodowych w danym kodzie ma tę samą
długość, to mówimy, że jest to kod o stałej długości.
Kody takie są zazwyczaj bardzo nieefektywne.
46
stopa kodu
Stopa kodu to średnia długość słowa kodowego w tym kodzie.
47
zadanie
Policz stopę następującego kodu:
Symbol
A
B
C
D
p
1
2
1
4
1
8
1
8
Słowo kodowe
0
10
110
111
48
kod bezprefiksowy
Kod bezprefiksowy to taki, w którym żadne ze słów kodowych
nie jest prefiksem innego słowa kodowego.
49
zadanie
Które z trzech kodów poniżej są bezprefiksowe?
Symbol
A
B
C
D
Kod 1
1
00
01
10
Kod 2
0
10
110
111
Kod 3
0
01
011
111
50
pierwsze twierdzenia shannona
Dla dyskretnego żródła o entropii H, dla dowolnego ϵ > 0, jest
możliwe skonstruowanie kodu o stopie R = H + ϵ.
51
kody huffmana
Kod Huffmana budowany jest w postaci drzewa binarnego, od
dołu, wedle następującej procedury:
1. Wybierz dwa symbole o najniższych prawdopodobieństwach.
2. Dodaj bit 0/1 aby rozróżnić te dwa symbole.
3. Zastąp te dwa symbole nowym, o zsumowanym
prawdopodobieństwie.
4. Jeżeli został więcej niż jeden symbol wróć do 1.
52
zadanie
Dany jest alfabet {A, B, C, D, E} o prawdopodobieństwach
p(A) = p(B) = p(C) = 41 i p(D) = p(E) = 81 . Policz entropię tego
alfabetu. Skonstruuj kod Huffmana dla tego alfabetu i policz
jego stopę.
53
podsumowanie dzisiejszych zajęć
∙ Wprowadzenie matematyczne.
∙ Entropia i informacja.
∙ Kodowanie.
∙ Kod ASCII.
∙ Stopa kodu.
∙ Kody bezprefiksowe.
∙ Pierwsze twierdzenie Shannona.
∙ Kody Huffmana.
54
praca domowa 1
Dany jest alfabet i prawdopodobieństwa:
A
B
C
D
E
F
G
H
1
2
1
4
1
8
1
16
1
32
1
64
1
128
1
128
Policz entropię tego alfabetu. Skonstruuj dla niego kod
Huffmana i policz jego stopę. Czy to kodowanie jest optymalne
dla tego alfabetu?
55
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.
…
56

Podobne dokumenty