Úvod do teorie informace

Podobné dokumenty
Úvod do teorie kódování

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Teorie informace II: obtížnější řešené příklady 2014 Tomáš Kroupa

Algoritmy komprese dat

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Základy matematické analýzy

Úvod do teorie her

Statistická termodynamika

Vzdálenost jednoznačnosti a absolutně

13. cvičení z PSI ledna 2017

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

PŘEDNÁŠKA 2 POSLOUPNOSTI

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Lineární programování

5. Lokální, vázané a globální extrémy

NMAI059 Pravděpodobnost a statistika

1 Linearní prostory nad komplexními čísly

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

Markov Chain Monte Carlo. Jan Kracík.

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

Komprese dat (Komprimace dat)

Náhodný vektor a jeho charakteristiky

Pravděpodobnost a statistika

Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

Matematika pro informatiky

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

10 Funkce více proměnných

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Teorie informace. Mirko Navara. katedra kybernetiky FEL ČVUT Karlovo náměstí, budova G, místnost 104a navara/psi 3. 1.

Úvod do teorie informace

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

IB112 Základy matematiky

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Matematická analýza III.

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

prof. RNDr. Roman Kotecký DrSc., Dr. Rudolf Blažek, PhD Pravděpodobnost a statistika Katedra teoretické informatiky Fakulta informačních technologií

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

3. přednáška 15. října 2007

Limita posloupnosti a funkce

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

[1] samoopravné kódy: terminologie, princip

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

Riemannův určitý integrál

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Numerická stabilita algoritmů

5 Orientované grafy, Toky v sítích

3. ANTAGONISTICKÉ HRY

Úlohy nejmenších čtverců

5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.

ŠIFROVACÍ METODA ZALOŽENÁ NA FRAKTÁLNÍ KOMPRESI. 1. Úvod. V posledních letech se ukázalo, že teorii fraktálů lze využít v mnoha teoretických

Dijkstrův algoritmus

Arnoldiho a Lanczosova metoda

Lineární algebra : Násobení matic a inverzní matice

Síla a významnost asociace mezi proměnnými v systému

Lineární algebra : Lineární prostor

10. N á h o d n ý v e k t o r

ANTAGONISTICKE HRY 172

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

stránkách přednášejícího.

Odhad parametrů N(µ, σ 2 )

IV120 Spojité a hybridní systémy. Jana Fabriková

letní semestr Katedra pravděpodobnosti a matematické statistiky Matematicko-fyzikální fakulta Univerzity Karlovy Matematická statistika vektory

SHANNONOVA TEORIE TAJNÉ KOMUNIKACE

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

10 Přednáška ze

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.

8 Kořeny cyklických kódů, BCH-kódy

1 Množiny, výroky a číselné obory

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Matematická analýza pro informatiky I. Limita funkce

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

Lineární algebra : Lineární (ne)závislost

Kapitola 11: Lineární diferenciální rovnice 1/15

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Matematická analýza pro informatiky I.

Náhodné jevy. Teorie pravděpodobnosti. Náhodné jevy. Operace s náhodnými jevy

Bayesovské metody. Mnohorozměrná analýza dat

TEORIE MÍRY V některých předchozích kapitolách jste se setkali s měřením velikostí množin a víte, jaké byly těžkosti s měřením množin i na reálné ose.

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Spojitost a limita funkce

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Náhodné chyby přímých měření

1 Determinanty a inverzní matice

Úvod do lineární algebry

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Matematická analýza pro informatiky I. Limita posloupnosti (I)

Odhady Parametrů Lineární Regrese

Lineární algebra : Polynomy

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Vlastnosti regulárních jazyků

Transkript:

Úvod do teorie informace Matematické základy komprese a digitální komunikace Tomáš Kroupa http://staff.utia.cas.cz/kroupa/ 1 Ústav teorie informace a automatizace AV ČR 2 Katedra matematiky FEL ČVUT

1. Úvod 2. Charakteristiky informace 3. Asymptotická rovnočetnost typických zpráv 4. Kódování a komprese 5. Univerzální komprese 6. Informační kanály 7. Dodatek Obsah

Část I Úvod Teorie informace je matematicka disciplína, ktera zkouma mozňosti komprese informace, metody rychle ho a kvalitního prěnosu informace. Teorie informace je založena na pravděpodobnostním modelu zpráv a komunikace. Tato myšlenka umožnila Shannonovi v r.1948 ukázat převratný fakt: zvyšování výkonu přenosového zařízení není jediná cesta k potlačení chyb při přenosu informace, neboť existuje určitá přenosová rychlost, od níž lze přenášet s libovolně malou pravděpodobností chyby.

Suppose we have a set of possible events whose probabilities of occurence are p 1, p 2,..., p n. These probabilities are known but that is all we know concerning which event will occur. Can we find a measure of how much choice is involved in the selection of the event or how uncertain we are of the outcome? Počátky teorie informace C. E. Shannon. A mathematical theory of communication. Bell System Tech. J., 27:379 423, 623 656, 1948. C.E. Shannon (1916 2001)

Model komunikace podle Shannona

Dualita komprese a spolehlivé komunikace při kompresi informačního zdroje odstraňujeme redundantní informaci větší redundance informace naopak zaručuje menší chybovost při přenosu Podle toho rozlišujeme 2 třídy kódování:.1. zdrojové.2. kanálové

Co je informační zdroj? Informační zdroj je matematický model zařízení, které produkuje zprávy. Podle druhu produkovaných zpráv rozeznáváme 3 základní typy informačních zdrojů, které generují znaky konečné abecedy X:.1. náhodná veličina X s výběrovým prostorem X.2. náhodný vektor (X 1,..., X n ) s výběrovým prostorem X n.3. náhodný proces (X n ) n N s výběrovým prostorem X N Tyto modely umožňují popsat zařízení, která generují zprávy obsahující 1 znak n znaků libovolný počet znaků

.1. symbol z množiny {0, 1} Dva významy slova bit.2. jednotka informace při dvojkovém základu logaritmu podle Shannona zavedl termín bit známý statistik John W.Tukey již v roce 1947 díky zvolené jednotce informace používáme logaritmus log := log 2

Příklad Příklady informačních zdrojů Uvažujme sekvenci znaků tuto větu chceme zakódovat Informační zdroj je náhodná veličina X s výběrovým prostorem X = {t, u, o, v, ě, c, h, e, m, z, a, k, ó, d, _}. Pravděpodobnosti p X (x), x X odhadneme z realizované sekvence. Příklad Výskyty znaků ve zprávě x 1... x n jsou nezávislé. Rozdělení zdroje (X 1,..., X n ) je potom popsáno pravděpodobnostní funkcí q(x 1,..., x n ) = n p X (x i ), x i X. i=1

Příklad X = {A,..., Z, _}. Příklady informačních zdrojů (pokr.) Markovův řetězec (X n ) n N se stavovým prostorem X popisuje generování slov z anglické abecedy, kde pravděpodobnost dvojic písmen odpovídá typickému anglickému textu. Shannon uvádí tento příklad realizace: ON IE ANTSOUTINYS ARE T INCTORE ST BE S DEAMY ACHIN D ILONASIVE TUCOOWE AT TEASONARE FUSO TIZIN ANDY TOBE SEACE CTISBE

Jedna úloha komprese Chceme poslat příjemci co nejkratší zprávu o vítězi závodu, kterého se zúčastní 8 závodníků majících následující pravděpodobnosti výhry: ( 2 1, 2 2, 2 3, 2 4, 2 6, 2 6, 2 6, 2 6) je možno použít zprávu mající 3 bity pro každého závodníka lepší je však využít uvedené pravděpodobnosti ke konstrukci kódu kratší střední délky

Jedna úloha komprese (pokr.) Řešení střední délka kódu s 3-bitovými délkami kódových slov je 3 uvažujme následující kód s délkami slov l i = log p i 1 2 3 4 5 6 7 8 0 10 110 1110 111100 111110 111101 111111 střední délka tohoto kódu je 2 kód kratší střední délky nelze nalézt!

