Główna zawartość
Informatyka
Kurs: Informatyka > Rozdział 3
Lekcja 2: Współczesna teoria informacji- Prędkość modulacji
- Wprowadzenie do zagadnienia "przepustowości"
- Badanie przestrzeni wiadomości
- Pomiar informacji
- Pochodzenie Łańcuchów Markowa
- Badanie łancuchów Markowa
- Matematyczna teoria komunikacji
- Badanie tekstu Markowa
- Entropia (teoria informacji)
- Kody kompresji
- Korekcja błędów
- Poszukiwanie pozaziemskiej inteligencji
© 2023 Khan AcademyWarunki użytkowaniapolitykę prywatnościInformacja o plikach cookie
Kody kompresji
Jaka jest granica kompresji? Stworzone przez: Brit Cruise.
Chcesz dołączyć do dyskusji?
Na razie brak głosów w dyskusji
Transkrypcja filmu video
Przedstawiając informację,
np. obraz, cyfrowo, musimy ją podzielić
na maleńkie fragmenty. To pozwala nam przesłać obraz
jako ciąg barwnych symboli. A te kolory
mogą być przedstawiane pod postacią liczb z jakiegoś kodu. Zastanówcie się nad zadaniem: Alicja i Bob binarnie przesyłają
i odbierają wiadomości. Pobierają centa za bit od klientów
- za korzystanie z systemu. Przychodzi klientka,
która chce wysłać wiadomość. Ta wiadomość składa się
z tysiąca symboli. A jej znaczenie jest nieznane. Wiadomości są zwykle wysyłane
standardowym, dwubitowym kodem, trzeba by więc naliczyć opłatę
za 2000 bitów. Jednak Alicja i Bob analizowali już
wiadomości tej klientki. Obliczyli różne prawdopodobieństwa
pojawiania się symboli. Czy, znając te wartości, mogą skompresować transmisję
i zarobić więcej? Jaka jest optymalna
strategia kodowania? David Huffman sformułował
słynną strategię optymalną; opublikował ją w 1952 r. Podstawą było tworzenie
drzewa binarnego od dołu. Wypiszmy więc wszystkie symbole.
Nazwiemy je węzłami. Wyszukujemy dwa
najmniej prawdopodobne węzły, w tym przypadku B i C, i łączymy je,
dodając prawdopodobieństwo. Powtarzamy to z dwoma następnymi
najmniej prawdopodobnymi węzłami. I łączymy dalej, aż zostanie jeden,
na samej górze. Wreszcie oznaczamy krawędzie
na tym drzewie zerami i jedynkami, w jakimś porządku. Kod każdej litery to ścieżka
od szczytu drzewa do niej. Do A prowadzi tylko jedna
krawędź, czyli 1. Metodę nazwano kodowaniem Huffmana. Do przykładów tego typu
nie ma lepszej. Spróbujcie! Np. jeśli skrócicie kod dla D
do samego zera, to wiadomość „011” może oznaczać DAA, ale też samo B. Trzeba by więc wprowadzić
odstępy między literami, co niestety zniweluje wszelkie
oszczędności w transmisji. Jak bardzo skompresowaliśmy
wiadomość od pierwszych 2000 bitów? Musimy obliczyć przeciętną
liczbę bitów na literę. Mnożymy długość każdego kodu przez prawdopodobieństwo
wystąpienia i sumujemy. Uzyskujemy przeciętną długość
1,75 bita na symbol. To znaczy, że za pomocą
kodowania Huffmana możemy kompresować
wiadomości z 2000 bitów do 1750 bitów. Claude Shannon pierwszy stwierdził, że granica kompresji zawsze będzie równa entropii
źródła wiadomości. W miarę, jak entropia lub niepewność
naszego źródła maleje, wskutek czynników niestatystycznych, zdolność kompresji rośnie. Tymczasem gdy rośnie entropia,
wskutek nieprzewidywalności, nasza zdolność kompresji spada. Chcąc coś skompresować
powyżej entropii, koniecznie musimy odjąć
część informacji z wiadomości.