Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest



Podobne dokumenty
Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

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

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

0 + 0 = 0, = 1, = 1, = 0.

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

Teoria informacji i kodowania Ćwiczenia

Teoria Informacji - wykład. Kodowanie wiadomości

Elementy teorii informacji i kodowania

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

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

Matematyka dyskretna

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Kompresja bezstratna. Entropia. Kod Huffmana

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Kodowanie i entropia

Całki niewłaściwe. Całki w granicach nieskończonych

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

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

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa

Temat: Algorytm kompresji plików metodą Huffmana

W11 Kody nadmiarowe, zastosowania w transmisji danych

Kody blokowe Wykład 2, 10 III 2011

Teoria Informacji i Metody Kompresji Danych

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Weryfikacja hipotez statystycznych

Metody probabilistyczne

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Zajęcia nr. 3 notatki

Nierówność Krafta-McMillana, Kodowanie Huffmana

Kodowanie informacji

Liczby zmiennoprzecinkowe i błędy

Rachunek prawdopodobieństwa Rozdział 5. Rozkłady łączne

jest ciągiem elementów z przestrzeni B(R, R)

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Podręcznik. Wzór Shannona

Problemy Decyzyjne dla Systemów Nieskończonych

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Krótka wycieczka do wnętrza komputera

Kody Tunstalla. Kodowanie arytmetyczne

zbiorów domkniętych i tak otrzymane zbiory domknięte ustawiamy w ciąg. Oznaczamy

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

1 Moduł Modbus ASCII/RTU 3

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

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

8 Całka stochastyczna względem semimartyngałów

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

i=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 =

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno.

Wykład 6 Centralne Twierdzenie Graniczne. Rozkłady wielowymiarowe

Prawdopodobieństwo warunkowe Twierdzenie o prawdopodobieństwie całkowitym

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Prawdopodobieństwo i statystyka

Kody splotowe. Zastosowanie

Dyskretne procesy stacjonarne o nieskończonej entropii nadwyżkowej

Zasada indukcji matematycznej

Maksymalne powtórzenia w tekstach i zerowa intensywność entropii

Matematyka ubezpieczeń majątkowych r.

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

Spis treści. 1 Moduł Modbus TCP 4

3a. Wstęp: Elementarne równania i nierówności

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

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Tranzystor JFET i MOSFET zas. działania

Teoria informacji i kodowania Ćwiczenia

Kompresja danych DKDA (7)

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Spacery losowe generowanie realizacji procesu losowego

+ r arcsin. M. Przybycień Rachunek prawdopodobieństwa i statystyka π r x

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

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

Paradygmaty dowodzenia

Rachunek prawdopodobieństwa

TIMKoD - Lab 1 - Przybliżenie języka naturalnego

Programowanie liniowe

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Funkcja wykładnicza kilka dopowiedzeń

Rozkład figury symetrycznej na dwie przystające

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Funkcje dwóch zmiennych

Ważne rozkłady i twierdzenia

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Ciągłość funkcji f : R R

prawda symbol WIEDZA DANE komunikat fałsz liczba INFORMACJA (nie tyko w informatyce) kod znak wiadomość ENTROPIA forma przekaz

Wykład 6. Wyszukiwanie wzorca w tekście

Komentarz technik urządzeń sanitarnych 311[39]-01 Czerwiec 2009

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 9 i 10 - Weryfikacja hipotez statystycznych

Podstawowe pojęcia. Teoria informacji

Kody blokowe Wykład 1, 3 III 2011

Programowanie dynamiczne

Kodowanie informacji. Kody liczbowe

Dystrybucje, wiadomości wstępne (I)

Testowanie hipotez statystycznych

166 Wstęp do statystyki matematycznej

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

dla t ściślejsze ograniczenie na prawdopodobieństwo otrzymujemy przyjmując k = 1, zaś dla t > t ściślejsze ograniczenie otrzymujemy przyjmując k = 2.

EGZAMIN Z ANALIZY MATEMATYCZNEJ (CZEŚĆ 1)

Transkrypt:

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest malejącą funkcją prawdopodobieństwa zajścia zdarzenia s. I(s) = 0 gdy s jest pewne, czyli P(S = s) = 1. I(s, t) = I(s) + I(t), gdy s i t są zdarzeniami niezależnymi, np. kolejnymi sygnałami emitowanymi przez źródło bez pamięci.

