Appunti di teoria dell informazione

938 views

Published on

Appunti delle lezioni di Jànos Korner. Autori: Marco Valerio Barbera, Alessandro Cammarano,
Andrea Cerone, Andrea Moro, Arbri Shqepa,
Dora Spenza e Bruno Vavala

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Appunti di teoria dell informazione

  1. 1. Appunti di teoria dell’informazione Marco Valerio Barbera, Alessandro Cammarano, Andrea Cerone, Andrea Moro, Arbri Shqepa, Dora Spenza e Bruno Vaval` a Indice 1 Programma 3 2 Introduzione 4 3 Distanza e spazio metrico 5 4 Spazio di Hamming 5 5 Sorpresa, incertezza ed entropia 8 6 Entropia binaria e comportamento asintotico 10 7 Limitazione sui coefficienti binomiali 14 8 Tipo di una sequenza e l’entropia di distribuzioni discrete 18 9 Divergenza informazionale 24 10 Codici binari a lunghezza variabile 26 11 Entropia come limite della compressione 34 12 Mutua Informazione 37 13 Sorgente dell’informazione 38 14 I Codici Correttori 40 15 Codici lineari 44 16 Codici di Hamming 46 17 Teorema di Shannon 48 18 Capacit` con errore zero a 55 1
  2. 2. INDICE Indice analitico 2 59
  3. 3. 1. Programma 1 Programma Attenzione il programma ` solamente informativo, visto che si basa sul corso e tenuto dal professor J`nos K¨rner nell’anno accademico 2006/2007 e 2007/2008. a o Quindi sar` cura dello studente sapere quali parti di questi apppunti sono stati a fatti a lezione e quali argomenti sono stati trattati a lezione ma non sono presenti in questi appunti. Misure dell’informazione Conteggio di sequenze e entropia • Lo spazio di Hamming • Cardinalit` di sfere e l’entropia binaria a • Tipo di una sequenza e l’entropia di distribuzioni discrete Misure dell’informazione e le loro propriet` analitiche a • Entropia, entropia condizionata, mutua informazione, mutua informazione condizionata, divergenza informazionale • La disuguaglianza log-sum, propriet` di non-negativit` e convessit` di a a a misure dell’informazione • Gradi di indipendenza di tre o pi` variabili u Codici di sorgente Codici a lunghezza variabile per sorgenti • Codici prefissi e UD, disuguaglianze di Kraft, McMillan • Costruzione di codici di lunghezze prescritte delle parole • Il minimo della lunghezza media ` l’entropia e Struttura temporale di sorgenti • Concatenazione di codici e tasso di entropia per sorgenti stazionarie Codici di canale Problemi non-stocasticii • Codici a blocco per un canale disturbato, distanza e correzione di errori • Limitazioni di Varshamov-Gilbert, Plotkin e Hamming • Codici lineari 3
  4. 4. 2. Introduzione • Codici di Hamming e codici perfetti • Capacit` di errore zero di un canale e la capacit` di Shannon di grafi a a • Limitazione tramite il numero cromatico Problemi stocastici • Il concetto di capacit` a • Il canale binario simmetrico • Positivit` della capacit`, bozza della dimostrazione del teorema di Shana a non per il canale binario simmetrico Testi di riferimento: • I. Csisz´r, J. K¨rner, Information Theory: Coding Theorems for Discrete a o Memoryless Systems. Academic Press, NY (1982) • F. J. MacWilliams, N. J. A. Sloane, The Theory of Error Correcting Codes. North Holland, Amsterdam (1977) • T. Cover, J. Thomas, Elements of Information Theory, Wiley, NY (1991) 2 Introduzione (Facoltativa) I concetti principali della teoria dell’informazione possono essere illustrati considerando il modo in cui avviene la comunicazione tra persone: il linguaggio. Due importanti aspetti di un buon linguaggio possono essere introdotti brevemente: 1. Le parole pi` comuni dovrebbero essere pi` corte di altre parole meno u u comuni, in modo tale da non rendere le frasi troppo lunghe. Tale aspetto ` e molto simile alla compressione dei dati, e rappresenta un aspetto essenziale del source coding. 2. Se una parte di una frase viene fraintesa a causa di rumori esterni, l’ascoltatore dovrebbe comunque essere in grado di intendere il significato dell’intera frase. Tale propriet` di robustezza ` alla base della comunicaa e zione nei sistemi elettronici, oltre che nei linguaggi parlati; il lavoro di costruire dei sistemi di comunicazione in maniera appropriata prende il nome di channel coding. Il source coding e il channel coding costituiscono gli aspetti fondamentali della teoria dell’informazione. Si noti che tali concetti non hanno niente a che vedere con il significato del messaggio. Per esempio, pronunciare un’esclamazione quale ”Grazie! Tornate a trovarci” richiede un tempo che non differisce di molto da ”Chiamate un’ambulanza!”, ma il secondo ` chiaramente pi` importante. e u 4
  5. 5. 3. Distanza e spazio metrico 5 La teoria dell’informazione non si occupa dell’importanza o del significato dei messaggi, in quanto tali problemi riguardano la qualit` dei dati piuttosto che la a quantit` degli stessi; quest’ultimo argomento pu` essere studiato ricorrendo ai a o soli strumenti del calcolo delle probabilit`. a La teoria dell’informazione trova utilizzo in un insieme di discipline (pure ed applicate) quali sistemi adattivi, sistemi predittivi, intelligenza artificiale, sistemi complessi, cibernetica, informatica, e molte altre. Tale teoria affonda le sue radici nella matematica; tuttavia trova molte applicazioni nella pratica, in maggior parte ` alla base della teoria dei codici. e La teoria dei codici si occupa di trovare dei metodi espliciti, detti appunto codici, per ottenere un aumento dell’efficienza e una riduzione del tasso di errore durante lo scambio di messaggi all’interno di un canale rumoroso. Tali metodi possono essere suddivisi in compressione dei dati e tecniche di correzione degli errori. Una terza branca della teoria dell’informazione si occupa degli algoritmi di cifratura: i concetti, i metodi e i risultati ottenuti all’interno della teoria dei codici sono largamente usati sia nella crittografia che nella crittanalisi. 3 Distanza e spazio metrico Occorre stabilire, per una trattazione rigorosa degli argomenti, quando due parole sono differenti e di quanto differiscono: sicuramente le parole pazzo e pezzo sono pi` simili tra loro di quanto non lo siano le parole senza e macro. u Per affrontare quest’argomento, ` necessario dapprima introdurre la nozione di e distanza: Definizione 3.1 (Distanza). Una distanza (o metrica) su un insieme V ` una e funzione d : V × V → R+ che soddisfa le seguenti propriet`: a d(x, y) ≥ 0 ∀(x, y) ∈ V × V (3.1.1) d(x, y) = 0 ⇔ x = y ∀(x, y) ∈ V × V (3.1.2) d(x, y) = d(y, x) ∀(x, y) ∈ V × V (3.1.3) ∀x, y, z ∈ V (3.1.4) d(x, y) ≤ d(x, z) + d(z, y) La coppia (V, d) ` chiamata spazio metrico. e 4 Spazio di Hamming Intuitivamente, come si pu` notare dall’esempio precedente, due parole (formalo mente stringhe) sono simili tra loro quando, cominciando a leggerle da sinistra
  6. 6. 4. Spazio di Hamming 6 a destra, il numero di lettere (da ora in poi simboli) per le quali differiscono, tenendo conto della posizione, ` relativamente basso: e Definizione 4.1 (distanza di Hamming). Siano x, y due stringhe binarie di e lunghezza n. La distanza di Hamming di x ed y ` definita come: n |xi − yi | dH (x, y) = ∀x, y ∈ {0, 1}n (4.1.1) i=1 Risulta banale verificare che la definizione di distanza di Hamming soddisfa effettivamente le propriet` di metrica: a Lemma 4.2. La funzione dH ` una distanza. e Dimostrazione. E’ sufficiente verificare che vengono rispettati tutti i vincoli imposti dalla definizione di distanza: 1. Banale, in quanto per definizione della distanza di Hamming si effettua una sommatoria su componenti positive. 2. supponiamo che sia x = y, allora esse differiscono per almeno un simbolo in una posizione i: allora tale differenza porter` ad ottenere una componente a pari ad 1 nella sommatoria che definisce la funzione dH . Viceversa, se x = y allora ∀i xi = yi , ovvero |xi − yi | = 0. Da ci` si ottiene o che dH (x, y) = 0. 3. Ovvio, in quanto |a − b| = |b − a| ∀a, b ∈ R. 4. Siano date per ipotesi tre stringhe binarie x, y e z Per ogni indice i varr` a allora uno dei seguenti casi: • xi = yi = zi : si avr` che |xi − yi | = 0, |yi − zi | = 0, |xi − zi | = 0. a • xi = yi = zi : si avr` che |xi − yi | = 0, |yi − zi | = 1, |xi − zi | = 1. a • xi = yi = zi : si avr` che |xi − yi | = 1, |yi − zi | = 0, |xi − zi | = 1. a • xi = yi = zi : si avr` che |xi − yi | = 1, |yi − zi | = 1, |xi − zi | = 0. a In ogni caso si otterr` che |xi − zi | ≤ |xi − yi | + |yi − zi |: da ci` segue a o banalmente che la propriet` ` verificata. ae In questa sezione verranno prese in considerazione solamente le stringhe binarie. Formalmente, ` possibile definire l’insieme delle stringhe binarie di lunghezza n e come {0, 1}n . Tale insieme, munito dell’operazione di distanza dH , costituisce uno spazio di Hamming: Definizione 4.3 (Spazio di Hamming). Lo spazio di Hamming n-dimensionale ` costituito dalla coppia ({0, 1}n , dH ). e
  7. 7. 4. Spazio di Hamming 7 In molte occasioni ` utile considerare l’insieme delle stringhe che si trovano al pi` e u a distanza di Hamming r da una stringa di riferimento: l’insieme di tali stringhe prende il nome di sfera di Hamming. La definizione formale ` la seguente: e Definizione 4.4 (Sfera di Hamming). Lo sfera di Hamming di centro x ∈ {0, 1}n e raggio r ∈ R ` e SH (x, r) = {y ∈ {0, 1}n | dH (x, y) ≤ r} (4.4.1) Poich` la distanza di Hamming fra due stringhe ` sempre un intero, vale e e SH (x, r) = SH (x, r ) Ci si chiede allora se ` possibile calcolare la cardinalit` di una sfera di Hamming e a di centro x e raggio r. Fortunatamente, risulta semplice trovare una formula generale per indicare tale valore: Osservazione 4.5. r |SH (x, r)| = i=0 n i (4.5.1) Dimostrazione. La dimostrazione avviene per conteggio: l’unica stringa a die e stanza 0 da x ` essa stessa. Le stringhe a distanza 1 saranno invece n, dove n ` la dimensione dello spazio di Hamming; ci` ` banalmente verificabile in quanto oe le stringhe devono differire da x in un solo indice. Pi` formalmente, se y ` la u e stringa presa in considerazione, ∃!i : |xi − yi | = 1. In maniera analoga si pu` a calcolare il numero di stringhe a distanza di Hamo ming 2 dal centro della sfera. Tali stringhe dovranno differire da x per due valori dell’indice i: il primo pu` essere scelto tra gli n possibili, il secondo tra gli n-1 o rimanenti. Si ha allora che il numero di stringhe a distanza di Hamming pari a 2 dal centro ` esattamente n . e 2 Tale ragionamento pu` essere generalizzato: si otterr` che le stringhe a distanza o a di Hamming esattamente k dal centro sono n . k Si avr` allora che: a r SH (x, r) = {y : dH (x, y) = k} k=0 e, poich´ tali insiemi sono disgiunti (se non lo fossero, una stringa avrebbe due e distanze diverse dallo stesso centro, e ci` ` assurdo): oe r |SH (x, r)| = k=0 . r |{y : dH (x, y) = k}| = k=0 n k
  8. 8. 5. Sorpresa, incertezza ed entropia 8 Una propriet` interessante dello spazio di Hamming ` che, data una sfera, ne a e esiste sempre un’altra che assieme alla prima forma una partizione di tutto lo spazio. Questo segue direttamente dalla seguente osservazione. Osservazione 4.6. ∀x ∈ {0, 1}n , r ≤ n, SH (x, r) ` una sfera di Hamming. e (4.6.1) dove con SH (x, r) indichiamo tutte le stringhe appartenenti allo spazio ma non a SH (x, r). Dimostrazione. Una generica stringa y che non appartiene a SH (x, r) deve distare da x di almeno r + 1 posizioni. Questo vuol dire che almeno r + 1 posizioni di y sono uguali alla stringa x, ovvero alla stringa complementare di x. Le al pi` restanti n − (r + 1) posizioni di y possono invece variare a piacimento. In u sostanza y pu` distare al pi` di n − (r + 1) posizioni da x, ovvero appartiene a o u una sfera centrata in x e di raggio n − (r + 1). Ricapitolando, i passi logici che abbiamo fatto possono essere espressi con la seguente sequenza di uguaglianze: SH (x, r) = {z; dH (0, z) > r} = = {z; dH (x, z) ≥ r + 1} = = {z; dH (x, z) ≤ n − (r + 1)} = (∗) = SH (x, n − (r + 1)) 5 Sorpresa, incertezza ed entropia (L’intera sezione ` facoltativa) e In questa sezione si supporr` che il lettore abbia le conoscenze di base del calcolo a delle probabilit`, in quanto risultano essenziali per comprendere gli argomenti a trattati nella teoria dell’informazione. Consideriamo un evento E che possa verificarsi quando effettuiamo un esperimento: Quanto siamo sorpresi nel sapere che E si sia, in effetti, verificato? Sembra ragionevole assumere che la quantit` di sorpresa generata dall’informaa zione che E si ` verificato debba dipendere dalla probabilit` di E. Per esempio, e a se l’esperimento consiste nel lanciare una coppia di dadi, allora non saremmo troppo sorpresi nell’apprendere che E si sia verificato, quando E rappresenti l’evento che la somma dei due dadi ` pari (evento che ha effettivamente probabilit` e a 1 ) mentre saremmo certamente pi` sorpresi nel sapere che E si sia verificato, u 2 quando E rappresenti l’evento che la somma dei dadi vale 12 (probabilit` pari a 1 a 36 ). In questa sezione tenteremo di quantificare il concetto di sorpresa. Per iniziare, conveniamo di supporre che la sorpresa che uno prova al sapere che un evento E si sia verificato, dipenda solo dalla probabilit` di E e denotiamo con a S(p) la sorpresa generata dal verificarsi di un evento di probabilit` pari a p. a
  9. 9. 5. Sorpresa, incertezza ed entropia Determiniamo la forma funzionale di S(p) fissando un certo numero di assiomi che S(p) deve verificare e poi proviamo che questi determinino la forma che S(p) deve avere. Assumeremo da qui in poi che S(p) ` definita per ogni 0 < p ≤ 1, e ma non ` definita per gli eventi aventi p = 0. e La nostra prima condizione ` semplicemente il fatto intuitivo che non ci sar` e a sorpresa nell’udire che un evento certo si sia verificato. Assioma 1. S(1) = 0 La nostra seconda condizione stabilisce che pi` un evento risulti improbabile u pi` grande sar` la sorpresa nell’apprendere che si sia in effetti verificato. u a Assioma 2. S(p) ` una funzione strettamente decrescente di p e p < q ⇒ S(p) > S(q) La terza condizione ` l’ipotesi matematica del fatto che ci aspettiamo intuitie vamente che un piccolo cambio di p corrisponda a un piccolo cambiamento in S(p). Assioma 3. S(p) ` una funzione continua di p e Per motivare la condizione finale, consideriamo due eventi indipendenti E ed F aventi, rispettivamente, probabilit` p e q. Poich´ P (EF ) = pq, la sorpresa a e provocata dall’informazione che entrambi E e F si sono verificate ` pari a S(pq). e Ora, supponiamo che in un primo tempo ci venga detto che E si ` verificato e, e in un secondo tempo, che anche F si ` verificato. Siccome S(p) rappresenta la e sorpresa provocata dal verificarsi di E, ne segue che S(pq) − S(p) rappresenta la sorpresa addizionale generata quando veniamo informati del fatto che anche F si ` verificato. e Poich´ per` F ` indipendente da E, il sapere che E si ` verificato non modifica la e o e e probabilit` che F si modifichi, e quindi la sorpresa addizionale ` semplicemente a e S(q): questo conduce alla considerazione finale Assioma 4. S(pq) = S(p) + S(q) Vale inoltre il seguente teorema, che determina la forma della funzione S(p). Teorema 5.1. Se S(·) soddisfa gli assiomi., allora S(p) = −Clog2 p dove C ` un arbitrario numero intero positivo e Dimostrazione. Dall’ultimo assioma si ha che S(p2 ) = S(p) + S(p) = 2S(p) 9
  10. 10. 6. Entropia binaria e comportamento asintotico 10 e, per induzione, che S(pm ) = mS(p) 1 1 1 Inoltre, siccome per ogni valore intero n, S(p) = S(p n · · · p n ) = nS(p n ), segue che 1 S(p n ) = 1 S(p) n Dalle due equazioni precedenti si ha che m S(p n ) = m S(p) n che ` equivalente a e S(px ) = xS(p) dove x rappresenta un numero razionale positivo. Per la continuit` della funzione a S, risulta verificata per ogni valore x reale non negativo. Ora, per ogni p, 0 < p ≤ 1, poniamo x = −log2 p. Allora p = ( 1 )x , e risulta 2 1 S(p) = xS( ) = −C log2 p 2 dove C = S( 1 ) > S(1) = 0 per i primi due assiomi. 2 Generalmente si pone C = 1. In questo caso si dice che la sorpresa ` espressa in e unit` di bit. a Consideriamo ora una variabile aleatoria X che possa assumere uno tra i valori x1 , · · · , xn con probabilit` pari, rispettivamente, a p1 , · · · , pn . Siccome −logpi a rappresenta la sorpresa sucitata quando X prende il valore xi , segue che la quantit` attesa di stupore che riceveremo al momento di sapere il valore assunto a dalla variabile X ` dato da e n H(X) = − pi log pi (5.1.1) i=1 La quantit` H(X) viene definita in teoria dell’informazione come l’entropia della a variabile aleatoria X. Per convenzione, nel caso in cui una delle pi = 0, porremo 0log0 = 0. Poich´ H(X) rappresenta la media della quantit` di sorpresa che viene suscitata e a quando si apprenda quale valore ha assunto X, essa pu` essere anche interpretata o come la quantit` di incertezza che esiste riguardo al valore di X. a 6 Entropia binaria e comportamento asintotico Sebbene precedentemente si sia calcolato la cardinalit` esatta di una sfera di a Hamming, per valori molto grandi del raggio risulta difficile calcolare la somma di tutti i coefficienti binomiali definiti nella formula 4.5.1
  11. 11. 6. Entropia binaria e comportamento asintotico 11 Dal nostro punto di vista sarebbe pi` utile trovare un’approssimazione (fau cilmente calcolabile) della cardinalit` di una sfera di Hamming di centro 0; a un primo risultato, abbastanza semplice da dimostrare, si ottiene dal seguente lemma: Lemma 6.1. r≥ n 2 n 2n−1 ≤ |SH (0, r)| ≤ 2n ⇒ (6.1.1) Dimostrazione. La cardinalit` dello spazio di Hamming ` 2n , quindi, dato che a e una sfera al pi` pu` essere pari a tutto lo spazio di Hamming, vale banalmente u o che: n |SH (0, r)| ≤ 2n Per dimostrare la minorazione basta, invece, mostrare che la cardinalit` della a sfera ` almeno quella del suo complementare, ovvero che: e n n |SH (0, r)| ≤ |SH (0, r)| (6.1.2) dove n n SH (0, r) = SH (1, n − (r + 1)) n Difatti, se tale relazione fosse soddisfatta, poich´ deve valere che SH (0, r) + e n n SH (0, r) = 2 , si avrebbe che la cardinalit` della sfera di centro 0 sarebbe a almeno 2n−1 . La validit` della formula 6.1.2 deriva dal fatto che per ogni k vale la seguente: a n k = n n−k quindi, dato che la sfera che stiamo considerando ha, per ipotesi, raggio di almeno n , la formula che calcola la sua cardinalit`, ovvero: a 2 r |SH (x, r)| = i=0 n i (6.1.3) contiene la somma n−(r+1) i=0 n i (6.1.4) che ` proprio la cardinalit` della sfera complementare.1 e a Tuttavia tale approssimazione non risulta essere delle migliori per svariati motivi: in prima istanza, non viene considerato il raggio della sfera di Hamming, ma la sola dimensione dello spazio di Hamming. Inoltre, al crescere di n, l’approssimazione della cardinalit` della sfera sarebbe tra un dato valore x e il suo a doppio 2x. Se si considera uno spazio di Hamming 20-dimensionale, si avrebbe 1 La somma 6.1.3 contiene anche la 6.1.4 poich´ r ≥ n − (r + 1) e
  12. 12. 6. Entropia binaria e comportamento asintotico 12 che la cardinalit` di una sfera di centro 0 e raggio r ≥ 10 sarebbe compresa tra a i valori 524288 e 1048576. Fortunatamente, se si considera il caso in cui la sfera di Hamming abbia raggio strettamente minore di n , ` possibile trovare un’approssimazione che risolve, 2 e seppure in maniera parziale, il problema riscontrato per il caso r ≥ n . Tale 2 approssimazione sfrutta il concetto di entropia binaria (la cui generalizzazione, detta entropia, verr` introdotta in 8.3.1): a Definizione 6.2 (Entropia binaria). Sia t ∈ [0, 1], l’entropia binaria ` la e seguente funzione su t: h(t) = tlog2 1 1 + (1 − t)log2 t (1 − t) (6.2.1) In figura 1 ` riportato il grafico della funzione h(t) e Figura 1: Grafico della funzione h(t) A questo punto ` possibile provare che il comportamento asintotico di una sfera e di hamming di centro 0 e raggio r soddisfa il seguente lemma: Lemma 6.3. r ∈ N, r ≤ n 2 ⇒ r n |SH (0, r)| ≤ 2nh( n ) (6.3.1) Dimostrazione. Per rendere pi` intuitiva la dimostrazione del lemma, si consiu deri un esperimento in cui viene lanciata una moneta truccata: per convenzione diremo che l’evento 0 coincide con un lancio risultante in testa, mentre l’evento 1 coincide con un lancio risultante in croce. r Se n rappresenta la probabilit` di ottenere croce, si ottiene la seguente funzione a di probabilit` a
  13. 13. 6. Entropia binaria e comportamento asintotico 13 r r =1−p P (1) = = p (6.3.2) n n Inoltre, poich´ per ipotesi r ≤ n vale che P (0) ≥ P (1). e 2 Supponiamo ora che vengano effettuati n lanci, tra di loro indipendenti: la successione dei risultati pu` essere interpretata come una stringa x dello spazio o di Hamming n-dimensionale. Inoltre, poich´ i singoli lanci sono tra di loro ine e dipendenti, la probabilit` di ottenere una certa sequenza x di simboli ` data a da: P (0) = 1 − n P n (x) = P (xi ) x = x1 . . . xn (6.3.3) i=1 Dato che ogni volta che si esegue una sequenza di n lanci di monete si ottiene sempre una stringa dello spazio di Hamming, vale che: P n ({0, 1}n ) = 12 dove l’estensione di P n ad insiemi di stringhe ` definita come: e P n (x) P n (X ) = x∈X n Ora, SH (0, r) ⊆ {0, 1}n , quindi: n 1 ≥ P n (SH (0, r)) n Inoltre, per ogni stringa x ∈ SH (0, r) vale la relazione P n (x) ≥ min P n (y) y∈SH (0,r) dunque risulta immediato verificare che n n P n (SH (0, r)) ≥ |SH (0, r)| · min n y∈SH (0,r) P n (y) Le stringhe y con probabilit` P n (y) minima, considerato che P (1) ≤ P (0), sono a quelle che, all’interno della sfera, contengono il maggior numero possibile di 1. Ora, dato che la distanza massima dalla stringa 0 ` r, si ha che le stringhe con e probabilit` minima sono quelle con r bit posti ad 1. a r Ricordiamo che abbiamo posto p n , da cui segue che r = np. Segue allora che: n |SH (0, r)| · min n y∈SH (0,r) n P n (y) = |SH (0, r)|pnp (1 − p)n(1−p) 2 In verit` si sta facendo un abuso di notazione, dato che P n ` una funzione definita su a e stringhe e non su insiemi di stringhe. Nel caso in cui P n sia applicata a un insieme la si intende come la somma delle probabilit` dei singoli elementi dell’insieme. a
  14. 14. 7. Limitazione sui coefficienti binomiali 14 Se adesso riscriviamo p come 2log2 p , per le propriet` delle potenze, otteniamo a che: pnp (1 − p)n(1−p) = 2n(plog2 p+(1−p)log2 (1−p)) = 2n(−h(p)) (6.3.4) Abbiamo cos` mostrato che: ı n n 1 ≥ P n (SH (0, r)) ≥ |SH (0, r)| · min n y∈SH (0,r) n P n (y) = |SH (0, r)| · 2n(−h(p)) da cui deriva banalmente che r n |SH (0, r)| ≤ 2n(h( n )) Corollario 6.4. Dal lemma 6.3 segue che n r Verifica. Se r ≤ n 2 n 2, ∀n, r il corollario segue da 6.3, poich´ e n r Se r ≥ r ≤ 2nh( n ) allora n − r ≤ n 2 r ≤ |SH (0, r)| ≤ 2nh( n ) e possiamo applicare il lemma 6.3: n r = n n−r ≤ 2nh( n−r n ) Ricordando che la funzione entropia ` simmetrica, si ha e n r = n n−r ≤ 2nh( n−r n ) r r = 2nh(1− n ) = 2nh( n ) Dato che l’entropia binaria ` una funzione a valori in (0, 1), questo corollario ci e permette di migliorare la limitazione superiore in 6.1.1. 7 Limitazione sui coefficienti binomiali Diamo ora una limitazione sui coefficienti binomiali in termini di entropia. La limitazione ` algebrica e se n ` lineare in r d` buoni risultati, anche se ` meno e e a e precisa della formula di Stirling3 . 3 Si veda Approssimazione di Stirling (Wikipedia)
  15. 15. 7. Limitazione sui coefficienti binomiali 15 T1 = {0} . . . Tr . . . Tn = {1} Figura 2: {0, 1}n Proposizione 7.1. r 1 2nh( n ) ≤ n+1 Dimostrazione. La minorazione 6.4. Ci resta da dimostrare che n r n r n r ≥ r ≤ 2nh( n ) ∀n, r r e ≤ 2nh( n ) ` stata verificata nel corollario r 1 2nh( n ) n+1 Definiamo la famiglia di insiemi Tr come segue: n Tr = {x ∈ {0, 1}n t.c. xi = r} i=1 Ognuno degli insiemi Tr ha cardinalit` a |Tr | = n r poich´ contiene tutte e sole le stringe che hanno r bit ad 1. Quindi, considerata e una stringa x appartenente a Tr , tutte le altre stringhe della classe sono ottenibili permutando la stringa x. Dalla definizione di Ti risulta chiaro che n {0, 1}n = Ti (7.1.1) i=0 ovvero lo spazio di Hamming ` partizionabile in (n + 1) classi, come mostrato e in figura 7. Siano P e P n le distribuzioni di probabilit` definite in 6.3.2 e 6.3.3. Vogliamo a dimostrare che la classe che ha la maggiore probabilit` complessiva ` Tr , ovvero a e
  16. 16. 7. Limitazione sui coefficienti binomiali 16 Affermazione 7.2. Se r = np, allora max P n (Tq ) = P n (Tr ) q ovvero max P n (Tnq ) = P n (Tnp ) q∈[0,1] Notiamo che se q non ` un razionale con denominatore n, l’insieme Tnq risulta e vuota, quindi P n (Tnq ) vale 0. s Poniamo, ora, q = n con s ∈ N Quello che intendiamo dimostrare, `, quindi e P n (Tnq ) ≤1 P n (Tnp ) ∀q (7.2.1) Notiamo che il termine a sinistra dell’equazione non ` una divisione per 0 dato e r che p = n e l’insieme Tnp non ` mai vuoto. e Dimostrazione. Poich` le stringhe di una generica classe hanno tutte lo stesso e tipo, possiamo scrivere: P n (Tnq ) = |Tnq |pnq (1 − p)n(1−q) (7.2.2) Infatti, la classe Tnq contiene tutte e sole le stringhe che hanno un bit ad 1 in nq posizioni e che quindi hanno probabilit` pari a pnq (1 − p)n(1−q) (si veda a la definizione di P [6.3.2]). Quindi, la probabilit` complessiva della classe Tnq ` a e data dalla probabilit` di ogni stringa per il numero di stringhe che appartengono a alla classe. Ricordando che |Tr | = n , possiamo riscrivere l’espressione 7.2.1 come segue: r P n (Tnq ) = P n (Tnp ) n! nq n(1−q) s!(n−s)! p (1 − p) n! np n(1−p) r!(n−r)! p (1 − p) = (7.2.3) r! (n − r)! n(q−p) p (1 − p)n(p−q) s! (n − s)! (7.2.4) A questo punto utilizziamo la disuguaglianza: Affermazione 7.3. k! ≤ k k−l l! ∀k, l (7.3.1) Verifica. Distinguiamo due casi, a seconda di quale sia il maggiore fra k ed l. Se k ≥ l si ha k! k(k − 1) · · · (k − (k − l − 1)) · l · (l − 1) · · · 1 = l! l(l − 1) · · · 1
  17. 17. 7. Limitazione sui coefficienti binomiali 17 Semplificando tutti i fattori comuni, otteniamo k − l fattori al nominatore, ognuno dei quali ` minore di k, per cui si ha: e k(k − 1) · · · (k − (k − l − 1)) · l · (l − 1) · · · 1 k! = ≤ k k−l l! l(l − 1) · · · 1 Viceversa, se k < l si ha: k! k(k − 1) . . . 1 1 ≤ (k + 1)k−l ≤ k k−l = ≤ l! l(l − 1) . . . k(k − 1) . . . 1 (k + 1)l−k Applicando la disuguaglianza 7.3.1 alla formula 7.2.4 otteniamo: P n (Tnq ) r! (n − r)! n(q−p) = p (1 − p)n(p−q) ≤ n (T ) P s! (n − s)! np ≤ rr−s (n − r)s−r pn(q−p) (1 − p)n(p−q) = poich` r = np e s = nq = e = (np)n(p−q) (n − np)n(q−p) pn(q−p) (1 − p)n(p−q) = = nn(p−q) pn(p−q) nn(q−p) pn(q−p) (1 − p)n(q−p)+n(p−q) = =1 Abbiamo quindi dimostrato che la classe che ha la maggiore probabilit` coma plessiva ` Tnp . e A questo punto, ricordando l’espressione 7.1.1 e che {0, 1}n` partizionato in e (n + 1) classi (T0 . . . Tn ), possiamo scrivere: n 1 = P n ({0, 1}n ) = P n Ti ≤ (n + 1) max P n (Ti ) i=0 i 1 ≤ (n + 1)P n (Tnp ) 1 ≤ (n + 1)|Tnp |pnp (1 − p)n(1−p) 1 ≤ (n + 1) n np p (1 − p)n(1−p) r da cui, per la 6.3.4, segue n r ≥ 1 2nh(p) n+1 per la 7.2.2
  18. 18. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete 8 18 Tipo di una sequenza e l’entropia di distribuzioni discrete Sia X un insieme finito, che rappresenta un alfabeto generico. Indichiamo con X n l’insieme delle stringhe di lunghezza n sull’alfabeto X : X n = {x t.c. x = x1 ...xn , xi ∈ X } (8.0.2) ora, data una qualsiasi x ∈ X n e un a ∈ X , definiamo con N (a, x) il numero di volte che il simbolo a appare nella stringa x, ovvero: ∀x ∈ X n N (a, x) = |{i, xi = a}| (8.0.3) Poich´ vale la seguente uguaglianza, e ∀x ∈ X n N (a, x) = n a∈X definendo Px (a) = 1 N (a, x) n (8.0.4) e considerando che N (a, x) = n a∈X otteniamo che Px (a) = 1 a∈X La funzione Px appena definita ` chiamata il tipo di x ed essa `, di fatti, una e e distribuzione di probabilit` sugli elementi di X . a La definizione di Px ` utile per partizionare X n : infatti, data una qualsiasi e distribuzione di probabilit` P sugli elementi di X , possiamo definire a (n) TP = {x ∈ X n ; Px = P } (n) (8.0.5) Gli insiemi della partizione di X n sono tutti i TP al variare di P . Chiaramente, (n) non per tutte le P varr` che TP = ∅ in quanto, preso un qualsiasi x ∈ X n e a a ∈ X , per la 8.0.4 deve valere che nPx (a) ∈ N, cosa che non ` necessariamente e vera per una distribuzione generica P . Qual’` il significato di questa partizione? Ci` che stiamo facendo ` raggruppare e o e assieme le stringhe di X n che hanno lo stesso tipo, ovvero che possono essere ottenute le une dalle altre tramite permutazioni. Una domanda che ha senso porsi a questo punto, e la cui risposta ci sar` utile in a seguito, ` quanti sono gli insiemi non vuoti della partizione di X n che abbiamo e appena creato. Un risultato facile da ottenere ` il seguente: e
  19. 19. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete 19 Lemma 8.1. n |{P t.c. TP = ∅}| ≤ (n + 1)|X | Dimostrazione. Dato che dobbiamo contare solamente le distribuzioni di pron babilit` P per le quali TP non ` vuoto, deve essere che P = Px per un qualche a e n x ∈ X . Questo implica che, ∀a ∈ X , nP (a) ` il numero di volte, compreso tra e n 0 ed n, che il simbolo a compare nelle stringhe di TP . Detto questo, ` facile rendersi conto che per contare le P a cui siamo interessati e ` sufficiente decidere, ∀a ∈ X quante sono le occorrenze del simbolo a. Dato che e per ogni a possiamo scegliere tra n + 1 valori, dal nostro conteggio otteniamo il valore (n + 1)|X | . ´ E ovvio che, non avendo tenuto conto del fatto che la somma delle occorrenze degli elementi di X non pu` superare n, il risultato del conteggio ` sicuramente o e n superiore al vero numero di distribuzioni P per le quali TP = ∅. In verit` la maggiorazione trovata pu` essere migliorata leggermente affermando a o che Lemma 8.2. n |{P t.c. TP = ∅}| ≤ (n + 1)|X |−1 Dimostrazione. Facendo riferimento alla tecnica di conteggio utilizzata per dimostrare 8.1, basta decidere il numero di occorrenze dei primi n−1 simboli della stringa. Infatti, decidere il numero di occorrenze di tutti i simboli di X tranne uno, determina univocamente il numero di occorrenze di quest’ultimo. In senso intuitivo, il lemma precedente afferma che, per ogni n, ci sono poche n distribuzioni per cui l’insieme TP non ` vuoto. Inoltre il lemma afferma che e il numero dei tipi di stringhe ` polinomiale, mentre la quantit` di stringhe ` e a e esponenziale nella lunghezza delle stringhe. n Mostriamo ora un risultato che, dato un TP , limita superiormente e inferiormente, con precisione esponenziale, la sua cardinalit`: a n e Proposizione 8.3. Se TP non ` vuoto, allora 2nH(P ) n ≤ |TP | ≤ 2nH(P ) (n + 1)|X |−1 dove H(P ) ` la funzione entropia, definita come e H(P ) = P (x) log x∈X 1 P (x) (8.3.1) con H(0) = 0 (estesa per continuit`). a n Dimostrazione: |TP | ≤ 2nH(P ) . Definiamo la misura prodotto P n (x) come n P n (x) P (xi ) i=0 n ∀x ∈ TP
  20. 20. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete Dove la funzione di probabilit` P ` quella definita in 8.0.4. a e Ora, poich´ nP (a) ` il numero di occorrenze del simbolo a in ciascuna stringa e e n o dell’insieme TP , P n (x) pu` essere riscritta come: n P n (x) = P (a)n·P (a) = a∈X P (a)P (a) P = 2n· a∈X P (a) log P (a) = 2−nH(P ) a∈X Il penultimo passaggio si ha per riscrittura e propriet` del logaritmo. Usando a questo modo di scrivere P n (x), otteniamo che: n P n (x) = |TP | · 2−nH(P ) n 1 ≥ P n (TP ) = n x∈TP e questo implica che n |TP | ≤ 2nH(P ) n Dimostrazione: |TP | ≥ 2n H(p) . (n+1)|X |−1 Prima di iniziare ` necessario provare che: e n n n Affermazione 8.4. Se TP = 0 allora P n (TP ) = maxQ|X P n (TQ ) Dimostrazione. Tale affermazione si dimostra calcolando, dato una qualsiasi distribuzione di probabilit` Q sugli elementi di X , il seguente valore: a n P n (TQ ) |TQ | · n = P n (TP ) |TP | · a∈X a∈X P (a)nQ(a) P (a)nP (a) Ora notiamo che, per una qualsiasi distribuzione di probabilit` Q sugli elementi a di X , vale che n! n |TQ | = (nQ(a))! a∈X n Questo perch´ un modo di comporre una stringa x ∈ TQ ` quello di decidere, e e per ogni simbolo a ∈ X , quali sono le nQ(a) coordinate di x a cui dovr` essere a assegnato il simbolo a. Quindi, per il primo simbolo, diciamo a1 , abbiamo n coordinate a disposizione e nQ(a1 ) simboli, che possono essere posizionati in n nQ(a1 ) modi. Per il secondo simbolo, ovvero a2 abbiamo n−nQ(a1 ) coordinate a disposizione e nQ(a2 ) simboli, che possono essere posizionati in n−nQ(a)1 ) nQ(a2 modi. Procedendo in questo modo, otteniamo che il numero totale di modi di n e comporre una stringa x ∈ TQ ` pari a n nQ(a1 ) n − nQ(a1 ) nQ(a2 ) |X |−1 n − nQ(a1 ) − nQ(a2 ) n − i=1 (nQ(ai )) ··· nQ(a3 ) nQ(a|X | ) che equivale, per la definizione di coefficiente multinomiale, a a∈X n! (nQ(a))! 20
  21. 21. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete Considerando quanto appena detto, e utilizzando la 7.3.1, possiamo scrivere il P n (T n ) valore P n (TQ ) come: n P Q a∈X Q a∈X n! (nQ(a))! n! (nP (a))! P (a)n[Q(a)−P (a)] = · a∈X a∈X [nP (a)]n[P (a)−Q(a)] · ≤ a∈X a∈X P P (a)n[Q(a)−P (a)] ≤ a∈X [P (a)]n[Q(a)−P (a)] = a∈X nn[P (a)−Q(a)] · = =n (nP (a))! · (nQ(a))! [P (a)]n[P (a)−Q(a)]+n[Q(a)−P (a)] = a∈X a∈X n[P (a)−Q(a)] P = nn[ a∈X P (a)− P a∈X Q(a)] = n0 = 1 Abbiamo quindi ottenuto che n P n (TQ ) n ≤1 P n (TP ) che ` proprio ci` che volevamo. e o n Notiamo che la dimostrazione appena fatta mostra che le classi TQ (al variare di Q) non sono equiprobabili e che quella pi` probabile contiene tutti gli elementi u dell’alfabeto in modo uniforme. Continuando la dimostrazione, abbiamo che: n n P n (TQ ) ≤ (n + 1)|X |−1 · max P n (TQ ) = 1 = P n (X n ) = Q n Q:TQ =∅ n n = (n + 1)|X |−1 P n (TP ) = (n + 1)|X |−1 · |TP | · 2−nH(P ) n |TP | ≥ pertanto 1 · 2nH(P ) (n + 1)|X |−1 Abbiamo partizionato l’insieme X n in classi, in modo che due stringhe appartengano alla stessa classe se possono essere ottenute l’una dall’altra tramite una ´ permutazione. E interessante chiedersi qual’` la classe Q che ha la probabilit` e a massima, ovvero n max P n (TQ ) = P n (Tpn ) Q se p ` un possibile tipo. e Fissata una stringa x ∈ X ci chiediamo qual’` la distribuzione che massimizza e la probabilit` della stringa x, ovvero a max Qn (x) Q 21
  22. 22. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete 22 Il problema del minimo ` banale: e min Qn (x) = 0 Q poich´ basta che Q assegni una probabilit` 0 ad almeno uno dei simboli di x. e a Proposizione 8.5. n max Qn (x) = Px (x) Q Dimostrazione. Nel seguito, indichiamo con P = Px , mentre Q ` una distribue zione qualsiasi. Qn (x) = n =2 Q(a)nP (a) = a∈X P a∈X P (a) log Q(a) Poich´ P = Px : e P n (x) = 2n P a∈X P (a) log P (a) Per dimostrare l’affermazione ci basta dimostrare che P n (x) ≥ Qn (x) ∀x ∈ X Poich` quella esponenziale ` una funzione monotona, dimostriamo che e e P (a) log Q(a) ≤ a∈X P (a)logP (a) a∈X ovvero P (a) log a∈X P (a) ≥0 Q(a) (8.5.1) L’ultima affermazione (8.5.1) si dimostra utilizzando la disuguaglianza log-sum (8.6), e la tesi segue. Lemma 8.6 (Disuguaglianza Log-Sum). Siano ai , bi t ai ≥ 0, bi ≥ 0 e sia a = i = 1, 2, . . . t t ai , b = i=1 bi allora i=1 t ai log a=1 ai a ≥ a log bi b con uguaglianza se e solo se esiste c tale che ai = cbi (8.6.1) ∀i
  23. 23. 8. Tipo di una sequenza e l’entropia di distribuzioni discrete Verifica(Lemma). NOTA: nel seguito, consideriamo l’estensione per continuit` a della funzione logaritmo: 0 log 0 = 0 0 log 0 =0 0 Dimostriamo l’affermazione per casi, in base ai valori ai e bi . Vediamo per primo il caso ai > 0, bi > 0, ∀i Affermazione 8.7 (Affermazione). La disuguaglianza log-sum ` valida nel caso e ai > 0, bi > 0, ∀i Verifica(Affermazione). Se esistesse un i tale che bi = 0, ai > 0 la disuguaglianza risulterebbe soddisfatta, poich´ la somma al membro sinistro di 8.6.1 e conterrebbe un addendo infinito. Altrimenti, se esistesse almeno un i tale che ai = 0 e bi > 0, immaginiamo di ordinare gli elementi ai in modo che tutti quelli pari a zero abbiamo indice compreso fra un certo t + 1 e t. Indichiamo con a , b la somma dei primi t elementi di ai e bi : t t a = ai = a bi = b ≤ b b = i=1 i=1 Si ha quindi: t ai log a=1 ai + bi t ai log a=t +1 a a ai a = a log ≥ a log ≥ a log bi b b b =0 e quindi la disuguaglianza ` soddisfatta. e Affermazione 8.8 (Affermazione). La disuguaglianza log-sum ` valida nel caso e a = b, ai > 0, bi > 0, ∀i ed ` verificata con uguaglianza se e solo se ai = bi ∀i e Verifica(Affermazione). Effettuiamo un cambio di base, passando dal logaritmo in base 2 a quello in base naturale. t log e ai ln i=1 a ai ≥ log ea ln bi b 1 Semplificando le costanti loge, e poich´ vale in generale la disuguaglianza ln x ≥ e 1 − x, otteniamo: t ai ln i=1 ai ≥ bi t t ai 1 − i=1 t ai − = i=1 bi ai = bi = a − b = 0 i=1 23
  24. 24. 9. Divergenza informazionale 24 Notiamo che l’uguaglianza si ottiene solo se ai ln bi ai ≥ ai 1 − bi ai ∀i Affermazione 8.9 (Affermazione). La disuguaglianza log-sum ` valida nel caso e b = ac per qualche c ed ` verificata con uguaglianza se e solo se ai = bci ∀i e Verifica(Affermazione). Sia c ˆ Per la definizione di bi si ha b a ˆ e bi = bi c t b ˆ bi = = a c i=1 Verifichiamo che la disuguaglianza log-sum ` verificata: e t t ai ai ai log = = ai log ˆc bi bi a=1 a=1 t = ai log a=1 ai + ˆ bi t ai log a=1 1 ≥ c 1 a a = ≥ a log + a log = a log a c ac a = a log b ˆ Con uguaglianza sse ai = bi 9 ∀i Divergenza informazionale Per capire meglio il concetto di entropia, introduciamo una nuova misura, che non ` una misura nel senso usuale degli spazi metrici. e Definizione 9.1 (Divergenza informazionale). Si definisce divergenza informazionale (o misura di Kullback-Leiber) delle distribuzioni di probabilit` P e Q la a quantit`: a D(P ||Q) P (a) log a∈X P (a) Q(a)
  25. 25. 9. Divergenza informazionale 25 La divergenza informazionale esprime quanto due distribuzioni di probabilit` a sono diverse fra loro. Se x ∈ Tpn Qn (x) = 2−nD(P ||Q) P n (x) Si noti che: D(P ||Q) ≥ 0 ∀P, ∀Q D(P ||Q) = 0 ⇔P =Q Perch´ la divergenza informazionale non ` una metrica? e e • non ` simmetrica, ovvero D(P ||Q) = D(Q||P ) non ` vero in generale e e • non soddisfa la disuguaglianza triangolare Utilizziamo la divergenza informazionale per dimostrare che, fra tutte le distribuzioni su un insieme fissato, l’entropia ` massimizzata solo dall’equidistribue zione. Proposizione 9.2. L’entropia ` massimizzata solo dall’equidistribuzione, ove vero H(P ) ≤ H(E) ∀P |X dove E ` l’equidistribuzione e E(x) = 1 |X | ∀x ∈ X con uguaglianza se e solo se P = E Dimostrazione. Per la dimostrazione utilizziamo la misura di Kullback-Leiber. D(P ||E) = P (x) log x∈X P (x) = E(x) P (x) log |X | − = x∈X P (x) log x∈X = log |X | − H(P ) ≥ 0 con D(P ||E) = H(E) − H(P ) 1 = P (x)
  26. 26. 10. Codici binari a lunghezza variabile 10 26 Codici binari a lunghezza variabile Definizione 10.1 (Codice binario a lunghezza variabile). Un codice binario a lunghezza variabile ` una funzione e ∗ f : M −→ {0, 1} dove ∞ {0, 1}∗ = {0, 1} i i=1 Nota La definizione di {0, 1}∗ implica che ∅ ∈ {0, 1}∗ L’insieme {0, 1}∗ ` infinito numerabile e contiene tutte le stringhe binarie di e lunghezza arbitraria ma finita. Nel seguito, con messaggio indicheremo un elemento m ∈ M, mentre con parola codice ci riferiremo ad una stringa binaria f (m), ovvero alla codifica di un qualche messaggio secondo la funzione f Definizione 10.2 (Estensione per concatenazione). L’estensione per concatenazione del codice f : M −→ {0, 1}∗ ` la funzione f ∗ definita come segue: e f ∗ : M∗ −→ {0, 1}∗ dove ∞ M∗ = Mi i=1 ∗ Ovvero se m ∈ M ⇒ m = m1 . . . mt allora f ∗ (m) f (m1 )f (m2 ) . . . f (mt ) Definizione 10.3 (Codice Uniquely Decodable). Si dice che un codice f ` UD e (Uniquely Decodable) se la sua estensione per concatenazione f ∗ ` iniettiva e Osservazione 10.4 (f iniettiva, f ∗ non iniettiva). Consideriamo la funzione f , che ad ogni numero j associa la stringa binaria lunga j che ha un 1 in ogni posizione. M = [m] f (j) 1j = 1 . . . 1 j ∈ [m] j f iniettiva, mentre f ∗ chiaramente non lo ` (data l’ambiguit` sulla concatenae a zione). Il codice g(j) = 1 . . . 1 0 `, invece, un codice UD. e j u Osservazione 10.5. Se f ` un codice UD ⇒ ∀x ∈ {0, 1}∗ esiste al pi` un e m ∈ M∗ tale che f (m) = x
  27. 27. 10. Codici binari a lunghezza variabile 27 Alcuni esempi di codici UD sono i codici prefisso, i codici che utilizzano un marcatore di fine parola e quelli che codificano i messaggi con stringhe di lunghezza fissa. ∗ Definizione 10.6 (Codice prefisso). Un codice f : M −→ {0, 1} si dice prefisso (o prefix-free) se ∀m, m ∈ M, m = m si ha che f (m) f (m ) dove x y ⇔ x = x 1 . . . xt y = x1 . . . xt yt+1 . . . yt Per comodit`, nel seguito considereremo ogni parola il prefisso di s´ stessa: a e ∀x = x1 . . . xt , x x Osservazione 10.7. Ogni codice prefisso ` UD e Non ` vero il viceversa. Ad esempio, il codice costituito dalle due parole codice e 0 e 01 non ` un codice prefisso (` postfisso), ma ` UD. Tuttavia, esistono anche e e e codici che non sono prefissi o postfissi ma sono UD. Definizione 10.8 (Lunghezza media di un codice prefisso). Data la distribuzione di probabilit` P sull’insieme M, consideriamo il codice prefisso a f : M −→ {0, 1}∗ La lunghezza media del codice f rispetto a P ` data dalla formula: e P (m)|f (m)| (10.8.1) m∈M dove |f (m)| = t se f (m) ∈ {0, 1}t Dato P |M, ci chiediamo qual’` la minima lunghezza media di un codice f e prefisso. Di fatto, l’entropia della distribuzione P limita in modo invalicabile la compressione dell’informazione. Per dimostrarlo, introduciamo il lemma 10.9. Lemma 10.9 (Disuguaglianza di Kraft). Se f : M −→ {0, 1}∗ ` un codice e prefisso, allora 2−|f (m)| ≤ 1 (10.9.1) m∈M Dimostrazione: disuguaglianza di Kraft. Prima di iniziare la dimostrazione vera e propria, definiamo YL (x) l’insieme delle estensioni di x, che utilizzeremo in seguito. YL (x) {z ∈ {0, 1}L t.c. x z}
  28. 28. 10. Codici binari a lunghezza variabile 28 y MMMM |MMMMM|MMMM x z Figura 3: caso YL (x) ∩ YL (y) = ∅ La cardinalit` dell’insieme YL (x) dipende da L e dalla lunghezza di x: a se L < |x| ⇒ YL (x) = ∅ se L = |x| ⇒ YL (x) = {x} se L > |x| ⇒ |YL (x)| = 2L−|x| Affermiamo che per ogni coppia di stringhe x ed y, YL (x) ∩ YL (y) = ∅ ⇐⇒ x y o viceversa (10.9.2) Per verificarlo, consideriamo i due casi: i) caso YL (x) ∩ YL (y) = ∅ Se l’intersezione 10.9.2 non ` vuota, esiste almeno una stringa z tale che e z ∈ YL (x) ∩ YL (y) Poich´ z ` un’estensione sia di x che di y, la situazione che si ottiene ` simile a e e e quella riportata in figura 10. ii) caso YL (x) ∩ YL (y) = ∅ Se l’intersezione ` vuota, poich´ consideriamo le estensioni alla stessa lunghezza, e e deve verificarsi che x y e viceversa. Poich` siamo nell’ipotesi che il codice considerato ` prefisso, quest’ultimo ` il e e e nostro caso. Procediamo, quindi, con la dimostrazione del lemma 10.9. Sia f : M −→ {0, 1}∗ un codice prefisso. Indichiamo con L la lunghezza massima di una parola codice di f : L max |f (m)| m∈M Possiamo quindi scrivere la seguente disuguaglianza: 2L = |{0, 1}L | ≥ | YL (f (m))| = m∈M (10.9.3)
  29. 29. 10. Codici binari a lunghezza variabile 29 In 10.9.3 utilizziamo la disuguaglianza poich´ non ` detto che l’unione esaurisca e e l’intero spazio |YL (f (m))| = = (10.9.4) m∈M Il codice f ` prefisso per ipotesi ⇒ gli insiemi YL sono disgiunti e 2L−|f (m)| = (10.9.5) m∈M Ognuno degli insiemi YL ha cardinalit` 2L−|f (m)| , poich´ |f (m)| bit sono gi` a e a fissati ed L − |f (m)| possono variare. Dividendo il primo (10.9.3) e l’ultimo (10.9.5) termine della disuguaglianza per 2L si ottiene: 2−|f (m)| 1≥ m∈M ed il lemma 10.9.1 ` dimostrato. e Completata questa dimostrazione, siamo pronti a dimostrare come effettivamente l’entropia limiti la compressione dell’informazione. Teorema 10.10. ∀P |M, codice prefisso f : M −→ {0, 1}∗ arbitrario, ` valida e la disuguaglianza P (m)|f (m)| ≥ H(P ) m∈M Dimostrazione. Vogliamo dimostrare P (m)|f (m)| − H(P ) ≥ 0 m∈M Usando la definizione di entropia, il termine pu` essere riscritto come: o P (m)|f (m)| − m∈M P (m) log m∈M 1 = P (m) P (m)(log 2|f (m)| + log P (m)) = = m∈M = P (m) log m∈M P (m) 2−|f (m)| ≥ applicando in sequenza la disuguaglianza Log-Sum e la disuguaglianza di Kraft ≥ P (m) m∈M = 1 · log log m∈M m∈M P (m) 2−|f (m)| = 1 1 ≥ log = 0 1 2−|f (m)| m∈M
  30. 30. 10. Codici binari a lunghezza variabile 30 Dimostrando che il termine da cui siamo partiti ` non negativo, abbiamo dimoe strato la tesi. Da notare: l’uguaglianza si ha per P (m) = 2−|f (m)| , ∀m ∈ M. Teorema 10.11 (Kraft). Se l : M → N ` una funzione che ad un insieme di e parole associa una determinata lunghezza delle parole e vale 2−l(m) ≤ 1 m∈M allora ∃ un codice prefisso f : M → {0, 1}∗ tale che |f (m)| = l(m) ∀m ∈ M Dimostrare questo teorema ci permette di affermare che la disuguaglianza di Kraft ` una condizione necessaria e sufficiente affinch´ esista un codice e e prefisso con lunghezza delle parole determinata dalla funzione l. Dimostrazione. Ordiniamo i messaggi per ordine crescente delle lunghezze: l(m1 ) ≤ . . . ≤ l(mt ), t = |M| Denotiamo L = l(mt ) (il messaggio di lunghezza massima). Ora introduciamo un algoritmo greedy che rispettando le specifiche del teorema, ci permette di costruire il nostro codice prefisso: 1◦ passo) Sia x1 ∈ {0, 1}L arbitrario. Definiamo f (m1 ) prefisso di x1 lungo l(m1 ). x1 |l(m1 ), ovvero il S-esimo passo) Dopo aver costruito f (m1 ) . . . f (mS−1 ) parole codice, costruiaS−1 mo l’s-esima. Sia xs ∈ {0, 1}L − i=1 YL (f (mi )) arbitraria, f (xs ) xs |l(ms ) , ovvero tronchiamo xs per aver il prefisso di lunghezza l(ms ). Descritto l’algoritmo, ` necessario ora dimostrare che questo termina sempre, e producendo il codice prefisso. Affermazione 10.12. La procedura non si blocca. Dimostrazione. Per assurdo, supponiamo avvenga il contrario: l’r-esimo passo, r ≤ t non ` eseguibile. Ci` significa che: e o r−1 {0, 1}L = ∪r−1 YL (f (mi )) ⇒ 2L = | i=1 r−1 i=1 r−1 i=1 i=1 t 2−l(mi ) < ⇒1≤ 2L−l(mi ) YL (f (mi ))| ≤ 2−l(mi ) ≤ 1 ⇒ contraddizione i=1 Non rimane da dimostrare che il codice cos` costruito ` prefisso, ovvero: ı e
  31. 31. 10. Codici binari a lunghezza variabile 31 Affermazione 10.13. Gli insiemi YL (f (mi )) non si contengono (sono disgiunti) Dimostrazione. E’ necessario valutare 2 casi: 1. La seguente relazione YL (f (ms )) ⊃ YL (f (mi )) ∀i < s ` valida perch` le lunghezze sono state ordinate, l(ms ) ≥ l(mi ) ∀i < s. e e Da qui segue che |YL (f (ms ))| ≤ |YL (f (mi ))| ∀i < s 2. La relazione inversa YL (f (ms )) ⊆ YL (f (mi )) ∀i < s ` anche vera, perch` xs ∈ YL (f (ms )), ma xs ∈ e e S−1 i=1 YL (f (mi )) I due casi appena visti dimostrano l’affermazione. La tesi ` ora dimostrata. e Nota: un codice prefisso ` massimale se soddisfa Kraft con uguaglianza. e Osservazione 10.14. Un codice ` massimale se non ` contenuto in un altro e e (pi` grande). u Nota: esistono codici prefisso infiniti (qualcuno ` stato visto anche in precedene za). La seguente proposizione mostra il limite della lunghezza minima del codice prefisso. Proposizione 10.15. ∀P |M ∃f : M → {0, 1}∗ codice prefisso tale che P (m)|f (m)| < H(P ) + 1 m∈M Dimostrazione. Sia l : M → N , definiamo l(m) log 1 P (m) ∀m ∈ M Poich´ vale che e q <q+1 possiamo verificare la disuguaglianza ∀q ∈ R
  32. 32. 10. Codici binari a lunghezza variabile P (m)l(m) = m∈M 32 P (m) log m∈M < P (m)(log m∈M 1 < P (m) 1 + 1) = H(P ) + 1 P (m) Dimostriamo, inoltre, che il codice cos` costruito ` prefisso (thm di Kraft [10.11] ı e ): 2− m∈M log 1 P (m) 1 2− log P (m) = ≤ m∈M 2log P (m) = m∈M P (m) = 1 m∈M Osservazione 10.16. Dagli ultimi teoremi e proposizioni si pu` notare come o l’entropia non pu` essere raggiunta se la distribuzione P |M non ` formata da o e potenze di 2. Mostriamo ora un altro risultato sui codici UD, il lemma di McMillan. Lemma 10.17 (McMillan). Se f : M −→ {0, 1}∗ ` UD ⇒ e 2−|f (m)| ≤ 1 m∈M Corollario 10.18 (tramite la sufficienza di Kraft, 10.9). Per ogni codice f : M −→ {0, 1}∗ UD esiste un codice prefisso f : M −→ {0, 1}∗ tale che |f (m)| = |f (m)|, ∀m ∈ M Dimostrazione(lemma di McMillan). Definiamo 2−|f (m)| q m∈M Se non fosse minore di uno, le sue potenze andrebbero a infinito. Vediamo che non ` cos` Sia n arbitrario, e ı.
  33. 33. 10. Codici binari a lunghezza variabile 33 n −|f (m)| n q = 2−|f (m)| . . . = 2 m∈M m∈M 2−|f (m)| = (10.18.1) m∈M n fattori Rinominiamo la variabile m in ogni fattore con mi 2−|f (m1 )| . . . = m1 ∈M mn ∈M = = 2−|f (mn )| = 2−|f (m1 )| 2−|f (m2 )| . . . 2−|f (mn )| = ... m1 ∈M m2 ∈M mn ∈M P − n |f (mi )| i=0 = 2 m∈Mn Ricordiamo che m = m1 . . . mn ∈ Mn f ∗ (m) = f (m1 )f (m2 ) . . . f (mn ) n |f ∗ (m)| = |f (mi )| i=0 2−|f = ∗ (m)| m∈Mn Raggruppando le parole codice concatenate in base alla lunghezza della parola codice complessiva si ottiene: nL 2−|f i=1 ∗ (m)| m∈Mm |f ∗ (m)|=i dove L = max |f (m)| m∈M Poich´ la sommatoria 10 ` finita e tutti i suoi termini sono positivi, possiamo e e permutare i termini della sommatoria. Nella sommatoria interna, |f ∗ (m)| = i. Poich´ f ∗ ` iniettiva, la sommatoria interna vale al pi` 2−i ∗ 2i = 1 e e u
  34. 34. 11. Entropia come limite della compressione Possiamo quindi scrivere: nL 2−|f i=1 ∗ (m)| = m∈Mm |f ∗ (m)|=i nL |{m t.c. m ∈ Mn e |f ∗ (m)| = i}| 2−i ≤ = i=1 f ∗ iniettiva ⇒≤2i nL 2i · 2−i = ≤ i=1 nL = 1 = nL i=1 Concludiamo quindi affermando che q n ≤ nL ∀n Abbiamo mostrato che q n cresce al pi` linearmente con n, ovvero che q ≤ 1 u Infatti, vale che √ √ √ √ n n q≤ nn L con n n → 1 e L → 1 Nota Nel caso q = 1, la dimostrazione proposta pu` essere utilizzata per dimoo strare la disuguaglianza di Kraft [10.9] 11 Entropia come limite della compressione Consideriamo una sequenza X1 X2 . . . Xn di variabili aleatorie. Il comportamento complessivo della sequenza dipende da: • la distribuzione di probabilit` delle singole variabili aleatorie a • il grado di indipendenza delle variabili aleatorie Definizione 11.1 (Entropia di una variabile aleatoria). Data una variabile aleatoria X che assume valori in X , X ∈ X , definiamo entropia di X la funzione: 1 H(X) Pr {X = x} log = H(PX ) Pr {X = x} x∈X dove con PX indichiamo la distribuzione di probabilit` della variabile aleatoria a X. 34
  35. 35. 11. Entropia come limite della compressione 35 Definizione 11.2 (Entropia congiunta di due variabili aleatorie). Date due variabili aleatorie X, Y che assumono valori X ∈ X , Y ∈ Y, definiamo entropia congiunta di (X, Y ) la funzione: H(X, Y ) H((X, Y )) ovvero Pr {X = x, Y = y} log H(X, Y ) = x∈X y∈Y 1 Pr {X = x, Y = y} In modo analogo si definisce l’entropia congiunta di un qualsiasi numero (finito) di variabili aleatorie. Definizione 11.3 (Entropia condizionata). Date due variabili aleatorie X, Y , definiamo entropia condizionata di X dato Y la funzione: H(Y |X) H(X, Y ) − H(X) In senso intuitivo, l’entropia condizionata di Y dato X misura la quantit` a di informazione fornita dalla variabile aleatoria Y , considerando che X ` gi` e a conosciuta. Affermazione 11.4. Date due variabili aleatorie X, Y l’entropia condizionata di Y dato X non ` mai negativa. e H(Y |X) ≥ 0 ovvero H(X, Y ) ≥ H(X) Dimostrazione. H(Y |X) = H(X, Y ) − H(X) = Pr {X = x, Y = y} log = x∈X y∈Y − Pr {X = x} log x∈X 1 + Pr {X = x, Y = y} 1 = Pr {X = x} Pr {X = x, Y = y} log 1 + Pr {X = x, Y = y} Pr {X = x, Y = y} log = 1 = Pr {X = x} x∈X y∈Y − x∈X y∈Y Pr {X = x, Y = y} log = x∈X y∈Y 1 Pr {X=x,Y =y} Pr {X=x} Poich´ Pr {X = x, Y = y} = Pr {X = x}Pr {Y = y|X = x}, possiamo scrivere: e Pr {X = x} x∈X Pr {Y = y|X = x} log y∈Y 1 ≥0 Pr {Y = y|X = x}
  36. 36. 11. Entropia come limite della compressione 36 Affermazione 11.5 (Chain rule). Date n variabili aleatorie X1 . . . Xn : n H(Xi |X1 . . . Xi−1 ) + H(X1 ) H(X1 . . . Xn ) = i=2 Verifica. H(X1 . . . Xn ) = H((X1 . . . Xn−1 ), Xn ) = H(Xn |X1 . . . Xn−1 ) + H(X1 . . . Xn−1 ) Iterando si arriva all’affermazione Consideriamo la differenza H(Y ) − H(Y |X) (11.5.1) µ(B) − µ(B − A) = µ(A ∩ B) (11.5.2) in analogia con la misura La differenza 11.5.2 ha la misura di un insieme, quindi ` non negativa. L’analogia e suggerisce che anche la differenza 11.5.1 sia non negativa. Per lo stesso motivo, ci aspettiamo che 11.5.1 sia simmetrica (scambiando il ruolo di X e Y ). Affermazione 11.6. La misura H(Y ) − H(Y |X) ` e i) simmetrica ii) non negativa Verifica. Vediamo prima di tutto che l’espressione ` simmetrica: e Pr {X = x, Y = y} log 1 + Pr {Y = y} Pr {X = x, Y = y} log H(Y ) − H(Y |X) = 1 = Pr {Y = y|X = x} x∈X y∈Y − x∈X y∈Y (11.6.1) (11.6.2) Pr {X = x, Y = y} log = x∈X y∈Y Pr {Y = y|X = x} = Pr {Y = y} (11.6.3) = x∈X y∈Y Pr {X = x, Y = y} Pr {X = x, Y = y} log Pr {X = x}Pr {Y = y} (11.6.4) Dall’ultima linea si vede chiaramente che l’espressione ` simmetrica. e
  37. 37. 12. Mutua Informazione 37 Per verificare che l’espressione H(Y ) − H(Y |X) ` anche non negativa, possiamo e utilizzare la disuguaglianza log-sum (8.6). Definiamo: PXY = P {X = x, Y = y} PX ∗ PY = P {X = x}P {Y = y} L’espressione 11.6.4 pu` essere riscritta come: o PXY (x, y) log (x,y)∈(X ,Y) PXY (x, y) = PX ∗ PY (x, y) = D(PXY ||PX ∗ PY ) ≥ 0 12 Mutua Informazione Definizione 12.1 (Mutua informazione). La mutua informazione di X e Y ` e definita come: I(Y ∧ X) H(Y ) − H(Y |X) I(Y ∧ X) ≥ 0 ed uguale a 0 se X e Y sono indipendenti. Proposizione 12.2. H(X) + H(Y ) ≥ H(X, Y ) Proposizione 12.3. I(Y ∧ X) = H(Y ) − H(Y |X) = = H(Y ) − [H(X, Y ) − H(X)] = = H(X) + H(Y ) − H(X, Y ) ≥ 0 Introduciamo ora la mutua informazione di due variabili aleatorie condizionate da una terza variabile aleatoria affermando cosi che l’indipendenza non ` e necessariamente una relazione tra coppie. I(Y ∧ X|Z) H(X|Z) + H(Y |Z) − H(X, Y |Z) Proposizione 12.4. Non possibile stabilire a priori quale sia maggiore tra la mutua informazione e la mutua informazione congiunta. (I(X ∧ Y ) I(X ∧ Y |Z)
  38. 38. 13. Sorgente dell’informazione 38 Dimostrazione: I(X ∧ Y ) ≥ I(X ∧ Y |Z). Siano X, Y e Z tre variabile aleatorie talmente correlate da essere uguali (X ≡ Y ≡ Z) e sia X non degenere 4 I(X ∧ Y ) = H(X) − H(X|X) ≥ 0 I(X ∧ X|X) = H(X|X) + H(X|X) − H(X, X|X) ≤ H(X|X) = 0 Dimostrazione: I(X ∧ Y ) ≤ I(X ∧ Y |Z). Siano (X, Y) uniformemente distribuite su {0,1}x{0,1} e sia Z = X ⊗ Y . Otteniamo: I(X ∧ Y ) = 0 poich´ X e Y sono indipendenti. e I(X ∧ Y |Z) = H(X|Z) − H(X|Y Z) = H(X|Z) = H(X) = 1 1) dove H(X|Y Z) = 0 perch´ una volta che conosco due delle tre v.a., la terza e ` univocamente determinata; e 2) e H(X|Z) = H(X) perch´ X e Z sono indipendenti, essendo la loro probabilit` e a congiunta equidistribuita. Osservazione: Date n v.a. dove in ogni sottoinsieme di n-1 v.a. quest’ultime sono indipendenti non vuol dire che le n variabili saranno indipendenti 13 Sorgente dell’informazione Definizione 13.1 (Sorgente dell’informazione). Dato un insieme alfabeto X , |X | < ∞, definiamo sorgente dell’informazione una sequenza X1 X2 . . . Xn di variabili aleatorie, tale che Xi ∈ X , ∀1 ≤ i ≤ n ∞ Definizione 13.2 (Tasso di entropia di una sorgente). Sia {Xi }i=1 una sorgente dell’informazione. Definiamo il tasso di entropia della sorgente (se esiste!) come il limite: 1 lim H(X1 X2 . . . Xn ) n→∞ n Vogliamo dare una condizione necessaria per l’esistenza di questo limite. Per farlo, ` necessario introdurre il concetto di stazionariet`. e a ∞ Definizione 13.3 (Sorgente stazionaria). Una sorgente {Xi }i=1 ` detta stazioe naria se Pr {X1 . . . Xn = x1 . . . xn } = Pr {X1+k . . . Xn+k = x1 . . . xn } 4 Una variabile aleatoria ` degenere quando la sua distribuzione si concentra in un unico e punto.
  39. 39. 13. Sorgente dell’informazione 39 Un processo stazionario ` un processo stocastico in cui la funzione di probabilit` e a di una variabile aleatoria non cambia n´ nel tempo n´ nello spazio. e e In riferimento alla definizione 13.3, la probabilit` Pr ` la stessa ∀n, ∀k, ∀x ∈ X n . a e La seguente proposizione afferma che la stazionariet` ` una condizione sufficienae te, ma non necessaria, affinch´ esista il limite 13.2. e ∞ e Proposizione 13.4. Se una sorgente {Xi }i=1 ` stazionaria, allora esiste il limite 1 lim H(X1 . . . Xn ) n→∞ n Dimostrazione. Nel seguito dimostriamo un’affermazione un po’ pi` forte di u quella iniziale, ovvero che Affermazione 13.5. La sequenza un valore finito). 1 n H(X1 . . . Xn ) ` monotona decrescente (ad e Questa affermazione si pu` interpretare in modo intuitivo nel senso che le o osservazioni ripetute sono sempre meno sorprendenti. 1 1 H(X1 . . . Xn ) ≤ H(X1 . . . Xn−1 ) n n−1 (n − 1)H(X1 . . . Xn ) ≤ nH(X1 . . . Xn−1 ) ∀n Per dimostrare l’affermazione 13.5 ` sufficiente dimostrare quest’ultima disue guaglianza. (n − 1)H(X1 . . . Xn ) ≤ nH(X1 . . . Xn−1 ) Ricordando che vale H(X, Y ) = H(Y |X) + H(X), possiamo riscrivere l’espressione H(X1 . . . Xn ) come H(X1 . . . Xn−1 ) + H(Xn |X1 . . . Xn−1 ): (n − 1)(H(X1 . . . Xn−1 ) + H(Xn |X1 . . . Xn−1 )) ≤ nH(X1 . . . Xn−1 ) E semplificando: (n − 1)H(Xn |X1 . . . Xn−1 ) ≤ H(X1 . . . Xn−1 ) ∀n Applicando la regola Chain rule (11.5) possiamo scrivere: H(X1 . . . Xn−1 ) = H(X1 ) + H(X2 |X1 ) + . . . + H(Xn−1 |Xn−2 . . . X1 ) = Per la stazionariet` della sorgente si ha: a = H(Xn ) + H(Xn |Xn−1 ) + . . . + H(Xn |Xn−1 . . . X2 ) ≥ Possiamo scrivere la maggiorazione poich´, aggiungendo altre variabili, l’entroe pia condizionata non pu` che diminuire: o
  40. 40. 14. I Codici Correttori 40 ≥ H(Xn |X( n − 1) . . . X1 ) + . . . + H(Xn |Xn−1 . . . X1 ) = = (n − 1)H(Xn |X( n − 1) . . . X1 ) 14 I Codici Correttori ‘Il problema fondamentale della comunicazione ` quello di riprodurre a una e estremit` esattamente o approssimativamente il messaggio selezionato all’altra a estremit`. [...] L’aspetto significante ` che l’effettivo messaggio sia uno selea e zionato da un insieme di messaggi possibili. Il sistema deve essere progettato per funzionare con ogni possibile selezione, e non semplicemente per quell’unica che verr` effettivamente scelta, dal momento che essa non ` nota in fase di a e progettazione.’ Claude Shannon Per studiare il problema della comunicazione tra una sorgente ed una destinazione, utilizzando un canale affetto da perturbazioni ovvero soggetto ad alterazioni stocastiche, ` necessario creare un modello semplificato di comunicazione. e Figura 4: Modello per la comunicazione In figura 4 ` illustrato il modello in tutte le sue componenti: e • i messaggi da inviare sono codificati in modo da comprimere il pi` possibile u l’informazione; • vengono utilizzate alcune tecniche che introducono ‘nuove’ informazioni che permettono di recuperare eventuali errori generati durante la comunicazione; • il destinatario della comunicazione deve effettuare alcune trasformazioni al fine di recuperare eventuali errori verificatisi durante la comunicazione. Il modello descritto ` semplificato; non `, difatti, possibile inviare messaggi dal e e destinatario alla sorgente. Illustreremo successivamente tale situazione. Studiamo il problema della correzione degli errori limitandoci all’analisi di stringhe di lunghezza fissata. Definizione 14.1. Un codice correttore di blocco di lunghezza n ` un insieme e C ⊆ {0, 1}n .
  41. 41. 14. I Codici Correttori 41 Definizione 14.2. La distanza di un codice correttore C ` e dH (C) = min {x,y}∈(C) 2 dH (x, y) (14.2.1) L’obiettivo che ci poniamo ` quello di massimizzare la cardinalit` di un generico e a codice correttore di blocco C di lunghezza n nel quale le stringhe hanno una distanza almeno d. Indichiamo con M (n, d) tale grandezza. Formalmente: M (n, d) = max n |C| (14.2.2) C⊆{0,1} dH (C)≥d Osservazione 14.3. Se C ha distanza minima d allora il codice correttore pu` o essere utilizzato per correggere un numero di errori massimo pari a d−1 . 2 Immaginiamo che si siano verificati k errori durante la comunicazione della stringa x e limitiamoci a studiare il caso in cui k ≤ d−1 . Cosa possiamo dire 2 della stringa y che viene ricevuta dal destinatario? 1. Se y = x allora la stringa ricevuta non ha subito nessuna alterazione. Sotto le nostre ipotesi (k ≤ d−1 ) infatti non ` possibile che si siano verificati e 2 un numero di errori in grado di trasformare la stringa in un’altra stringa di C poich` la distanza minima tra due stringhe ` maggiore di d. e e 2. Se la stringa y ∈ C allora y ∈ SH (x, / ad y la stringa x. d−1 2 ) e dunque possiamo associare Il secondo punto apparir` pi` chiaro dopo aver dimostrato la seguente osservaa u zione. Osservazione 14.4. Se dH (C) ≥ d =⇒ SH (x, d−1 )∩SH (y, d−1 ) = ∅, ∀{x, y} ∈ 2 2 C 2 . Dimostrazione. (Facoltativa) Siano x e y due stringhe del codice C. Supponiamo, per assurdo, che esista una stringa z ∈ {0, 1}n che appartenga all’intersezione delle sfere di centro x e y. Applicando la disuguaglianza triangolare ottengo dH (x, y) ≤ dH (x, z) + dH (z, y) ≤ d−1 d−1 + =d−1 2 2 Ma sappiamo che la distanza minima tra due stringhe ` d dunque siamo giunti e ad un assurdo. Rifocalizziamo la nostra attenzione sullo studio del termine M (n, d). Data la complessit` dello studio della grandezza M (n, d) in tutte le sue variabili ci lia miteremo a studiare il caso in cui la minima distanza tra due stringhe nel codice cresce linearmente con la lunghezza delle stringhe. Tale comportamento si ottiene fissando un generico δ ∈ [0, 1] e studiando M (n, nδ).
  42. 42. 14. I Codici Correttori 42 Come vedremo pi` avanti M (n, nδ) ha una crescita esponenziale; risulta dunque u naturale effettuare una normalizzazione: R(δ) = lim 1 n→∞ n log2 M (n, nδ) (14.4.1) R(δ) rappresenta la frazione di ogni bit destinata al mantenimento dell’informazione; la restante parte ` necessaria per la correzione degli errori. Utilizzare, e dunque, n bit per rappresentarne nδ. Teorema 14.5 (Limitazione Inferiore di Gilbert-Varshamov). R(δ) ≥ 1 − h(δ), δ≤ 1 2 Dimostrazione. Per la dimostrazione viene utilizzato un algoritmo greedy che seleziona delle stringhe a distanza di Hamming maggiore o uguale a d. Passo 1 Fisso n e d e seleziono una stringa x(1) ∈ {0, 1}n . t−1 Passo t Scelgo la stringa xt ∈ {0, 1}n − ∪i=0 SH (x(i) , d − 1) se ` ancora possibile. e Sia C ⊆ {0, 1}n l’insieme (finito) costruito dall’algoritmo. E’ garantito, per costruzione che dH (C) ≥ d. L’algoritmo si blocca dopo m passi perch` si verifica e che m {0, 1}n − SH (x(i) , d − 1) = ∅ i=1 Le sfere scelte hanno la propriet` che il centro di una non ` contenuto nell’altra. a e Per union-bound abbiamo che m n n |SH (x(i) , d − 1)| ≤ m2nh( 2 = |{0, 1} | ≤ d−1 n ) d ≤ m2nh( n ) i=1 La penultima disuguaglianza risulta da un lemma visto precedentemente e da δ ≤ 1 . Dalle disuguaglianze risulta che 2 d log m ≥ n(1 − h( )) n (ricordiamo che d = nδ e M (n, d) = m ) Pertanto: R(δ) = lim 1 n→∞ n log2 M (n, nδ) ≥ lim 1 n→∞ n n(1 − h( nδ )) = lim (1 − h(δ)) = 1 − h(δ) n→∞ n Osservazione 14.6. L’algoritmo appena visto produce una copertura dello spazio attraverso sfere di Hamming non disgiunte che non si contengono. Ora presentiamo una limitazione superiore del limite per qualsiasi valore di δ.
  43. 43. 14. I Codici Correttori 43 Proposizione 14.7. Limitazione superiore di Hamming δ R(δ) ≤ 1 − h( ) 2 δ ∈ [0, 1] Dimostrazione. dH (x, y) ≥ d ⇒ SH (x, d−1 d−1 ) ∩ SH (y, )=∅ 2 2 Consideriamo C ottimale: |C| = M (n, d), dH (C) ≥ d. Tutte le sfere delle stringhe in C sono disgiunte, pertanto {0, 1}n ⊇ x∈C SH (x, d−1 ). Da ci`, segue che: o 2 2n ≥ | SH (x, x∈C d − 1 disgiunte )| = 2 |SH (x, x∈C d−1 d−1 )| = |C| · |SH (0, )| ≥ 2 2 d−1 2 d−1 2nh( n ≥ |C| · |SH (0, )| ≥ |C| · 2 n+1 ⇒ M (n, d) ≤ 2n (n + 1) d−1 2 n 2nh( Poich` e ) ) d−1 d−3 ≤ 2 2 si ha: h( d 3 − ) ≤ h( 2n 2n d−1 2 n ) e quindi: d 3 δ 3 M (n, nδ) ≤ (n + 1) · 2n·[1−h( 2n − 2n )] = (n + 1) · 2n·[1−h( 2 − 2n )] 1 log (n + 1) δ 3 log2 M (n, nδ) ≤ + 1 − h( − ) n n 2 2n 1 ⇒ R(δ) = lim log2 M (n, nδ) ≤ n→∞ n log (n + 1) δ 3 δ ≤ lim + lim 1 − h( − ) = 1 − h( ) n→∞ n→∞ n 2 2n 2 ⇒ Nella proposizione successiva vedremo quanto sia effettivamente poco accurata la limitazione di Hamming. Proposizione 14.8. Limitazione di Plotkin R(δ) = 0 δ> 1 2
  44. 44. 15. Codici lineari 44 Dimostrazione. Sia C ⊆ {0, 1}n ottimale con |C| = M (n, d) = M Prendendo in considerazione la distanza media, si ha che: d ≤ dH (C) ≤ {x,y}∈(C) 2 dH (x, y) = |C| 2 2 · M (M − 1) dH (C) ≥ d. n dH (xi , yi ) = {x,y}∈( C 2 ) i=1 n = 2 · M (M − 1) i=1 dH (xi , yi ) = {x,y}∈(C) 2 Nella sommatoria interna, il contributo viene dato da tutte le coppie di stringhe che differiscono nella posizione i. Definendo Mi = |{x t.c. x ∈ C e xi = 1}|, viene creata una bipartizione dell’insieme per cui |M | − Mi = |{x t.c. x ∈ C e xi = 0}|. A questo punto ` molto semplice calcolare le differenze utili, quindi: e n = 2 Mi (M − Mi ) ≤ · M (M − 1) i=1 (disuguaglianza fra media geometrica e aritmetica) ≤ 2 n M (M − 1) M 2 2 Pertanto: d≤ Inoltre, se δ > n M d 1 M d 1 ⇒ ≤ ⇒ se M → ∞ δ = ≤ 2 M −1 n 2M −1 n 2 1 2 allora M ` finito e, banalmente, abbiamo: e R(δ) = lim 1 n→∞ n 15 log2 M (n, nδ) = 0 Codici lineari Definizione 15.1 (Codice lineare). Un insieme C ⊆ {0, 1}n ` un codice e lineare se: 1. non ` vuoto ⇔ C = ∅ e 2. ` linearemente chiuso ⇔ ∀(x, y) ∈ C × C e x⊕y ∈C Da cui segue che 0 ∈ C. Osservazione 15.2. {0, 1}n` uno spazio lineare n-dimensionale sul campo fie nito GF (2) (l’aritmetica modulo 2). Un codice C ` lineare se e solo se C ` un sottospazio lineare di {0, 1}n . e e
  45. 45. 15. Codici lineari 45 Definizione 15.3 (Peso di una stringa). Sia x una stringa di {0, 1}n . Si definisce allora il peso della stringa x, w(x) come: n xi = |{i t.c. xi = 1}| w(x) i=1 Definizione 15.4 (Peso minimo di un insieme). Il peso minimo di un insieme ` il peso minimo delle stringhe appartenenti all’insieme: e w(C) min w(x) x∈C/{0} Affermazione 15.5. Se C ` lineare, w(C) = dH (C) e Verifica. L’affermazione dH (C) ≤ w(C) ` vera poich´: e e dH (C) = min {x,y}∈(C) 2 dH (x, y) ≤ min dH (0, y) = min w(y) y∈C/{0} w(C) y∈C/{0} La disuguaglianza vale perch´ se considero un insieme pi` ristretto dell’insieme e u di partenza, il minimo su tale insieme non pu` che aumentare. o Verifichiamo l’affermazione inversa: dH (C) ≥ w(C). Siano {x, y} ∈ C tali che dH (x, y) = minx ,y ∈C dH (x , y ) 2 Si ha quindi dH (x, y) = dH (x ⊕ x, y ⊕ x) = dH (0, y ⊕ x) = w(y ⊕ x) ≥ w(C) I pi` semplici codici lineari sono i codici controllori di parit`. u a Definizione 15.6 (Codice controllore di parit`). Un codice controllore di parit` a a ` un codice lineare del tipo e n C0 = {x tale che xi = 0} |C0 | = 2n−1 (l’ultimo bit fissa la parit`) a i=1 dove la sommatoria si intende modulo 2. Un codice di questo tipo rileva l’esistenza di un unico errore o, ugualmente, di un numero dispari di bit alterati. dH (C) = 2 Ricordando che un codice a distanza d ` in grado di correggere d−1 errori, e 2 otteniamo che il codice parity-check non pu` essere utilizzato per correggere o errori.
  46. 46. 16. Codici di Hamming 46 Osservazione 15.7. Attenzione! Si potrebbe pensare che una definizione del tipo n C1 = {x tale che xi = 1} |C1 | = 2n−1 i=1 sia equivalente alla 15.6. e Questo non ` vero, poich´ 0 ∈ C1 e quindi C1 non ` un sottospazio lineare e e Definizione 15.8 (Nucleo di una matrice). Sia H una matrice n × m. Il nucleo di H ` definito come: e kerH = {x tale che xH = 0} Il nucleo di una matrice ` uno spazio linearmente chiuso. e n Affermazione 15.9 (Affermazione). ∀C ⊆ {0, 1} sottospazio lineare ∃H tale che C = kerH 16 Codici di Hamming n Sia C ⊆ {0, 1} un codice correttore in grado di correggere un solo errore. La distanza del codice C` dH (C) ≥ 2d + 1 = 3. e Vogliamo determinare la massima cardinalit` di un codice Cdi questo tipo, a ovvero M (n, 3). Usando la disuguaglianza di Hamming (si veda 14.7), possiamo affermare che: n M (n, 3) ≤ |{0, 1} | 2n = |SH (0, 1)| n+1 Teorema 16.1 (Teorema di Hamming). Sia n + 1 = 2m per qualche m. Allora M (n, 3) = 2n n+1 M (n, 3) ≤ 2n n+1 Dimostrazione. La limitazione segue dalla disuguaglianza di Hamming (14.7), poich´ |SH (0, 1)| = n + 1. e Resta da dimostrare che 2n M (n, 3) ≥ n+1 La dimostrazione ` costruttiva; verifichiamo che esiste un codice C lineare con e 2n |C| = n+1 m Sia H una matrice n × m, le cui righe sono tutti i vettori dello spazio {0, 1} − {0}. Definiamo, quindi, il codice lineare Ccome segue: C kerH = {x ∈ {0, 1}n tale che xH = 0}
  47. 47. 16. Codici di Hamming 47 Affermazione 16.2 (Affermazione). |C| = 2n n+1 dH (C) = 3 1. C` linearmente chiuso e 2. dH (C) = 3 3. |C| ≥ 2n n+1 1) C` linearmente chiuso e Verifica. Siano x , x due stringhe appartenenti a C, ovvero xH=0 x H=0 Affinch´ Csia linearmente chiuso, deve valere che x ⊕ C = C e ∀x ∈ C. (x ⊕ x )H = x H ⊕ x H = 0 ⊕ 0 ∈ C 2) Poich´ C` linearmente chiuso, per verificare che la distanza ` 3 ci basta e e e verificare che il minimo peso ` 3 (si veda 15.5). e Verifica. Sia x di peso 1. Dobbiamo mostrare che ∀i, e(i) ∈ kerH, ovvero che e(i) H = 0. / Ma il risultato della moltiplicazione e(i) H ` l’i-esima riga di H e, per definizione, e 0 ∈ H. / Questo implica che w(C) ≥ 2. Se x ` di peso 2, allora esistono i, j con i = j e tali che x = e(i) ⊕ e(j) e Dobbiamo dimostrare che (e(i) ⊕ e(j) )H = 0 ∀i = j Due stringhe in XOR si annullano se e solo se sono uguali: e(i) H ⊕ e(j) H = 0 solo se e(i) = e(j) , ma i = j, quindi (e(i) ⊕ e(j) )H = 0. Abbiamo quindi dimostrato che w(C) ≥ 3 3) Basta mostrare che ∀y ∈ {0, 1}n ∃ x ∈ C tale che y ∈ SH (x, 1) Verifica. Nel caso che yH = 0 allora y ∈ C e banalmente y ∈ SH (y, 1). Nel caso che yH = 0 allora yH ` una riga della matrice H, supponiamo che sia la i-esima e riga. Allora vale yH = e(i) H, dove e(i) ` la stringa binaria con tutti 0 tranne e nella coordinata i. Visto che la somma modulo due di una stringa binaria con se stessa ` uguale a 0, yH ⊕ e(i) H = 0, possiamo affermare che y ⊕ e(i) ∈ C e e quindi concludere la verifica affermando che y ∈ SH (y ⊕ e(i) , 1).
  48. 48. 17. Teorema di Shannon 17 48 Teorema di Shannon In questa sezione ci occupiamo del problema di codificare la sorgente dei messaggi limitando la probabilit` degli errori di comunicazione. In particolare studiamo a il caso in cui il canale di comunicazione ` un canale DMC, ovvero un canale die screto, stazionario e privo di memoria, dove per stazionario intendiamo che le caratteristiche del canale non cambiano nel tempo e per privo di memoria intendiamo che il canale non viene influenzato dai messaggi che vengono fatti passare attraverso di esso. Per modelizzare un canale DMC utiliziamo una matrice stocastica W a cui ad ogni riga associamo un elemento dell’alfabeto X di input e ad ogni colonna associamo un elemento dell’alfabeto Y di output (entrambi finiti). In questo modo la generica coordinata {x, y} di W rappresenta la probabilit` che, dato a x ∈ X in input, appaia y ∈ Y dall’altro lato del canale. Questo modello pu` o essere inoltre esteso per descrivere l’invio sul canale, in un generico intervallo di tempo lungo n, di stringhe x ∈ X n . Questo porta alla seguente definizione di DMC: Definizione 17.1 (Canale DMC). Un canale DMC ` un insieme {W n : X n → e Y n , n ∈ N} di matrici stocastiche di cui la generica matrice W n rappresenta il disturbo del canale sull’invio di stringhe di messaggi lunghe n, ed ` definita e come: n W n (y|x) W (yi |xi ) i=1 dove W ` la matrice5 che rappresenta il disturbo del canale sull’invio di singoli e messaggi. Nel contesto in cui ci troviamo, una codifica ` definita nel seguente modo: e Definizione 17.2 (Codifica Canale). Una codifica canale ` una coppia (Cn , φn ) e dove Cn ⊆ X n e φn : Y n → Cn dove, Cn rappresenta l’insieme di messaggi che si desidera comunicare, mentre φn ` la funzione di decodifica che associa ad ogni e stringa di output del canale una rispettiva stringa in Cn . La difficolt` principale che si deve affrontare se si vuole utilizzare un canale a disturbato ` dovuta dal fatto che solitamente, inviando x ∈ X n , dall’altro lato e del canale potrebbe comparire una qualsiasi y ∈ Y n . Ci` potrebbe portarci a o pensare che in genere, i canali disturbati non possono essere utilizzati per comunicare. Fortunatamente non ` cos` e in questa sezione vedremo che scegliendo e ı opportunamente la codifica canale ` possibile utilizzare un canale disturbato e per comunicare con una probabilit` di errore non solo limitata, ma addirittura a tendente a 0. 5 Indichiamo la generica coordinata {x, y} di W con W (y|x) e non con W (x, y) in quanto questa rappresenta la probabilit` condizionata di avere il simbolo y in uscita dal canale a supponendo che sia stato inviato x.
  49. 49. 17. Teorema di Shannon 49 Ci chiediamo, ora, quali siano le caratteristiche che una codifica canale deve avere per essere considerata “buona”: innanzitutto vogliamo che la probabilit` a che un messaggio y venga associato al x corretto sia alta, e poi vogliamo avere la possibilit` di comunicare una ragionevole quantit` di messaggi differenti. In a a altre parole stiamo cercando di massimizzare le quantit` W n (φ−1 ) e |Cn |, dove a n e a la prima ` definita come y∈φ−1 (x) W n (y|x) ed ` la probabilit` che, data in e n input x, si ottenga sull’output una y che la funzione di decodifica mapper` in a x. Il problema ` che queste quantit` sono in ‘conflitto’ tra di loro. Pertanto vogliae a mo trovare un giusto trade-off. Questo viene solitamente tradotto in termini di Tasso di trasmissione e di Probabilit` di errore. a Definizione 17.3 (Tasso di trasmissione). Si definisce tasso di trasmissione (o trasmission rate) il valore: 1 log |Cn | n che rappresenta idealmente il numero di bit trasmessi nell’unit` di tempo. a La probabilit` di errore pu` essere espressa come: a o W n (ϕ−1 (x)|x) = 1 − W n (ϕ−1 (x)) A questo punto, ` possibile definire il massimo di tale probabilit`. e a Definizione 17.4 (Massima probabilit` dell’errore). Si definisce massima proa babilit` dell’errore il valore: a e(W n , Cn , ϕn ) max W n ϕ−1 (x)|x n x∈Cn Quello che vorremmo ottenere ` un trasmission rate alto con bassa probabilit` e a di errore. Definizione 17.5 (Tasso raggiungibile). R ≥ 0 , R ∈ N ` un tasso raggiungibile e (o achievable trasmission rate) per il DMC {W n }n∈N se esiste {Cn , ϕn }n∈N tale che e(W n , Cn , ϕn ) −→ 0 1 lim log |Cn | ≥ R n→∞ n Notiamo subito che ogni tasso raggiungibile ` finito, ovvero che: e Osservazione 17.6. R ≤ log |X |
  50. 50. 17. Teorema di Shannon 50 Dimostrazione. R≤ 1 1 log |Cn | ≤ log |X n | = log |X | n n Dato che siamo interessati a cercare delle codifiche buone per un certo canale DMC risulta comodo definire la capacit` del canale, ovvero il massimo tasso a raggiungibile per un certo canale W . Definizione 17.7 (Capacit` del canale). Dato il DMC {W } a sup{R tale che R ` un tasso raggiungibile } e C(W ) Confrontando, quindi, con la capacit` del canale il tasso raggiungibile di una a certa codifica possiamo farci un’idea di quanto questa sia ‘buona’. Il problema di questa definizione di capacit` ` che, sebbene molto precisa, non ae ci fornisce nessuno strumento da utilizzare per definire una buona codifica. Il teorema di Shannon entra in gioco proprio in questo momento in quanto rappresenta il collegamento tra il concetto di entropia e quello di capacit` del canale. a Prima di mostrare l’enunciato del teorema di Shannon ` per` necessario dare la e o seguente definizione: Definizione 17.8 (Capacit` di Shannon). La capacit` di Shannon di un canale a a W ` indicata con C ∗ (W ) ed ` definita come: e e C ∗ (W ) max I(X ∧ Y ) (17.8.1) (Y,X):P(Y |X) =W La capacit` di Shannon di un canale ` quindi la massima mutua informazione (si a e veda 12.1) tra le coppie di variabili aleaorie X e Y con distribuzione condizionata pari a quella della matrice stocastica W associata al canale. Una prima osservazione da fare ` che, in verit`, nella definizione di capacit` di e a a Shannon del canale l’unico elemento veramente variabile ` la distribuzione della e variabile aleatoria X in quanto, una volta scelta quest’ultima, la distribuzione di Y ` univocamente determinata dal canale W . Infatti vale che e Pr (Y = y) = Pr (X = x)Pr (Y = y|X = x) = x∈X Pr (X = x)W (y|x) x∈X Per questo motivo, se chiamiamo P una generica distribuzione di probabilit` a sull’alfebetoX di input, possiamo definire max I(P, W ) P max I(X ∧ Y ) (Y,X):P(Y |X) =W Un’altra osservazione importante ` che dato che abbiamo a che fare con una mue tua informazione, tanto pi` le variabili aleatorie X e Y per le quali I(X ∧ Y ) = u C ∗ (W ) sono indipendenti tra loro, tanto pi` la capacit` di Shannon del canale ` u a e
  51. 51. 17. Teorema di Shannon 51 vicina a 0. In sostanza, cercare C ∗ (W ) equivale a cercare la distribuzione di probabilit` sugli elementi dell’alfabeto di input che massimizza il condizionamento a sugli elementi dell’alfabeto di output. Questa osservazione avvicina la definizione della capacit` di Shannon del canale ad una visione del tutto intuitiva di a capacit` del canale. a A questo punto si ` portati a pensare che sarebbe inverosimile il fatto che possa e esistere un canale con una capacit` bassa ma con una capacit` di Shannon alta, a a o viceversa; in sostanza ci` che ci aspettiamo ` che queste due quantit` siano o e a direttamente proporzionali. In effetti non sbagliamo in quanto le due capacit` a non sono solamente direttamente proporzionali ma addirittura uguali! Questo ` e il risultato sorprendente del teorema di Shannon: Teorema 17.9 (Teorema di Shannon). C(W ) = C ∗ (W ) Un primo dubbio che ` lecito avere riflettendo su quanto detto finora ` che forse e e la definizione di capacit` di Shannon dovrebbe anche tener conto della durata a della trasmissione. Saremmo portati quindi a definire la capacit` di Shannon a come max (Y n ,X n ):P(Y n |X n ) =W n I(X n ∧ Y n ) In verit` il fatto di utilizzare il canale per n istanti di tempo consecutivi non a porta a migliorare il tasso di trasmissione. Questo ` quanto risulta dalla seguente e affermazione: Affermazione 17.10. 1 max I(X n ∧ Y n ) = max I(X ∧ Y ) n (Y n ,X n ):PY n |X n =W n (Y,X):PY |X =W Dimostrazione. Definiamo : tn = 1 max I(X n ∧ Y n ) n (Y n ,X n ):PY n |X n =W n Verifichiamo che tn ≥ t1 . Sia X la variabile aleatoria massimizzante, ovvero la variabile aleatoria con distribuzione PX tale che t1 = I(X, Y ). Siano X n = X1 , . . . , Xn e Y n = Y1 , . . . , Yn rispettivamente una sequenza di variabili aleatorie totalmente indipendenti tali che PXi PX per ogni i, e la sequenza di variabili aleatorie definite univocamente dal canale e dalle Xi . Notiamo che per definizione di tn e per definizione di mutua informazione possiamo scrivere: 1 1 I(X n ∧ Y n ) = [H(Y n ) − H(Y n |X n )] n n Inoltre, utilizzando la Chain Rule (si veda 11.5) si ottiene che tn ≥
  52. 52. 17. Teorema di Shannon 52 n n n H(Yi |Y1 , . . . , Yi−1 ) = H(Y1 ) + H(Y ) = H(Y1 ) + i=2 n H(Yi ) = i=2 H(Yi ) i=1 dove il penultimo passaggio vale in quanto, dato che le Xi sono indipendenti, le Yi sono indipendenti. Sempre per la Chain Rule possiamo scrivere: n n n n H(Yi |X n , Y1 , . . . , Yi−1 ) = H(Y |X ) = H(Y1 |X ) + i=2 n n H(Yi |Xi ) H(Yi |Xi ) = = H(Y1 |X1 ) + i=1 i=2 dove il penultimo passaggio vale perch´ le coppie (Xi , Yi ) sono totalmente indie pendenti6 . Da queste ultime due uguaglianze possiamo trarre che n n 1 1 1 [H(Y n ) − H(Y n |X n )] = [ H(Yi ) − H(Yi |Xi )] = n n i=1 n i=1 n I(Xi ∧ Yi ) i=1 e poich´ ogni Xi ` uguale a X e ogni Yi ` uguale a Y , per definizione di t1 e e e possiamo scrivere: 1 n n I(Xi ∧ Yi ) ≤ i=1 1 n n t1 = t1 i=1 da cui l’asserto. Verifichiamo ora che tn ≤ t1 . Sia X n la variabile aleatoria con distribuzione PX n tale che tn = Per definizione di mutua informazione possiamo scrivere: 1 n n I(X ∧ Y n ). ntn = I(X n ∧ Y n ) = H(Y n ) − H(Y n |X n ) In maniera simile al primo passo della dimostrazione, possiamo affermare che: n H(Y n ) − H(Y n |X n ) ≤ n H(Yi ) − i=1 H(Yi |Xi ) i=1 diversamente dal caso precedente ora possiamo solo dare una limitazione sun periore dato che, sebbene valga sempre che H(Y n |X n ) = i=1 H(Yi |X i ) per via dell’indipendenza tra le coppie (Xi , Yi ), non ` sempre vero che H(Y n ) = e 6 Attenzione, non stiamo erroneamente affermando che in generale le Y sono sempre indii pendenti tra loro o che una Yi non pu` dipendere dalle Xj precedenti a Xi , ma solo che, dato o il canale, Xi ` tutto ci` che ` necessario per determinare Yi . e o e
  53. 53. 17. Teorema di Shannon 53 n i=1 n H(Yi ). Infatti, dato che non possiamo fare supposizioni sulla sequenza X , non ` detto che le variabili Yi sono totalmente indipendenti, quindi non e vale pi` che u n n H(Yi |Y1 , . . . , Yi−1 ) = H(Y1 ) + H(Y1 ) + i=2 H(Yi ) i=2 ma al pi` possiamo affermare che: u n n H(Yi |Y1 , . . . , Yi−1 ≤ H(Y1 ) + H(Y1 ) + i=2 H(Yi ) i=2 in virt` del fatto che, in generale, date due variabili aleatorie X e Y , vale che u H(Y ) ≥ H(Y |X ) ). Per finire possiamo osservare che n n H(Yi ) − i=1 n H(Yi |Xi ) = i=1 I(Xi ∧ Yi ) ≤ nt1 i=1 dove l’ultimo passaggio vale per definizione di t1 . Possiamo ora definire un verso del teorema di Shannon7 : Teorema 17.11 (Teorema inverso di Shannon). C(W ) ≤ C ∗ (W ) Dimostrazione. Vogliamo dunque mostrare che ogni tasso raggiungibile per {W } ` minore o uguale a C ∗ (W ). Assumiamo che questo tasso sia R, quindi esiste e una codifica canale {Cn , ϕn }n∈N , con Cn ⊆ X n , tale che = e(W n , Cn , ϕn ) −→ 0 1 lim log |Cn | ≥ R n→∞ n n (17.11.1) (17.11.2) Introduciamo ora alcune variabili aleatorie che ci saranno utili durante la dimostrazione. Sia Mn una variabile aleatoria distribuita uniformemente su Cn , sia Y n la variabile aleatoria che assume il valore corrispondente all’output del ˆ canale quando in input viene inserito il valore Mn e sia Mn ϕn (Y n ). Sono da notare le seguenti propriet` delle variabili aleatorie appena introdotte a ∀x ∈ Cn Pr{Y n = y | Mn = x} = W n (y|x) ˆ Pr{Mn = Mn } ≤ n n H(M ) = log |Cn | (17.11.3) (17.11.4) (17.11.5) 7 La dimostrazione che la capacit` C ∗ (W ) ` effettivamente raggiungibile utilizza la scelta a e casuale e non verr` presentata in questa sede. a
  54. 54. 17. Teorema di Shannon 54 Dato che vogliamo studiare la quantit` n log |Cn |(vedi limite 17.11.2) riscriviaa 1 mo l’argomento del limite nei termini delle variabili aleatorie appena introdotte. 1 1 log |Cn | = H(Mn ) = n n 1 1 1 ˆ ˆ = H(Mn ) − H(Mn |Mn ) + H(Mn |Mn ) = n n n = 1 1 ˆ ˆ I(Mn ∧ Mn ) + H(Mn |Mn ) n n (17.11.6) A questo punto baster` mostrare che il primo termine di 17.11.6 sia minore di a C ∗ (W ) e che il secondo termine di 17.11.6 tenda a 0. Affermazione 17.12 (Disuguaglianza di Fano). 1 ˆ H(Mn |Mn ) −→ 0 n Dimostrazione. Definiamo una variabile aletoria Zn che assume valore 1 nel caso ˆ che Mn = Mn e 0 altrimenti. La probabilit` che Zn assuma valore 0 ` minore o a e uguale ad n visto 17.11.4. 1 1 ˆ ˆ H(Mn |Mn ) ≤ H(Mn , Zn |Mn ) = n n 1 1 ˆ H(Zn |Mn ) + H(Mn |Zn , Mn ) ≤ n n 1 1 ˆ ≤ H(Zn ) + Pr{Zn = 0}H(Mn |Zn = 0, Mn ) n n 1 ˆ + Pr{Zn = 1}H(Mn |Zn = 1, Mn ) n Visto che Zn ` una variabile aleatoria binaria al pi` la sua entropia sar` pari e u a 1 a 1 quindi il primo addendo dell’ultima equzione pu` essere limitato da n che o banalmente tende a 0 nel caso che n tenda a infinito. Nel terzo addendo ` facile e ˆ vedere come l’entropia assuma valore 0 sapendo sia Mn e sia che Zn ` uguale a e ˆ 1. Infatti, per la definizione di Zn , Mn = Mn se Zn = 1. Per quanto riguarda il secondo addendo sappiamo che la probabilit` che Zn sia uguale a 0 ` minore a e o uguale a n inoltre possiamo limitare l’entropia condizionata con l’entropia di Mn , quindi 1 1 ˆ H(Zn ) + Pr{Zn = 0}H(Mn |Zn = 0, Mn ) n n 1 ˆ + Pr{Zn = 1}H(Mn |Zn = 1, Mn ) ≤ n 1 1 + n H(Mn ) + 0 ≤ n n 1 1 + n log X n −→ 0 n n
  55. 55. 18. Capacit` con errore zero a 55 Prima di mostrare che il primo termine di 17.11.6 ` minore di C ∗ (W ) presene tiamo una disuguaglianza chiamata data-processing. Affermazione 17.13 (Disuguaglianza data-processing). Date tre variabili aleaˆ torie tali che Mn → Mn → Y n ˆ I(Mn ∧ Mn ) ≤ I(Mn ∧ Y n ) ˆ Dimostrazione. Per la chain rule possiamo riscrivere I(Mn ∧ Y n , Mn ) in due modi ˆ I(Mn ∧ Y n , Mn ) ˆ ˆ = I(Mn ∧ Mn ) + I(Mn ∧ Y n |Mn ) ˆ = I(Mn ∧ Y n ) + I(Mn ∧ Mn |Y n ) ˆ visto che Mn e Mn sono condizionalmente indipendenti dato Y n abbiamo che ˆ n |Y n ) = 0 e quindi possiamo affermare I(Mn ∧ M ˆ I(Mn ∧ Mn ) ≤ I(Mn ∧ Y n ) Affermazione 17.14. 1 n I(Mn ˆ ∧ Mn ) ≤ C ∗ (W ) Dimostrazione. Utilizzando la disuguaglianza data-processing possiamo affermare ˆ I(Mn ∧ Mn ) ≤ I(X n ∧ Y n ) = = H(Y n ) − H(Y n |X n ) ≤ n n H(Yi |X n Y1 . . . Yi−1 )) = H(Yi ) − (H(Y1 |X n ) + ≤ i=2 i=1 n I(Xi ∧ Yi ) ≤ nC ∗ (W ) = i=1 Mostrate queste due affermazioni la tesi in 17.11 ` dimostrata. e 18 Capacit` con errore zero a Abbiamo visto nella sezione 17 il problema della capacit` di un canale disturbaa to. In questa sezione presenteremo un problema proposto da Shannon nel 1956 in cui, diversamente dal problema visto precedentemente, si vuole conoscere quale ` il massimo tasso raggiungibile nel caso che la probabilit` di errore sia esattae a mente 0. Prima di definire la capacit` di un canale con errore zero ricordiamo a alcune definizioni.W ` una matrice stocastica le cui righe sono indicizzate con e gli elementi dell’alfabeto di input X e le colonne con gli elementi dell’alfabeto di
  56. 56. 18. Capacit` con errore zero a 56 output Y e W (y|x) indica la probabilit` di ricevere il simbolo y avendo inviato a il simbolo x. Inoltre indichiamo con W (.|x) il vettore (W (y1 |x), . . . , W (yn |x)) con yi ∈ Y, ∀ i e con x ∈ X. Possiamo ora definire la capacit` di un canale con a errore zero in questo modo. Definizione 18.1 (Capacit` di un canale con errore zero). a C0 (W ) = lim sup n→∞ 1 log N (W, n) n Dove N (W, n) ` la massima cardinalit` di un insieme di vettori mutualmente e a ortgonali(cio` il prodotto scalare tra ogni coppia di vettori di questo insieme ` e e pari a 0) tra i vettori W n (.|x) con x ∈ X n Ricordiamo che data una matrice W , con W n indichiamo la matrice strocastica cos` definita ı n W n (y|x) W (yi |xi ) i=1 con y ∈ Y n e x ∈ X n . Una interessante caratteristica di questo problema ` che e pu` essere completamente caratterizzato nei termini di strutture combinatorio che, quali i grafi. Infatti data una matrice stocastica W possiamo associarle un grafo cos` definito ı G(W ) = (V, E) con V = X e E = {{x1 , x2 } : x1 e x2 sono distinguibili} Dove per x1 e x2 distinguibili si intende, y ∈ Y tale che W (y|x1 ) > 0 e W (y|x2 ) > 0. Cio` due elementi dell’alfabeto input X sono distinguibili se e solo e se non esiste un elemento dell’alfabeto output Y in cui entrambi possono essere ` trasformati. E da notare che per ogni grafo G ` possibile costruire una matrice e stocastica W tale che G = G(W ). Prima di presentare la definizione di capacit` a di un grafo definiamo il prodotto tra due grafi G = (V1 , E1 ) e F = (V2 , E2 ). G × F = (V1 × V2 , E ) dove E = {{x1 x2 , z1 z2 } : {x1 , z1 } ∈ E1 oppure {x2 , z2 } ∈ E2 } Sfruttando questa definizione di prodotto tra grafi possiamo considerare le potenze di un grafo G × G × . . . × G = Gn . In questo caso due stringhe sono distinguibili, ovvero fanno parte di uno spigolo di Gn , se e solo se almeno in una delle loro coordinate i rispettivi simboli sono distinguibili nel grafo di partenza G (viene lasciato come esercizio vedere che, data questa definizione di prodotto di grafi, vale Gn (W ) = G(W n )). Intuitivamente, con la capacit` di un grafo, a vogliamo studiare il massimo numero di stringhe distinguibili. Dato che abbiamo tradotto la relazione di distinguibilit` nella relazione di adiacenza dei vertici a in un grafo, il numero massimo di stringhe distinguibili equivale al numero di clique del grafo preso in considerazione. Definiamo ora la capacit` di un grafo a in questo modo.
  57. 57. 18. Capacit` con errore zero a 57 Definizione 18.2 (Capacit` di un grafo). a C(G) = lim sup n ω(Gn ) n→∞ dove con ω(Gn ) si intende il numero di clique del grafo Gn . Possiamo ora ridefinire la capacit` con errore zero nei termini della capacit` di a a un grafo. C0 (W ) = log C(G(W )) Presenteremo ora alcune limitazioni sulla capacit` di grafi (e quindi anche per a C0 ) utilizzando il grafo C5 in figura 5 come indicatore della bont` delle limitaa zioni stesse. La prima limitazione si basa sul semplice fatto che data una clique 5 4 1 3 2 Figura 5: C5 da k vertici nel grafo G, possiamo costruire una clique di k n vertici nel grafo Gn considerando semplicemente l’n-esima potenza della clique in G. Per esempio nel grafo in figura 5 i vertici 1 e 2 formano una clique da 2 elementi. Se consideriamo la potenza n-esima del grafo possiamo considerare la clique formata dai vertici etichettati con stringhe di lunghezza n che utilizzano i soli caratteri 1 e n 2. Quindi abbiamo una limitazione inferiore per il numero di clique di C5 per n ogni n, cio` ω(C5 ) ≥ 2n e quindi una limitazione per la sua capacit`. e a C(C5 ) ≥ 2 Pi` in generale possiamo affermare che ω(Gn ) ≥ (ω(G))n e quindi u C(G) ≥ ω(G) Con un piccolo ragionamento in pi` possiamo vedere che la limitazione pu` u o essere leggermente migliorata in questo modo, data una clique in Gk con k finito C(G) ≥ k ω(Gk ) 2 Considerando il grafo C5 ` possibile trovare una clique da 5 elementi(trovare e 2 effettivamente l’insieme di 5 elementi che formano una clique in C5 ` lasciato e come esercizio per il lettore). Quindi possiamo affermare che √ 2 C(C5 ) ≥ 5
  58. 58. 18. Capacit` con errore zero a 58 Ora introduciamo alcune limitazioni superiori studiando sempre il numero di clique del grafo preso in considerazione. In particolare sappiamo che il numero di clique di un grafo ` sempre limitato superiormente dal numero cromatico del e grafo stesso. Inoltre data una colorazione per un grafo G con k colori possiamo costruire una colorazione del grafo Gn con k n colori(si consideri il colore di un vertice del nuovo grafo come una sequenza di colori). Allora possiamo affermare C(G) ≤ lim sup n χ(Gn ) ≤ lim sup n [χ(G)]n = χ(G) n→∞ n→∞ In particolare per il nostro grafo C5 possiamo affermare C(C5 ) ≤ 3 Prima di presentare una limitazione superiore migliore di quella appena fornita introduciamo il concetto di numero cromatico frazionario di un grafo. Possiamo vedere il numero cromatico come il minimo numero di insiemi stabili di vertici necessari a ricoprire tutti i vertici del grafo dato. Il numero cromatico frazionario ` una generalizzazione del concetto appena esposto, vogliamo sempre coprire con e almeno 1 insieme ogni vertice del grafo, ma in questo caso possiamo associare dei pesi agli insiemi stabili di vertici e vogliamo che la somma dei pesi degli insiemi stabili che coprono un vertice sia almeno 1 e vogliamo minimizzare la somma di tutti i pesi degli insiemi considerati. Prima di definire formalmente il numero cromatico frazionario consideriamo il grafo C5 . In questo grafo esistono 5 insiemi stabili e vogliamo associargli ad ognuno di loro dei “pesi” in modo che sia minimo il peso totale e che per ogni vertice x la somma dei pesi associati agli stabili che contengono un dato vertice sia almeno 1. Nel caso di C5 il numero cromatico frazionario ` pari a 2.5 (trovare effettivamente l’assegnamento dei e rispettivi pesi ad ogni insieme stabile ` lasciato come esercizio per il lettore). e Possiamo ora introdurre la definizione formale del numero cromatico frazionario, nei termini della programmazione lineare. Definizione 18.3 (Numero cromatico frazionario di un grafo). Sia f : Y (G) ⇒ [0, 1] dove con Y (G) intendiamo gli insiemi stabili di G. min f (A) A∈Y (G) f (A) ≥ 1 f: ∀ x ∈ V (G) A∈Y (G) t.c. x∈A ` E da notare che vincolando la funzione f ad assumere solo valori interi(0 o 1) abbiamo definito il numero cromatico nei termini della programamzione lineare intera. Infatti la funzione da minimizzare, in questo caso, ` il numero degli e insiemi stabili associati al valore 1 che ` equivalente al cercare il minimo numero e ` di colori(insiemi stabili) necessari a colorare(coprire) un grafo. E facile vedere come il valore del numero cromatico frazionario di un grafo sia maggiore o al pi` u
  59. 59. 18. Capacit` con errore zero a 59 uguale al numero di clique di quest’ultimo e che data una colorazione frazionaria di un grafo G di peso w possiamo costruire una colorazione per Gn di peso al pi` wn quindi u C(G) ≤ n χ∗ (Gn ) ≤ n [χ∗ (G)]n = χ∗ (G) Tornando al grafo C5 visto che χ∗ (C5 ) = 2.5 e vista l’affermazione appena fatta su C(G) possiamo ulteriormente limitare la capacit` di C5 a C(C5 ) ≤ 2.5 Infine citiamo due particolari limitazioni superiori per C(G), di cui una introdotta da Lovasz nel 1979 e da lui utilizzata per determinare il valore esatto di C(C5 ) √ 2 C(C5 ) = 5 chiamata theta di Lovasz. Questo oggetto indicato anche θ(G) possiede alcune interessanti caratterestiche dal punto di vista dell’informatica teorica visto che pu` essere computato in tempo polinomiale per un qualsiasi grafo ed ` intrapo e polato tra il numero cromatico ed il numero di clique di un grafo che sono due noti problemi NP-completi. ω(G) ≤ θ(G) ≤ χ(G) Anche se il valore θ(G) assume il valore esatto della capacit` nel caso del grafo a C5 sappiamo che non pu` essere il valore esatto della capacit` di un qualsiasi o a grafo visto che Haemers, sempre nel 1979, ha presentato un’altra limitazione per la capacit` di un grafo, che sebbene in molti casi sia peggiore di θ(G), in a alcuni casi assume valori minori del theta di Lovasz. Concludiamo questa sezione presentando una struttura introdotta da Claude Berge, ispirato dai lavori di Shannon. La struttura introdotta ` quella dei grafi e perfetti di cui presentiamo solo la definizione. Definizione 18.4 (Grafo perfetto). G ` perfetto se e solo se e ∀G ⊆ G ω(G ) = χ(G ) dove χ(G ) ` il numero cromatico del grafo G e ` E banale vedere che per ogni grafo perfetto la sua capacit` ` pari a ω(G). Un ae problema aperto e molto interessante ` il seguente: e Dato un grafo G tale che per ogni G ⊆ G vale C(G ) = ω(G ). G ` un grafo perfetto? e
  60. 60. Indice analitico Tipo di una stringa, 18 Canale Codifica, 48 DMC, 48 Canale capacit` del, 50 a Capacit` del canale, 50 a Capacit` di Shannon, 50 a Chain rule, 36 Codice binario a lunghezza variabile, 26 controllore di parit`, 45 a correttore, 40 distanza di, 41 massima cardinalit` di, 41 a estensione per concatenazione del, 26 prefisso, 27 con lunghezza delle parole determinata da una funzione, 30 lunghezza media di, 27 massimale, 31 minima lunghezza media di, 27 prefix-free, 27 UD, 26 Codice lineare, 44 Coefficienti binomiali limitazione con entropia binaria, 14 minorazione con entropia binaria, 14 Distanza, 5 di Hamming, 6 Disuguaglianza data-processing, 55 Fano, 54 log-sum, 22 Divergenza informazionale, 24 DMC, 48 Entropia, 19 binaria, vedi Entropia binaria chain rule, 36 condizionata, 35 non-negativit` della, 35 a congiunta, 35 di una variabile aleatoria, 34 massimizzata dall’equidistribuzione, 25 Entropia binaria, 12 grafico della funzione, 12 Gilbert-Varshamov limitazione di, 42 Hamming distanza di, vedi Distanza limitazione di, 43 sfera di, vedi Sfera di Hamming spazio di, 6 partizione in classi, 15 Hamming teorema di, 46 Insieme peso minimo di, 45 Kraft disuguaglianza di, 27 teorema di, 30 Massima probabilit` dell’errore, 49 a McMillan lemma di, 32 Misura di Kullback-Leiber, vedi Divergenza informazionale Mutua informazione, 37 Nucleo di una matrice, 46 Peso di una stringa, 45 minimo di un insieme, 45 Plotkin limitazione di, 43 60
  61. 61. INDICE ANALITICO Sfera di Hamming, 7 cardinalit` di, 7 a approssimazione, 11 comportamento asintotico, 12 Shannon capacit` di, 50 a teorema di, 51 Sorgente dell’informazione, 38 stazionaria, 38 tasso di entropia, 38 CS per l’esistenza del limite, 39 Spazio metrico, 5 Stringa peso di, 45 tipo di una, 18 Tasso di trasmissione, 49 raggiungibile, 49 Teorema di Hamming, 46 Teorema di Shannon, 51 61

×