Wstęp do Informatyki - Wykład 3 Teoria informacji, entropia, kod zwarty
Teoria informacji Ojcem teorii informacji był Claude Shannon (1916-2001)
Teoria informacji Teoria informacji jest działem cybernetyki (dział nauki zajmujący się sterowaniem) Powstała w okresie II wojny światowej na skutek badań nad budową sieci łączności oraz nad urządzeniami i metodami kryptografii (do szyfrowania wiadomości).
Teoria informacji “Ile jest cukru w cukrze?” Ile jest informacji w informacji? Jak zmierzyć ilość informacji?
Teoria informacji Komunikat, którego prawdopodobieństwo wystąpienia wynosi p, zawiera: jednostek ilości informacji zwanych bitami.
Teoria informacji Komunikat przenosi tym więcej informacji, im mniejsze jest prawdopodobieństwo jego wystąpienia. Gdy źródło informacji nadaje tylko jeden komunikat o prawdopodobieństwie 1, nie niesie on żadnej informacji.
Pojemność pamięci komputera Zauważmy, że jedna cyfra binarna, która z prawdopodobieństwem 50% przyjmuje wartość 0 lub 1, przenosi dokładnie 1 bit informacji. Stąd, miejsce w pamięci komputera, zdolne przechować jedną cyfrę binarną, nazywa się właśnie bitem. Jednostkę zawierającą 8 bitów nazywa się bajtem (1B)
Pojemność pamięci komputera Jednostki pochodne do bajta: 1KB = 1 KiB (kebibajt, “kilobajt”) = 1024 B 1 kB (kilobajt “właściwy” wg. SI) = 1000 B 1MiB (mebibajt) = 1024 KiB = 10242 B 1 MB = 1000 kB = 1000 000 B 1GiB (gibibajt) = 1024 MiB = 10243 B 1 GB = 1000 MB = 1 000 000 000 B 1TiB (tebibajt) = 1024 GiB = 10244 B 1 TB = 1000 GB = 1 000 000 000 000 B
Entropia informacyjna źródła Jeśli źródło nadaje n różnych komunikatów z prawdopodobieństwami pi (i=1,..., n), to średnia ważona ilość informacji w komunikatach z tego źródła wyrażana wzorem: nosi nazwę entropii informacyjnej źródła informacji.
Entropia Zauważmy, że: H > 0 (H=0, gdy p=1) H < log2n (H= log2n, gdy pi=1/n (i=1,..., n))
Słowa kodowe W praktycznych zastosowaniach, każdemu komunikatowi nadawanemu przez źródło informacji przypisuje się słowo kodowe. Jeśli komunikatom, które występują z prawdopodobieństwami pi (i=1,..., n), przypisano słowa kodowe o długościach Ni (i=1,..,n), to wielkość: nazywamy średnią długością słowa kodowego.
Słowa kodowe Różnicę R = L - H nazywamy redundancją kodu (nadmiarowością), a wielkość 1- H/L nazywamy względną redundancją kodu. Twierdzenie Shannona mówi, że przy każdym sposobie kodowania L jest większe niż H, czyli redundancja jest nieujemna.
Kod zwarty Dla każdego zbioru komunikatów można zbudować różne kody. Szczególne znaczenie mają kody: jednoznaczny zwarty o równej długości słów kodowych. Kod jednoznaczny to kod, w którym żaden ciąg kodowy nie jest początkiem innego ciągu. Kod zwarty to kod jednoznaczny, o minimalnej redundancji.
Kod zwarty Algorytm Huffmana: Konstrukcja kodu zwartego dla zbioru komunikatów k1, k2, ...,kn nadawanych z prawdopodobieństwami odpowiednio p1, p2, ...,pn Krok 1. Jeśli n>2, to wybieramy dwa najmniej prawdopodobne komunikaty ki i kj i tworzymy z nich nowy komunikat ”ki lub kj” o prawdopodobieństwie wystąpienia pi+pj. Czynność tę powtarzamy dla nowo powstałego zbioru n-1 komunikatów, potem dla n-2 komunikatów itd.
Kod zwarty Krok 2. Jeśli n=2, to kodem zwartym jest kod k1 – 0 k2 – 1 lub k1 – 1 k2 – 0 (wybór dowolny). Krok 3. Jeśli komunikat k o kodzie =a1a2...am ma postać k=”kp lub kr” (tzn. powstał z połączenia dwóch mniej prawdopodobnych komunikatów), to kody dla kp i kr tworzymy dopisując 0 lub 1 na końcu. Otrzymujemy kp - a1a2...am0 kr - a1a2...am1 lub kp - a1a2...am1 kr - a1a2...am0 (wybór dowolny). Postępowanie to kontynuujemy aż do uzyskania kodów dla wszystkich komunikatów.
Dziękuję za uwagę!