Dla pojedynczego zdarzenia s i o prawdopodobieństwie p i definiujemy entropię jako I(s i ) = log p i. Podstawa logarytmu jest dowolna, bo log s x = log s r log s x, czyli w wyniku zmiany podstawy następuje tylko przeskalowanie entropii o stałą. Zazwyczaj przyjmuje się jako podstawę liczbę znaków w alfabecie, w naszym wypadku będzie to 2. Dla źródła S, które emituje znak s i z prawdopodobieństwem p i możemy określić średnią entropię H(S) = i p ii(s i ) = i p i log 1 p i.

Dziś zajmiemy się sytuacją, w której informacja jest przekazywana od źródła do odbiorcy przez kanał, który niekoniecznie jest wolny od zakłóceń. Zakładamy istnienie źródła A emitującego znaki s i z prawdopodobieństwem p i (jak wyżej), kanału Γ, przez który przepływa informacja i który być może ją deformuje deformuje oraz wyjścia B. INFORMACJA kodowanie kodowanie WIADOMOŚĆ przekaz ZNIEKSZTAŁCONA WIADOMOŚĆ dekodowanie przekaz dekodowanie ZNIEKSZTAŁCONA INFORMACJA

Przykłady: Binarny kanał symetryczny (BSC) przyjmuje bit zero lub jeden i z prawdopodobieństwem P przekazuje go wiernie, a z prawdopodobieństwem P = 1 P przekazuje bit przeciwny. Binarny kanał z kasowaniem (BEC) przyjmuje bit zero lub jeden i z prawdopodobieństwem P przekazuje go wiernie, a z prawdopodobieństwem P = 1 P przekazuje informację o błędzie.

Aby opisać działanie kanału używamy macierzy P i,j. Liczba P i,j (prawdopodobieństwo w przód) to prawdopodobieństwo tego, że zostanie przekazany znak b j, jeśli nadany został znak a i. Obrazuje to sytuację, w której znajduje się nadawca, który wie, co nadał, a nie wie, co wyjdzie. Używa się też prawdopodobieństw w tył, czyli macierzy Q i,j. Liczba Q i,j oznacza prawdopodobieństwo, że nadany został znak a i, jeśli odebrany został znak b j. Obrazuje to sytuację, w której znajduje się odbiorca wiemy, co przyszło i zastanawiamy się, skąd to się wzięlo. Trzecim rodzajem prawdopodobieństw są prawdopodobieństwa łączne, opisane w macierzy R i,j. Liczba R i,j opisuje prawdopodobieństwo tego, że zostanie wysłany bit a i, a odebrany b j. Obrazuje to sytuację niezależnego obserwatora, który nic nie wie. Liczby P i,j są własnościami wewnętrznymi samego kanału, natomiast Q i,j oraz R i,j zależą również od źródła.

Przykładowo rozważmy kanał BSC z parametrem P = 0.8, w którym nadawca nadaje 0 z prawdopodobieństwem p = 0.9. Wtedy: P 00 = P 11 = 0.8, P 01 = P 10 = 0.2. Q 00 0.973, Q 10 0.027, Q 01 0.692, Q 11 0.308. R 00 = 0.72, R 01 = 0.18, R 10 = 0.02, R 11 = 0.08.

Interesuje nas, ile informacji traci się przy przekazie. Możemy policzyć entropię wejścia i entropię wyjścia. Mogłoby się wydawać, że wystarczy odjąć od pierwszej liczby drugą i dostaniemy wynik. Niestety nie jest tak łatwo. Przykładowo dla BEC widać wyraźnie, że wśród informacji, które otrzymujemy na wyjściu nie są tylko te związane ze źródłem, ale też nowa informacja, czy nastąpił błąd, która wpływa na entropię (zwiększa ją), natomiast nie daje nam informacji o źródle.

Definiujemy zatem entropię warunkową. Mówi ona, ile nieznanej nam jeszcze informacji zawiera jeszcze źródło A, jeżeli już odczytaliśmy wyjście b j. H(A b j ) = i Q ij log 1 Q ij. Definiujemy teraz średnią entropię warunkową, czyli to, co średnio jeszcze zawiera nowego A, jeżeli znam B: H(A B) = j q jh(a b j ) = i,j R ij log 1 Q ij.

