SORGENTI CLASSICHE DI INFORMAZIONE SORGENTI SENZA MEMORIA ED ENTROPIA Una sorgente discreta di informazione senza memoria è un sistema di eventi statisticamente indipendenti che vengono trasmessi come messaggi con probabilità assegnata (i.i.d. = independent and identically distributed). Ciascun evento – messaggio viene associato ad un simbolo detto simbolo di sorgente. L’insieme dei simboli di sorgente costituisce l’alfabeto di sorgente. Una sorgente di informazione senza memoria è completamente definita se sono noti il suo alfabeto S costituito da q simboli statisticamente indipendenti, e il suo insieme di probabilità P ovvero S s1 , s 2 ,..., s q P P(s1 ),..., P(s2 ) . Molte situazioni, dal lancio della moneta al Superenalotto, possono essere viste in questi termini. Ma anche altre situazioni possono essere viste come sorgenti senza memoria: ad esempio un sistema termodinamico all’equilibrio, come un gas caratterizzato da valori di P, V, T. Ad esso corrispondono miliardi di stati dinamici microscopici, ciascuno con una certa probabilità e particolari posizioni e velocità delle particelle. Lo stato macroscopico del gas è la sorgente di informazione, l’alfabeto sono gli stati microscopici che lo realizzano corredati con le rispettive probabilità. Definizione. Data la sorgente senza memoria (S,P), si definisce entropia della sorgente la quantità, misurata in bit, H ( S ) P( si ) log[ 1 / P(si )] P( si ) I (si ) , i 1,2,..., q. essendo I ( si ) log[ 1 / P(si )] (2.1) l’informazione condotta dal simbolo si misurata in bit. Misurando in unità di informazione r qualsiasi si ha invece (in unità bit). H r ( S ) P( si ) log r [1 / P(si )]u r P( si ) I r ( si )u r , i 1,2,..., q. Possiamo allora vedere l’entropia come l’informazione media trasportata da un simbolo della sorgente. Per quanto detto in precedenza, la si può vedere anche come incertezza media a priori su quale simbolo verrà emesso dalla sorgente. Si è visto infatti che quanto più il messaggio è improbabile ed inaspettato, tanto maggiore è il suo contenuto informativo. Questo è in linea con il significato fisico e termodinamico dell’entropia. Nel caso binario, il numero di messaggi equiprobabili (M) è 2H(S) . Infatti H 1 lg M lg M . M E’ importante osservare che H(S) risulta sempre minore o uguale a log q, dove q è il numero dei simboli: H log 2 q (2.1a) L’uguaglianza si verifica solo se i q simboli di sorgente sono equiprobabili: massima sarà l’entropia e massima l’incertezza su quale simbolo verrà trasmesso. Vediamo infatti che, essendo ln z 1 1/ z (sviluppo in serie di Taylor di x ln x) P( si ) Pi , P 1 i i si ha, per le proprietà dei logaritmi (cambio di base: lg e x lg 2 x cioè lg 2 e lg 2 x ln x lg 2 e ) log q H (S ) Pi log q Pi log Pi log e Pi ln q Pi log e Pi (1 L’uguaglianza è valida per Pi (2.1a) 1 Pi ) 0 q 1 ossia per messaggi equiprobabili: infatti in tal q caso H (S ) P(si ) log[ 1/ P(si )] 1 log q . Esempio importante di sorgente senza memoria è la sorgente binaria , definita da S 0,1, P P0 , P1 1 * . In questo caso, espressa in bit, H ( S ) [ log( 1 / ) (1 ) log[ 1 /(1 )] ( log * log *) Questa espressione viene indicata come H ( ) e chiamata funzione entropia. Il suo grafico è riportato qui sotto. Si nota che assume il valore massimo di 1 bit per 0.5 , ossia quando i due simboli sono equiprobabili. 1 1 1 1 1 Si ha infatti log log log 2 log 2 2 1 . 2 2 2 2 2 Si annulla quando uno dei due simboli è certo, ossia per 0 oppure 1 . Fig.2.1 SORGENTI CON MEMORIA. SORGENTI DI MARKOV Le sorgenti senza memoria non costituiscono l’esempio più generale di sorgente di informazione perché prevedono che l’emissione di un simbolo non dipenda dai simboli emessi in precedenza. La probabilità di emissione rimane costante nel tempo indipendentemente dai simboli emessi nel passato. Una sorgente in cui l’emissione di un simbolo si dipende da un numero finito m di simboli precedentemente emessi è detta sorgente di Markov di ordine m. E’ specificata assegnando l’alfabeto di sorgente e la serie di probabilità condizionate Pc P( si | s j (1) s j ( 2) ...s j ( m ) ) , con S s1 , s 2 ,..., s q , i 1,2,..., q , j ( p) 1,2,..., q Allora per una sorgente di Markov di ordine m la probabilità di emissione di un dato simbolo è nota se conosciamo gli m simboli precedenti da cui risulta condizionata. Chiameremo ad ogni istante gli m simboli precedenti stato della sorgente di Markov. Siccome ci sono q simboli possibili, tale sorgente avrà ad ogni istante qm stati possibili (disposizioni con ripetizione di q simboli presi m alla volta). In un diagramma di stato si rappresenta allora ciascuno dei qm stati e le possibili transizioni da uno stato all’altro. Consideriamo una sorgente di Markov del secondo ordine con alfabeto binario S 0,1. P(0 | 00) P(1 | 11) 0.8 P(1 | 00) P(0 | 11) 0.2 P(0 | 01) P(0 | 10) P(1 | 01) P(1 | 10) 0.5 Come si vede dalla figura, i possibili stati di sorgente sono 4: 00, 01, 11, 10 . Le transizioni di stato sono rappresentate da frecce contrassegnate dalla rispettiva probabilità. Dallo stato 00 si può ripassare nello stesso 00 con probabilità 0.8 se viene emesso uno 0 oppure allo stato 01 con probabilità 0.2 se viene emesso un 1. Si immagina cioè che l’ultimo digit emesso faccia scorrere lo stato verso sinistra (dunque da 00 non si può passare a 10). La somma delle due probabilità di transizione è ovviamente 1. La probabilità che venga emesso un 1 o uno 0 è condizionata dallo stato (cioè dai due binit precedenti). Fig. 2.2 SORGENTI ERGODICHE Ogni sorgente, con o senza memoria, emette alla fine una sua sequenza caratteristica, congrua al suo alfabeto e all’insieme di probabilità relative. E’ ragionevole pensare che per n abbastanza grande ciascun simbolo compaia n∙Pi volte nella sequenza, se Pi è la sua probabilità. Infatti si usa definire ergodica una sorgente per la quale, dopo un tempo abbastanza lungo, si registra con certezza una sequenza tipica della sorgente. Possono esistere tuttavia anche sorgenti non ergodiche: ad esempio la seguente sorgente di Markov di ordine 2, rappresentata in figura, anche se gli stati sono inizialmente equiprobabili, creerà nel tempo una sequenza di tutti 1 o tutti 0 : P(0|00)=P(1|11)=1.0 P(1|00)=P(0|11)=0 P(0|01)=P(0|10)=P(1|01)=P(1|10)=0.5 Fig. 2.3 La sorgente non è ergodica perché dopo un congruo lasso di tempo non si presenta un’unica sequenza, ma due equamente probabili. E’ possibile valutare l’entropia di una sorgente di Markov. Infatti se la sorgente ha emesso i simboli sj(1),…,sj(m) e la probabilità condizionata di ricevere il simbolo si è P(si| sj(1),…,sj(m)), la quantità media di informazione al momento dell’emissione del simbolo si è log 1 P(s1 | s j (1) ,..., s j ( m) ) pertanto l’informazione media per simbolo relativa a quello stato è q H ( S | s j (1) ,..., s j ( m ) ) P( si | s j (1) ,..., s j ( m ) ) log i 1 1 P( si | s j (1) ,..., s j ( m ) ) che rappresenta l’entropia di sorgente relativa a quello stato. Mediando su tutti i qm stati della sorgente si ottiene qm H ( S | s j (1) ,..., s j ( m ) ) P ( si | s j (1) ,..., s j ( m ) ) H ( S | s j (1) ,..., s j ( m ) ) i 1 che rappresenta l’entropia della sorgente S di Markov di ordine m. Data una sorgente di Markov a q simboli di ordine m , si definisce aggiunta S* la sorgente senza memoria avente identici q simboli di alfabeto e identiche probabilità di emissione. Si può dimostrare che H(S)≤H(S*) . Questo risultato è intuitivo perché la sorgente di Markov è più ordinata di una sorgente senza memoria, e minore è l’incertezza media a priori sul simbolo che verrà emesso. ESTENSIONE DELLA SORGENTE Spesso è necessario trattare blocchi di simboli emessi dalla sorgente anziché singoli simboli. Abbiamo già visto una sorgente binaria in cui i simboli sono raggruppati a due a due. Per estensione, data una sorgente binaria possiamo raggruppare i simboli ad n ad n. In tal caso la sorgente binaria è equivalente ad una sorgente con un alfabeto di 2n simboli. In generale, data una sorgente S s1 , s 2 ,..., s q , consideriamo le sue uscite come sequenze di n simboli: vi saranno qn possibili sequenze di uscita, ossia la sorgente è equivalente ad una sorgente con un alfabeto di qn simboli. Definizione. Data la sorgente senza memoria S con alfabeto di q simboli, si definisce estensione n-ma di S, e si indica con Sn , la sorgente a memoria zero avente come alfabeto le qn sequenze di uscita di S, ovvero S n (1), (2),..., (q n ) dove ciascun (i ) corrisponde ad una sequenza di n simboli dell’alfabeto di S, ossia (i) ( si (1) , si ( 2) ,..., si ( n ) ). Pertanto, se P1,…,Pq sono le probabilità di emissione da parte di S dei suoi simboli di alfabeto, per il teorema delle probabilità composte avremo P[ (i )] Ps[i (1)] ..... Ps[i ( n )] probabilità di emissione da parte della sorgente estensione n-ma Sn di un simbolo del suo alfabeto. Poiché l’entropia è espressa in termini di un prodotto di un logaritmo per le probabilità, si può ottenere facilmente che H (S n ) n H (S ) . L’uguaglianza è valida sia per sorgenti senza memoria che per sorgenti di Markov. Il numero di messaggi binari dell’estensione sarà 2 nH ( S ) . LA STRUTTURA DEI LINGUAGGI Per studiare la struttura dei messaggi verbali studiamo l’esempio di un messaggio in lingua inglese. Possiamo partire dalla sorgente S con alfabeto di 27 simboli (26 lettere e lo spazio bianco fra le parole). In prima istanza consideriamo i simboli come equiprobabili e la sorgente come senza memoria. L’entropia di questa sorgente è H (S ) 27 log 27 4.75 bit / simbolo 27 La lingua inglese non è comunque ben rappresentata da una sorgente di simboli equiprobabili. Usiamo allora una sorgente S* con 27 simboli ma probabilità calcolate statisticamente: P(a) 0.1859, P(b) 0,0642, P(c) 0.0127,... si ottiene H (S*) 4.03bit / simbolo L’informazione media condotta da un simbolo è ovviamente diminuita, perché alcune successioni sono obbligate e non casuali (es. dopo una doppia consonante segue una vocale). Se invece che una sorgente senza memoria utilizziamo una sorgente di Markov del primo ordine, l’approssimazione migliora ancora. Introdurremo le probabilità condizionate di un simbolo: ad esempio la probabilità condizionata che una consonante sia presente fra due spazi è quasi nulla. Con tale sorgente l’entropia scende ancora ed arriva a 3.32 bit/simbolo. Proseguendo con sorgenti di Markov di ordine superiore, l’approssimazione migliora ancora convergendo verso un’entropia di 3 bit/simbolo. All’interno dello schema iniziale del canale di trasmissione (Fig. 1.1) è possibile dettagliare meglio i vari blocchi. L’alfabeto della sorgente non è in generale adatto alla trasmissione. E’ necessaria allora una codifica di sorgente in cui i simboli della sorgente vengono trasformati in simboli di un altro alfabeto, e con questi trasmessi attraverso il canale. In ricezione dovremo ovviamente effettuare il processo inverso, restituendo con un decodificatore i simboli di sorgente comprensibili all’utente ricevente. Fig.2.4 Sono allora necessarie alcune definizioni. Definizione. Si definisce codice una particolare trasformazione (rappresentazione) della sorgente S s1 , s 2 ,..., s q in sequenze di altro alfabeto X x1 , x2 ,..., xr detto alfabeto di codice di ingresso al canale di trasmissione. Studieremo alcune particolari sottoclassi di codici con specifiche proprietà. Definizioni. Definiamo codice blocco un codice che dispone ciascuno dei simboli di sorgente in una sequenza fissa di simboli dell’alfabeto X. Tali sequenze rappresentano i simboli di sorgente e si chiamano parole di codice. Indichiamo con Xi la parola di codice che rappresenta il simbolo di sorgente si . Un codice blocco si dice non singolare se tutte le parole del codice sono distinte. Un codice blocco si dice univocamente decodificabile se e solo se l’estensione n-ma del codice è non singolare per ogni n finito. Ad esempio sono codici non singolari ed univocamente decodificabili che rappresentano S s1 , s 2 , s3 , s 4 : S X X* s1 00 0 s2 01 10 s3 10 110 s4 11 1110 Questo particolare codice X* è detto codice virgola perché lo zero terminale individua la fine di ogni parola. Un codice univocamente decodificabile si dice istantaneo se è possibile decodificare una parola del codice in un simbolo di sorgente senza riferimento alle parole successive. Ad esempio un codice che da S crei le parole 0,01,011,0111 non è istantaneo perché bisogna attendere la ricezione di quattro valori binari prima di poter decidere quale simbolo di sorgente è stato trasmesso. Come si evince anche da questo esempio, condizione necessaria e sufficiente perché un codice sia istantaneo è che nessuna parola del codice sia prefisso di un’altra parola. Una classificazione dei codici secondo questo criteri può essere schematizzata nella figura seguente. Fig.2.5 LUNGHEZZA DELLE PAROLE DEL CODICE Si è visto che data una sorgente è possibile avere più codici. La valutazione dei questi codici può avvenire attraverso vari parametri. Il primo è la lunghezza delle parole del codice, che deve essere la più piccola possibile. Dato un codice con alfabeto sorgente S s1 , s 2 ,..., s q e alfabeto di codice X x1 , x2 ,..., xr , siano l1 , l 2 ,..., l q le loro rispettive lunghezze. Si dimostra : DISUGUAGLIANZA DI KRAFT (1949) Condizione necessaria e sufficiente di esistenza di un codice istantaneo avente una data lunghezza di parole è che q r li 1 i 1 dove r è il numero di simboli del codice e li la lunghezza della i-esima parola. In altre parole, assegnate le lunghezze li delle parole del codice, la verifica della disuguaglianza garantisce l’esistenza di codici istantanei con quelle date lunghezze (o viceversa non ne ammette l’esistenza se la disuguaglianza non è verificata). Studiamo il caso binario, in cui r=2 con un esempio. Consideriamo la sorgente S con i 4 simboli di alfabeto, 3 codici istantanei A,B,C, e D non istantaneo. S A B C D s1 00 0 0 0 s2 01 100 10 10 s3 10 110 110 110 s4 11 111 111 11 1 7/8 1 9/8 4 2 i 1 li Il calcolo si conduce in questo modo: 4 2 li 2 2 2 2 2 2 2 2 1 li 2 1 2 3 2 3 2 3 1 / 2 1 / 8 1 / 8 1 / 8 7 / 8 i 1 4 2 i 1 e così via. Si vede così che la disuguaglianza di Kraft è verificata per A,B,C ma il codice non istantaneo D (l’ultima parola è prefisso della penultima) non la verifica. Per usare il parametro lunghezza la fine di scegliere il miglior codice è importante definire la lunghezza media di un codice. Dati q simboli di sorgente emessi con probabilità p1,p2,…,pq con lunghezze delle rispettive parole di codice l1 , l 2 ,..., l q , si definisce lunghezza media L del codice la quantità q L pi l i 1 Cerchiamo codici di lunghezza media minima. Definizione. Data una sorgente S e un codice di alfabeto X di ordine r, un codice si dice compatto se la sua lunghezza media è minore o uguale alla lunghezza media di tutti gli altri codici univocamente decodificabili per la stessa sorgente e lo stesso alfabeto di codice. Quindi vogliamo ricercare codici compatti. Nell’ambito dei codici univocamente decodificabili, dovendo ricercare lunghezze minime consideriamo i codici istantanei. Cerchiamo il valore minimo di L per un codice istantaneo ed una sorgente senza memoria S, la cui entropia è H ( S ) Pi log[ 1 / Pi ] Pi log Pi , i 1,2,..., q. Attraverso una catena di disuguaglianze * si ottiene H ( S ) L log r (2.2) ossia anche L H (S ) / log r H r (S ) (2.3) Si può quindi affermare che la lunghezza media L è inferiormente limitata dall’entropia della sorgente S misurata in unità r. Abbiamo così collegato la definizione dell’informazione ad una grandezza L che non dipende da questa definizione. Si vede anche che vale l’uguaglianza L H r (S ) ossia L è la più piccola possibile, quando si dà il caso log r Pi li ovvero quando la quantità a primo membro è un intero per ogni i. ** (2.4) Ciò significa che le probabilità dei simboli Pi dovrebbero in questo caso essere del tipo ri , in cui si sceglieranno li i , che saranno proprio le lunghezze delle parole del codice compatto istantaneo (es. 2 ,=3) . Un codice in cui r=2 si dice a distribuzione diadica. ______________ * Essendo ogni li 0 si ha: H Pi li log Pi cioè H L log Pi , da cui direttamente H L log r essendo infatti sempre r pi . ** Infatti per le proprietà dei logaritmi H pl i i log r 2 ma log r 2 H Pi log r Pi e se log r Pi li si ha log r 2 log r r , da cui l’uguaglianza voluta. log 2 r