Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl
Je n ai fait celle-ci plus longue que parce que je n ai pas eu le loisir de la faire plus courte. (Napisałem ten [list] trochę dłuższy, gdyż nie miałem czasu napisać go krócej). Blaise Pascal, Lettres provinciales, 1657 o tym jak zwięźle zapisywać informacje 2 / 33
o tym jak zwięźle zapisywać informacje 3 / 33
Claude Shannon Claude Elwood Shannon o tym jak zwięźle zapisywać informacje 4 / 33
Claude Shannon Claude Elwood Shannon 30 kwietnia 1916-24 lutego 2001 o tym jak zwięźle zapisywać informacje 4 / 33
Claude Shannon Claude Elwood Shannon 30 kwietnia 1916-24 lutego 2001 o tym jak zwięźle zapisywać informacje 4 / 33
Claude Elwood Shannon A Mathematical Theory of Communication o tym jak zwięźle zapisywać informacje 5 / 33
Ilość informacji Informacja o zajściu zdarzenia jest tym ciekawsza im mniej prawdopodobne jest to zdarzenie. o tym jak zwięźle zapisywać informacje 6 / 33
Ilość informacji Informacja o zajściu zdarzenia jest tym ciekawsza im mniej prawdopodobne jest to zdarzenie. Mówimy wtedy, że zdarzenie niesie ze sobą dużą ilość informacji o tym jak zwięźle zapisywać informacje 6 / 33
Ilość informacji Zdarzenie, które pojawia się z prawdopodobieństwem p niesie ze sobą ilości informacji log 2 1 p o tym jak zwięźle zapisywać informacje 7 / 33
Definicja logarytmu Przypominam, że log a b = c a c = b itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 8 / 33
Definicja logarytmu Przypominam, że log a b = c a c = b Najważniejsza własność logarytmu: log a (xy) = log a x + log b y itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 8 / 33
Definicja logarytmu Przypominam, że log a b = c a c = b Najważniejsza własność logarytmu: log a (xy) = log a x + log b y o tym jak zwięźle zapisywać informacje 8 / 33
Ilość informacji Jeśli 0 p q 1 to 1 p 1 q i itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 9 / 33
Ilość informacji Jeśli 0 p q 1 to 1 p 1 q i log 2 1 p log 2 1 q itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 9 / 33
Ilość informacji Jeśli 0 p q 1 to 1 p 1 q i log 2 1 p log 2 1 q Co oznacza, że mniej prawdopodobne zdarzenie niesie ze sobą większą ilość informacji. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 9 / 33
Ilość informacji Jeśli 0 p q 1 to 1 p 1 q i log 2 1 p log 2 1 q Co oznacza, że mniej prawdopodobne zdarzenie niesie ze sobą większą ilość informacji. Przyjmujemy, że log 2 1 0 = 0. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 9 / 33
Źródła Będziemy rozpatrywać pełne układy zdarzeń opisujących pewną sytuację. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 10 / 33
Źródła Będziemy rozpatrywać pełne układy zdarzeń opisujących pewną sytuację. Na przykład wyniki spotkań Polska-Brazylia: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 10 / 33
Źródła Będziemy rozpatrywać pełne układy zdarzeń opisujących pewną sytuację. Na przykład wyniki spotkań Polska-Brazylia: Wygrała Polska - 0.005 Remis - 0.015 Wygrała Brazylia - 0.98 o tym jak zwięźle zapisywać informacje 10 / 33
Źródła Będziemy rozpatrywać pełne układy zdarzeń opisujących pewną sytuację. Na przykład wyniki spotkań Polska-Brazylia: Wygrała Polska - 0.005 Remis - 0.015 Wygrała Brazylia - 0.98 Takie układy nazywać będziemy źródłami o tym jak zwięźle zapisywać informacje 10 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu Partia A - 0.35 (35% poparcia) Partia B - 0.3 (30% poparcia) o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu Partia A - 0.35 (35% poparcia) Partia B - 0.3 (30% poparcia) Partia C - 0.15 (15% poparcia) o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu Partia A - 0.35 (35% poparcia) Partia B - 0.3 (30% poparcia) Partia C - 0.15 (15% poparcia) Partia D - 0.1 (10% poparcia) o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu Partia A - 0.35 (35% poparcia) Partia B - 0.3 (30% poparcia) Partia C - 0.15 (15% poparcia) Partia D - 0.1 (10% poparcia) Partia E - 0.05 (5% poparcia) o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Inny przykład. Wybory do parlamentu Partia A - 0.35 (35% poparcia) Partia B - 0.3 (30% poparcia) Partia C - 0.15 (15% poparcia) Partia D - 0.1 (10% poparcia) Partia E - 0.05 (5% poparcia) Partia F - 0.05 (5% poparcia) o tym jak zwięźle zapisywać informacje 11 / 33
Przykłady źródeł Kolejny przykład. Stan pogody w Gliwicach o tym jak zwięźle zapisywać informacje 12 / 33
Przykłady źródeł Kolejny przykład. Stan pogody w Gliwicach Słonecznie - 0.3 Deszcz - 0.4 o tym jak zwięźle zapisywać informacje 12 / 33
Przykłady źródeł Kolejny przykład. Stan pogody w Gliwicach Słonecznie - 0.3 Deszcz - 0.4 Śnieg - 0.2 o tym jak zwięźle zapisywać informacje 12 / 33
Przykłady źródeł Kolejny przykład. Stan pogody w Gliwicach Słonecznie - 0.3 Deszcz - 0.4 Śnieg - 0.2 Pochmurno bez opadów - 0.1 o tym jak zwięźle zapisywać informacje 12 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 Zdam na 3-0.25 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 Zdam na 3-0.25 Zdam na 2-0.05 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 Zdam na 3-0.25 Zdam na 2-0.05 Nie zdam - 0.05 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 Zdam na 3-0.25 Zdam na 2-0.05 Nie zdam - 0.05 o tym jak zwięźle zapisywać informacje 13 / 33
Przykłady źródeł Kolejny przykład. Wyniki egzaminu Zdam na 6-0.1 Zdam na 5-0.25 Zdam na 4-0.3 Zdam na 3-0.25 Zdam na 2-0.05 Nie zdam - 0.05 Źródłem jest też alfabet polski. Każda litera ma przypisane prawdopodobieństwo pojawienia się w tekście (na przykład prawdopodobieństwo pojawienia się litery a jest dużo większe niż prawdopodobieństwo pojawienia się ź). o tym jak zwięźle zapisywać informacje 13 / 33
Definicja źródła Źródłem nazywamy skończony niepusty zbiór S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 14 / 33
Definicja źródła Źródłem nazywamy skończony niepusty zbiór S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) p i interpretujemy jako prawdopodobieństwo pojawienia się elementu s i. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 14 / 33
Definicja źródła Źródłem nazywamy skończony niepusty zbiór S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) p i interpretujemy jako prawdopodobieństwo pojawienia się elementu s i. Dodatkowo zakładamy, że p 1 + p 2 +... + p n = 1 (co oznacza, że zawsze jeden z elementów zbioru S musi się pojawić.) o tym jak zwięźle zapisywać informacje 14 / 33
Entropia źródła Dane jest źródło S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 15 / 33
Entropia źródła Dane jest źródło S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) Średnią ilością informacji źródła S nazywamy liczbę: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 15 / 33
Entropia źródła Dane jest źródło S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) Średnią ilością informacji źródła S nazywamy liczbę: H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 15 / 33
Entropia źródła Dane jest źródło S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) Średnią ilością informacji źródła S nazywamy liczbę: H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n Liczbę tą nazywamy też entropią źródła lub o tym jak zwięźle zapisywać informacje 15 / 33
Entropia źródła Dane jest źródło S = {s 1,..., s n } oraz układ prawdopodobieństw p 1,..., p n (czyli liczb rzeczywistych z przedziału [0, 1].) Średnią ilością informacji źródła S nazywamy liczbę: H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n Liczbę tą nazywamy też entropią źródła lub Średnią niepewnością obserwatora zanim zobaczy wyjście ze źródła. o tym jak zwięźle zapisywać informacje 15 / 33
Entropia źródła H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 16 / 33
Entropia źródła H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n Własności entropii: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 16 / 33
Entropia źródła H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n Własności entropii: 0 H(S) log 2 n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 16 / 33
Entropia źródła H(S) = p 1 log 2 1 p 1 + p 2 log 2 1 p 2 +... + p n log 2 1 p n Własności entropii: 0 H(S) log 2 n Entropia jest tym większa im bliższe są sobie poszczególne prawdopodobieństwa i osiąga wartość maksymalną gdy p 1 = p 2 =... = p n = 1 n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 16 / 33
Entropia źródła Które źródło jest ciekawsze? o tym jak zwięźle zapisywać informacje 17 / 33
Entropia źródła Które źródło jest ciekawsze? Źródło nadające wyniki meczów Brazylia-San Marino: o tym jak zwięźle zapisywać informacje 17 / 33
Entropia źródła Które źródło jest ciekawsze? Źródło nadające wyniki meczów Brazylia-San Marino: Wygrało San Marino - 0.00001 Remis - 0.00001 Wygrała Brazylia - 0.99998 o tym jak zwięźle zapisywać informacje 17 / 33
Entropia źródła Które źródło jest ciekawsze? Źródło nadające wyniki meczów Brazylia-San Marino: Wygrało San Marino - 0.00001 Remis - 0.00001 Wygrała Brazylia - 0.99998 Czy o tym jak zwięźle zapisywać informacje 17 / 33
Entropia źródła Które źródło jest ciekawsze? Źródło nadające wyniki meczów Brazylia-San Marino: Wygrało San Marino - 0.00001 Remis - 0.00001 Wygrała Brazylia - 0.99998 Czy Źródło nadające wyniki meczów Brazylia-Argentyna: o tym jak zwięźle zapisywać informacje 17 / 33
Entropia źródła Które źródło jest ciekawsze? Źródło nadające wyniki meczów Brazylia-San Marino: Wygrało San Marino - 0.00001 Remis - 0.00001 Wygrała Brazylia - 0.99998 Czy Źródło nadające wyniki meczów Brazylia-Argentyna: Wygrała Argentyna - 0.32 Remis - 0.32 Wygrała Brazylia - 0.36 o tym jak zwięźle zapisywać informacje 17 / 33
Porównanie źródeł Oczywiście drugie itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 18 / 33
Porównanie źródeł Oczywiście drugie Pierwsze z nich ma entropię równą: H(S 1 ) 0, 00036 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 18 / 33
Porównanie źródeł Oczywiście drugie Pierwsze z nich ma entropię równą: H(S 1 ) 0, 00036 A drugie: H(S 2 ) 1, 5827 log 2 3 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 18 / 33
Entropia źródła dwuelementowego Niech S = {s 1, s 2 } i prawdopodobieństwa to p i p = 1 p. o tym jak zwięźle zapisywać informacje 19 / 33
Entropia źródła dwuelementowego Niech S = {s 1, s 2 } i prawdopodobieństwa to p i p = 1 p. Entropia takiego żródła wynosi H(S) = H(p) = p log 2 1 p + (1 p) log 2 1 1 p o tym jak zwięźle zapisywać informacje 19 / 33
Entropia źródła dwuelementowego Niech S = {s 1, s 2 } i prawdopodobieństwa to p i p = 1 p. Entropia takiego żródła wynosi H(S) = H(p) = p log 2 1 p + (1 p) log 2 Wykres H(p): 1 1 p o tym jak zwięźle zapisywać informacje 19 / 33
Entropia źródła dwuelementowego Niech S = {s 1, s 2 } i prawdopodobieństwa to p i p = 1 p. Entropia takiego żródła wynosi H(S) = H(p) = p log 2 1 p + (1 p) log 2 Wykres H(p): 1 1 p o tym jak zwięźle zapisywać informacje 19 / 33
Kody Dane jest źródło S = {s 1,..., s n }. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 20 / 33
Kody Dane jest źródło S = {s 1,..., s n }. Kodem binarnym nazywamy przyporządkowanie każdemu elementowi zbioru S pewnego ciągu złożonego z zer i jedynek. itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 20 / 33
Kody Dane jest źródło S = {s 1,..., s n }. Kodem binarnym nazywamy przyporządkowanie każdemu elementowi zbioru S pewnego ciągu złożonego z zer i jedynek. Na przykład. S = {a, b, c}. Kodem jest a 01, b 001, c 0001 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 20 / 33
Kody Dane jest źródło S = {s 1,..., s n }. Kodem binarnym nazywamy przyporządkowanie każdemu elementowi zbioru S pewnego ciągu złożonego z zer i jedynek. Na przykład. S = {a, b, c}. Kodem jest a 01, b 001, c 0001 Mając dany kod możemy zakodować dowolną sekwencję elementów zbioru S. Na przykład baca 00101000101. o tym jak zwięźle zapisywać informacje 20 / 33
Kody Dane jest źródło S = {s 1,..., s n }. Kodem binarnym nazywamy przyporządkowanie każdemu elementowi zbioru S pewnego ciągu złożonego z zer i jedynek. Na przykład. S = {a, b, c}. Kodem jest a 01, b 001, c 0001 Mając dany kod możemy zakodować dowolną sekwencję elementów zbioru S. Na przykład baca 00101000101. Proces zamieniania sekwencji elementów zbioru S na ciąg binarny nazywamy kodowaniem, a proces odwrotny dekodowaniem. o tym jak zwięźle zapisywać informacje 20 / 33
Kody jednoznacznie dekodowalne Rozważmy kod w S = {a, b, c}: a 01, b 0100, c 00 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 21 / 33
Kody jednoznacznie dekodowalne Rozważmy kod w S = {a, b, c}: a 01, b 0100, c 00 Wtedy ciąg 0100 dekoduje się na dwa sposoby: albo jest to zakodowana litera b albo zakodowany ciąg ac. o tym jak zwięźle zapisywać informacje 21 / 33
Kody jednoznacznie dekodowalne Rozważmy kod w S = {a, b, c}: a 01, b 0100, c 00 Wtedy ciąg 0100 dekoduje się na dwa sposoby: albo jest to zakodowana litera b albo zakodowany ciąg ac. Kody, dla których każdy zakodowany ciąg dekoduje się jednoznacznie nazywamy jednoznacznie dekodowalnymi o tym jak zwięźle zapisywać informacje 21 / 33
Kody jednoznacznie dekodowalne Jeśli każdej literze za zbioru S przyporządkujemy ciąg tej samej długości i dwóm literom przyporządkujemy dwa różne takie ciągi to kod będzie jednoznacznie dekodowalny (takie kody nazywamy blokowymi). itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 22 / 33
Kody jednoznacznie dekodowalne Jeśli każdej literze za zbioru S przyporządkujemy ciąg tej samej długości i dwóm literom przyporządkujemy dwa różne takie ciągi to kod będzie jednoznacznie dekodowalny (takie kody nazywamy blokowymi). Rozważmy kod w S = {a, b, c}: a 010, b 011, c 111 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 22 / 33
Kody jednoznacznie dekodowalne Jeśli każdej literze za zbioru S przyporządkujemy ciąg tej samej długości i dwóm literom przyporządkujemy dwa różne takie ciągi to kod będzie jednoznacznie dekodowalny (takie kody nazywamy blokowymi). Rozważmy kod w S = {a, b, c}: a 010, b 011, c 111 Jest to przykład kodu blokowego itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 22 / 33
Kod blokowy ASCII Innym przykładem kodu blokowego jest kod ASCII, w którym znaki podstawowym przyporządkowane są ciągi ośmiobitowe o tym jak zwięźle zapisywać informacje 23 / 33
Kod blokowy ASCII Innym przykładem kodu blokowego jest kod ASCII, w którym znaki podstawowym przyporządkowane są ciągi ośmiobitowe Zakodowane niektóre znaki w kodzie ASCII o tym jak zwięźle zapisywać informacje 23 / 33
Kod blokowy ASCII Innym przykładem kodu blokowego jest kod ASCII, w którym znaki podstawowym przyporządkowane są ciągi ośmiobitowe Zakodowane niektóre znaki w kodzie ASCII itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 23 / 33
Kod prefiksowy Jeśli każdej literze jest przyporządkowany ciąg taki, że nie jest on początkiem ciągu przyporządkowanego innej literze to taki kod jest jednoznacznie dekodowalny. Kod taki nazywamy kodem prefiksowym. o tym jak zwięźle zapisywać informacje 24 / 33
Kod prefiksowy Jeśli każdej literze jest przyporządkowany ciąg taki, że nie jest on początkiem ciągu przyporządkowanego innej literze to taki kod jest jednoznacznie dekodowalny. Kod taki nazywamy kodem prefiksowym. Rozważmy kod w S = {a, b, c}: a 0, b 111, c 1101 o tym jak zwięźle zapisywać informacje 24 / 33
Kod prefiksowy Jeśli każdej literze jest przyporządkowany ciąg taki, że nie jest on początkiem ciągu przyporządkowanego innej literze to taki kod jest jednoznacznie dekodowalny. Kod taki nazywamy kodem prefiksowym. Rozważmy kod w S = {a, b, c}: a 0, b 111, c 1101 Kod ten jest przykładem kodu prefiksowego. o tym jak zwięźle zapisywać informacje 24 / 33
Średnia długość słowa kodowego Dane jest źródło S = {s 1,..., s n } z układem prawdopodobieństw p 1,..., p n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 25 / 33
Średnia długość słowa kodowego Dane jest źródło S = {s 1,..., s n } z układem prawdopodobieństw p 1,..., p n i kod k taki, że s 1 koduje się na ciąg długości l 1, s 2 na ciąg długości l 2 itd. o tym jak zwięźle zapisywać informacje 25 / 33
Średnia długość słowa kodowego Dane jest źródło S = {s 1,..., s n } z układem prawdopodobieństw p 1,..., p n i kod k taki, że s 1 koduje się na ciąg długości l 1, s 2 na ciąg długości l 2 itd. Średnią długością słowa kodowego nazywamy liczbę: L(k) = p 1 l 1 + p 2 l 2 +... + p n l n o tym jak zwięźle zapisywać informacje 25 / 33
Średnia długość słowa kodowego Dane jest źródło S = {a, b, c} z układem prawdopodobieństw 0, 4, 0, 35, 0, 25 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 26 / 33
Średnia długość słowa kodowego Dane jest źródło S = {a, b, c} z układem prawdopodobieństw 0, 4, 0, 35, 0, 25 i kod k taki, że a 0, b 11, c 101 o tym jak zwięźle zapisywać informacje 26 / 33
Średnia długość słowa kodowego Dane jest źródło S = {a, b, c} z układem prawdopodobieństw 0, 4, 0, 35, 0, 25 i kod k taki, że a 0, b 11, c 101 Wtedy: L(k) = 1 0, 4 + 2 0, 35 + 3 0, 25 = 1, 85 o tym jak zwięźle zapisywać informacje 26 / 33
Kod optymalny (kompresyjny) Dane jest źródło S = {s 1,..., s n } z układem prawdopodobieństw p 1,..., p n itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 27 / 33
Kod optymalny (kompresyjny) Dane jest źródło S = {s 1,..., s n } z układem prawdopodobieństw p 1,..., p n Kod k nazywamy kodem optymalnym jeśli dla dowolnego innego kodu k 1 zachodzi L(k) L(k 1 ) itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 27 / 33
Kody optymalne Jeśli k jest kodem optymalnym to H(S) L(k) H(S) + 1 o tym jak zwięźle zapisywać informacje 28 / 33
Kod Huffmana Jeśli dane jest źródło S, to litery w S porządkujemy według odpowiednich prawdopodobieństw od największego do najmniejszego. Na przykład jeśli S = {A, B, C, D, E, F, G, H} i prawdopodobieństwa są odpowiednio równe 0.1, 0.18, 0.4, 0.05, 0.06, 0.1, 0.07, 0.04 to litery trzeba uporządkować według prawdopodobieństw następująco: C, B, A, F, G, E, D, H itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 29 / 33
Kod Huffmana Jeśli dane jest źródło S, to litery w S porządkujemy według odpowiednich prawdopodobieństw od największego do najmniejszego. Na przykład jeśli S = {A, B, C, D, E, F, G, H} i prawdopodobieństwa są odpowiednio równe 0.1, 0.18, 0.4, 0.05, 0.06, 0.1, 0.07, 0.04 to litery trzeba uporządkować według prawdopodobieństw następująco: C, B, A, F, G, E, D, H Następnie kolejno redukujemy źródło łącząc dwa najmniej prawdopodobne znaki ( i porządkując). Te kroki powtarzamy tak długo aż zostaną nam dwa znaki. o tym jak zwięźle zapisywać informacje 29 / 33
Kod Huffmana Jeśli dane jest źródło S, to litery w S porządkujemy według odpowiednich prawdopodobieństw od największego do najmniejszego. Na przykład jeśli S = {A, B, C, D, E, F, G, H} i prawdopodobieństwa są odpowiednio równe 0.1, 0.18, 0.4, 0.05, 0.06, 0.1, 0.07, 0.04 to litery trzeba uporządkować według prawdopodobieństw następująco: C, B, A, F, G, E, D, H Następnie kolejno redukujemy źródło łącząc dwa najmniej prawdopodobne znaki ( i porządkując). Te kroki powtarzamy tak długo aż zostaną nam dwa znaki. Na naszym przykładzie wygląda to tak: o tym jak zwięźle zapisywać informacje 29 / 33
Kod Huffmana Jeśli dane jest źródło S, to litery w S porządkujemy według odpowiednich prawdopodobieństw od największego do najmniejszego. Na przykład jeśli S = {A, B, C, D, E, F, G, H} i prawdopodobieństwa są odpowiednio równe 0.1, 0.18, 0.4, 0.05, 0.06, 0.1, 0.07, 0.04 to litery trzeba uporządkować według prawdopodobieństw następująco: C, B, A, F, G, E, D, H Następnie kolejno redukujemy źródło łącząc dwa najmniej prawdopodobne znaki ( i porządkując). Te kroki powtarzamy tak długo aż zostaną nam dwa znaki. Na naszym przykładzie wygląda to tak: o tym jak zwięźle zapisywać informacje 29 / 33
Kod Huffmana Teraz tworzymy kod zaczynając od końca. Dwóm ostatnim literom przyporządkowujemy odpowiednio 0 i 1: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 30 / 33
Kod Huffmana Teraz tworzymy kod zaczynając od końca. Dwóm ostatnim literom przyporządkowujemy odpowiednio 0 i 1: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 30 / 33
Kod Huffmana Dalej tworzymy kod posuwając się na lewo. Jeśli pewna litera przeszła na literę (na naszym schemacie pojedyńcza strzałka lub brak strzałki) to kod przepisujemy wprost, a jeśli dwie wiadomości połączyły się w jedną to kod rozdwajamy raz dopisując na końcu zero, a raz jedynkę. Oto następny krok: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 31 / 33
Kod Huffmana Dalej tworzymy kod posuwając się na lewo. Jeśli pewna litera przeszła na literę (na naszym schemacie pojedyńcza strzałka lub brak strzałki) to kod przepisujemy wprost, a jeśli dwie wiadomości połączyły się w jedną to kod rozdwajamy raz dopisując na końcu zero, a raz jedynkę. Oto następny krok: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 31 / 33
Kod Huffmana I kolejny: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 32 / 33
Kod Huffmana I kolejny: itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 32 / 33
Kod Huffmana I kolejny: Ostatecznie nasz kod wygląda następująco: C 0, B 101, A 111, F 1000, G 1100, E 1101, D 10010, H 10011 itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 32 / 33
Pliki graficzne itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 33 / 33
Pliki graficzne itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 33 / 33
Pliki graficzne Bitmapa (bez kompresji) - 983 094 bajtów itold Tomaszewski (Instytut Matematyki Wygra Politechniki Polska czy Śląskieje-mail: Brazylia, czyli Witold.Tomaszewski@polsl.pl) o tym jak zwięźle zapisywać informacje 33 / 33
Pliki graficzne Bitmapa (bez kompresji) - 983 094 bajtów Jpeg (kompresja stratna) - 11 355 bajtów o tym jak zwięźle zapisywać informacje 33 / 33
Pliki graficzne Bitmapa (bez kompresji) - 983 094 bajtów Jpeg (kompresja stratna) - 11 355 bajtów Gif (kompresja bezstratna) - 9 284 bajtów o tym jak zwięźle zapisywać informacje 33 / 33