Shannon s Informatietheorie -Informatie, Communicatie, Entropie - IUW 17 december 2015 Jan van Leeuwen Departement Informatica Universiteit Utrecht Informatieuitwisseling 17-12-2015 1
Vandaag Informatie als kwantificeerbaar goed naast informatie als data met een betekenis Shannon s theorie Kwantitatief model voor informatie-uitwisseling op technisch niveau Andere niveaus? Informatieuitwisseling 17-12-2015 2
Informatieuitwisseling: Drie Niveaus Warren Weaver (1894-1978) In: Shannon/Weaver 1949, p 4. Level A. How accurately can the symbols of communication be transmitted? (The technical problem.) Level B. How precisely do the transmitted symbols convey the desired meaning? (The semantic problem.) Level C. How effectively does the received meaning affect conduct in the desired way? (The effectiveness problem.) Informatieuitwisseling 17-12-2015 3
Onderdelen I. Informatie(-theorie) Van tekens naar codering Shannon-Weaver model II. Codering bij de informatiebron Prefix codes Vaste vs variabele lengte codes Stelling van Shannon: entropie III. Datacompressie: vermindering van redundantie Vormen van datacompressie Huffman coding Lempel-Ziv-Welch (LZW) IV. Shannon s uitspraken over communicatie (beknopt) Channels en hun capaciteit met/zonder ruis V. Conclusies Nabeschouwing Informatieuitwisseling 17-12-2015 4
I. Informatie(-theorie) Communicatie van berichten Abstraheren van inhoud en betekenis Shannon (1948): semantic aspects of communication are irrelevant to the engineering problem. Vorm: tekst, images, video, voice, audio. Shannon (1948):... binary digits, or more briefly bits, a word suggested by J.W. Tukey. Wat is informatie? Bron referentiele tekens (symbolen) berichten als rijtjes in code d c d d a b 11 10 11 11 00 01. 111 011 110 001 (binair) 7 3 6 1 (octaal) ; 1110 1111 0001 (binair) E F 1 (hex, bytes). A B C D E F Informatieuitwisseling 17-12-2015 5
Vb. Braille Code Mens-mens communicatie 6-bit code, 2 6 = 64 symbolen mogelijk (sommige als control symbol). Ruimte voor cijfers, hoofdletters, leestekens, etc (1 of 2 bloks). Speciale codes voor wisk. notatie, etc. Ook Braille muziekschrift. Andere codes bv Solresol (1827),.. Louis Braille (1809-1852) Code uit: 1829 Informatieuitwisseling 17-12-2015 6
Vb. Morse Code Samuel F.B. Morse (1791-1872) Code uit: 1835-37 Tbv telegrafie Begin communicatierevolutie Informatieuitwisseling 17-12-2015 7
Vb. ASCII (American Standard Code for Information Interchange) 8-bit code = 256 symbolen Informatieuitwisseling 17-12-2015 8
C.E. Shannon: A Mathematical Theory of Communication Bell System Technical Journal, 1948 The fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point. Claude E. Shannon (1916-2001, vrmlg lid KNAW) UMich 1932-40, Princeton 1940-41, Bell 1941-56, MIT 1956-78 The significant aspect is that the actual message is one selected from a set of possible messages. The system must be designed to operate for each possible selection (Cf. Nyquist, Hartley ) A Mathematical Theory of Cryptography, 1946 A Mathematical Theory of Communication, 1948 The Mathematical Theory of Communication, 1949 Communication Theory of Secrecy Systems, 1949 Programming a Computer for Playing Chess, 1949 Informatieuitwisseling 17-12-2015 9
Shannon(-Weaver) Model (vgl. Layering) Informatieuitwisseling 17-12-2015 10
Shannon s begrip van informatie Information is what you don't know. If the receiver already had the information, you couldn't say that a communication had taken place. We're used to thinking about "information" as facts, data, evidence -- but in information theory, information is uncertainty. You have to get a message that you don't know the content of. Information theory talks about the messages you could possibly get [ ]. (C.A. Gimon) [ ] information must not be confused with meaning. [ ] two messages, one of which is heavily loaded with meaning and the other of which is pure nonsense, can be exactly equivalent, from the present viewpoint, as regards information." (W. Weaver) Informatieuitwisseling 17-12-2015 11
II. Codering van informatie bij de bron Vaste-lengte codering Vb. s 0 = 000 ; s 1 = 001 ; s 2 = 010 ; s 3 = 011 ; s 4 = 100 && s 5 = 101 ; s 6 = 110 ; s 7 = 111, N symbolen (of berichten): om met rijtjes van k bits te onderscheiden vereist: k met 2 k 1 < N 2 k (dus k log 2 N). Vb. N = 5 k = 3 bits; N = 15 k = 4 bits. Variabele-lengte codering Vb. s 0 = 0 ; s 1 = 1 ; s 2 = 11 ; s 3 = 00 ; Probleem: 0011 s 3 s 2 s 0 s 0 s 2... Eis: codewoorden moeten uniquely decodable zijn (v.l.n.r.). Vb. s 0 = 0 ; s 1 = 10 ; s 2 = 110 ; s 3 = 1110. Informatieuitwisseling 17-12-2015 12
Vb. Prefix codes Klassiek vb variabele lengte code: met binaire boom (zie onder). Eigenschap: geen codewoord is begin (`prefix ) van ander codewoord. Prefix codes, ook wel instantaneous codes genoemd. Vb. 0 1 0 1 0 1 Elk codewoord correspondeert met een blad in de binaire boom s 0 = 00 s 1 = 01 s 2 = 10 (ook met andere symbolen dan 0,1 mogelijk) 0 1 s 3 = 110 s 4 = 111 Informatieuitwisseling 17-12-2015 13
Waarom variabele lengte codes? Neem bijv 5 symbolen: s 0, s 1, s 2, s 3, s 4. Met vaste-lengte code: s 0 000; s 1 001; s 2 010; s 3 011; s 4 100 en x 101; x 110; x 111 (dus 3 bits/symbol). Stel nu frequenties: s 0 : 0,5; s 1 : 0,2 ; s 2 : 0,2 ; s 3 : 0,05 ; s 4 : 0,05. Kritiek Vgl alfabet gewone talen. Vgl. Morse code! a. Deel van de code ongebruikt: oplosbaar Gebruik code voor blokken van symbolen, bijv van lengte N. In vb met 5 symbolen: 2 k 1 < 5 N 2 k, dus N k log 2 5, Gemiddeld: N log k 2 5 2,32 bits/symbol! b. Veel bits voor veel gebruikte symbolen (s 0, s 1 ): oplosbaar s 0 0; s 1 10; s 2 110; s 3 1110; s 4 1111. 0,5 1 + 0,2 2 +0,2 3 + 0,05 4 + 0.05 4 = 1,90 bits/symb! Informatieuitwisseling 17-12-2015 14
Hoeveel bits aan informatie? Stel bron genereert symbolen volgens kansverdeling (zonder geheugen). Symbool met kans p = 1 2 : (1 uit 2) 1 bit aan informatie (nodig). Dito met kans p = 1 4 : (1 uit 4) 2 bits aan informatie (nodig). Met kans p =.. : (1 uit 1 p)? Onderscheiden met k bits: grofweg: 2 k 1 p, dus k log 2 1 Informatiebegrip: Hoe meer berichten mogelijk, des te groter de onzekerheid bij de ontvanger. Zelf-informatie in elk symbool a dat wordt gegenereerd: I(a) = log 2 p = log 2 1 p bits (Hartley, 1928) Bits nodig voor samengesteld bericht: I(a b) = I(a) +I(b) 1 want log 2 = log 1 p q 2 + log 1 p 2 q Uitgangspunt voor Shannon. p Informatieuitwisseling 17-12-2015 15
Shannon - sources zonder geheugen Bron genereert symbolen met waarschijnlijkheden: N 1 Bron S : s 0 p 0 ; s 1 p 1 ; ; s N 1 p N 1 ( 0 p i = 1) Kenmerk voor willekeurige uniquely decodable binaire code C? Stelling van Shannon (1948) Voor elke u.d. binaire code C geldt: gemiddeld aantal bits/symbol N 1 1 i=0 p i log 2 p i = H S. Er is een u.d. binaire code C met gemiddeld aantal bits L zodanig dat H S L H S + 1. H(S) heet de entropie van de bron. Vb. s 0 : 0,50 ; s 1 : 0,20 ; s 2 : 0,20 ; s 3 : 0,05 ; s 4 : 0,05 H S = 0,5 1 + 0,2 2,32 + 0,2 2,32 + 0,05 4,32 + 0,05 4,32 = 1,861 NB. Hadden een code met gem aantal bits/symbol 1,90. Close! Informatieuitwisseling 17-12-2015 16
Stelling van Shannon: Geillustreerd aan een variabele-lengte code voor het gewone (engelse) alfabet. Merk op: l log 2 1 p (Vb van best mogelijke prefix code dwz. met minimum gemiddeld aantal bits/symbool.) Informatieuitwisseling 17-12-2015 17
Interpretatie: grenzen voor beste source coding Shannon a: Voor gemiddeld aantal bits L geldt ALTIJD L H S. Shannon b: die ondergrens is ook willekeurig dicht te benaderen met geschikte codering. Volgens Shannon is er een u.d. code met L H S + 1. Codeer nu de symbolen in blokken van de vorm s i1 s in (met kans p i1 p in ). Hiermee krijgen we een gemiddelde code-lengte per symbool van H S = 1 n H Sn L 1 n ( H(Sn ) +1) = H S + 1 n Als gem. aantal bits/symbol van een code onder de bron-entropie zit, dan code niet `fout-vrij (niet u.d.), meer dan 1 erboven redundant. Beperkingen: Symboolfrequenties moeten bekend (en constant) zijn. Hoe ziet de efficiente codes er uit? Praktisch genoeg? Informatieuitwisseling 17-12-2015 18
III. Codering Datacompressie Grove schattingen: Tekst: 1 p 5 kb, 1000 p 5 mb. Audio: 30 sec met 16 bits/sample en 44100 samples/sec over twee kanalen 5.3 mb. Uur audio: 635 mb. Video: 30 frames/sec, 8 mb/sec zwart-wit, 24 mb/sec color. Twee uur video: ongev 100 tot 200 gb. Reduceer het aantal bits: elimineer redundantie om ( echte ) informatie te representeren Minder bits uit te wisselen: spaart transmissietijd, transmissiekosten, bandbreedte. Minder geheugenruimte nodig, meer files op server. 75% compressie: 1 4 van oorspronkelijke size. Dicht bij de entropiegrens? Eronder? NB Nog altijd los van de inhoud of betekenis van de input! Informatieuitwisseling 17-12-2015 19
Vormen van Datacompressie Lossless (codering exact omkeerbaar ) Behoudt alle informatie. Benut redundantie. Algemeen toepasbaar, essentieel bij tekst (zip). Lossy (is niet exact omkeerbaar) Informatie kan deels verloren gaan. Benut redundantie en perceptie van de data. Vooral toegepast op beeld, video, audio: JPEG, MPEG (mp3, mp4), HDTV. source file compressor gecodeerde file gecodeerde file decompressor source file Informatieuitwisseling 17-12-2015 20
Beste compressiemethode? Redundantie Een erg regelmatig ( voorspelbaar ) rijtje symbolen bevat veel semantische informatie; vb. 01100110011001100110 Een onvoorspelbaar rijtje symbolen bevat weinig semantische informatie; vb 01000001110110011010010 ; comprimeren? Minimum description length (MDL) Stel K beste compressor, dwz gegeven s, dan K(s) kleinste programma dat tekst s uitprint (lossless). Kolmogorov: K niet berekenbaar, dwz er is geen programma dat altijd de beste compressie bepaalt Random niet comprimeerbaar. Meeste rijen symbolen random en niet (erg) comprimeerbaar. In de praktijk niet, resp. wel (codecs). A.N. Kolmogorov (1903-1987) Informatieuitwisseling 17-12-2015 21
a. Compressie met prefix coding Prefix code binaire boom volgorde symbolen doet er niet toe. minst frequente symbolen zitten diepst als n > 1, dan altijd (tenminste) twee bladen in onderste niveau die dezelfde ouder hebben Huffman (1952) Maak de binaire boom bottom up. Maak twee bladen voor de twee minst-frequente symbolen x en y. Zo verder, met x en y vervangen door metasymbool xy (met de gesommeerde frequentie). Geeft optimale (compressie met) prefix code. x y David A. Huffman (1925-1999) Informatieuitwisseling 17-12-2015 22
Speciaal: Huffman codering Vb s 0 : 0,5 ; s 1 : 0,2 ; s 2 : 0,2 ; s 3 : 0,05; s 4 : 0,05 s 0 = 1 ; s 1 = 00 ; s 2 = 011; s 3 = 0101 ; s 4 = 0100 Gem. 1,90 bits/symbool Beste prefix code in bits/symb. JvL ( 76) na sorteren, lineair Niet altijd uniek Feit: Gem. aantal bits/symbool is bijna optimaal: H(S) L Huffman H S + 1 Met blocks van N symbols nog beter: H(S) L H S + 1 N s 4 0,05 s 3 0,05 Wel `boom-structuur als dictionary nodig voor coding en decoding. s 1 0,2 0,5 0,1 0,3 1,0 s 2 0,2 s 0 0,5 Informatieuitwisseling 17-12-2015 23
Nogmaals. Stelling van Shannon: Geillustreerd aan een variabele-lengte code voor het gewone (engelse) alfabet. Merk op: l log 2 1 p Het is de Huffman code bij de gegeven p i. De p i moeten hier wel (bij benadering) bekend zijn! Informatieuitwisseling 26-11-2014 24
b. Runlength encoding (RLE) Vervang herhaling van patronen door `tel -code ACCEDGGGGGGAAAAEEE ACCED@G5@A4@E3 Varianten, bv. alleen voor deelrijtjes 0-en ( zero runlength encoding ) Eenvoudig, lossless, geen dictionary nodig. Alleen effectief als er veel herhalingen zijn. BBWWWWWWWWWWWWWWBBBBBBBBBBBBBBBBBBBBBBBBBBBB Vb in beelddata, bitmaps Impliciet, in combinatie met resp. ingebed in andere compressiemethoden Informatieuitwisseling 17-12-2015 25
c. Lempel-Ziv-Welch (LZW, 77 84) Omkeerbaar (lossless), dictionary niet nodig (is impliciet in de code verwerkt). Alfabet : in de praktijk bijv ASCII code (256 symbolen). Tekst oprollen in een tabel. Uitgangspunt: steeds opvolgende tekstpatronen, neem deze op in tabel en codeer mbv volgende positie in tabel, gebruik daarna de gemaakte code als patroon weer voorkomt. Zend de (compacte) tabel, decodeer dan door de tabel te ontrollen. Abraham Lempel (1936) Jacob Ziv (1931) Terry A. Welch (19??-1988) Informatieuitwisseling 17-12-2015 26
LZW compressie? Globaal: 1. zet de symbolen van het alfabet als eerste in de tabel; start bij begin van de tekst. 2. Scan en bepaal langste patroon P dat matcht met de input; stel volgende symbool x. 3. Vervang P door tabel index, en schuif door naar positie van x. 4. Zet Px achteraan op eerstvolgende nieuwe plek in de tabel; ga naar stap 2. Decoderen (van links naar rechts), gelijk de complete codetabel mee reconstrueren! Informatieuitwisseling 17-12-2015 27
LZW en decompressie? Compressie de uit de tekst geconstrueerde tabel. Gecomprimeerde tekst bevat impliciet alle data die benodigd is voor decompressie. Uitlezen opvolgende tabel-posities, tekst ontvouwt uit opvolgende patronen, loopt steeds beetje voor zodat volgend symbool precies op tijd gevonden is. Niet zinvol op korte teksten maar wel effect op bijv. grote tekst- en imagefiles (50% of meer compressie). Idee veel nagevolgd. Informatieuitwisseling 17-12-2015 28
Meer over data compressie LZW Adaptive dictionary method. Compressie 60 %. Compressie verwacht snel (lineair), decoderen lineair. Basis voor bijv. GIF (Graphics Interchange Format). Hybride codering Bv. LZW met Huffman als backend (bv 7-Zip). Universal coding: schat frequenties in een aparte pass. Vele andere co-decs ( lossless en lossy ) Arithmetic coding, Burrows-Wheeler, qr code, etc. WMV, WMA, JPEG, MPEG, wavelets, etc. JPEG = Joint photographic expert group. MPEG = Motion picture expert group. Algoritmen ipv tabellen, aparte file formats, etc. Informatieuitwisseling 17-12-2015 29
IV. Shannon over Communicatie Informatieuitwisseling 17-12-2015 30
a. Channel zonder ruis (vgl entropie) Shannon s source coding theorem (voor ruisvrije communicatie): Stel de bron heeft entropie H (bits/symbol) en de lijn heeft capaciteit C (bits/sec). Dan zijn de signalen van de bron te coderen zodanig dat gemiddeld C ε symbolen/sec (foutvrij) H gecommuniceerd worden (ε willekeurig klein). Een gemiddelde groter dan C H symb/sec is niet mogelijk. source, bron source coder (channel coder) (channel decoder) source decoder destination ontvanger Informatieuitwisseling 17-12-2015 31
b. Channel coding met ruis Ruis: ontvangen signaal is niet altijd gelijk aan het verzonden signaal 1001 0101 1010 (channel) 1001 0101 0010. Mogelijkheid van bit flips (extra) onzekerheid bij ontvanger. Error correction Stuur bytes herhaald: 0 als 000, 1 als 111, etc Error-correcting codes: check bits, CRC checks, etc. Veelgebruikt: block codes (met ruime afstand tussen blocks). source, source channel (channel) bron coder coder (channel) channel source destination noise ruis decoder decoder ontvanger Informatieuitwisseling 17-12-2015 32
Channel coding met ruis Shannon s noisy coding theorem (communicatie met ruis): Een ruisig channel heeft een karakteristieke capaciteit, dwz. maximale informatiedoorgeefcapaciteit C zodanig dat, als de bron R = r H bits/sec verstuurt (H de entropie), dan: Is R < C, dan bestaat er een block code waarmee oorspronkelijke stroom symbolen correct te decoderen is met kans willekeurig dicht bij 1 (met inbegrip van ruiseffect), Is R > C, dan is die kans bij elke block code zo goed als 0. source, source channel (channel) bron coder coder (channel) channel source destination noise ruis decoder decoder ontvanger Informatieuitwisseling 17-12-2015 33
V. Conclusies Informatie Informatie reductie in onzekerheid Shannon s informatietheorie Model voor communicatie op technisch niveau Entropie van de bron geeft grens op benodigd gemiddeld aantal bits/teken Kwaliteit van coderingen / compressiemethoden Uitwisseling kan zonder fouten mits aan zekere kwantitatieve eisen voldaan Model houdt geen rekening met feedback of specifieke eigenschappen van medium Hoe zit het met de andere `niveaus? Informatieuitwisseling 17-12-2015 34
Informatieuitwisseling: Overige niveaus? Warren Weaver (1894-1978) In: Shannon/Weaver 1949, p 4. Level A. How accurately can the symbols of communication be transmitted? (The technical problem.)? Level B. How precisely do the transmitted symbols convey the desired meaning? (The semantic problem.)? Level C. How effectively does the received meaning affect conduct in the desired way? (The effectiveness problem.) Informatieuitwisseling 17-12-2015 35
B: betekenis van informatie Vb. - Aristoteles: objecten gekend zodra je de vorm, structuur etc van die objecten kent (dwz de informatie erover). - Voorstellen van realities d.m.v. informatie, `de-physicalisation. - Begrip, betekenis, verschijningsvormen, echtheid, informatie life-cycles. - Wat is informatieverwerking (mind view, human-machine interactie, berekening) - Verbanden met filosofie Informatieuitwisseling 17-12-2015 36
C: effect van informatie Gartner Inc (2011): Information is the oil of the 21st century Procesvirtualisering i.c.m. connected, smac (`smart, `mobile, analytic, cloud ). Shift naar virtual spaces, effect op interactie en cultuur. Ondernemen, werken, leven in de ìnfosfeer. Floridi: verschuiving in world-view vgl met Copernicus, Darwin, Freud. Informatieuitwisseling 17-12-2015 37
DISCLAIMER These slides are for internal use only. They are not meant for distribution or posting in public media outside the realm of the course. All materials are intended for educational use in IUW only. Illustrations, tables and other possibly copyrighted materials should be cited by their original sources. Any violations of copyright will be removed once they become known to us. Informatieuitwisseling 17-12-2015 38