Notatki z Podstaw kodowania i kryptografii. switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX
|
|
- Ludwik Kowalski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Notatki z Podstaw kodowania i kryptografii switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX Wrocław
2 Spis treści I Kodowanie 5 Wiadomość, a informacja 6. Zbiory wiadomości Elementy teorii grafów 8 2. Wstęp Definicje Definicje cd Ilość informacji, źródła 3 3. Ilość informacji Źródło wiadomości Entropia źródła wiadomości Identyfikacja źródła wiadomości Źródło rozszerzone Źródło ciągów Markowa Źródło stowarzyszone do żródła Markowa Kody: definicje i klasyfikacja Definicja kodu Podstawowe rodzaje kodów Kody blokowe Kody nieosobliwe Rozszerzenie kodu Kody jednoznacznie dekodowalne switch486
3 SPIS TREŚCI SPIS TREŚCI Kody jednoznacznie dekodowalne bez opóźnienia Zasady konstruowania kodów jednoznacznie dekodowalnych bez opóźnienia Kody optymalne, algorytm Huffmana Kody optymalne Algorytm Huffmana Twierdzenie Shannona 44 7 Kompresja danych Kodowanie ciągów binarnych Bezpośrdnie kodowanie runów Metoda Golomba Rozrzedzanie ciągu binarnego Kompresja obrazów Wyrażenia z nawiasam Drzewo czwórkowe Obrazy z gradacją koloru Metody słownikowe Metoda LZ Kompresja Dekompresja Kanały informacyjne Wprowadzenie Rodzaje kanałów informacyjnych Parametry charakteryzujące kanał informacyjny Reguły decyzyjne Reguła największego prawdopodobieństwa Reguła największej wiarygodnośći Straty i ryzyko Przykład Kody liniowe Wprowadzenie switch486
4 SPIS TREŚCI SPIS TREŚCI 9.2 Struktura kodu liniowego Odległość Hamminga Waga Hamminga Odległość między wektorami Zdolność detekcyjna kodu Geometryczna interpretacja kodu liniowego Macierzowy opis kody liniowego Kody liniowe Kodowanie informacji Dekodowanie ciągów odebranych Kody Hamminga II Kryptografia 88 0 Wprowadzenie do kryptografii Kryptologia, kryptografia i kryptoanaliza Obszary zastosowań kryptografii Systemy kryptograficzne Warunki poufności Warunki autentyczności Systemy klucza jawnego Podpis cyfrowy Szyfry przestawieniowe i podstawieniowe 00. Szyfry przestawieniowe Szyfry macierzowe Szyfry płotowe Szyfry z kluczem permutacyjnym Szyfry podstawieniowe Szyfr Cezara Szyfry monoalfabetyczne Szyfry homofoniczne Szyfry wieloalfabetyczne switch486
5 SPIS TREŚCI SPIS TREŚCI.2.5 Szyfry poligramowe Teoria liczb i arytmetyka modularna Definicje Twierdzenie - zasada arytmetyki modularnej Obliczanie odwrotności Twierdzenie Zredukowany zbiór residuów Funkcja Eulera φ(n) Twierdzenie Twierdzenie Fermata Uogólnione twierdzenie Eulera Szyfry wykładnicze 3 3. Wstęp Twierdzenie Szyfr Pohliga - Hellmana Szyfr Rivesta - Shamira - Adelmana (RSA) Szyfry plecakowe - szyfr Merklego - Hellmana Algorytm SNAP Zagadnienie plecakowe z tajnym przejściem switch486
6 Część I Kodowanie 5 switch486
7 Rozdział Wiadomość, a informacja Ogólnie wiadomość będziemy interpretować jako konkretny obiekt, zaś informację jako pewną interpretację wiadomości. Oznacza to, że jedną wiadomość można interpretować na wiele różnych sposobów. Wiadomości można przekształcać. Wyróżnia się przekształcenia: bezstratne (tj. bez straty informacji), stratne (tj. ze stratą informacji).. Zbiory wiadomości Zbiór prosty W = w, w 2,..., w n, gdzie w i wiadomość elementarna, Zbiór złożony, tj. taki, którego elementami są ciągi (w i,..., w ik ), gdzie w ij W dla i=,..., n, j=,..., k, np. lata kalendarzowe: 674, 0963 k=4, Zbiór wielowymiarowy A = a,..., a m, B = b,..., b n, C = c,..., c p Z = A B C, (a i, b j, c k ) wiadomości elementarne Z, gdzie a i A, b j B, c k C, np. data: 23 luty Przykład Dane są następujące wiadomości: A = {a, a 2, a 3 } B = {b, b 2 } C = {c, c 2, c 3, c 4 } Z = A B C 6 switch486
8 . Zbiory wiadomości Wiadomość, a informacja Wyznaczyć liczbę wiadomości elementarnych zbioru Z. Mamy do czynienia ze zbiorem wielowymiarowym. Widać, że musimy sprawdzić ile jest możliwych różnych kombinacji (a i, b j, c k ), takich, że a i A, b j B, c k C. Wynikiem jest iloczyn liczności zbioru A, B i C. Więc wynikiem będzie Przykład * Niech A = {I, II, III, IV }, B = {a, b, c, d, e}, C = {, 2, 3, 4, 5, 6} będą źródłami wiadomości elementarnych. Co możemy powiedzieć na temat zbioru Z = A B C? na pewno to, że jest to zbiór wielowymiarowy, zawiera więc = 20 wiadomości wielowymiarowych, przykładową wiadomością elementarną ze zbioru Z jest (II, c, 2), Przykład * Ile wiadomości złożonych o długości k = 5 można utwożyć ze zbioru prostego A = {a, b, c, d, e, f, g, h}? Musimy wyliczyć ile jest wszystkich słów długości 5 złożonych z liter ze zbioru A, przy założeniu, że litery nie mogą się powtarzać. Oczywiście mamy tutaj do czynienia z prostą zależnością, wynikiem jest 8 5, ponieważ 5 - długość słowa, 8 - ilość liter do dyspozycji. 7 switch486
9 Rozdział 2 Elementy teorii grafów 2. Wstęp Grafem nazywamy trójkę: G = (E, K, r), gdzie: E zbiór węzłów (wierzchołków) grafu, E, K zbiór krawędzi (E K = ), r relacja incydencji, która określa węzły związane (incydentne) z daną krawędzią i odwrotnie. Zakłada się, że każda krawędź jest incydentna z co najmniej jednym i z co najwyżej dwoma wierzchołkami. Przykład G = (E, K, r), E = {e, e 2, e 3 }, K = {k, k 2, k 3, k 4, k 5 }, r = {(e, k, e 3 ), (e 2, k 2, e 3 ), (e 2, k 3, e 2 ), (e, k 4, e2 ), (e, k 5, e 2 )} e e 2 e 3 e 0 2 e 2 2 e switch486
10 2.2 Definicje Elementy teorii grafów 2.2 Definicje Pętlą nazywamy krawędź incydentną z jednym węzłem. Rzędem węzła nazywamy liczbę krawędzi, z którymi jest on incydentny, przy czym każdą pętlę liczymy podwójnie. Drogą w grafie nazywamy ciąg (e, k, e 2, k 2,..., e n, k n, e n ), w którym sąsiednie krawędzie i węzły są incydentne. Węzły e i e n nazywamy węzłami końcowymi drogi Drogę nazywamy zamkniętą, jeżeli e = e n i otwartą, gdy e e n. Drogę, w której wszystkie krawędzie są różne nazywamy łańcuchem. Łańcuch zamknięty nazywamy cyklem. Graf nazywamy spójnym, jeżeli dla dowolnych dwóch węzłów istnieje droga, w której węzły te są węzłami końcowymi. Graf spójny zawierający co najmniej jedną krawędź i nie zawierający cykli nazywamy drzewem. Drogą Eulera nazywamy łańcuch, w którym występują wszystkie krawędzie grafu. Twierdzenie W grafie istnieje droga Eulera wtedy i tylko wtedy, gdy rzędy wszystkich węzłów grafu są parzyste lub gdy graf zawiera dokładnie dwa węzły o rzędach nieparzystych, zaś pozostałe węzły mają rzędy parzyste. Przykład Zadanie Eulera: Czy można odwiedzić wszystkie dzielnice Królewca przechodząc przez każdy most tylko jeden raz? 2.3 Definicje cd. Graf nazywamy skierowanym, gdy dla każdej krawędzi i węzłów z nią incydentnych ustalono węzeł początkowy i końcowy. 9 switch486
11 2.3 Definicje cd. Elementy teorii grafów Drzewem zorientowanym nazywamy taki graf spójny zorientowany, w którym istnieje dokładnie jeden węzeł (korzeń) nie będący węzłem końcowym żadnej krawędzi, a każdy z pozostałych węzłów jest węzłem końcowym dokładnie jednej krawędzi. Poziomem węzła nazywamy liczbę gałęzi leżących na drodze od korzenia do tego węzła. Drzewo nazywamy r-narnym, jeżeli liczba krawędzi wychodzących z każdego węzła jest z góry ograniczona przez Jeżeli poziomy wszystkich liści drzewa są jednakowe i równe h, to drzewo nazywamy drzewem h-poziomowym. Drzewo nazywamy pełnym, jeżeli liczba gałęzi wychodzących z każdego węzła nie będącego liściem jest równa r. Twierdzenia h poziomowe, r narne drzewo pełne zawiera r h liści. Liczby naturalne m, m 2,..., m n są poziomami węzłów końcowych drzewa r narnego wtedy Przykład i tylko wtedy, gdy spełniony jest warunek (nierówność Krafta): n r mi (2.) i= Niech r = 3. Sprawdzamy czy liczby,, 2, 2, 2, 3, 3 mogą być poziomami liści tego drzewa. Korzystamy z nierówności Krafta (2.): = > Ponieważ nierówność nie jest spełniona, nie da się zbudować takiego drzewa. Przykład Niech r = 3. Sprawdzamy czy liczby,, 2, 2, 3, 3 mogą być poziomami liści tego drzewa. Korzystamy z nierówności Krafta (2.): = < W tym przypadku nierówność jest spełniona, zatem można zbudować takie drzewo. 0 switch486
12 2.3 Definicje cd. Elementy teorii grafów Przykład * Dla jakich wartości x, y liczby,, 2, x, 3, y mogą być poziomami węzłów końcowych (liści) drzewa trójnarnego? Z nierówności Krafta (2.) pytamy, dla jakich liczb jest spełnione: x y x y 3 x + 3 y x + 3 y 5 27 Widzimy, w treści zadania, że x (2, 3) (nie mamy ograniczenia na y). W tym momencie kończy się matematyka i zaczyna sprawdzanie kilku możliwości, jeśli jest wybór (test abcd), to spradzamy wszystkie pary liczb (x, y) i jeśli spełniają powyższą nierówność, to znaczy, że należy je zaznaczyć. Przykład * Co możemy powiedzieć o grafie prezentowanym przez poniższą macierz incydencji? e e 2 e 3 e 4 e 0 2 e e 3 0 e 4 0 Wskazówka: Namaluj ten graf i zgodnie z definicjami na początku rozdziału 2 odczytuj informacje. to na pewno NIE jest drzewo (w tym grafie są połączenia podwójne), jest spójnym grafem, ponieważ z każdego wierzchołka możemy w kończonej liczbie kroków dojść do każdego innego wierzchołka, istnieje w nim łańcuch Hamiltona, istnieje w nim droga Eulera, nie zawiera pętli, ponieważ nie ma na przekątnej grafu wartości niezerowych; e i W ierzcholki : e i nie jest incydentny z e i, switch486
13 2.3 Definicje cd. Elementy teorii grafów Przykład * Co można powiedzieć o grafie przedstawionym przez poniższą macierz? a b c d k 0 k 2 y x k 3 y x k 4 y x k 5 y x k 6 x y Gdzie: {a, b, c, d} - wierzchołki grafu skierowanego {k, k 2, k 3, k 4, k 5, k 6 } - krawędzie grafu skierowanego x - wierzchołek początkowy, y - wierzchołek końcowy, 0 - pętla Wskazówka: Namaluj ten graf i zgodnie z definicjami na początku rozdziału 2 odczytuj informacje. nie ma w nim łańcuchu Hamiltona - ponieważ zaczynając od wierzchołka c nie dojdziemy do wierzchołka d, są w nim 2 cykle: pętla pdzy wierzchołku d, oraz a k 6 b k 4 a, 2 switch486
14 Rozdział 3 Ilość informacji, źródła 3. Ilość informacji W teorii informacji pojęcia: informacja i wiadomość są niedefiniowalne. Wiadomość traktujemy jako konkretny obiekt, zaś informację jako interpretację tego obiektu. Wiadomość uważamy za określoną, jeśli ją znamy i wiemy, z jakiego zbioru pochodzi. W konkretnym zbiorze, wiadomości są równorzędne, a rozróżnia się je na podstawie nazwy. Definicja Niech w będzie pewną wiadomością, która może pojawić się z prawdopodobieństwem p(w). Ilość informacji zawartą w wiadomości w definiujemy następująco: I r (w) = log r p(w) (3.) gdzie r podstawa logarytmu. Parametr ten decyduje o wyborze jednostki ilości informacji. Przykład dla r = 2, [I(w)] = bit, dla r = 0, [I(w)] = hartley, ogólnie mówimy o jednostkach r narnych. Jeżeli r = 2, to zamiast I r (w) piszemy I(w). 3 switch486
15 3. Ilość informacji Ilość informacji, źródła Przydatne twierdzenia Do zamiany jednostek, w których wyrażona jest ilość informacji wykorzystuje się przekształcenie: Ponieważ: Przykład I r (w) = I r 2 (w) log r2 (r ) log a (x) = log b(x) log b (a) Zakładając, że każdy punkt obrazu telewizyjnego może przująć 256 kolorów i obraz telewizyjny zapisany jest na 500 liniach, a każda linia składa się z 600 punktów, obliczyć ile informacji niesie za sobą obraz. Liczba obrazów : l = 256 ( ) Prawdopodobieństwo jednego obrazu: p r (w) = l Korzystamy ze wzoru (3.): Podstawiając mamy: I r (w) = log r l = log r l I r (w) = log r 256 ( ) = log r 256 I r (w) = log r 2 8 = log r 2 Dla r = 2 mamy: I 2 (w) = log 2 2 = bitow Przykład * Ile bitów informacji niesie ze sobą obraz z wyświetlacza o rozdzielczości pikseli i 32 bitowej głębi kolorów (tj. każdy punkt może przyjąć 2 32 kolorów)? Liczba wszystkich możliwych obrazów : l = 2 32( ) Prawdopodobieństwo jednego obrazu: p 2 (w) = l Korzystamy ze wzoru (3.) i liczymy: I 2 (w) = log ( ) = log I 2 (w) = log = log 2 2 I 2 (w) = switch486
16 3.2 Źródło wiadomości Ilość informacji, źródła 3.2 Źródło wiadomości Definicja Źródłem wiadomości jest pewien obiekt, który z wiadomości elementarnych, tworzących ustalony i skończony zbiór W = {w, w 2,..., w n }, wytwarza ciąg wiadomości elementarnych. Kolejne wiadomości elementarne w tym ciągu wybierane są zgodnie z pewnym ustalonym rozkładem prawdopodobieństwa p = p(w ), p 2 = p(w 2 ),..., p n = p(w n ). Najprostszym rodzajem źródła wiadomości jest takie źródło, w którym kolejno generowane wiadomości elementarne są statystycznie niezależne, tj. p(w i, w k ) = p(w i ) p(w k ). Źródło wiadomości spełniające powyższą zależność nazywamy źródłem bezpamięciowym. Jest ono w pełni opisane przez zbiór wiadomości elementarnych i prawdopodobieństwa pojawiania się tych wiadomości, tj. W = {w, w 2,..., w n }, p = p(w ), p 2 = p(w 2 ),..., p n = p(w n ). 3.3 Entropia źródła wiadomości Definicja Entropią źródła wiadomości nazywamy średnią ilość informacji przypadającą na pojedynczą wiadomość generowaną przez to źródło i wyznaczamy ze wzoru: Twierdzenie H r (W ) = n p(w i ) I r (w i ) = (3.) i= n i= p(w i ) log r p(w i ) = Jeżeli p = p 2 =... = p n, to entropia jest maksymalna i równa log r (n). n i= p i log r p i (3.2) Przykładowo Dla binarnego binarnego źródła wiadomości prawdziwa jest następująca zależność: 2 H(W ) = p i log = p log + p 2 log p i= i p p 2 A ponieważ p 2 = p, to: H(W ) = p log + ( p ) log p p 5 switch486
17 3.3 Entropia źródła wiadomości Ilość informacji, źródła W tym przypadku entropia jest więc funkcją jednej zmiennej. Funkcję tę nazywamy funkcją entropii: H(ω) = ω log ω + ( ω) log ω Pomiędzy H(W ) a H(ω) zachodzi istotna różnica. H(W ) określa entropię konkretnego źródła W, zaś H(ω) jest funkcją zmiennej ω określoną w przedziale < 0, >. Założenie Definiujemy: 0 log 0 = 0 Przykład W urnie znajduje się 3 kule białe i czarna. Losujemy kule bez zwracania w sposób następujący: losujemy pierwszą kulę, jeżeli była to kula czarna to losowanie kończymy, jeżeli nie to postępowanie kontynuujemy, aż do wyciągnięcia kuli czarnej. Niech proces losowania będzie źródłem wiadomości takich, że wiadomością elementarną jest długość serii wyciągniętych kul. Obliczyć entropię tego źródła. Jeśli kule białe oznaczymy przerz 0, a kulę czarną przez to możliwe są takie losowania, z następującymi prawdopodobieństwami: wynik losowania p(x) = = = 4 Obliczamy entropię ze wzoru (3.2): H r (W ) = 4 i= p i log r p i Podstawiając otrzymamy: H r (W ) = 4 4 log r 4 = log r 4 Przykład * Entropia źródła generujacego wiadomości ze zbioru W = {w, w 2, w 3, w 4 } z prawdopodobieństwami p = 2, p 2 = 4, p 3 = p 4 = 8 wynosi: 6 switch486
18 3.4 Identyfikacja źródła wiadomości Ilość informacji, źródła Korzystamy bezpośrednio ze wzoru (3.2): H r (W ) = 2 log log log 2 8 H r (W ) = log log 2 2 H r (W ) = H r (W ) = = = Identyfikacja źródła wiadomości Przez identyfikację źródła wiadomości będziemy rozumieć rozpoznawanie (ustalanie), którą wiadomość źródło to wygenerowało. Proces identyfikacji odpowiada serii pytań, jakie trzeba zadać, by ustalić wygenerowaną wiadomość. Wybór kolejnego pytania wynika z odpowiedzi na pytanie poprzednie. Przykład Niech W = {w,, w 5 }, p,, p 5 będzie bezpamięciowym źródłem wiadomości. Sposób identyfikacji tego źródła przedstawimy na kolejnych rysunkach: 7 switch486
19 3.4 Identyfikacja źródła wiadomości Ilość informacji, źródła Dla celów identyfikacji stosuje się pytania r narne (mówimy o r narnym systemie identyfikacji źródła). Miarą jakości systemu identyfikacji S źródła wiadomości W jest średnia liczba pytań niezbędna do zidentyfikowania wiadomości generowanych przez to źródło. n E r (S) = l i p i (3.3) gdzie l = l(w ), l 2 = l(w 2 ),, l n = l(w n ) oznaczają liczby r narnych pytań, jakie trzeba zadać, aby zidentyfikować wiadomości generowane przez źródło W = {w,, w n }, p,, p n. Mówimy, że system S jest lepszy od systemu S, jeżeli E r (S) < E r (S ). System S jest najlepszy (optymalny), jeżeli nie istnieje taki system identyfikacji S, że E r (S ) < E r (S). i= Przykład Aby ustalić, który system identyfikacji źródła W (z poprzedniego przykładu) jest lepszy - S czy S 2 - należy obliczyć miary jakości tych systemów i porównać je ze sobą. Najpierw jednak należy 8 switch486
20 3.4 Identyfikacja źródła wiadomości Ilość informacji, źródła określić prawdopodobieństwa p,, p 5. Jeśli przyjmiemy, że p = = p 5 = 5, to do identyfikacji źródła W lepszy jest system S 2, ponieważ - ze wzoru (3.3): E(S 2 ) = = = 2.4, E(S ) = = = 2.8 zatem E(S 2 ) < E(S ). Jeśli założymy, że p = 0.5, p 2 = 0.2, p 3 = p 4 = p 5 = 0., to do identyfikacji źródła W lepszy jest system S, gdyż: E(S ) = = = 2, E(S 2 ) = = = 2.2 zatem E(S ) < E(S 2 ). Przykład * Dane jest źródło wiadomości W = {w, w 2, w 3 }, p = 2, p 2 = p 3 = 4. Jaka jest średnia liczba pytań, jakie trzeba zadać, by zidentyfikować to źródło, tj. efektywność binarnego systemu identyfikacji E 2 (S)? Pytanie jest nieprecyzyjne, ale załóżmy, że chodzi o optymalny system identyfikacji. Rozpatrzmy poniższy graf. Liczymy jakości systemu identyfikacji zgodnie ze wzorem (3.3). E r (S) = = = 2 9 switch486
21 3.5 Źródło rozszerzone Ilość informacji, źródła Dodatkowo możemy się zapytać jak się ma jakości systemu identyfikacji do entropii źródła. Korzystamy ze wzoru (3.2) i liczymy entropię tego źródła. Oczywiście dla r = 2. H r (W ) = 2 log r log r 4 H 2 (W ) = 2 log log 2 4 = log 2 2 H 2 (W ) = 2 + log 2 2 = 2 Widać, że entropia jest równa średniej długość słowa kodowego. 3.5 Źródło rozszerzone Definicja Źródło rozszerzone - Niech W = {w,, w n }, p,, p n będzie bezpamięciowym źródłem wiadomości. K krotnym rozszerzeniem źródła W jest źródło: W k = {ω,, ω ( k n) }, gdzie ω i = (w i,, w ik ), w ij W dla j =,, k. Oczywiście p(ω i ) = p(w i ) p(w ik ). Entropię źródła k krotnie rozszerzonego obliczamy podobnie jak entropię źródła W, tj.: H r (W ) = nk p(ω i ) log r p(ω i ) Twierdzenie Entropie źródła k krotnie rozszerzonego jest k krotnie większa od entropii odpowiadającego mu źródła bezpamięciowego: H r (W k ) = k H r (W ) (3.4) Przykład * Dla źródła generującego wiadomości ze zbioru W = {w, w 2, w 3 } z prawdopodobieństwami p = 2, p 2 = p 3 = 4, entropia źródła W 3 wynosi [bitów]: Mamy więc policzyć entropię źródła rozszerzonego, więc H 2 (W 3 ). Zgodnie z zależnością z powyższego punktu: H 2 (W 3 ) = 3 H 2 (W ) Liczymy entropię H 2 (W ): H 2 (W ) = 2 log log switch486
22 3.6 Źródło ciągów Markowa Ilość informacji, źródła H 2 (W ) = log 2 2 Wynikiem będzie oczywiście iloczyn: Przykład * H 2 (W ) = 2 + = 2 H 2 (W 3 ) = 3 H 2 (W ) = 3 2 = = 9 2 Entropia źródła wiadomości, w którym pojedyncza wiadomość jest ciągiem dwóch rzutów kostką (, 2, 3, 4, 5, 6) i pieciu rzutów monetą (O, R)... jest sumą entropii dwukrotnie rozszerzonego źródła wyników pojedynczego rzutu kostką i entropii pieciokrotnie rozszerzonego źródła wyników pojedynczego rzutu monetą. Oczywiście wynika to z definicji źródła rozszerzonego. Policzmy: Dla pojedynczego rzutu kostką: Dla pojedynczego rzutu monetą: H 2 (W ) = 6 log log 2 6 = log 2 6 }{{} 6 H 2 (W ) = 2 log log 2 2 = = Całkowita entropia będzie miała postać (zgodnie z H r (W k ) = k H r (W )) sumy iloczynów: H 2 (W ) = 2 log = 2 log Oczywiście możemy logarytm przekształcić i napisac: H 2 (W ) = 2 log = 2 (log 2 3+log 2 2)+5 = 2 log log = 2 log = 2 log Źródło ciągów Markowa Ogólny model źródła wiadomości zakłada, że wygenerowanie dowolnej wiadomości w i ze zbioru W zależy od pewnej skończonej liczby m wiadomości wygenerowanych wcześniej. Źródło takie nazywa się źródłem ciągów Markowa m tego rzędu. 2 switch486
23 3.6 Źródło ciągów Markowa Ilość informacji, źródła Źródło Markowa jest w pełni opisane za pomocą zbioru wiadomości W = {w, w 2,, w n } oraz prawdopodobieństw warunkowych: p(w i w j, w j2,, w jm ), dla i =, 2,, n oraz j k =, 2,, n Ciąg wiadomości w j, w j2,, w jm, dla i =, 2,, n oraz jk =, 2,, n nazywamy stanem źródła w danym momencie czasu. Stan źródła Markowa ulega zmianom wraz z generowaniem kolejnych wiadomości. Ponieważ źródło może wygenerować n różnych wiadomości, to może ono przyjmować n m różnych stanów. Źródło ciągów Markowa można reprezentować (definiować) na kilka różnych sposobów: w postaci listy prawdopodobieństw warunkowych, w postaci macierzy, której wiersze odpowiadają stanom źródła a kolumny wiadomościom przez nie generowanym, a także (w prostych przypadkach) za pomocą grafu. Przykład Niech W = {0, } będzie binarnym źródłem Markowa 2 go rzędu z prawdopodobieństwami: p(0 00) = 0.3 p( 00) = 0.7 p(0 0) = 0.5 p( 0) = 0.5 p(0 0) = 0.9 p( 0) = 0. p(0 ) = 0.2 p( ) = 0.8 To samo źródło możemy określić za pomocą macierzy: stan wiadomosc Albo za pomocą grafu: 22 switch486
24 3.6 Źródło ciągów Markowa Ilość informacji, źródła Przykład Źródło Markowa pierwszego rzędu wysyła dwie wiadomości elementarne. Prawdopodobieństwo wygenerowania wiadomości zgodnej z poprzednią jest równe 4. Narysować graf tego źródła oraz macierz przejść. Z danych mamy: Przepiszmy to do macierzy przejść grafu: p(0 0) = 4 p( ) = 4 p( 0) = 3 4 p( 0) = 3 4 w w 2 w 4 w Namalowanie grafu pozostaje czytelnikowi. Można jednak policzyć entropie tego źródła. Korzystamy ze wzoru na entropię (przedstawiony poniżej (3.6)) przekształconago dla binarnego źródła wiadomości: H 2 (W w ) = 4 log ( 4 ) log = H 2 (W w ) = 4 2 log log = H 2 (W w ) = (log 2 4 log 2 3) = H 2 (W w ) = log 2 3 = log switch486
25 3.6 Źródło ciągów Markowa Ilość informacji, źródła Dodatkowo widać, że: H 2 (W w ) = H 2 (W w 2 ) Definicja Ilość informacji, jaką przenosi pojedyncza wiadomość generowana przez źródło Markowa rzędu m wyznaczamy ze wzoru: I r (w i w j, w j2,..., w jm ) = log r p(w i w j, w j2,..., w jm ) (3.5) gdzie p(w i w j, w j2,..., w jm ) oznacza prawdopodobieństwo wygenerowania wiadomości w i pod warunkiem, że źródło znajduje się w stanie w j, w j2,..., w jm, tzn., że wcześniej wygenerowało ciąg wiadomości w j, w j2,..., w jm. Definicja Entropią źródła Markowa rzędu m nazywamy średnią ilość informacji przypadającą na pojedynczą wiadomość wygenerowaną przez to źródło, a obliczamy ją ze wzoru: H(W ) = W m p(w j,..., w jm ) H(W w j,..., w jm ) = (3.6) Z twierdzenia Bayesa = W m p(w j,..., w jm ) W p(w i w j,..., w jm ) log r p(w i w j,..., w jm ) p(w j,..., w jm ) p(w i w j,..., w jm ) = p(w i, w j,..., w jm ) zatem: H(W ) = p(w i, w j,..., w jm ) log r p(w i w j,..., w jm ) W m+ Przykład * Źródło ciągów Markowa II rzędu opisane jest macierzą: w w 2 w w 4 w w 2 2 w 2 w 3 4 w 2 w switch486
26 3.6 Źródło ciągów Markowa Ilość informacji, źródła Ile wynosi entropia tego źródła w stanie w w 2? Obliczamy entropię z najprostszego wzoru: Mamy po podstawieniu, dla stanu w w 2 : H r (W ) = p i log r p i H r (W ) = 2 log r log r 2 = Przykład * Źródło ciągów Markowa II rzędu opisane jest macierzą: w w 4 w w w w 2 0 w 2 w 3 4 w 2 w 2 2 W którym stanie entropia tego źródła wynosi log 2 3? Obliczamy entropię z najprostszego wzoru (dla r = 2): 4 2 H r (W ) = p i log r p i Po podstawieniu, dla stanu w w mamy : H 2 (W ) = 4 log log = = (log 2 4 log 2 3) = log log 2 3 = log 2 3 = log 2 3 Po podstawieniu, dla stanu w w 2 mamy : H 2 (W ) = log log 2 0 = = 0 (* skorzystaliśmy z założenia wcześniej opisanego przy części z entropią źródła wiadomości : 0 log 0 = 0) Po podstawieniu, dla stanu w 2 w mamy : H 2 (W ) = 3 4 log log 2 4 Identycznie jak w przypadku w w. Po podstawieniu, dla stanu w 2 w 2 mamy : H 2 (W ) = 2 log log 2 2 = 25 switch486
27 3.7 Źródło stowarzyszone do żródła Markowa Ilość informacji, źródła 3.7 Źródło stowarzyszone do żródła Markowa Definicja Źródłem stowarzyszonym do źródła Markowa rzędu m nazywamy źródło generujące wiadomości ze zbioru W z prawdopodobieństwami bezwarunkowymi p, p 2,..., p n. Entropia źródła stowarzyszonego spełnia zależność: H r (W ) H r ( W ) przy czym równość zachodzi wtedy i tylko wtedy, gdy: p(w i w j,..., w jm ) = p(w i ) to jest, gdy wiadomości generowane są niezależnie. To z kolei zachodzi wówczas, gdy źródło Markowa jest w rzeczywistości źródłem bezpamięciowym. Przykład Dane jest źródło Markowa I-go rzędu z macierzą prawdopodobieństw P : w 2 w 2 4 w w 2 w w Obliczyć entropię tego źródła oraz entropię źródła stowarzyszonego. Entropię źródła obliczamy z zależności, która dla tego konkretnego zadania przyjmie postać: H(W ) = i p(w i ) H(W w i ) = p(w ) H(W w ) + p(w 2 ) H(W w 2 ) + p(w 3 ) H(W w 3 ) Wyznaczamy entropie warunkowe, tj. entropie źródła w poszczególnych stanach (przyjmujemy r = 2): H(W w ) = 3 i= p(w i w ) log 2 p(w i w ) = 2 4 log log 2 2 = 3 2 bitow H(W w 2 ) = 2 4 log log 2 2 = 3 2 bitow H(W w 3 ) = 2 2 log 2 2 = bit 26 switch486
28 3.7 Źródło stowarzyszone do żródła Markowa Ilość informacji, źródła A następnie wyznaczamy prawdopodobieństwa brzegowe p(w ), p(w 2 ), p(w 3 ): p(w ) + p(w 2 ) + p(w 3 ) = p(w ) = p(w ) p(w w ) + p(w 2 ) p(w w 2 ) + p(w 3 ) p(w w 3 ) p(w 2 ) = p(w ) p(w 2 w ) + p(w 2 ) p(w 2 w 2 ) + p(w 3 ) p(w 2 w 3 ) p(w 3 ) = p(w ) p(w 3 w ) + p(w 2 ) p(w 3 w 2 ) + p(w 3 ) p(w 3 w 3 ) W wyniku rozwiązania układu równań otrzymujemy: p(w ) = p(w 2 ) = p(w 3 ) = 3 Entropia źródła Markowa wynosi więc: a entropia źródła stowarzyszonego: H 2 (W ) = H(W ) = = 4 3 bitow H r ( W ) = 3 3 log r 3 = log r 3 dla r = 2: H 2 ( W ) = log 2 3 bitow 27 switch486
29 Rozdział 4 Kody: definicje i klasyfikacja 4. Definicja kodu Niech W = {w, w 2,..., w n } będzie dowolnym zbiorem wiadomości, zaś X = {x, x 2,..., x r } dowolnym alfabetem (przy czym na ogół zachodzi n r). Definicja Kodem nazywamy odwzorowanie wszystkich możliwych ciągów wiadomości elementarnych ze zbioru W w zbiór słów nad alfabetem X. 4.2 Podstawowe rodzaje kodów 4.2. Kody blokowe Definicja Kodem blokowym nazywamy taki kod, w którym każdej wiadomości w i ze zbioru W odpowiada słowo X i nad alfabetem X. Ciąg X i nazywamy słowem (albo ciągiem) kodowym. 28 switch486
30 4.2 Podstawowe rodzaje kodów Kody: definicje i klasyfikacja Przykład Dane jest źródło wiadomości W = {w, w 2, w 3, w 4 } oraz alfabety X = {0, } i X = {a, b, c}. Tabela prezentuje przykładowe kody blokowe dla źródła W : Wiadomość Słowo kodowe nad alfabetem X Słowo kodowe nad alfabetem X w 0 a w 2 b w 3 0 c w 4 0 ab Kody nieosobliwe Definicja Kod blokowy jest kodem nieosobliwym, jeżeli wszystkie słowa kodowe są nawzajem różne Przykład Dane jest źródło W = {w, w 2, w 3, w 4 } i alfabet X = {0, }. Wiadomość Słowo kodowe w 0 w 2 w 3 00 w Rozszerzenie kodu Definicja K krotnym rozszerzeniem kodu blokowego nazywamy kod, w którym ciągom wiadomości elementarnych (w i, w i2,..., w ik ) przyporządkowane są ciągi słów kodowych (X i, X i2,..., X ik ), przy czym kolejne elementy ciągu kodowego odpowiadają słowom kodowych przypisanym pojedynczym wiadomościom elementarnym. Uwaga! Z powyższej definicji wynika, że k krotne rozszerzenie kodu blokowego jest kodem blokowym dla źródła k krotnie rozszerzonego (uzasadnienie i przykłady na ćwiczeniach). 29 switch486
31 4.2 Podstawowe rodzaje kodów Kody: definicje i klasyfikacja Przykład Podaj przykład kody nieosobliwego, którego drugie rozszerzenie jest kodem osobliwym. Kod nieosobliwy Drugie rozszerzenie kodu Wiadomość Słowo kodowe Wiadomość Słowo kodowe w w w 2 0 w 2 0 w 3 w 0 w 3 0 Przykład * Źródło generuje wiadomości ze zbioru W = {w, w 2, w 3 } z prawdopodobieństwami p = 0.2, p 2 = 0.3. Jaką postać ma drugie rozszerzenie kodu optymalnego dla tego źródła? Na początek wyliczymy p 3. 3 p i = p 3 = 0.5 i= Można namalować graf, ale z kodu i algorytmu Huffmana wynika, że możemy otrzymać przykładowo takie 2 kody: Wiadomość Słowo kodowe Wiadomość Słowo kodowe w 3 w 3 0 w 2 00 w 2 w 0 w 0 Stwórzmy teraz drugie rozszerzenie tych kodów Wiadomość Słowo kodowe Wiadomość Słowo kodowe w 3 w 3 w 3 w 3 00 w 3 w 2 00 w 3 w 2 0 w 3 w 0 w 3 w 00 w 2 w 3 00 w 2 w 3 0 w 2 w w 2 w 2 w 2 w 000 w 2 w 0 w w 3 0 w w 3 00 w w w w 2 0 w w 00 w w switch486
32 4.2 Podstawowe rodzaje kodów Kody: definicje i klasyfikacja Kody jednoznacznie dekodowalne Definicja Kod blokowy nazywamy kodem jednoznacznie dekodowalnym, jeżeli k-krotne rozszerzenie tego kodu jest kodem nieosobliwym dla każdego k. Przykład Dane jest źródło W = {w, w 2, w 3, w 4 } i alfabet X = {0, }. Przykładowy kod jednoznacznie dekodowalny dla źródła W : Wiadomość Słowo kodowe w 0 w 2 0 w 3 0 w 4 0 Przykład Podać przytkład kodu nieblokowego, jednoznacznie dekodowalnego. Wiadomość Słowo kodowe w 0 w 2 0 w 3 w w Kody jednoznacznie dekodowalne bez opóźnienia Definicja Kod blokowy nazywamy kodem jednoznacznie dekodowalnym bez opóźnienia, jeżeli żadne słowo kodowe nie jest przedrostkiem innego słowa kodowego. Przykład Czy istnieje binarny kod jednoznacznie dekodowalny bez opóxnienia dla źródła wysyłającego n wiadomości elementarnych, taki, że każde słowo kodowe czytane wprost i wspak jest takie samo (tzn. każde słowo kodowe jest palindromem)? 3 switch486
33 4.3 Zasady konstruowania kodów jednoznacznie dekodowalnych Kody: bez definicje opóźnienia i klasyfikacja Oczywiście, przykładem jest kod składający się z np. {0, 00, 000, 0000, }. Jest jednoznacznie dekodowalny, bez opóźnienia i każde słowo kodowe jest palindromem. Przykład * Źródło generuje wiadomości ze zbioru W = {w, w 2, w 3, w 4 }, p = 4, p 2 = 2 5, p 3 = 5. Podaj kilka przykładów binarnych kodów jednoznacznie dekodowalnych bez opóźnienia. Na początek korzystając z definicji pradopodobieństwa: p + p 2 + p 3 + p 4 = Więc: p 4 = p 4 = 3 20 Przykładowymi kodami niesprzecznymi z poleceniem są: Wiadomość Słowo kodowe Wiadomość Słowo kodowe w 00 w 2 w 3 00 w 4 0 w 0 w 2 0 w 3 w Zasady konstruowania kodów jednoznacznie dekodowalnych bez opóźnienia Do konstruowania kodów jednoznacznie dekodowalnych bez opóźnienia wykorzystuje się systemy identyfikacji źródła. Dowolny r narny system identyfikacji źródła wiadomości można przedstawić w postaci r narnego drzewa skierowanego, którego liście odpowiadają wiadomościom elementarnym ze zbioru W = {w, w 2,..., w n }. Na podstawie takiego drzewo konstruujemy kod r-narny w następujący sposób:. Gałęzie wychodzące z każdego węzła oznaczamy różnymi literami alfabetu kodowego. 2. Dla każdej wiadomości tworzymy słowo kodowe spisując litery, przypisane poszczególnym gałęziom, na drodze od korzenia do liścia odpowiadającego danej wiadomości. 32 switch486
34 4.3 Zasady konstruowania kodów jednoznacznie dekodowalnych Kody: bez definicje opóźnienia i klasyfikacja Twierdzenie Kod r narny otrzymany w wyniku powyższego algorytmu jest kodem dekodowalnym bez opóźnienia. Przykład Dany jest trzynarny (r = 3) system identyfikacji dla źródła W = {w, w 2,..., w 5 }, p, p 2,..., p 5. Niech X = {a, b, c}. Na podstawie systemu identyfikacji S 3 budujemy drzewo trzynarne. Postępując zgodnie z algorytmem otrzymujemy następujący kod: w a, w 2 b, w 3 cb, w 4 cc, w 5 ca. Prawdziwe jest także twierdzenie odwrotne: 33 switch486
35 4.3 Zasady konstruowania kodów jednoznacznie dekodowalnych Kody: bez definicje opóźnienia i klasyfikacja Twierdzenie Każdemu r narnemu kodowi jednoznacznie dekodowalnemu bez opóźnienia odpowiada taki r narny system identyfikacji, w którym liczba pytań niezbędna do zidentyfikowania każdej, pojedynczej wiadomości jest równa długości słowa kodowego odpowiadającego tej wiadomości. Konstruowanie systemu identyfikacji, o którym mowa w powyższym twierdzeniu, opisuje następujący algorytm:. Budujemy r narne, h poziomowe drzewo pełne, w którym h jest równe długości najdłuższego słowa kodowego. 2. Gałęzie wychodzące z każdego wierzchołka oznaczamy różnymi literami alfabetu. 3. Redukujemy drzewo, pozostawiając wyłącznie gałęzie, których oznaczenia na drogach od korzenia do liści odpowiadają ciągom kodowym. 4. Oznaczamy węzły końcowe (liście) wiadomościami elementarnymi, pozostałym węzłom przyporządkowujemy pytania r narne. Przykład Dany jest następujący kod jednoznacznie dekodowalny bez opóźnienia: w 0, w 2 0, w 3 0, w 4. Na podstawie drzewa kodowego budujemy, zgodnie z podanym algorytmem, system identyfikacji źródła: Jakość kodu będziemy oceniać na podstawie średniej długości słowa kodowego. 34 switch486
36 4.3 Zasady konstruowania kodów jednoznacznie dekodowalnych Kody: bez definicje opóźnienia i klasyfikacja Definicja Niech K będzie r narnym kodem źródła wiadomości W = {w, w 2,..., w n }, p, p 2,..., p n i niech d i = d(w i ) dla i =, 2,..., n będą długościami słów kodowych przypisanych poszczególnym wiadomościom. Miarą jakości kodu jest liczba (zwana średnią długością słowa kodowego): n E r (K) = d i p i (4.) i= Mówimy, że kod K jest lepszy niż kod K, jeżeli E r (K) < E r (K ). Kod K jest optymalny (zwięzły, najlepszy), jeżeli nie istnieje taki kod K, że E r (K ) < E r (K). Przykład * Dane jest źródło W generujące wyniki rzutu koscią (, 2, 2, 2). Ile wynosi średnia długość słowa kodowego przypadająca na pojedyńczą wiadomość w kodzie binarnym będącym dwukrotnym rozszerzeniem binarnego kodu optymalnego dla źródła W? Najpierw zakodujemy wyniki rzutu kościa, nie mamy w treści prawdopodobieńswa, więc przyjmujemy 6. Wynikiem jest...wt F???? 35 switch486
37 Rozdział 5 Kody optymalne, algorytm Huffmana 5. Kody optymalne Twierdzenie Średnia długość słowa kodowego kodu jednoznacznie dekodowalnego bez opóźnienia dla źródła wiadomości W jest nie mniejsza niż entropia źródła (co najwyżej równa entropii). E r (K) H r (W ) Dowód H r (W ) E r (K) = n i= H r (W ) E r (K) = H r (W ) E r (K) = n i= (p i log r p i ) n i= H r (W ) E r (K) = n p i d i i= p i (log r p i d i ) p i (log r p i log r r di ) n r di p i log r Z wykresów funkcji f(x) = a(x ) oraz g(x) = log r x wynika, że f(x) g(x), a więc: i= p i log r r di p i a( rdi p i ) 36 switch486
38 5. Kody optymalne Kody optymalne, algorytm Huffmana Po podstawieniu otrzymujemy: H r (W ) E r (K) H r (W ) E r (K) n i= Z twierdzenia i liniowości sumy: a( p i r di p i p i ) = n i= n i= H r (W ) E r (K) a ( p i a( rdi p i ) a( p i r di p i p i ) = n r di i= n p i ) Z twierdzenia Krafta (2.) oraz defincji prawdopodobieństwa mamy: n n r di p i = Podstawiając będziemy mieć: Co jest dowodem nierówności. i= i= H r (W ) E r (K) 0 i= n a(r di p i ) i= Twierdzenie Zależność: Zachodzi tylko wtedy, gdy: H r (W ) = E r (K) log r p i ℵ, dla i=, 2, n Twierdzenie Dla każdego źródła wiadomości można zbudować r narny kod K taki, że: H r (W ) E r (K) H r (W ) + (5.) Dowód W przedziale [log r p i, log r p i + ] znajduje się dokładnie jedna liczba naturalna (m i ). Ustalając takie liczby dla i =, 2,, n otrzymujemy n nierówności postaci: log r p m < log r p + log r p 2 m 2 < log r p 2 +. log r p n m n < log r p n + (5.2) 37 switch486
39 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana Sprawdzamy, czy liczby m, m 2,, m n mogą być poziomami liści w drzewie rzędu r. Ponieważ: m i log r p i to r mi r log r p i = r (log r log r pi) r (log r pi log r ) = r (log r pi 0) = r log r pi = p i Czyli: r mi p i dla i=, 2,, n Po zsumowaniu otrzymanych nierówności otrzymujemy: n i= r mi n p i = Spełniona jest więc nierówność Krafta (2.). Z tego wynika, że można zbudować drzewo r narne, a na jego podstawie r narny system identyfikacji i r narny kod jednoznacznie dekodowalny bez opóźnienia taki, że d i = m i, dla i =, 2,, n. Aby stwierdzić, czy kod ten spełnia warunek w twierdzeniu (5.), mnożymy układ nierówności (5.2) odpowiednio przez p, p 2,, p n, a następnie sumujemy uzyskane wyniki: n i= p i log r p i i= n p i m i < i= n i= p i (log r p i + ) Czyli: Dodatkowo: n i= H r (W ) = p i log r p i n i= n p i m i < i= n i= (p i log r p i ), E r (K) = p i log r p i + n p i m i, i= n i= p i n p i = i= H r (W ) E r (K) H r (W ) + cnp. 5.2 Algorytm Huffmana Rozważmy źródło wiadomości W = {w,, w n }, p,, p n. Niech wiadomości te będą uporządkowane według malejących wartości prawdopodobieństwa, tzn. p p 2 p n. Traktując dwie ostatnie wiadomości jako jedną wiadomość wtórną, otrzymujemy w miejsce pierwotnego źródła W nowe, tzw. zredukowane źródło, zawierające n wiadomości. 38 switch486
40 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana Elementy tego źródło można na nowo uporządkować i ponownie połączyć dwie wiadomości o najmniejszym prawdopodobieństwie, redukując w ten sposób źródło wcześniej zredukowane. Stosując opisaną procedurę rekurencyjną, otrzymamy ciąg źródeł o zbiorach wiadomości, z których każdy zawiera o element mniej niż poprzedni. Ostatnie ze źródeł w tym ciągu będzie zawierać tylko dwa elementy. Konstruowanie ciągu źródeł zredukowanych jest pierwszym etapem konstruowania kodu zwięzłego jednoznacznie dekodowalnego bez opóźnienia dla źródła W. Zanim przejdziemy do konstruowania kodu zauważmy, że binarny kod zwięzły dekodowalny bez opóźnienia dla źródła zredukowanego W 4 (gdzie W 4 zawiera tylko dwie wiadomości) jest prostym kodem z dwoma słowami kodowymi 0 i. Startując od ostatniego źródła zredukowanego i cofając się wzdłuż ciągu źródeł możemy skonstruować kod zwięzły jednoznacznie dekodowalny dla źródła pierwotnego. Najlepiej proces ten zobrazujemy na drzewie binarnym. Łatwo zauważyć, że kod jest kodem jednoznacznie dekodowalnym bez opóźnienia. Kode ten przedstawia się następująco: w w 2 00 w 3 0 w w w 6 00 Twierdzenie Kod binarny uzyskany w wyniku zastosowania algorytmu Huffmana jest kodem optymalnym. 39 switch486
41 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana R-narny algorytm Huffmana Aby skonstruować r narny kod zwięzły należy zastosować analogiczne kroki jak przedstawione powyżej. Zatem dla źródła wiadomości W = {w,, w n }, p,, p n : Porządkujemy wiadomości według malejących wartości prawdopodobieństw. Jeśli liczba wiadomości elementarnych zbioru pierwotnego nie była równa r + α(r ), gdzie α jest liczbą naturalną, to do zbioru wiadomości elementarnych należy dodać tzw. elementy symulujące przypisując im prawdopodobieństwo równe zero. Liczba elementów symulujących zsumowana z liczbą elementów zbioru pierwotnego powinna spełniać zależność r + α(r ) dla dowolnego α >. Tworzymy ciąg źródeł zredukowanych łącząc ze sobą w każdym kroku r wiadomości o najmniejszych prawdopodobieństwach. Na podstawie ciągu źródeł zredukowanych tworzymy drzewo r narne. Konstruujemy r narny kod zwięzły oznaczając kolejnymi literami alfabetu kodowego krawędzie wychodzące z każdego z wierzchołków drzewa. Przypisujemy słowa kodowe poszczególnym wiadomościom spisując litery kodu leżące w drzewie na drodze od korzenia do liścia reprezentującego daną wiadomość. Przykład Dane jest źródło wiadomości W = {w, w 2,, w 9 }, p = 0.5, p 2 = 0.04, p 3 = p 4 = 0.0, p 6 = 0.2, p 7 = p 8 = 0.02, p 5 = p 9 = 0.. Zbudować binarny, 3 narny i 4 narny system identyfikacji tego źródła spełniający nierówność (5.): H r (W ) E r (S) < H r (W ) + Porównać E r (S) i H r (W ) dla każdego z tych systemów. Moglibyśmy przedstawić to zadanie dużo wcześniej, ale dla ułatwienia skorzystamy z algorytmu Huffmana. Zbudowany system musi spełniać założenia z pierwszego podpunktu, ale korzystając z algorytmu Huffmana dostaniemy system optymalny, a w związku z tym, spełniający nierówność (5.). 40 switch486
42 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana binarny w 0.5 w w 9 0. w 5 0. w w w w \z 0.2 w / w 0.5 w w 9 0. w 5 0. w z 0.02 w \z w / w 0.5 w w 9 0. w 5 0. z w \z z 0.02 / w 0.5 w w 9 0. w 5 0. z \z 4 0. z / w 0.5 w 0.5 w z z 4 0. w \z w 9 0. \z z 4 0. / w 5 0. / dodakowo wypadałoby namalować graf... 3 narny zostawiamy czytelnikowi... w 0.5 z \z z / w 0.5 z narny liczba wiadomości jest różna od r + α(r ) więc musimy dodać kilka elementów z p i = 0 w 0.5 w w 9 0. w 5 0. w w w \ w z 0.04 w w / Namalujemy drzewo. w 0.5 w w 9 0. w 5 0. \ z 0.04 z w w / w 0.5 w z w switch486
43 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana Możemy to przedstawić w postaci tablicy. Wiadomość Słowo kodowe Wiadomość Słowo kodowe w a w 6 b w 2 cc w 7 cd w 3 cbc w 8 cba w 4 bcc w 9 d w 5 ca w 0 cbd Policzmy wartości E r (S) i H r (W ) z drugiego podpunktu. Mamy więc do czynienia z zależnościami :(3.3) i (3.2) Oraz: E 4 (S) = n l i p i E 4 (S) = E 4 (S) = H 4 (W ) = i= E 4 (S) =.24 n i= p i log 4 p i H 4 (W ) = 0.5 log log log log log log log log 4 00 H 4 (W ) = Z dydaktycznego punktu widzenia należy zostawić resztę przykłądu do rozwiązania czytelnikowi. 42 switch486
44 5.2 Algorytm Huffmana Kody optymalne, algorytm Huffmana Przykład Dany jest kod K = (k, k 2,, k 7 ) taki, że k = 00, k 2 = 0, k 3 = 00, k 4 = 000, k 5 =, k 6 = 0, k 7 = 0. Podać przykład źródła, dla którego kod K jest kodem optymalnym. Wystarczy namalować graf (chociaż z punktu widzenia nie jest to konieczne), oznaczyć liście, a potem na podstawie grafu spisać tablicę kodów, np. wraz z zwiększającą się długością słowa kodowego i do niej dopisywać prawdopodobieństwa... Natomiast same prawdopodobieństwa należo otrzymać stosując metodę odwrotną do algorytmu Huffmana, zacząć od pierwszego węzła i rozpatrywać jego potomków... (mamy wtedy szansę na taki dobór prawdopodobieństw, że będzie jednoznaczna i jedyna postać optymalnego kodu - ponieważ algorytm Huffmana może działać różnie i różne kody dawać, a wszystkie będą optymalne) lub na drzewie opisywać prawdopodobieństwa zgodnie z zasadą, że potomkowie będą mieli prawdopodobieństwo ojca/2, a korzeń drzewa ma prawdopodobieństwo równe. 43 switch486
45 Rozdział 6 Twierdzenie Shannona Algorytm Huffmana nie zawsze prowadzi do zadowalających rezultatów. Przykład Rozważmy następujące źródło wiadomości: W = {w, w 2 }, p = 0.999, p 2 = 0.00, X = {0, }. Kodem optymalnym dlatego źródła będzie kod zbudowany w oparciu o jedno z następujących drzew kodowych: Średnia długość słowa kodowego jest w obu przypadkach równa jednemu bitowi, ale entropia tego źródła niewiele różni się od zera. Kod jest optymalny, ale jego jakość jest niewielka. Aby ocenić jakość kodu wprowadzimy dwie dodatkowe miary, mianowicie sprawność i rozwlekłość kodu. 44 switch486
46 Twierdzenie Shannona Definicja Sprawność: η = H r(w ) E r (K) (6.) Definicja Rozwlekłość: λ = η = E r(k) E r (K) H r(w ) E r (K) = E r(k) H r (W ) E r (K) (6.2) Kod, który powstaje wyniku zastosowania algorytmu Huffmana dla źródła W jest więc kodem optymalnym, ale mało sprawnym (albo bardzo rozwlekłym). Niech W będzie bezpamięciowym źródłem wiadomości, W k k krotnym rozszerzeniem tego źródła, zaś K k kodem jednoznacznie dekodowalnym bez opóźnienia zbudowanym dla źródła W k, takim że: H r (W k ) E r (K k ) H r (W k ) + Twierdzenie Shannona Dowód E r (K k ) lim = H r (W ) k k k H r (W ) E r (K k ) k H r (W k ) + H r (W ) E r(k k ) H r (W k ) + k k Ponieważ: lim k k = 0 to z twierdzenia o trzech ciągach otrzymujemy, że : k cnp. E r (K k ) lim = H r (W ) k k Przykład Niech W = {w, w 2 }, p = 0.9, p 2 = 0., X = {0, } oraz k = 2. Wówczas W k = W 2 = {w w, w w 2, w 2 w, w 2 w 2 }, p = 0.8, p 2 = p 2 = 0.09, p 22 = 0.0. Budujemy kod optymalny dla źródła dwukrotnie rozszerzonego: w w 0.8 w w 0.09 w w 0.09 \z 0. w w 0.0 / w w 0.8 w w 0.09 \z z 0. / w w 0.8 z switch486
47 Twierdzenie Shannona Na podstawie drzewa kodowego przypisujemy kody poszczególnym wiadomościom: w w, w w 2 00, w 2 w 0, w 2 w Obliczamy: E r (K 2 ) = =.29 E r (K 2 ) 2 = Wniosek Średnia długość słowa kodowego przypadająca na pojedynczą wiadomość w kodzie optymalnym dla źródła dwukrotnie rozszerzonego jest bliższa entropii tego źródła niż średnia długość słowa kodowego kodu optymalnego zbudowanego dla tego samego źródła pierwotnego. Przykład Dane jest źródło W = {w, w 2 }, p = 0.8, p 2 = 0.2. Obliczyć entropię źródła oraz średnią długość słowa kodowego w optymalnym kodzie binarnym. Wyznaczyć drugie i trzecie rozszerzenie kodu optymalnego oraz kody optymalne dla drugiego i trzeciego rozszerzenia źródła. Dla każdego przypadku obliczyć średnią długość słowa kodowego przypadającą na pojedynczą wiadomość. Znaleźć związki z twierdzeniem Shannona. Bez rozszerzenia źródła Liczymy E r (S) i H r (W ). n E 2 (S) = l i p i = = i= 46 switch486
48 Twierdzenie Shannona H 2 (W ) = n i= 5 p i log 2 = 0.8 log p 2 i log H 2 (W ) = 0.8 (log 2 5 log 2 4) log 2 5 = 0.8 log log log 2 5 Drugie rozszerzenie źródła H 2 (W ) = log W = {w, w 2 }, p = 0.8, p 2 = 0.2 W 2 = {w w, w w 2, w 2 w, w 2 w 2 }, p = 0.64, p 2 = p 2 = 0.6, p 22 = 0.04 Zgodnie z algorytmem Huffmana: w w 0.64 w w w 2 w 0.6 \z 0.2 w 2 w / Otrzymujemy tabelę: w w 0.64 z 0.2 \z w w / w w 0.64 z Wiadomość Słowo kodowe Wiadomość Słowo kodowe w w 0 w 2 w 0 w w 2 0 w 2 w 2 Wzory w tym przypadku się nie zmienią, zmieni się tylko interpretacja argumentów. W związku z tym analogicznie jak poprzednio. E 2 (S) = n l i p i = i= E 2 (S) = =.56 n H 2 (W ) = p i log 2 p i i= H 2 (W ) = 0.64 log log log H 2 (W ) = 0.64 (log 2 00 log 2 64) (log 2 00 log 2 6) (log 2 00 log 2 4) H 2 (W ) = log 2 00 ( ) 0.64 log log log 2 4 H 2 (W ) = log log log log 2 2 H 2 (W ) = log = log log log log H 2 (W ) = 2 log switch486
49 Twierdzenie Shannona Trzecie rozszerzenie źródła Pozostawiamy czytelnikowi. Na podstawie powyższych wyników widać, że spełniona jest zależność (3.4) przedstawiona jako: H r (W k ) = k H r (W ). Dodatkowo widzimy, że z kolejnym rozszerzeniem średnia długość słowa kodowego rośnie... Policzmy jednak sprawność (6.) i efektywność (6.2) stworzonych systemów: Przypadek pierwszy: η = H 2(W ) E 2 (K) = log η = log λ = η = log = log Sprawdźmy jeszcze przypadek z twierdzenia Shannona: E 2 (K ) = = Przypadek drugi: η = H 2(W ) E 2 (K) = 2 log η =.28 log λ = η =.28 log =.28 log Sprawdźmy jeszcze przypadek z twierdzenia Shannona: E 2 (K 2 ) 2 =.56 2 = 0.78 Widać wyraźnie, że ten iloraz dąży do entropii wraz ze rozszerzeniem źródła. 48 switch486
Teoria Informacji - wykład. Kodowanie wiadomości
Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych
Bardziej szczegółowoTeoria informacji i kodowania Ćwiczenia
Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom
Bardziej szczegółowoElementy teorii informacji i kodowania
i kodowania Entropia, nierówność Krafta, kodowanie optymalne Marcin Jenczmyk m.jenczmyk@knm.katowice.pl 17 kwietnia 2015 M. Jenczmyk Spotkanie KNM i kodowania 1 / 20 Niech S = {x 1,..., x q } oznacza alfabet,
Bardziej szczegółowoTemat: Algorytm kompresji plików metodą Huffmana
Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik
Bardziej szczegółowoKompresja bezstratna. Entropia. Kod Huffmana
Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)
Bardziej szczegółowo0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Bardziej szczegółowoWygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje
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
Bardziej szczegółowoNierówność Krafta-McMillana, Kodowanie Huffmana
Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoKodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości
Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład 13 1 Kody liniowe - kodowanie w oparciu o macierz parzystości Przykład Różne macierze parzystości dla kodu powtórzeniowego. Co wiemy z algebry
Bardziej szczegółowoKodowanie i entropia
Kodowanie i entropia Marek Śmieja Teoria informacji 1 / 34 Kod S - alfabet źródłowy mocy m (np. litery, cyfry, znaki interpunkcyjne), A = {a 1,..., a n } - alfabet kodowy (symbole), Chcemy przesłać tekst
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowoDr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Bardziej szczegółowoteoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015
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.
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowo3. Macierze i Układy Równań Liniowych
3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x
Bardziej szczegółowoteoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015
teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.
Bardziej szczegółowoSpacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Bardziej szczegółowoFunkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.
Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne. Funkcja homograficzna. Definicja. Funkcja homograficzna jest to funkcja określona wzorem f() = a + b c + d, () gdzie współczynniki
Bardziej szczegółowoKompresja danych kodowanie Huffmana. Dariusz Sobczuk
Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod
Bardziej szczegółowoUkłady równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Bardziej szczegółowoGranica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35
Kody Marek Śmieja Teoria informacji 1 / 35 Entropia Entropia określa minimalną statystyczną długość kodowania (przyjmijmy dla prostoty że alfabet kodowy A = {0, 1}). Definicja Niech X = {x 1,..., x n }
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia dzienne Wykład 6
Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6 1 Kody cykliczne: dekodowanie Definicja 1 (Syndrom) Niech K będzie kodem cyklicznym z wielomianem generuja- cym g(x). Resztę z dzielenia słowa
Bardziej szczegółowoNiech x 1,..., x n będzie ciągiem zdarzeń. ---
Matematyczne podstawy kryptografii, Ćw2 TEMAT 7: Teoria Shannona. Kody Huffmana, entropia. BIBLIOGRAFIA: [] Cz. Bagiński, cez.wipb.pl, [2] T. H. Cormen, C. E. Leiserson, R. L Rivest, Wprowadzenie do algorytmów,
Bardziej szczegółowoTeoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017
Kody źródłowe jednoznacznie dekodowalne Zadanie Ile najwięcej słów kodowych może liczyć kod binarny jednoznacznie dekodowalny, którego najdłuższe słowo ma siedem liter? (Odp. 28) Zadanie 2 Zbiór sześciu
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 7: Kody korygujące błędy Gniewomir Sarbicki Błędy transmisji i kodowanie nadmiarowe Zakładamy, że przy pewnym małym prawdopodobieństwie ɛ przy transmisji bit zmienia wartość.
Bardziej szczegółowoElementy rachunku prawdopodobieństwa (M. Skośkiewicz, A. Siejka, K. Walczak, A. Szpakowska)
Elementy rachunku prawdopodobieństwa (M. Skośkiewicz, A. Siejka, K. Walczak, A. Szpakowska) Twierdzenie (o mnożeniu) Podstawowe pojęcia i wzory kombinatoryczne. Niech,, będą zbiorami mającymi odpowiednio,,
Bardziej szczegółowoZnaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:
Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie
Bardziej szczegółowoEntropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz
Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem
Bardziej szczegółowoCzy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
Bardziej szczegółowoKodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski
Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Bardziej szczegółowoKody blokowe Wykład 2, 10 III 2011
Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding
Bardziej szczegółowoGraf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Bardziej szczegółowoRozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład
Rozdział 1 Wektory losowe 1.1 Wektor losowy i jego rozkład Definicja 1 Wektor X = (X 1,..., X n ), którego każda współrzędna jest zmienną losową, nazywamy n-wymiarowym wektorem losowym (krótko wektorem
Bardziej szczegółowoWykład 14. Elementy algebry macierzy
Wykład 14 Elementy algebry macierzy dr Mariusz Grządziel 26 stycznia 2009 Układ równań z dwoma niewiadomymi Rozważmy układ równań z dwoma niewiadomymi: a 11 x + a 12 y = h 1 a 21 x + a 22 y = h 2 a 11,
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoKody blokowe Wykład 5a;
Kody blokowe Wykład 5a; 31.03.2011 1 1 Kolorowanie hiperkostki Definicja. W teorii grafów symbol Q n oznacza kostkę n-wymiarową, czyli graf o zbiorze wierzchołków V (Q n ) = {0, 1} n i zbiorze krawędzi
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoRachunek prawdopodobieństwa- wykład 2
Rachunek prawdopodobieństwa- wykład 2 Pojęcie dyskretnej przestrzeni probabilistycznej i określenie prawdopodobieństwa w tej przestrzeni dr Marcin Ziółkowski Instytut Matematyki i Informatyki Uniwersytet
Bardziej szczegółowoWstęp do Techniki Cyfrowej... Teoria automatów
Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia
Bardziej szczegółowoFunkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska
Funkcje liniowe i wieloliniowe w praktyce szkolnej Opracowanie : mgr inż. Renata Rzepińska . Wprowadzenie pojęcia funkcji liniowej w nauczaniu matematyki w gimnazjum. W programie nauczania matematyki w
Bardziej szczegółowoWstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004
4 marca 2004 Podstawowe oznaczenia i definicje Wymagania wobec kodu Podstawowa idea Podsumowanie Podstawowe oznaczenia i definicje Podstawowe oznaczenia i definicje: alfabet wejściowy: A = {a 1, a 2,...,
Bardziej szczegółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Bardziej szczegółowoPrawdopodobieństwo. Prawdopodobieństwo. Jacek Kłopotowski. Katedra Matematyki i Ekonomii Matematycznej SGH. 16 października 2018
Katedra Matematyki i Ekonomii Matematycznej SGH 16 października 2018 Definicja σ-algebry Definicja Niech Ω oznacza zbiór niepusty. Rodzinę M podzbiorów zbioru Ω nazywamy σ-algebrą (lub σ-ciałem) wtedy
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoĆwiczenia z metodyki nauczania rachunku prawdopodobieństwa
Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa 25 marca 209 Zadanie. W urnie jest b kul białych i c kul czarnych. Losujemy n kul bez zwracania. Jakie jest prawdopodobieństwo, że pierwsza kula
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowoDef. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne
Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu
Bardziej szczegółowoPrzepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału Wiktor Miszuris 2 czerwca 2004 Przepustowość kanału Zacznijmy od wprowadzenia równości IA, B HB HB A HA HA B Można ją intuicyjnie
Bardziej szczegółowoFunkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia dzienne Wykład 9,
1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej
Bardziej szczegółowoKURS MATEMATYKA DYSKRETNA
KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie ZADANIE DOMOWE www.akademia.etrapez.pl Strona 1 Część 1: TEST Zaznacz poprawną odpowiedź (tylko jedna jest prawdziwa). Pytanie 1 Drogę nazywamy
Bardziej szczegółowoZasada indukcji matematycznej
Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.
Bardziej szczegółowo1 Macierz odwrotna metoda operacji elementarnych
W tej części skupimy się na macierzach kwadratowych. Zakładać będziemy, że A M(n, n) dla pewnego n N. Definicja 1. Niech A M(n, n). Wtedy macierzą odwrotną macierzy A (ozn. A 1 ) nazywamy taką macierz
Bardziej szczegółowoTreść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.
. Metoda eliminacji. Treść wykładu i ich macierze... . Metoda eliminacji. Ogólna postać układu Układ m równań liniowych o n niewiadomych x 1, x 2,..., x n : a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowoTeoretyczne podstawy programowania liniowego
Teoretyczne podstawy programowania liniowego Elementy algebry liniowej Plan Kombinacja liniowa Definicja Kombinacja liniowa wektorów (punktów) x 1, x 2,, x k R n to wektor x R n k taki, że x = i=1 λ i
Bardziej szczegółowoPrzykład 1 W przypadku jednokrotnego rzutu kostką przestrzeń zdarzeń elementarnych
Rozdział 1 Zmienne losowe, ich rozkłady i charakterystyki 1.1 Definicja zmiennej losowej Niech Ω będzie przestrzenią zdarzeń elementarnych. Definicja 1 Rodzinę S zdarzeń losowych (zbiór S podzbiorów zbioru
Bardziej szczegółowo0-0000, 1-0001, 2-0010, 3-0011 itd... 9-1001.
KODOWANIE Jednym z problemów, z którymi spotykamy się w informatyce, jest problem właściwego wykorzystania pamięci. Konstruując algorytm staramy się zwykle nie tylko o zminimalizowanie kosztów czasowych
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Bardziej szczegółowoLogarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie
Bardziej szczegółowoi=7 X i. Zachodzi EX i = P(X i = 1) = 1 2, i {1, 2,..., 11} oraz EX ix j = P(X i = 1, X j = 1) = 1 7 VarS 2 2 = 14 3 ( 5 2 =
Kombinatoryka W tej serii zadań można znaleźć pojawiające się na egzaminach zadania dotyczące problemu wyznaczania prostych parametrów rozkładu w przypadku zgadnień kombinatorycznych. Zadania te wymagają
Bardziej szczegółowoZaawansowane metody numeryczne
Wykład 10 Rozkład LU i rozwiązywanie układów równań liniowych Niech będzie dany układ równań liniowych postaci Ax = b Załóżmy, że istnieją macierze L (trójkątna dolna) i U (trójkątna górna), takie że macierz
Bardziej szczegółowoIII. ZMIENNE LOSOWE JEDNOWYMIAROWE
III. ZMIENNE LOSOWE JEDNOWYMIAROWE.. Zmienna losowa i pojęcie rozkładu prawdopodobieństwa W dotychczas rozpatrywanych przykładach każdemu zdarzeniu była przyporządkowana odpowiednia wartość liczbowa. Ta
Bardziej szczegółowoPodstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.
ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
Bardziej szczegółowoMatura próbna matematyka poziom rozszerzony
Matura próbna matematyka poziom rozszerzony Zadanie 1 (1pkt) Jaki jest zbiór wartości funkcji f(x) = 5 cos x 1, jeśli x π, π? 4 (a) 0, + //gdy pominie przedział na x i policzy dla x R (b) 0, 7 + //prawidłowa
Bardziej szczegółowoPróbny egzamin maturalny z matematyki Poziom rozszerzony
Kujawsko-Pomorskie Centrum Edukacji Nauczycieli w Bydgoszczy PLACÓWKA AKREDYTOWANA KOD PESEL PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI Marzec 2016 POZIOM ROZSZERZONY 1. Rozwiązania zadań i odpowiedzi wpisuj
Bardziej szczegółowoTeoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017
Algebra liniowa Zadanie 1 Czy jeśli wektory x, y i z, należące do binarnej przestrzeni wektorowej nad ciałem Galois GF (2), są liniowo niezależne, to można to samo orzec o następujących trzech wektorach:
Bardziej szczegółowo5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Bardziej szczegółowoKodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,
1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości
Bardziej szczegółowoWYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą
1. Statystyka odczytać informacje z tabeli odczytać informacje z diagramu 2. Mnożenie i dzielenie potęg o tych samych podstawach 3. Mnożenie i dzielenie potęg o tych samych wykładnikach 4. Potęga o wykładniku
Bardziej szczegółowoIndukowane Reguły Decyzyjne I. Wykład 3
Indukowane Reguły Decyzyjne I Wykład 3 IRD Wykład 3 Plan Powtórka Grafy Drzewa klasyfikacyjne Testy wstęp Klasyfikacja obiektów z wykorzystaniem drzewa Reguły decyzyjne generowane przez drzewo 2 Powtórzenie
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoPropozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.
Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON. Zadanie 6. Dane są punkty A=(5; 2); B=(1; -3); C=(-2; -8). Oblicz odległość punktu A od prostej l przechodzącej
Bardziej szczegółowoWymagania kl. 3. Zakres podstawowy i rozszerzony
Wymagania kl. 3 Zakres podstawowy i rozszerzony Temat lekcji Zakres treści Osiągnięcia ucznia 1. RACHUNEK PRAWDOPODOBIEŃSTWA 1. Reguła mnożenia reguła mnożenia ilustracja zbioru wyników doświadczenia za
Bardziej szczegółowoProgramowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowo( ) Arkusz I Zadanie 1. Wartość bezwzględna Rozwiąż równanie. Naszkicujmy wykresy funkcji f ( x) = x + 3 oraz g ( x) 2x
Arkusz I Zadanie. Wartość bezwzględna Rozwiąż równanie x + 3 x 4 x 7. Naszkicujmy wykresy funkcji f ( x) x + 3 oraz g ( x) x 4 uwzględniając tylko ich miejsca zerowe i monotoniczność w ten sposób znajdziemy
Bardziej szczegółowoZastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby
Bardziej szczegółowoWykład z równań różnicowych
Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.
Bardziej szczegółowoAlgorytmy zachłanne. dr inż. Urszula Gałązka
Algorytmy zachłanne dr inż. Urszula Gałązka Algorytm zachłanny O Dokonuje wyboru, który w danej chwili wydaje się najkorzystniejszy. O Mówimy, że jest to wybór lokalnie optymalny O W rzeczywistości nie
Bardziej szczegółowoUkłady równań liniowych
Układy równań liniowych Niech K będzie ciałem. Niech n, m N. Równanie liniowe nad ciałem K z niewiadomymi (lub zmiennymi) x 1, x 2,..., x n K definiujemy jako formę zdaniową zmiennej (x 1,..., x n ) K
Bardziej szczegółowo1 Metody rozwiązywania równań nieliniowych. Postawienie problemu
1 Metody rozwiązywania równań nieliniowych. Postawienie problemu Dla danej funkcji ciągłej f znaleźć wartości x, dla których f(x) = 0. (1) 2 Przedział izolacji pierwiastka Będziemy zakładać, że równanie
Bardziej szczegółowoMatematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d
C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DRZEWA i LASY Drzewem nazywamy graf spójny nie zawierający cykli elementarnych. Lasem nazywamy graf nie zawierający cykli elementarnych. Przykłady drzew i lasów takie krawędzie są wykluczone drzewo las
Bardziej szczegółowodr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;
Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia
Bardziej szczegółowo1 Automaty niedeterministyczne
Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów
Bardziej szczegółowoPlan wynikowy klasa 3
Plan wynikowy klasa 3 Przedmiot: matematyka Klasa 3 liceum (technikum) Rok szkolny:........................ Nauczyciel:........................ zakres podstawowy: 28 tyg. 3 h = 84 h (78 h + 6 h do dyspozycji
Bardziej szczegółowoMetody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoTeoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa
Bardziej szczegółowo1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
Bardziej szczegółowoRachunek prawdopodobieństwa
Rachunek prawdopodobieństwa Sebastian Rymarczyk srymarczyk@afm.edu.pl Tematyka zajęć 1. Elementy kombinatoryki. 2. Definicje prawdopodobieństwa. 3. Własności prawdopodobieństwa. 4. Zmienne losowe, parametry
Bardziej szczegółowoFunkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.
Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy
Bardziej szczegółowomgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A
mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja
Bardziej szczegółowo