Analogicznie definiujemy też H(B A) = i,j R ij log 1 P ij. Definiujemy też łączną wiedzę zawartą w wejściu oraz wyjściu: H(A, B) = i,j R ij log 1 R ij.

Obejrzmy to na kilku przykładach: Dla kanału pewnego (np. BSC z P = 1, czyli jeśli wyślę a i, to prawie na pewno dojdzie b i ) będziemy mieli H(A B) = R ij log 1 = i,j Q p i log 1 + 0 log 1 ij i=j i j 0 = 0, analogicznie H(B A) = 0 i H(A, B) = H(A) = H(B). Dla kanału zerującego (np. BEC z P = 0, czyli niezależnie od tego, co wyślę, dojdzie 0 będziemy mieli H(A B) = R ij log 1 = i,j Q p i log 1 = H(A), ij i p i H(B A) = i,j R ij log 1 P ij = i p i log 1 = 0 i H(A, B) = H(A).

Dla kanału losowego (czyli to, co wyjdzie jest niezależne od tego, co wejdzie, np. BSC z parametrem P = 1 2 ) mamy H(A B) = H(A), H(B A) = H(B) i H(A, B) = H(A) + H(B).

W ogólności zachodzą następujące równości: H(A, B) = H(B) + H(A B) oraz H(A, B) = H(A) + H(B A).

Umiemy już zatem policzyć, ile informacji zawiera jeszcze A, gdy już poznaliśmy B i na odwrót. Interesuje nas jednak raczej, ile informacji o A zawiera B. Na dedukcję, wydawałoby się, że powinno być to H(B) H(B A) informacje zawarte w B pomniejszone o to, co w B jest niezależne od A. Definiujemy zatem wzajemną informację: I(A, B) = H(B) H(B A). Korzystając z udowodnionych wcześniej równości opisujących H(B A) stwierdzamy, że I(A, B) = H(B) + H(A) H(A, B), co jest niezależne od kolejności argumentów. Otrzymujemy zatem fakt, że wejście mówi nam tyle samo o wyjściu, co wyjście o wejściu.

Dla dowolnego kanału możemy zdefiniować jego pojemność jako ilość informacji, którą możemy przez niego przepuścić, jeżeli prawidłowo dobierzemy źródło. Zatem C(Γ) = sup A I(A, B). Uwaga: supremum w definicje C(Γ) zawsze jest skończone, oraz osiągane dla pewnego rozkładu prawdopodobieństwa A.

Przypomnijmy sobie, jak wyglądał proces przekazywania informacji. INFORMACJA kodowanie kodowanie WIADOMOŚĆ przekaz ZNIEKSZTAŁCONA WIADOMOŚĆ dekodowanie przekaz dekodowanie ZNIEKSZTAŁCONA INFORMACJA Zbadaliśmy już całkiem nieźle drugą strzałkę, pora zająć się trzecią.

Dla danego wyjścia B oraz wejścia A potrzebujemy reguły decyzyjnej : B A, która każdemu wyjściu przypisywałaby to wejście, od którego naszym zdaniem pochodzi. Wydaje się naturalne branie takiej reguły decyzyjnej, która każdemu b j przypisuje najbardziej prawdopodobne a i, czyli to a i, dla którego Q ij jest największe. Oznaczmy to i przez j. Wtedy prawdopodobieństwo trafienia wynosi P Γ,C = j Q j j, zaś prawdopodobieństwo chybienia P Γ,E = Q ij. j,i j

Jeżeli nie znamy rozkładu prawdopodobieństw p i określających A, a tylko prawdpodobieństwa P ij określające Γ, to naturalna wydaje się chęć, by minimalizować średnie prawdopodobieństwo błędu po wszystkich możliwych rozkładach A. Okazuje się, że to to samo, co brać optymalną regułę decyzyjną dla równo prawdopodobnych sygnałów z A, czyli innymi słowy jako j brać to i, dla którego P ij jest największe. To nazywa się regułą największej wiarygodności.

Wydaje się, że problem został rozstrzygnięty, a cały skomplikowany aparat okazał się bezużyteczny. Ale spójrzmy na już rozważany przykład BSC z p = 0.9 i P = 0.8. Tam mieliśmy Q 00 = 0.973 i Q 01 = 0.692, czyli niezależnie od tego, co weszło, zwracamy zero. Widać, że powinno dać się zrobić coś lepiej... Pomysłem, podobnie jak w wypadku kodowania bez szumu, wydaje się być branie dłuższych słów kodowych.

Na rozgrzewkę rozważmy kod powtórzeniowy. Każdy bit przesyłamy trzy razy. Teraz nawet dla powyższego przykładu jeżeli przyszło 111, to odczytamy 1 (Q 1,111 0.877 > 0.123 Q 0,111 ), co daje już pewne szansę na poprawne przekazanie treści. Jeżeli jesteśmy zainteresowani regułą największej wiarygodności, to otrzymamy tzw. dekodowanie większościowe. Dla danego wyjścia u jako (u) bierzemy ten znak, który w u powtarza się najwięcej razy.

Oczywiście tę zasadę łatwo uogólnić na większą liczbę powtórzeń. Rozważmy przykładowo BSC z p = 0.5 i P = 0.99. Wtedy mamy następujące wartości błędu: Liczba powtórzeń 1 3 5 7 9 P stwo błędu 10 2 3 10 4 10 5 3.5 10 7 1.3 10 8 Wadą tego rozwiązania jest jednak dramatycznie malejąca wydajność by przesłać 1 bit informacji, potrzebujemy wysłać n bitów.

To, co było istotne w kodzie powtórzeniowym to to, że dwa różne kody nie stają się takie same nawet po kilku błędach (zamianach jednego znaku na drugi). Tę cechę pomoże uchwycić odległość Hamminga, zdefiniowana jako: d(u, v) = {i : u i v i }.

Przykładowo, jeżeli Γ =BSC z parametrem P > 1 2 to dla dowolnych słów u i v prawdopodobieństwo w przód, czyli prawdopodobieństwo otrzymania u, jeśli wyślemy v wynosi P (u v) = P n P P d(u,v) Jako, że P (u v) jest malejącą funkcją d(u, v), to regułą największej wiarygodności będzie reguła najbliższego sąsiada, czyli zakładanie, że dane słowo u pochodzi od słowa v, które należy do kodu i jest mu najbliższe w sensie odległości Hamminga..

Twierdzenie Shannona: Jeżeli Γ to BSC o paramterze P > 1 2, zaś δ i ε to dowolne liczby rzeczywiste większe od zera, to dla wystarczająco dużych n istnieje kod, który do zakodowania (1 ε)nc(γ) bitów używa n bitów, a odczyt następuje błędnie z prawdopodobieństwem mniejszym niż δ.

Bardzo szkic idei dowodu: Jako nasz kod losujemy 2 nc(1 ε) słów. Ma on wydajność (1 ε)c, bo używa n bitów do przekazania nc(1 ε) bitów informacji. Przy wysyłaniu zazwyczaj (prawie zawsze dla wystarczająco dużych n) zdarzy się nie więcej niż n P (1 + σ) błędów dla dowolnie małego σ. To, co pozostaje do zrobienia, to oszacowanie prawdopodobieństwa, że jakieś spośród 2 nc(1 ε) słów znajduje się bliżej niż n P od danego słowa kodowego v, które usiłujemy przesłać. Jeśli tak nie jest, to uda nam się przesłać i odczytać poprawnie słowo v. Okazuje się, że to prawdopodobieństwo jest wystarczająco małe jest to lemat kombinatoryczny, którego dowodzić nie będziemy.

Uwagi do twierdzenia Shannona. 1. Twierdzenie to zachodzi też dla innych kanałów niż BSC. Dobierając wystarczająco wysokie n jesteśmy w stanie osiągnąć prawdopodobieństwo błędu mniejsze niż δ oraz wydajność conajmniej C(Γ)(1 ε). 2. Niestety, n, i jest to problem podobnie jak w wypadku kodowania bez szumu żeby dostać efektywne kodowanie, trzeba bardzo wiele stracić z własności natychmiastowego odkodowywania. 3. Co najgorsze, jak widać nawet z przedstawionej, bardzo zgrubnej idei dowodu, twierdzenie nie daje nam żadnego pomysłu, jak konstruować dobre kody. Losowy kod bardzo często jest dobry, ale niestety nie ma łatwego sposobu, by to sprawdzić. 4. Co więcej, wolelibyśmy nie mieć kodów losowych, a raczej takie, które mają pewną strukturę ułatwiającą szybkie kodowanie i dekodowanie. O tym, jak sobie radzić z tym problemem (zapewne) będą następne referaty z teorii kodów.