Jedna úloha komunikace Chceme přenést zprávu složenou z bitů informačním kanálem, v němž dochází ke každé bitové inverzi s pravděpodobností q < 1 2. Vstup: informační zdroj (X n ) n N, kde X n Bi(1, 1 2 ) jsou nezávislé. Lze předzpracovat zdroj tak, že pravděpodobnost chyba/bit Možné řešení p e < q? zopakujme každý bit při přenosu (2n + 1)-krát, dekódujme podle většiny při n = 1 to dává p e = 3q 2 (1 q) + q 3 < q je-li n, potom p e 0 ale R 0, kde R je rychlost (bit/použití kanálu)!

Jedna úloha komunikace (pokr.) Shannon ukázal, že lze zachovat R > 0 při p e 0. Přesněji: existuje R > 0 takové, že chybu p e lze učinit libovolně malou největší R s touto vlastností je tzv. kapacita kanálu V našem příkladě: kapacita kanálu je 1 ( q log q (1 q) log(1 q) ) lze ukázat, že pokud je rychlost R = 1, potom neexistuje předpracování zdroje, které by umožnilo p e < q pro R = 1 je tedy optimální připojit zdroj přímo ke kanálu!

Pilíře teorie informace Shannonova věta (1948) asymptotická rovnočetnost typických zpráv existence dolní meze bezeztrátové komprese existence optimální kompresní metody (Huffman, 1952) metoda typů (Csiszár, Körner, 1981) existence univerzálních kódů (Lempel, Ziv, 1977)

Teorie informace je jen teorie? I am very seldom interested in applications. I am more interested in the elegance of a problem. Is it a good problem, an interesting problem? C. E. Shannon

Aplikace teorie informace Algoritmy pro efektivní ukládání a komunikaci informace v digitálních (i analogových) systémech. Namátkou: Huffmanovo kódování, aritmetické kódování, LZW zpracování formátů JPEG, MP3, TIFF kódy pro detekci a opravu chyb statistické aplikace: odhad pravděpodobnostních modelů princip minimální deskripční délky (MDL)

Část II Charakteristiky informace Entropie Divergence Vzájemná informace Rychlost entropie

Entropie Divergence Vzájemná informace Rychlost entropie Hartleyho míra informace Definice (Hartley, 1928) Hartleyho míra informace I je funkce I(n) = log n, n N. platí-li X = 2 n pro nějaké n 1, potom I(2 n ) = n udává počet bitů, kterými lze reprezentovat prvek z X pokud neexistuje n 1 takové, že X = 2 n, potom potřebujeme k reprezentaci X právě I( X ) bitů

Entropie Divergence Vzájemná informace Rychlost entropie Věta (Rényi) Axiomy Hartleyho míry Hartleyho míra informace je jediná funkce I : N R následujících vlastností:.1. I(ab) = I(a) + I(b).2. I je rostoucí.3. I(2) = 1 Intepretace k vyjádření prvku z 2 m+n -prvkové množiny stačí zřetězit původní bitová slova délek m a n míra informace s počtem reprezentovaných prvků roste informaci měříme v bitech

Entropie Divergence Vzájemná informace Rychlost entropie Entropie: motivace Nechť A 1,..., A k Ω je úplný soubor jevů, kde Ω = n a A j má pravděpodobnost p j = A j n. pro popis každého z n výsledků potřebujeme informaci I(n) pokud se dozvíme, že výsledek patří do A j, stačí nám k jeho určení informace I( A j ) příslušnost do j-té třídy nám tak poskytla informaci I(n) I( A j ) = log p j Průměrnou informaci, kterou nám přináší znalost zařazení prvku do třídy, tedy dostaneme jako k p j log p j. j=1

