sorgenti classiche di informazione

annuncio pubblicitario
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
Scarica