Entropie Divergence Vzájemná informace Rychlost entropie Definice Entropie Nechť X je náhodná veličina s konečným výběrovým prostorem X a pravděpodobnostní funkcí p X. Entropie náhodné veličiny X je H(X) = x X p X (x) log p X (x), kde užíváme konvenci 0 log 0 = 0. 5 0.5 4 0.4 3 0.3 2 0.2 1 0.1 Funkce t log t, t (0, 1 Funkce t t log t, t (0, 1

Entropie Divergence Vzájemná informace Rychlost entropie Entropie jako střední hodnota Definujme pro každé x X, { log p g(x) = X (x), 0 < p X (x) 1, 0, p X (x) = 0. Potom střední hodnota funkce g(x) náhodné veličiny X je E(g(X)) = x X g(x)p X (x) = H(X). Interpretace (pomocí Hartleyho míry informace I) Předpokládejme p X (x) = 2 n x, x X, kde n x N. Potom g(x) = n x a platí tak H(X) = x X p X (x)i(2 n x ).

Entropie Divergence Vzájemná informace Rychlost entropie Entropie jako funkce Nechť X = n + 1. Entropii H lze chápat jako reálnou funkci H : n R, kde n je pravděpodobnostní n-simplex. 1.0 0.8 1.5 0.6 1.0 1.0 0.4 0.5 0.0 0.0 0.2 0.5 0.5 0.2 0.4 0.6 Entropie na 1 0.8 1.0 1.0 Entropie na 2 0.0

Entropie Divergence Vzájemná informace Rychlost entropie Věta Axiomy entropie Entropie H(p 1,..., p n ) je jediná funkce n 1 0, ) následujících vlastností:.1. H nezávisí na pořadí argumentů p 1,..., p n.2. Funkce (p, 1 p) 1 H(p, 1 p) je spojitá.3. H( 1 2, 1 2 ) = 1.4. H(p 1,..., p n ) = H(p 1 + p 2, p 3,..., p n ) + (p 1 + p 2 )H ( p1 p 1 +p 2, ) p 2 p 1 +p 2 První tři axiomy mají velmi přirozenou interpretaci. A co čtvrtý?

Entropie Divergence Vzájemná informace Rychlost entropie Příklad Interpretace 4.axiomu Úkolem je uhodnout zvolené číslo z množiny {1,..., 5}. Lze použít např. tyto dvě strategie: náhodně vybereme číslo z množiny {1,..., 5}, náhodný pokus je tak popsán rovnoměrným rozdělením p i = 1 5, i = 1,..., 5 nejprve volíme prvek množiny { {1, 2}, 3, 4, 5 } ( podle rozdělení 2 5, 1 5, 1 5, 1 ) 5, potom případně náhodně volíme číslo z {1, 2} Dostaneme: H ( 1 5, 1 5, 1 5, 1 5, 1 5) = log 5 ) + 2 5 H( 1 2, 1 2 H ( 2 5, 1 5, 1 5, 1 5 ) = 2 5 log 5 2 5 + 3 5 log 5 + 2 5 = log 5

Entropie Divergence Vzájemná informace Rychlost entropie Věta Nechť d > 0 a H d (X) = x X Entropie o základu d p X (x) log d p X (x). Pak H d (X) = log d 2 H(X). Důkaz. Pro každé t > 0 platí rovnost t = 2 log t. Jejím logaritmováním získáme vztah log d t = log d 2 log t, ze kterého tvrzení plyne.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Minimální entropie Platí H(X) 0. Rovnost H(X) = 0 nastane právě tehdy, když je rozdělení X Diracovo. Důkaz. nerovnost plyne přímo z definice entropie pokud má X Diracovo rozdělení, potom H(X) = log 1 = 0 obráceně, z existence x X s vlastností 1 > p X (x) > 0 plyne p X (x) log p X (x) > 0, a tudíž H(X) > 0 Poznámka. Maximum entropie snadno nalezneme až po zavedení tzv. informační divergence.

Entropie Divergence Vzájemná informace Rychlost entropie Definice Sdružená a podmíněná entropie Nechť (X, Y) je náhodný vektor s konečným výběrovým prostorem X Y. Sdružená entropie (X, Y) je H(X, Y) = p XY (x, y) log p XY (x, y). (x,y) X Y Pro dané x X, p X (x) > 0 je podmíněná entropie dána jako H(Y X = x) = y Y p Y X (y x) log p Y X (y x) a střední podmíněná entropie je H(Y X) = p X (x)h(y X = x), x X kde H(Y X = x) definujeme libovolně, pokud p X (x) = 0.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Platí H(X, Y) = H(X) + H(Y X). Důkaz. Jelikož p XY (x, y) = p X (x)p Y X (y x),dostaneme H(X, Y) = p XY (x, y) log p X (x)p Y X (y x) (x,y) X Y Řetězcové pravidlo = p XY (x, y) log p X (x) + p XY (x, y) log p Y X (y x) (x,y) X Y = p X (x) log p X (x) + H(Y X = x)p X (x). x X x X

Entropie Divergence Vzájemná informace Rychlost entropie Sdružená entropie nezávislých veličin Věta Jsou-li X, Y nezávislé, pak H(Y X) = H(Y) a H(X, Y) = H(X) + H(Y). Důkaz. Důsledek řetězcového pravidla, vztahu p Y X (y x) = p Y (y) pro nezávislé veličiny X, Y a H(Y X = x) = H(Y).

Entropie Divergence Vzájemná informace Rychlost entropie Není entropie jako entropie! -What are you thinking? -Entropy. -Entropy? Yeah, entropy. Boris explained it. It s why you can t get the toothpaste back in the tube. -You mean, once something happens, it s difficult to put it back the way it was? Woody Allen, Whatever Works (2009) Termín entropie zavedl do fyziky Rudolf Clausius v r. 1865: entropie termodynamického systému je určena prostřednictvím 2. zákona termodynamiky.

Entropie Divergence Vzájemná informace Rychlost entropie Není entropie jako entropie! (pokr.) My greatest concern was what to call it. I thought of calling it information, but the word was overly used, so I decided to call it uncertainty. When I discussed it with John von Neumann, he had a better idea. Von Neumann told me, You should call it entropy, for two reasons. In the first place your uncertainty function has been used in statistical mechanics under that name, so it already has a name. In the second place, and more important, nobody knows what entropy really is, so in a debate you will always have the advantage. C. Shannon M. Tribus, E.C. McIrvine. Energy and information. Scientific American 224, 1971.

Entropie Divergence Vzájemná informace Rychlost entropie Entropie Divergence Vzájemná informace Rychlost entropie

Entropie Divergence Vzájemná informace Rychlost entropie Definice Informační divergence Informační divergence pravděpodobnostních funkcí p a q na X je D(p q) = x X p(x) log p(x) q(x), při využití konvence 0 log 0 t = 0, t 0, 1 a r log r 0 =, r (0, 1. Jiná terminologie relativní entropie Kullback-Leiblerova divergence

Entropie Divergence Vzájemná informace Rychlost entropie Věta Informační nerovnost Vždy platí D(p q) 0. Rovnost D(p q) = 0 nastane právě tehdy, když p = q. Důkaz. Nechť A = {x X p(x) > 0}. Použijeme Jensenovu nerovnost: D(p q) = x A p(x) log q(x) (1) log p(x) q(x) (2) log q(x) = 0. p(x) p(x) x A x X Pokud D(p q) = 0, pak rovnost v (1) dává díky ryzí konkávnosti funkce log t a Jensenově nerovnosti q(x) p(x) = c > 0. Tudíž x A q(x) = c x A p(x) = c. Rovnost v (2) znamená c = x A q(x) = x X q(x) = 1.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Maximální entropie Platí H(X) log X. Rovnost H(X) = log X nastane právě tehdy, když má X rovnoměrné rozdělení. Důkaz. Nechť q(x) = X 1, x X. Potom D(p q) = x X p(x) log p(x) = log X H(X). q(x) Tvrzení tudíž plyne z informační nerovnosti.

Entropie Divergence Vzájemná informace Rychlost entropie Entropie Divergence Vzájemná informace Rychlost entropie

Entropie Divergence Vzájemná informace Rychlost entropie Definice Vzájemná informace Nechť (X, Y) je náhodný vektor s konečným výběrovým prostorem X Y. Vzájemná informace I(X; Y) je definována jako I(X; Y) = D(p XY p X p Y ) = p XY (x, y) log p XY(x, y) p X (x)p Y (y). (x,y) X Y Interpretace I(X; Y) měří odlišnost sdruženého rozdělení náhodného vektoru (X, Y) od součinového rozdělení jeho marginálů, kterým by se vektor (X, Y) řídil, pokud by X a Y byly nezávislé.

Entropie Divergence Vzájemná informace Rychlost entropie Vzájemná informace měří pokles entropie Věta Platí I(X; Y) = H(X) H(X Y) = H(Y) H(Y X). Důkaz. Protože p XY = p X Y p Y, dostaneme I(X; Y) = p XY (x, y) log p X Y(x y) p (x,y) X Y X (x) = p XY (x, y) log p X (x) + p XY (x, y) log p X Y (x y) (x,y) X Y = p X (x) log p X (x) H(X Y = y)p Y (y). x X y Y

Entropie Divergence Vzájemná informace Rychlost entropie Příklad Vzájemná informace: hod mincí Náhodný pokus: 1 hod 1 symetrickou mincí. Definujeme: { { 1, padl líc, 1, padl rub, X = Y = 0, padl rub, 0, padl líc. Potom H(X) = log 2 = 1 a H(X Y) = 0, neboť X = 1 Y. Proto I(X; Y) = H(X) = 1. Jiná intepretace. Zdroj X je přenesen informačním kanálem, který provede bitovou inverzi. Původní informace o zdroji X je tak zcela zachována veličinou Y.

Entropie Divergence Vzájemná informace Rychlost entropie Příklad Vzájemná informace: informační kanál Zdroj X s výběr.prostorem {1,..., 6} a rovnoměrným rozdělením má být přenesen informačním kanálem. Každá podmíněná pravděpodobnostní funkce p X Y je nenulová a rovnoměrná na 4-prvkové množině.tedy I(X; Y) = H(X) H(X Y) = log 6 log 4 = log 3 1. = 0.58, přičemž H(X). = 2.58.

Entropie Divergence Vzájemná informace Rychlost entropie Věta 0 I(X; Y) = I(Y; X) H(X) I(X; Y) = 0 X a Y jsou nezávislé Vlastnosti vzájemné informace I(X; Y) = H(X) pro každé y Y s p Y (y) > 0 je podmíněná pravděpodobnostní funkce p X Y (. y) Diracova

Entropie Divergence Vzájemná informace Rychlost entropie Důkaz. Vlastnosti vzájemné informace (pokr.) Nezápornost a symetrie I(X, Y) plyne přímo z definice, druhá nerovnost je důsledkem vztahu I(X; Y) = H(X) H(X Y) Charakterizace rovnosti I(X; Y) = 0 je důsledkem definice I a vlastností inf. divergence. I(X; Y) = H(X) H(X Y) = 0 H(X Y = y) = 0 pro každé y Y, p Y (y) > 0 p X Y (. y) je Diracova.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Platí: I(X; Y) min { H(X), H(Y) } H(X Y) H(X) Důležité (ne)rovnosti H(X Y) = 0 existuje f : Y X splňující p X Y (f(y) y) = 1 pro každé y Y, p Y (y) > 0 H(X Y) = H(X) X, Y nezávislé I(X; X) = H(X) I(X; Y) = H(X) + H(Y) H(X, Y) H(X, Y) H(X) + H(Y), přičemž rovnost nastává X, Y nezávislé

Entropie Divergence Vzájemná informace Rychlost entropie Entropie Divergence Vzájemná informace Rychlost entropie

Entropie Divergence Vzájemná informace Rychlost entropie Motivace zdroj (X 1,..., X n ) má sdruženou entropii H(X 1,..., X n ) jsou-li X i nezávislé, potom H(X 1,..., X n ) = n H(X i ) i=1 jsou-li X i nezávislé a stejně rozdělené, potom H(X 1,..., X n ) = nh(x 1 ) Jak popíšeme informaci obsaženou ve zdroji (X n ) n N?

Entropie Divergence Vzájemná informace Rychlost entropie Markovův řetězec (X n ) n N stavový prostor X = {1, 2} α, β 0, 1, α + β > 0 Příklad.1 α.α..1.2.1 β.β ( ) 1 α α Matice přechodu je P =. β 1 β

Entropie Divergence Vzájemná informace Rychlost entropie Rychlost entropie pro n není entropie zdroje (X 1,..., X n ) shora omezena, neboť H(X 1,..., X n ) log X n hledejme entropii na jeden znak zprávy! Definice Rychlost entropie náhodného procesu (X n ) n N je pokud tato limita existuje. 1 H ((X n ) n N ) = lim n n H(X 1..., X n ),

Entropie Divergence Vzájemná informace Rychlost entropie Příklad Rychlost entropie: příklady Je-li zdroj zpráv X 1, X 2,... takový, že X i jsou nezávislé a stejně rozdělené, potom 1 H ((X n ) n N ) = lim n n nh(x 1) = H(X 1 ). Ovšem lze nalézt i bezpaměťový zdroj (tj. nezávislý proces (X n ) n N ), pro nějž limita neexistuje! 1 lim n n n H(X i ) i=1

Entropie Divergence Vzájemná informace Rychlost entropie Definice Mezní podmíněná entropie Mezní podmíněná entropie H ((X n ) n N ) náhodného procesu (X n ) n N je limita posloupnosti pokud tato limita existuje. Dostáváme tak 2 pojmy: H(X 1 ), H(X 2 X 1 ), H(X 3 X 2, X 1 ),... H ((X n ) n N ) je entropie na znak vyslané zprávy H ((Xn ) n N ) je entropie rozdělení podmíněného minulými pozorováními Oba pojmy splývají pro stacionární informační zdroje.

Entropie Divergence Vzájemná informace Rychlost entropie Definice Zdroj (X n ) n N je stacionární, pokud platí Stacionární informační zdroj P [ X 1 = x 1,..., X n = x n ] = P [ X1+l = x 1,..., X n+l = x n ] pro každé n N, každý časový posun l a každé x 1,..., x n X. Příklad Bezpaměťový zdroj X 1, X 2,..., kde X i jsou stejně rozdělené. Zajímavější příklad Homogenní Markovův řetězec s maticí přechodu P a počátečním rozdělením p(0), které je stacionární: p(0) = p(0)p.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Stacionarita a mezní podmíněná entropie Je-li zdroj (X n ) n N stacionární, potom je posloupnost H(X 2 X 1 ), H(X 3 X 2, X 1 ),... nerostoucí a její limita H((X n ) n N ) existuje. Důkaz. Pro n 2 platí kde H(X n+1 X n,..., X 1 ) H(X n+1 X n,..., X 2 ), H(X n+1 X n,..., X 2 ) = H(X n X n 1,..., X 1 ). díky stacionaritě. Dostaneme tak nerostoucí posloupnost nezáporných reálných čísel, jejíž limita H((X n ) n N ) existuje.

Entropie Divergence Vzájemná informace Rychlost entropie Věta Stacionarita a rychlost entropie Je-li zdroj (X n ) n N stacionární, potom rychlost entropie H((X n ) n N ) existuje a platí H((X n ) n N ) = H((X n ) n N ). Důkaz. Podle řetězcového pravidla pro sdruženou entropii platí H(X 1..., X n ) n = n i=2 H(X i X i 1,..., X 1 ) + H(X 1 ). n Vpravo je průměr posloupnosti, která konverguje k H((X n ) N). Tudíž musí konvergovat k H((X n ) N) i posloupnost průměrů.

Entropie Divergence Vzájemná informace Rychlost entropie Markovský zdroj Definice Markovský zdroj informace je stacionární Markovův řetězec. Příklad (pokr.).1 α.α..1.2.β.1 β Řetězec uvažujeme s počátečním rozdělením p(0) = ( β to splňuje p(0) = p(0)p. α+β, α α+β ),

Entropie Divergence Vzájemná informace Rychlost entropie Věta Rychlost entropie markovského zdroje Pokud je zdroj informace (X n ) n N markovský, potom je jeho rychlost entropie H((X n ) n N ) = H(X 2 X 1 ). Důkaz. H((X n ) n N ) = H((X n ) n N ) = lim n H(X n+1 X n,..., X 1 ) = lim n H(X n+1 X n ) = H(X 2 X 1 ).

Entropie Divergence Vzájemná informace Rychlost entropie Příklad (pokr.) Příklad markovského zdroje.1 α.α..1.2.β.1 β Počáteční rozdělení p(0) = ( β α+β, α α+β ). Rychlost entropie je H((X n ) n N ) = H(X 2 X 1 ) = β α+βh(α, 1 α) + α α+βh(β, 1 β).

Entropie Divergence Vzájemná informace Rychlost entropie Příklad markovského zdroje: α = β = 1 2 Příklad: H((X n ) n N ) = 1. 1 2. 1 2..1.2. 1 2. 1 2 Počáteční rozdělení p(0) = ( 1 2, 1 2 ) Jde o bezpaměťový zdroj informace: ve zprávě x 1 x 2..., x i {1, 2} má každý řetězec stejnou pravděpodobnost 2 l 1. x m x m+1... x m+l

Entropie Divergence Vzájemná informace Rychlost entropie Příklad: H((X n ) n N ) = 0 Příklad markovského zdroje: α = 0.1.0..1.2.β.1 β Počáteční rozdělení p(0) = (1, 0) Jde o deterministický zdroj informace: zpráva 111... vznikne s pravděpodobností 1.

Entropie Divergence Vzájemná informace Rychlost entropie Příklad: H((X n ) n N ) = 0 Příklad markovského zdroje: β = 0.1 α.α..1.2.0.1 Počáteční rozdělení p(0) = (0, 1) Jde o deterministický zdroj informace: zpráva 222... vznikne s pravděpodobností 1.

Entropie Divergence Vzájemná informace Rychlost entropie Příklad markovského zdroje: α = β = 1 Příklad: H((X n ) n N ) = 0.0.1..1.2.1.0 Počáteční rozdělení p(0) = ( 1 2, 1 2 ) Jde o nedeterministický zdroj informace, ale každá zpráva je jednoznačně určena prvním znakem: zprávy mají pravděpodobnost 1 2. 1212... a 2121...

Část III Asymptotická rovnočetnost typických zpráv Prolog k bezeztrátové kompresi Typické zprávy

Prolog k bezeztrátové kompresi Typické zprávy Motivace Příklad Bezpaměťový zdroj generuje 100 bitů s pravděpodobnostmi p(0) = 0.995, p(1) = 0.005. Máme zakódovat každou zprávu x 1... x 100, která obsahuje nejvýše tři bity 1. počet typických zpráv (nejvýše tři bity 1) je ( ) ( ) ( ) ( ) 100 100 100 100 + + + = 166 751 0 1 2 3 tudíž stačí kódová slova délky log 166 751 = 18 tak zakódujeme zprávy z množiny, jejíž pravděpodobnost je 3 ( ) 100 0.005 i 0.995 100 i = 0.99833 i i=0

Prolog k bezeztrátové kompresi Typické zprávy Motivace (pokr.) Příklad (pokr.) tím ovšem dosáhneme jen ztrátové komprese atypické zprávy (více než tři 1) můžeme zakódovat pomocí 100 log 2 = 100 bitů přidáním počátečního příznakového bitu odlišíme kódová slova pro typické a atypické zprávy střední délka kódového slova je tak 0.99833 19 + 0.00167 101 = 19.13694

Prolog k bezeztrátové kompresi Typické zprávy Jak poznáme typické zprávy? pravděpodobnost typické zprávy (0, }. {{.., 0 } ) je 100 Motivace (pokr.) p 100 = 0.995 100 = 0.60577 povšimněme si, že existuje ε > 0 takové, že ( ) p 100 2 100 H(0.005,0.995) ε pravděpodobnost typické zprávy x 1... x 100 je tedy přibližně 2 100H(0.005,0.995)

Prolog k bezeztrátové kompresi Typické zprávy Obecná úloha Uvažujme tyto informační zdroje: X s pravděpodobnostní funkcí p na množině X (X 1,..., X n ), n N, popsaný pomocí sdružené pravděpodobnostní funkce p n (x n ) = na množině X n n p(x i ), i=1 x n = (x 1,..., x n ) X n Interpretace zdroj (X 1,..., X n ) je bezpaměťový pravděpodobnost výskytu znaku x X je vždy p(x)

Prolog k bezeztrátové kompresi Typické zprávy Obecná úloha (pokr.) Pro dlouhé zprávy řešme tuto úlohu bezeztrátové komprese: hledáme binární blokový kód pro (X 1,..., X n ): kódujeme celé bloky zpráv x 1... x n, nikoli jednotlivé znaky x i! tento kód musí umožňovat jednoznačnou rekonstrukci původních zpráv z X n cílem je minimalizovat střední délku tohoto kódu AEP (Asymptotic Equipartition Property) využití slabého zákona velkých čísel v teorii informace efektivní komprese zpráv z typické množiny

Prolog k bezeztrátové kompresi Typické zprávy Typičnost Definice Nechť ε > 0. Množina ε-typických zpráv zdroje (X 1,..., X n ) je { } A (n) ε = x n X n 2 n(h(x)+ε) p n (x n ) 2 n(h(x) ε). Ekvivalentně: zpráva x n X n je ε-typická H(X) ε 1 n log p n(x n ) H(X) + ε. Typické zprávy umožňují dobrý odhad entropie H(X).

Prolog k bezeztrátové kompresi Typické zprávy AEP Věta Nechť ε > 0..1. Pro každé n N platí A (n) ε 2 n(h(x)+ε)..2. Existuje n ε takové, že P(A (n) ε ) > 1 ε, pro n > n ε...3 A (n) ε (1 ε)2 n(h(x) ε), pro n > n ε.

Prolog k bezeztrátové kompresi Typické zprávy Důkaz AEP Důkaz. První tvrzení: 1 = p n (x n ) x n X n x n A (n) ε x n A (n) ε p n (x n ) 2 n(h(x)+ε) = 2 n(h(x)+ε) A (n) ε. Druhé tvrzení: položme Y i = log p Xi (x i ). Pak E(Y i ) = H(X) a P(A (n) ε ) = P [ Ȳ n H(X) ε ] = P [ Ȳ n E(Y i ) ε ]. Nerovnost tak plyne přímo ze slabého ZVČ.

Prolog k bezeztrátové kompresi Typické zprávy Důkaz AEP (pokr.) Důkaz. Třetí tvrzení: pro n > n ε platí 1 ε < P(A (n) ε ) = x n A (n) ε x n A (n) ε p n (x n ) 2 n(h(x) ε) = 2 n(h(x) ε) A (n) ε.

Prolog k bezeztrátové kompresi Typické zprávy Využití AEP.1. Horní odhad velikosti A ε (n).2. Množina typických zpráv má pravděpodobnost 1 pro n.3. Dolní odhad velikosti A (n) ε (závislý na n > n ε ) Kódování pomocí AEP přednostní pozornost budeme věnovat typickým zprávám takový přístup ale bude stačit k výhodné kompresi všech zpráv!

Prolog k bezeztrátové kompresi Typické zprávy Kódování pomocí AEP.1. každou zprávu z A (n) ε lze zakódovat pomocí nejvýše n(h(x) + ε) + 1 bitů, přidáním počátečního příznakového bitu 0 je horní mez n(h(x) + ε) + 2 bitů.2. každou zprávu z X n \ A (n) ε zakódujeme pomocí nejvýše n log X + 2 bitů Vlastnosti kód umožňuje dékodování ihned po obdržení kódového slova dosáhneme efektivní komprese: každé kódové slovo je v průměru vyjádřeno pomocí nh(x) bitů

Prolog k bezeztrátové kompresi Typické zprávy Efektivita kódování pomocí AEP Věta Nechť l(x n ) značí délku kódového slova pro zprávu X n. Pro každé ˆε > 0 platí ( ) 1 E n l(xn ) H(X) < ˆε, pro n. uvedená věta platí pro nezávislé a stejně rozdělené veličiny X 1, X 2,..., ale existuje zobecnění pro jisté stacionární zdroje střední délku kódového slova na jeden znak lze tak libovolně přiblížit k entropii původního zdroje

Prolog k bezeztrátové kompresi Typické zprávy Důkaz. Efektivita kódování pomocí AEP (pokr.) Díky 2.tvrzení AEP platí pro n > n 0 a ε > 0: E ( 1 n l(xn ) ) = 1 n p n (x n )l(x n ) x n X n = p n (x n ) ( H(X) + ε + 2 ) n + p n (x n ) ( log X + 2 ) n x n A (n) ε ) P(A (n) ε x n X n \A (n) ε = ( H(X) + ε + 2 n ) + ( log X + 2 n H(X) + ε + 2 n + ε ( log X + 2 ) n }{{} ˆε ) ( ) 1 P(A (n) ε )

Prolog k bezeztrátové kompresi Typické zprávy Ilustrace AEP Příklad Bezpaměťový zdroj generuje n = 25 bitů s pravděpodobnostmi p(0) = 0.4, p(1) = 0.6. Pro ε = 0.1 určíme.1. A (n) ε.2. P(A (n) ε ).3. A (n) ε Stačí vyhodnotit počet jednotkových bitů ve zprávě délky 25.

Prolog k bezeztrátové kompresi Typické zprávy Ilustrace AEP (pokr.) 0.15 0.10 0.05 Pravděpodobnostní funkce Bi(25,0.6)

Prolog k bezeztrátové kompresi Typické zprávy Ilustrace AEP (pokr.) Příklad (pokr.).1. A (n) ε =.2. P(A (n).3. A (n) ε { (x 1,..., x 25 ) {0, 1} 25 11 25 ε ) = 19 = 19 i=11 i=11 ( 25 i ( 25 i i=1 } x i 19 ) 0.6 i 0.4 25 i = 0.93625 > 1 ε = 0.9 ) = 26 366 510 Odhad velikosti A (n) ε pomocí AEP je ) 3 10 6 (1 ε)2 n ( H(0.6,0.4) ε A (n) ε 2 n ( H(0.6,0.4)+ε ) 1.15 10 8

Část IV Kódování a komprese Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Definice Kódování Nechť X je náhodná veličina s výběrovým prostorem X. Nechť D je konečná abeceda a D = D n. Kód pro X je zobrazení n=1 C : X D. Poznámka. Pro D = {0,..., d 1}, d 2 hovoříme o d-znakovém kódu. Fyzikální principy přenosu a uchování dat vedou k využití zejména binárních kódů (d = 2). Definice Střední délka kódu C je L(C) = značí délku řetězce C(x). x X p X (x)l(c(x)), kde l(c(x))

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad 1 Příklady kódů Nechť p X (i) = 1 3, i = 1, 2, 3. Mějme tento binární kód: C(1) = 0, C(2) = 10, C(3) = 11. Zřejmě L(C) = 5 3 = 1. 6, přičemž H(X) = log 3. = 1.58. Příklad 2 Nechť p X (i) = 2 i, i = 1, 2, 3 a p X (4) = 1 8, i = 4. Mějme tento binární kód: C(1) = 0, C(2) = 10, C(3) = 110, C(4) = 111. Zřejmě L(C) = H(X) = 1.75.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Definice Kód C je Třídy kódů nesingulární, pokud je C : X D prosté zobrazení. jednoznačně dekódovatelný, pokud je jeho rozšíření C nesingulární, kde C : X D je definováno pomocí C (x 1... x n ) = C(x 1 )... C(x n ), x 1... x n X. instantní, pokud žádné kódové slovo C(x) není počátečním úsekem kódového slova C(x ) pro x, x X, x x.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta (Vztahy mezi kódy) Třídy kódů (pokr.).1. Každý instantní kód je jednoznačně dekódovatelný..2. Každý jednoznačně dekódovatelný kód je nesingulární. Důkaz. Druhé tvrzení plyne příme z definice rozšíření C. Nechť C není jednoznačně dekódovatelný. Potom C je singulární, tedy C (x 1... x m ) = C (y 1... y n ) pro nějaké dvě zprávy x 1... x m, y 1... y n X, kde x 1... x m y 1... y n. Kratší ze slov C(x 1 ), C(y 1 ) musí být tudíž prefixem delšího z nich.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Třídy kódů (pokr.) x singulární nesingulární jedn. dekódovatelný instantní 1 0 0 10 0 2 0 010 00 10 3 0 01 11 110 4 0 10 110 111 pro nesingulární kód může být kódové slovo 010 dekódováno jako 2, 14 nebo 31 kód ve 4. sloupci je jednoznačně dekódovatelný:.1. pokud jsou první dva bity 00 nebo 10, lze je dekódovat.2. pokud jsou první dva bity 11, potom 2-1 je-li další bit 1, pak je první znak zprávy 3 2-2 je-li délka řetězce nulových bitů za 11 lichá, pak je první znak zprávy 4 2-3 je-li délka řetězce nulových bitů za 11 sudá, pak je první znak zprávy 3.3. na další znaky kódového slova použijeme stejný postup

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Instantní kódy neinstantní jednoznačně dekódovatelný kód obecně umožňuje dekódovaní až po přečtení celého rozšířeného kódového slova C(x 1... x n ) instantní kód umožňuje dekódování ihned po obdržení kódového slova, které je v kódové knize Příklad X = {1, 2, 3, 4}, C(1) = 0, C(2) = 10, C(3) = 110, C(4) = 111 Potom rozšířené kódové slovo 01011111010 kóduje zprávu 12432, tedy C (12432) = 01011111010.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Jak konstruovat kódy? Úloha. Pro náhodnou veličinu X hledáme kód C, jehož střední délka L(C) je minimální ukážeme, že při hledání minima se lze omezit na množinu instantních kódů při konstrukci instantního kódu nelze přiřazovat krátká kódová slova všem znakům zdrojové abecedy X, neboť to by vedlo k porušení instantnosti existuje dolní mez pro střední délku libovolného kódu, kterou nelze překročit existuje užitečná charakterizace libovolného instantního kódu pomocí délek jeho kódových slov (Kraftova nerovnost)

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta (Kraft, 1949) Kraftova nerovnost Délky slov l 1,..., l m libovolného instantního d-znakového kódu splňují nerovnost m d l i 1. i=1 Obráceně, splňují-li l 1,..., l m N tuto nerovnost, potom existuje instantní d-znakový kód s délkami slov l 1,..., l m. Příklad Kraftova nerovnost je splněna pro koeficienty l 1,..., l m každé dyadické pravděpodobnostní funkce p, tedy p splňující p(x i ) = 2 l i, i = 1,..., m. Např. pro m = 3 jsou takové koeficienty pouze 1, 2, 2.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód 1.důkaz Kraftovy nerovnosti Větu dokážeme dvěma různými způsoby pro binární kódy (d = 2). Důkaz. K instantnímu kódu zkonstruujeme kódovací strom:..0.00.01.000.001.010.011.1.10.11.100.101.110.111 V kódovacím stromě jsou kódová slova vyznačena žlutě. Jelikož je kód instantní, žádné kódové slovo není následníkem jiného kódového slova.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Pokračování důkazu. 1.důkaz Kraftovy nerovnosti (pokr.) Nechť l je délka nejdelšího kódového slova. Potom: každé kódové slovo v úrovni l i má právě 2 l l i následníků v úrovni l tyto množiny následníků jsou vzájemně disjunktní pro všechna kódová slova díky instantnosti kódu počet uzlů v úrovni l je 2 l, tedy dostáváme m 2 l l i 2 l, což dává i=1 m 2 l i 1 i=1

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Pokračování důkazu. 1.důkaz Kraftovy nerovnosti (pokr.) Obráceně, nechť platí Kraftova nerovnost a l 1 l m. Mějme binární strom hloubky l m : v úrovni l 1 vyznačme libovolný uzel a vyjměme jeho následníky v úrovni l 2 existuje alespoň jeden uzel, neboť počet uzlů je zde nyní 2 l 2 2 l 2 l 1 v úrovni l 2 vyznačme libovolný uzel a vyjměme jeho následníky v posledním kroku musí na poslední úrovni l m zbýt alespoň jeden uzel, jelikož díky Kraftově nerovnosti platí 2 l m 2 l m l 1 2 l m l m 1 1

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.10.11.000.001.010.011.100.101.110.111

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.000.001.010.011

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.000.001.010.011

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.010.011

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.010.011

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad Ilustrace Kraftovy nerovnosti Nalezneme binární kód s délkami kódových slov 1,2,3,3...0.1.00.01.010.011

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Důkaz. 2.důkaz Kraftovy nerovnosti Každému kódovému slovu y 1... y li {0, 1} lze v dvojkové číselné soustavě přiřadit číslo l i 0.y 1... y li = y j 2 j z intervalu [0, 1], přičemž toto zobrazení je prosté. Každé kódové slovo tak můžeme ztotožnit s intervalem 0.y1... y li, 0.y 1... y li + 2 l i ) j=1 čísel z 0, 1, jejichž dvojkový rozvoj začíná jako 0.y 1... y li.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Pokračování důkazu. 2.důkaz Kraftovy nerovnosti (pokr.) Všechny takové intervaly jsou po dvou disjunktní, jelikož kód je instantní, a tudíž m 2 l i 1. i=1 Obráceně, nechť je pro l 1,..., l m splněna Kraftova nerovnost. Volme libovolné 0.y 1... y l1 0, 1 a označme I 1 = 0, 1, I(l 1 ) = 0.y 1... y l1, 0.y 1... y l1 + 2 l 1 ), I 2 = I 1 \ I(l 1 ). Uvedenou konstrukci použijeme pro l 2 na I 2 atd. Kraftova nerovnost spolu s disjunktností všech intervalů I j zaručuje neprázdnost množin I j = I j 1 \ I(l j 1 ) a instantnost kódu se slovy y 1... y l1,..., y 1... y lm.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta (McMillan, 1956) Kraftova nerovnost pro jednoznačně dekódovatelné kódy Délky slov l 1,..., l m libovolného jednoznačně dekódovatelného d-znakového kódu splňují nerovnost m d l i 1. i=1 Obráceně, splňují-li l 1,..., l m N tuto nerovnost, potom existuje jednoznačně dekódovatelný d-znakový kód s délkami slov l 1,..., l m.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Hledáme optimální kód Kraftova nerovnost umožňuje konstrukci kódu pomocí zadaných délek kódových slov l 1,..., l m hledání kódu minimální střední délky tak lze formulovat jako optimalizační úlohu pro pravděpodobnostní funkci p X na m-prvkové množině X a d N tak hledáme minimum funkce L(l 1,..., l m ) = m p X (x i )l i i=1 na množině { m } (l 1,..., l m ) N m d l i 1 i=1

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Hledáme optimální kód (pokr.) zanedbejme celočíselné omezení kladené na (l 1,..., l m ) a předpokládejme v Kraftově nerovnosti rovnost: m d l i = 1 i=1 potom snadno nalezneme vázaný extrém funkce L metodou Lagrangeových multiplikátorů: l i = log d p(x i ), i = 1,..., m v bodě (l 1,..., l m) je hodnota minima rovna Shannonově entropii: L(l 1,..., l m) = m p X (x i )l i = H d (X) i=1

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Hledáme optimální kód (pokr.) nalezli jsme pouze vektor (l 1,..., l m) R m! ovšem pro každou d-adickou p X platí (l 1,..., l m) N m můžeme se pokusit najít instantní kód, jehož délky slov by se příliš nelišily od (l 1,..., l m), tato úloha je však obtížně řešitelná Některé konstrukce kódů:.1. Shannonova.2. Huffmanova.3. Shannon-Fano-Eliasova Žádný způsob kódování nepřekoná mez danou entropií!

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta Dolní mez komprese Střední délka L(C) libovolného instantního d-znakového kódu C pro náhodnou veličinu X splňuje nerovnost Rovnost L(C) H d (X). L(C) = H d (X) platí právě tehdy, když p X (x) = d l(c(x)).

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Důkaz. Důkaz L H d (X) = x X Položme c = x X L H d (X) = x X p X (x) log d d l(c(x)) + x X p X (x) log d p X (x) d l(c(x)), r(x) = d l(c(x)) c. Potom p X (x) log d p X (x) r(x) log d c = D d (p X r) + log d c 1. Ovšem D d (p X r) 0 a c 1 díky Kraftově nerovnosti. Druhá část tvrzení platí, neboť D(p X r) = 0 p X = r.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Shannonovo kódování Vstup: inf. zdroj (X, p), kde X = {x 1,..., x n }, p = (p 1,..., p n ) Výstup: kód C S : X {0, 1,..., d 1} bez újmy na obecnosti předpokládáme p i > 0 položme l i = log d p 1 i, tato čísla splňují Kraftovu nerovnost: n i=1 d log d p 1 i n i=1 d log d p 1 i = n p i = 1 slova kódu C S nalezneme pomocí konstrukce instantního kódu se zadanými délkami l i i=1

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta Platí H d (X) L(C S ) < H d (X) + 1. Meze Shannonova kódování Důkaz. Snadno plyne z dolní meze komprese a nerovnosti log d p 1 i l i = log d p 1 i < logd p 1 i + 1. Poznámka. Střední délka optimálního kódu C tedy splňuje H d (X) L(C ) < H d (X) + 1.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Nevhodné kódování Věta (Divergence je cena za nevhodné kódování) Je-li X náhodná veličina s pravděpodobnostní funkcí p a C q S je Shannonův kód zkonstruovaný na základě rozdělení q, potom platí: H(X) + D(p q) L p (C q S ) < H(X) + D(p q) + 1. Důkaz. Odvodíme horní mez, dolní mez se odvodí analogicky: L p (C q S ) = p(x) log q 1 (x) < p(x) ( log q 1 (x) + 1 ) x X x X = ( ) p(x) 1 p(x) log + p(x) = D(p q) + H(X) + 1. q(x) p(x) x X

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Úvod Huffman nalezl v r.1951 optimální kód C H, tedy instantní kód minimalizující střední délku na množině všech jednoznačně dekódovatelných kódů výsledný kód není určen jednoznačně (např. bitovou inverzí získáme jiný optimální kód) jednoznačně není zadána ani délka kódových slov aplikace závěrečné zpracování formátů JPEG, MP3, DEFLATE, PKZIP předzpracování souboru pro aritmetické kódování

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Algoritmus Vstup: inf. zdroj (X, p), kde X = {x 1,..., x n }, p = (p 1,..., p n ) Výstup: kód C H : X {0, 1}.1. Z prvků množiny X vytvoř množiny S 1 = {x 1 },..., S n = {x n }, S = {S 1,..., S n } a uvažuj informační zdroj (S, p).2. Dokud S není jednoprvková: 2-1 najdi množiny S i, S j, i j s nejnižšími pravděpodobnostmi p i, p j 2-2 prvkům z S i připiš bit 0, prvkům z S j připiš bit 1 (bity připisujeme na začátek kódového slova) 2-3 polož S := S \ {S i, S j } 2-4 polož S := S {S i S j } a p(s i S j ) := p(s i ) + p(s j )..3 Každému x i X přiřaď slovo C H (x i ), které vzniklo postupným připisováním bitů

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Příklad x p(x) x p(x) x p(x) x p(x) kód 1 0.25 (4, 5) 0.30 (2, 3) 0.45 (1, 4, 5) 0.55 01 2 0.25 1 0.25 (4,5) 0.30 (2,3) 0.45 10 3 0.20 2 0.25 1 0.25 11 4 0.15 3 0.20 000 5 0.15 001..0.1.00.01.10.11.000.001

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Huffmanův vs. Shannonův kód Vždy platí: L(C S ) L(C H ) < 1. Srovnání délek kód. slov: Příklad Informační zdroj: X = {x 1, x 2 }, p(x 1 ) = 0.9999, p(x 2 ) = 0.0001. Shannonův kód obsahuje slova délky 1 a 14 Huffmanův kód obsahuje slova délky 1 a 1 Příklad Informační zdroj: X = {x 1, x 2, x 3, x 4 }, p(x 1 ) = p(x 2 ) = 3 1, p(x 3 ) = 4 1, p(x 4 ) = 12 1. Huffmanův kód má slova délek (2, 2, 2, 2) nebo (1, 2, 3, 3) Shannonův kód dává pro x 3 slovo délky 2

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta Vlastnosti optimálního kódu Nechť C je instantní binární kód pro X se zdrojovou abecedou X = {1,..., n} takovou, že Je-li C optimální, potom: p X (1) p X (n). je-li p X (x) > p X (y), pak l(c(x)) l(c(y)) kódová slova C(n 1) a C(n) mají stejnou délku a liší se pouze v posledním bitu

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Věta Optimalita Huffmanova kódování Nechť C H je Huffmanův kód a C je libovolný jednoznačně dekódovatelný kód pro náhodnou veličinu X. Potom L(C H ) L(C).

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Výhody minimální střední délka snadná implementace není patentová ochrana Nevýhody Vlastnosti Huffmanova kódování vstupem je informační zdroj, což vyžaduje načtení celého souboru dat kvůli výpočtu četností jednotlivých symbolů pro zdroje s entropií 1 bit může být neefektivní

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód (Shannon-Fano-)Eliasův kód využívá dvojkový rozvoj p X (x) (0, 1) k zakódování znaku x X algoritmus je významnou částí aritmetického kódování předpoklad: vstup je zdroj X s výběrovým prostorem X = {1,..., m}, p X (x) > 0 Definice Modifikovaná distribuční funkce je funkce G : X [0, 1] definovaná jako G(x) = y<x p X (y) + 1 2 p X(x), x X.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Dvojkový rozvoj pravděpodobností zřejmě platí: x 1 x 2 G(x 1 ) G(x 2 ) lze využít dvojkový rozvoj G(x) jako binární kód pro x X? Příklad X = {1, 2, 3}, p X (1) = 2 1, p X (2) = p X (3) = 2 2 2 2 = 0.01 2, x = 1 G(x) = 2 1 + 2 3 = 0.101 2, x = 2 2 1 + 2 2 + 2 3 = 0.111 2, x = 3 Dostaneme kód: 01, 101, 111 ale Huffmanův kód: 0, 10, 11! Uvedený postup je možno zobecnit.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód uvažujme délku kódových slov l(x) := log p X (x) + 1 Aproximace je-li G(x) = a n 2 n pro a n {0, 1}, definujeme n=1 l(x) G(x) l(x) := a n 2 n n=1 Věta Pro každé x X platí G(x) G(x) l(x) < 2 l(x) G(x) F X (x 1).

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód určíme funkce l(x) a G(x) l(x) Algoritmus zdrojový symbol x X zakódujeme pomocí l(x) bitů z rozvoje G(x) l(x) předchozí věta zaručuje, že tento kód je nesingulární a dokonce instantní! Věta Eliasův kód C je instantní a pro jeho střední délku platí L(C) > H(X) + 2.

Kódy Kraftova nerovnost Konstrukce kódů Huffmanův kód Eliasův kód Vlastnosti Eliasova kódování Algoritmus lze aplikovat též na celé bloky zdrojových symbolů délky n: to ovšem vyžaduje velmi přesnou aritmetiku bitové reprezentace reálných čísel navíc složitost roste exponenciálně s délkou bloku n řešení nabízí aritmetické kódování

Část V Univerzální komprese

O čem to bude? Not only does God play dice, sometimes he throws them where we can t see them. Stephen Hawking specifická komprese: všechny doposud uvedené kompresní algoritmy vyžadují znalost pravděpodobnostní funkce p X určující rozdělení zdroje X univerzální komprese nevyžaduje znalost rozdělení zdroje, kódování probíhá on the fly

LZ algoritmy autoři Lempel a Ziv publikovali 2 základní varianty algoritmu LZ77 a LZ78 algoritmus má mnoho různých variací, jako je např. Lempel-Ziv-Welsch LZW jde o třídu adaptivních kompresních algoritmů se slovníkem LZ77 a LZ78 asymptoticky dosahují rychlosti entropie pro tzv. stacionární ergodické zdroje

LZ78 (stromová verze LZ) řetězec x 1... x n X n délky n je sekvenčně testován na výskyt nejkratších řetězců, které se nevyskytly v předchozím kroku každý takový řetězec je označen a uložen do slovníku díky minimalitě ukládaného řetězce jsou jeho prefixy již ve slovníku zvláště řetězec x i... x k musel být uložen do slovníku před řetězcem x i... x k x k+1 Kód tvoří posloupnost dvojic (U k, x k ), kde U k je ukazatel na odpovídající prefix x i... x l, x k je poslední znak řetězce x i... x l x k.

Příklad X = {A, B}, řetězec ABBABBABBBAABABAA Dostaneme následující řetězce: Posloupnost dvojic: A, B, BA, BB, AB, BBA, ABA, BAA Ilustrace LZ78 (0, A), (0, B), (2, A), (2, B), (1, B), (4, A), (5, A), (3, A)

Příklad X = {0, 1}, řetězec 1011010100010 Dostaneme následující řetězce: Ilustrace LZ78 (pokr.) 1, 0, 11, 01, 010, 00, 10 Postupně rozšiřujeme délku bitových slov pro vyjádření ukazatelů. Posloupnost dvojic: (, 1), (0, 0), (01, 1), (10, 1), (100, 0), (010, 0), (001, 0) Výsledný kód může tvořit pouze řetězec 100011101100001000010

Lempel-Ziv-Welschův algoritmus (LZW) ukládání posledního bitu v LZ78 není efektivní lze ukládat pouze ukazatele do budovaného slovníku LZW je základem většiny aplikací (např. compress v Unixu, ZIP, RAR, komprese v některých modemech, GIF, PDF)

Efektivita LZ78 Nechť c(n) je počet řetězců ve slovníku pro x 1... x n {0, 1} n. kód se skládá z c(n) dvojic (ukazatel,poslední bit) potřebujeme tedy celkem nejvýše c(n)(log c(n) + 1) bitů lze ukázat, že pro tzv. stacionární ergodický zdroj (X n ) n N je možno docílit asymptoticky optimální komprese, neboť platí c(n)(log c(n) + 1) n H((X n ) n N ) s pravděpodobností 1

Část VI Informační kanály

Kapacita kanálu Shannonova věta o kapacitě Příklad (Vajda,2004) Motivace Holub má přepravit 1 bit informace (výhra/prohra bitvy) na místo určení. Jaká je kapacita použitého informačního kanálu v případě, že.1. bude holub sežrán sokolem s pravděpodobností 0.2..2 holub se vyhne sokolům, ale s pravděpodobností 0.2 je odchycen špiónem, který mu zprávu změní na opačnou

Kapacita kanálu Shannonova věta o kapacitě Informační kanál Definice Informační kanál je trojice K = X, P, Y, kde X je m-prvková vstupní abeceda Y je n-prvková výstupní abeceda P je matice m n podmíněných pravděpodobností: p Y X (y 1 x 1 ) p Y X (y 2 x 1 )... p Y X (y n x 1 ) P = p Y X (y 1 x 2 ) p Y X (y 2 x 2 )... p Y X (y n x 2 ).................... p Y X (y 1 x m ) p Y X (y 2 x m )... p Y X (y n x m )

Kapacita kanálu Shannonova věta o kapacitě Informační kapacita Definice Informační kapacita kanálu K = X, P, Y je kde I(X; Y) = x X y Y C(K) = sup I(X; Y), p X m 1 p X (x)p Y X (y x) log p X(x)p Y X (y x) p X (x)p Y (y). jelikož I(X; Y) je spojitou funkcí p X (x) na kompaktní množině m 1, supréma se nabývá pro nějaké p X m 1 výpočetně výhodnější jsou vztahy I(X; Y) = H(X) H(X Y) = H(Y) H(Y X)

Kapacita kanálu Shannonova věta o kapacitě Vlastnosti kapacity Věta Nechť K = X, P, Y je informační kanál. Potom: C(K) 0 C(K) log m C(K) log n I(X; Y) je spojitá konkávní funkce na množině m 1

Kapacita kanálu Shannonova věta o kapacitě Výpočet kapacity hledáme maximum rozdílu H(Y) H(Y X) v proměnné p X m 1 lze využít optimalizačních metod výpočet je ovšem snadný pro kanály, v nichž se pravděpodobnostní funkce p Y X ( x i ), p Y X ( x j ) liší pouze permutací odpovídajících pravděpodobností v nich totiž H(Y X) nezávisí na p X, neboť pro každé x X platí H(Y X) = H(Y x)

Kapacita kanálu Shannonova věta o kapacitě X = Y = {0, 1} Binární bezšumový kanál.0..1.0.1.1.1 Kapacita C(K) = 1

Kapacita kanálu Shannonova věta o kapacitě X = Y = {0, 1} Binární symetrický kanál.1 p.0..0.p.p.1.1 p.1 Kapacita C(K) = 1 H(p, 1 p)

Kapacita kanálu Shannonova věta o kapacitě Šumovy kanaĺ s disjunktniḿi prěchody X = {0, 1}, Y = {00, 01, 10, 11}. 1 2.00.0..1. 1 2. 1 2.01.10. 1 2.11 Kapacita C(K) = 1

Kapacita kanálu Shannonova věta o kapacitě X = Y = {a, b,..., z} Zmatená klávesnice.a. 1 2. 1 2.a. 1 2.b..b. 1 2. 1 2.c.... 1 2.z.z Kapacita C(K) = log 13

Kapacita kanálu Shannonova věta o kapacitě X = {0, 1}, Y = {0, 1, z} Binární kanál se zámlkou.0..1 p.p.p.0.z Kapacita C(K) = 1 p.1.1 p.1

Kapacita kanálu Shannonova věta o kapacitě Zámlka lepší než záměna Věta Kapacita binárního kanálu s pravděpodobností zámlky 2p (0 < p < 1 2 ) je větší než kapacita binárního symetrického kanálu s pravděpodobností záměny p.

Kapacita kanálu Shannonova věta o kapacitě Kapacita kanálu Shannonova věta o kapacitě

Kapacita kanálu Shannonova věta o kapacitě Bezpaměťové rozšíření kanálu Definice Nechť K = X, ( p Y X (y x) ) y Y x X, Y je informační kanál. Bezpaměťové rozšíření kanálu K je kanál K n = X n, ( p n Y X (y x)) y Y n x X n, Y n, kde p n Y X (y x) = n p Yi X i (y i x i ). i=1

Kapacita kanálu Shannonova věta o kapacitě Kanálové kódování kodér funguje na vstupu kanálu jako zobrazení κ : W X n zdroje W s abecedou W = {1,..., M} kanál přijímá pouze slova tvaru κ(i) = x(i) dekodér funguje na výstupu kanálu jako zobrazení δ : Y n W Definice (M, n)-kód kodéru κ na vstupu kanálu K je množina {x(1),..., x(m)} X n M vstupních slov délky n.

Kapacita kanálu Shannonova věta o kapacitě Pravděpodobnosti chyb Definice Pro libovolný (M, n)-kód na vstupu kanálu K definujeme: podmíněná pravděpodobnost chyby slova i W je λ i = y Y n δ(y) i p n ( ) Y X y x(i) maximální pravděpodobnost chyby je λ (n) = max i W λ i průměrná pravděpodobnost chyby je p (n) = 1 M M λ i i=1

Kapacita kanálu Shannonova věta o kapacitě Rychlost kódu a dosažitelnost Definice Rychlost (M, n)-kódu na vstupu kanálu K je R = log M n bit/kanálový znak. Definice Rychlost R 0 je v kanálu K dosažitelná, existuje-li posloupnost (2 nr, n)-kódů takových, že lim n λ(n) = 0.

Kapacita kanálu Shannonova věta o kapacitě Operační kapacita kanálu Definice Operační kapacita kanálu C op (K) je suprémum rychlostí R, které jsou v kanálu dosažitelné.

Kapacita kanálu Shannonova věta o kapacitě Věta (Shannon, 1948) Shannonova věta Pro libovolný informační kanál K platí C op (K) = C(K). důkaz je konstruktivní! ovšem je nutno prohledat všechny možné kodéry, těch je X n2nr pro praktické použití se tedy nehodí

Část VII Dodatek