6 - SECONDO TEOREMA DI SHANNON
PROBABILITA’ DI ERRORE E REGOLE DI DECISIONE
Abbiamo utilizzato il concetto di entropia in due occasioni:
-
nella codifica di sorgente l’entropia fornisce, attraverso il primo teorema di Shannon
, il limite minimo del numero di unità r-arie necessarie a codificare un simbolo di
sorgente.
-
Nella generalizzazione del primo teorema di Shannon, l’entropia dell’ingresso
condizionata dall’uscita fornisce l’equivocazione dell’ingresso sull’uscita, ossia il
numero limite di bit necessari a codificare l’ingresso nota l’uscita.
Inoltre l’informazione mutua del canale (H(X)-H(X|Y)>0 ) è inferiore ad H(X) salvo che per i
canali senza rumore, in cui l’equivocazione è nulla e quindi l’informazione mutua coincide
con H(X).
Questo equivale a dire che nei canali con rumore (ossia in generale) non è possibile
ricostruire perfettamente la sequenza dei simboli in ingresso conoscendo i simboli in
usciota.
Il secondo teorema di Shannon risolve teoricamente il problema dell’affidabilità della
trasmissione su canale rumoroso, definendo le condizioni che permettono di trasmettere
informazione nel canale con rumore con probabilità d’errore che può essere resa
trascurabile a piacere.
A questo scopo dobbiamo definire sia il termine di errore nella trasmissione che quello di
probabilità d’errore introdotta nela canale di trasmissione.
La probabilità complessiva d’errore dipende dalla regola di decisione adottata dal
decodificatore in ricezione.
Infatti consideriamo ad esempio un canale BSC con P=0.1 e P*=0.9 .
La probabilità d’errore è 0.1 se il decodificatore decide che è stato inviato 0 quando riceve
0 e è stato inviato 1 quando riceve 1.
Ma se il decodificatore adotta come regola di decodifica che è stato trasmesso 1 quando
riceve 0 e viceversa, in questo caso la probabilità di errore è 0.9.
Dunque la probabilità d’errore dipende anche dal modo (più o meno ragionevole) in cui il
decodificatore decide di interpretare i dati in arrivo.
Come esempio completo consideriamo un canale la cui matrice è
0.5 0.3 0.2
P  0.2 0.3 0.5
0.3 0.3 0.4
Vogliamo decidere, sulla base della ricezione di una delle tre uscite, quale ingresso è stato
inviato.
Definizione. Dato un canale con alfabeto di ingresso X  x1 ,..., xr  e alfabeto di uscita
Y  y1 ,..., y s , chiamiamo regola di decisione d ( y j )  xi ogni funzione che specifica un
unico simbolo di ingresso per ogni simbolo di uscita.
Poiché abbiamo r ingressi ed s uscite, avremo rs possibili decisioni.
Si tratta di assumere quella decisione che minimizza la probabilità di errore del canale,
probabilità che definiamo come
s
P( E )   P( E | y j ) P( y j )
(6.1)
j 1
ossia la media delle probabilità d’errore condizionali data l’uscita yj.
Poiché si tratta di una somma di termini non negativi, dobbiamo scegliere una regola di
decisione d(yj) tale da minimizzare la probabilità condizionale P(E|yj), ossia dobbiamo
assumere la regola di decisione
d(yj)=xi*
tale che P( xi* | y j )  P( xi | y j ) per ogni i=1,…,r .
Ma per la regola di Bayes
P ( y j | x i* ) P ( x i* )  P ( y j | x i ) P ( x i )
(6.2)
e anche
P ( x i* , y j )  P ( x i , y j ) .
La (6.2) individua xi* per ogni yj.
Poiché vogliamo trovare la decisione che minimizza la (6.1), possiamo riscrivere la formula
come somma delle probabilità che si verifichino gli eventi congiunti (xi,yj) con ii* : ossia
quando la regola di decisione, che ha fatto decodificare yj in xi* , ha fatto in modo che
venisse trasmesso (sbagliando) un simbolo diverso da xi* una volta ricevuto yj:
s
s
P( E )   P( E | y j ) P( y j )   P( y j | xi ) P( xi )
j 1
j 1 i i*
Nel caso in cui le P(xi) siano costanti ed uguali ad
1
, abbiamo una regola di decisione
r
notevole detta regola di decisione a massima verosimiglianza e la (6.2) diviene (essendo
P(xi)=cost )
P ( y j | x i* )  P ( y j | x i )
con probabilità d’errore (essendo P(xi)=1/r )
P( E ) 
1 s
 P( y j | xi ) .
r j 1 i i*
(6.3)
Questa espressione è importante perché è la somma degli elementi di matrice di canale
con l’esclusione di un termine per ogni colonna (per la colonna j-ma è il termine
corrispondente ad i* in cui si è codificato yj.
Si potrebbe dimostrare anche che esiste una relazione fra la P(E) e l’equivocazione
dell’ingresso rispetto all’uscita, e vale
H ( X | Y )  H ( P( E ))  P( E ) log( r  1)
disuguaglianza di Fano
(6.4)
La disuguaglianza di Fano fornisce quindi un limite inferiore alla probabilità d'errore,
completando il secondo teorema di Shannon che porrà le condizioni per una probabilità di
errore piccola a piacere.
CODIFICA DI CANALE
Anche se adottiamo in decodifica le regole più opportune, la riduzione della probabilità di
errore è legata al trattamento dell’informazione prima della trasmissione, il che influenza la
suscettibilità al rumore durante la trasmissione.
Il trattamento dell’informazione prima della trasmissione è detto codifica di canale o
codifica a correzione d’errore, ed ha lo scopo di ridurre l’influenza del rumore e dei disturbi
introdotti dal canale sull’informazione, e quindi la probabilità di errore in ricezione.
Fig. 6.1
Lo schema più generale di trasmissione comprende la codifica di canale, distinta dalla
codifica di sorgente e applicata appunto allo scopo di attenuare gli effetti del rumore.
Dunque la codifica di sorgente è rivolta all’indietro perché codifica i segnali provenienti
dalla sorgente, mentre la codifica di canale è rivolta in avanti perché è attiva sul canale
allo scopo di ridurre il rumore.
Abbiamo visto che nella codifica di sorgente è consigliabile raggiungere il limite minimo,
nella codifica di canale sarà la ridondanza, ossia l’aggiunta di digit supplementari a quelli
di informazione, ad abbassare la probabilità di errore. Questa modalità è regolata dal
secondo teorema di Shannon, che stbilisce i limiti con cui la codifica di canale può
correggere gli errori introdotti dal rumore.
In ricezione si eseguiranno le operazioni inverse: la decodifica di canale è rivolta ai digit
che arrivano dal canale, ossia all’indietro: la decodifica di sorgente invia i simboli all’utente
ed è quindi rivolta in avanti.
Portiamo avanti l’esempio del canale BSC per valutare la possibilità di inviare messaggi
sicuri.
Consideriamo un BSC in cui sia =0.5 , con probabilità di errore p=0.01 , ossia tale che in
media il 99% dei bit trasmessi sia ricevuto correttamente pur in assenza di codifica di
canale.
Le ordinarie necessità richiedono però una probabilità di errore dell’ordine di 10-6 o 10-8.
La prima cosa che si può provare è ripetere ciascun messaggio (0 oppure 1) n volte, ad
esempio n=3. Questo è il cosiddetto codice a ripetizione.
In questo caso l’uscita del canale sarà uno qualunque degli elementi di (BSC)3:
Messaggi
Uscite
000
000
100
010
001
111
110
101
011
111
Come già visto nel caso di (BSC)2 (v. (4.2a)) e sapendo che
p(0 | 0)  p(1 | 1)  p *
p(1 | 0)  p(0 | 1)  p  1  p *
avremo per estensione che la probabilità di un errore su 3 binit è 3pp*, quella di due errori
è 3p2p*, e la probabilità che tutti e tre i binit siano ricevuti sbagliati è p3.
Infatti sappiamo che per (BSC)2 la matrice di canale è la (4.2.b)  
Quindi dovremo creare la
p*P
pP
pP
p * PBSC
p*P
pP
pP
p*P
P
che diventa una matrice 8x8 corrispondente a
p(000 | 000)
p(000 | 001)
p(000 | 010)
p(000 | 011)
p(000 | 001)
p(000 | 101)
p(001 | 000)
...
...
...
p(010 | 000)
...
...
...
...
...
...
...
p(000 | 110)
ossia
p *2 P
p* pP
pp * P
p2  P
p* pP
p *2
p2
pp *
...
...
...
...
...
...
...
...
..
da cui, limitandosi alla prima riga
p *3
p *2 p
p *2 p
p * p2
pp *2
p2 p *
p2 p *
p3
p *2 p
p *3
p * p2
p *2 p
p2 p *
pp *2
p3
p2 p *
...
...
...
...
...
...
...
...
...
...
...
...
p(000 | 111)
Adottiamo allora in ricezione una regola di decisione a maggioranza: ossia si decide per
000 o per 111 se la maggioranza dei digit della terna è 0 oppure 1. La probabilità d’errore
con questa regola è quella che prevede due o tre binit in errore, ossia
p( E )  3 p 2 p *  p 3  3.10 4
visto che p=0.01.
Quindi con una semplice ripetizione con terne si è ridotta la probabilità d’errore di due
ordini di grandezza.
Se inviamo 5 binit per ogni 0 e 5 per ogni 1, sempre con decodifica a maggioranza, si
arriva a calcolare che la probabilità di avere 5,4 o 3 errori diviene
p(E)=10-5 .
Se i binit ripetuti diventano 7,9,11 con la stessa regola di decisione a maggioranza, le
probabilità di errore diventano 4  10 7 ,10 8 ,5  10 10 .
Quando abbiamo la trasmissione diretta di 0 ed 1, abbiamo 1 bit di informazione per
simbolo trasmesso. Nel caso di ripetizione tripla abbiamo 1 bit ogni 3 simboli trasmessi, e
così via, ossia una velocità di trasmissione relativa di 1/3 bit/binit,….,1/11 bit/binit.
Ponendo in grafico queste valutazioni, si osserva che la velocità di trasmissione
dell’informazione (tasso di informazione) e la sicurezza della trasmissione vanno in modo
inverso:
(R= tasso di informazione , bit/messaggio
1 messaggio = 1 npla = k bit )
Fig. 6.2
Diminuzione della probabilità di errore con il tasso di informazione
Ma il secondo teorema di Shannon dimostra che non è necessario ridurre indefinitamente
il tasso di trasmissione per ridurre a piacere la probabilità d’errore.
Nel caso binario, supponiamo che ciascun messaggio sia costituito da k bit di
informazione, per un totale di M=2k messaggi da trasmettere.
Allora possiamo codificare gli M messaggi in 2k n-ple, con n>k, introducendo in ciascun
messaggio una ridondanza n-k. Come visto dalla teoria della distorsione e (3.6), in questo
caso il tasso di informazione è R=k/n .
Secondo il secondo teorema di Shannon, non è necessario che R tenda a zero perché la
trasmissione si affidabile. Se C è la capacità di canale, basta che sia R<C per rendere la
probabilità d’errore comunque piccola.
Dunque questo è un teorema d’esistenza, nel senso che afferma l’esistenza di possibili
codifiche, con velocità di trasmissione non trascurabili purchè inferiori a C, per cui è
possibile rendere la probabilità d’errore piccola a piacere.
SECONDO TEOREMA DI SHANNON O DELLA CODIFICA DI CANALE
Consideriamo un canale con r simboli dì ingresso e s simboli di uscita, con capacità di
canale C.
Sia  un numero arbitrariamente piccolo e M=rn(C-) , R=C- .
k
Si osserva che R 
n
k
, M  r nR  r n , e se r=2 M  2 k .
n
Per n sufficientemente grande è possibile scegliere un gruppo di M parole del codice per
rappresentare M messaggi equiprobabili, fra i possibili rn simboli di ingresso della
estensione n-ma del canale, in modo tale da rendere la probabilità di errore nella
decodifica minore di  .
Inversamente, se questa probabilità è minore di  deve aversi R=C- .
L’idea del secondo teorema di Shannon è quella di scegliere M n-ple fra le possibili rn, in
modo che
k/n=C-
ossia in modo che il tasso di informazione sia minore della capacità di canale. In questo
modo è possibile rendere la probabilità di errore comunque piccola.
In tal modo è possibile evitare la crescita indefinita di n per rendere la probabilità d’errore
piccola a piacere. A questo scopo il tasso di informazione non deve essere reso basso
indefinitamente: è sufficiente che sia minore di C.
Nel caso r=2 si avrà
M  2k
Quindi log M  k log 2 da cui
log M k
  C  .
n
n
Dimostriamo il teorema in questo caso e per un canale BSC.
(6.5)
Supponiamo che la probabilità d’errore del canale sia pari a p. Di conseguenza se
trasmettiamo una certa n-pla, cioè uno degli M messaggi, la n-pla avrà una distanza di
Hamming (v. 3.5 e 3.5a) dH dalla parola trasmessa che varrà in media ( n  p ), numero
medio di errori per messaggio.
Possiamo immaginare che la n-pla ricevuta si trovi nella sfera dello spazio delle n-ple
avente per centro la n-pla trasmessa e per raggio ( n  p ).
Ma affinchè la probabilità d’errore in decodifica possa essere piccola a piacere, è
necessario che queste sfere centrate nelle n-ple trasmesse siano fra loro disgiunte in
modo che mai una n-pla ricevuta sia associabile a due diverse n-ple trasmesse.
Ci dobbiamo allora chiedere: qual è il numero massimo M di n-ple che si possono
trasmettere, ossia il massimo M nello spazio delle n-ple in modo che le sfere di raggio
( n  p ) e centro nelle M parole del codice siano fra loro disgiunte?
Si dimostra che questo numero è dato da
M=2n(C-)
(6.5a)
con  arbitrariamente piccolo.
Se infatti ( n  p ) è il numero medio di errori introdotti dal BSC in ogni n-pla trasmessa,
allora il numero medio di sequenze che distano ( n  p ) dalla medesima n-pla sarà pari al
numero Cn,np di combinazioni semplici di n oggetti presi ( n  p ) alla volta.
Questo è il numero medio di n-ple che con alta probabilità risulterà in ricezione per ogni npla trasmessa.
Quindi la condizione che due sfere qualsiasi centrate nelle n-ple trasmesse non siano
sovrapposte è che il numero M dei messaggi (n-ple) trasmissibili sia al massimo uguale
al rapporto fra tutte le uscite altamente probabili e le uscite corrispondenti ad un
messaggio (Cn,np ).
Sappiamo che nel caso BSC il numero di uscite altamente probabili è 2nH(Y) (essendo r=2
e H  log 2 r per la 2.1a) , dove nH(Y) è l’entropia dell’estensione n-ma dell’uscita del
canale. Questa grandezza è a sua volta legata a P(Y) e quindi anche a p.
In definitiva si avrà quindi
M 
Per la valutazione di
2 nH (Y )
.
C n ,np
C n,np 
n!
[( np)!(n  np)!]
applichiamo al fattoriale l’approssimazione di Stirling per cui
n! n n e  n (2n)1 / 2
ottenendo facilmente per sostituzione
C n.np 
p  np (1  p)  n (1 p )
[2n( p(1  p))]1 / 2
Se poniamo il denominatore uguale ad 1 (si ha p  p 2 
1
che per n grande è sempre
2n
vero) , aumentando in questo modo il numero di n-ple considerate ricevibili per ogni n-pla
trasmessa) sia ricava (essendo N=2logN ):
Cn,np  2 np log p  2 n(1 p ) log(1 p )
Da cui
Cn,np  2 n( p log p(1 p ) log(1 p ))  2 nH ( p )
dove H(p) è l’entropia del BSC.
In conclusione, il valore massimo di M affinchè la trasmissione sia affidabile in modo che
le sfere corrispondenti ai messaggi inviati non siano mai sovrapposte sarà
M  2 nH (Y ) / 2 nH ( p )  2 n ( H (Y ) H ( p ))
(6.6)
Quindi la information rate R si può esprimere come
R
log M
 H (Y )  H ( p).
n
(6.7)
Questo significa che la information rate coincide con l’informazione mutua del canale BSC,
ha come valorre massimo la capacità C del canale BSC che vale 1-H(p), dove 1 è il valore
massimo dell’entropia dell’uscita, raggiunto quando gli ingressi 0 ed 1 sono equiprobabili.
Dunque è possibile prendere R vicina a piacere a C, purchè inferiore. Fissato allora >0
piccolo a piacere, possiamo porre R=C- e quindi avere dalla (6.6) M  2 n (C  ) , con sfere
disgiunte tali da assicurare una probabilità di errore inferiore ad .
Viceversa, se la probabilità è minore di , per la (6.6) si deve avere M  2 n (C  ) e quindi
R=C- .
Questo mostra la validità del secondo teorema di Shannon, ossia del fatto che in linea di
principio esiste una codifica con probabilità d’errore comunque piccola, inferiore ad un
certo , che consente un tasso di informazione R=C- .
La dimostrazione generale del secondo teorema di Shannon è molto complessa. Ne
accenniamo le linee generali.
Dobbiamo trasmettere M  2 k messaggi, ciascuno associato ad una n-pla con n>k. Per
far questo scegliamo a caso la n-pla , la parola di codice da associare a ciascuno degli M
messaggi (codifica di Shannon). Nel caso binario, se 2 n sono le n-ple possibili, si avranno
in tutto 2nM codici, tanti quante sono le disposizioni con ripetizione di 2 n oggetti presi M
alla volta.
Allora, se tutti i codici sono equiprobabili, la probabilità di sceglierne uno sarà
1
2
nM
 2  nM .
Trasmettitore e ricevitore conoscono il codice a la matrice di canale.
Il messaggio da trasmettere avrà probabilità
1
 2  k  2  nR .
M
Supponiamo di inviare nel canale questo messaggio, una particolare n-pla x n  W .
Al ricevitore arriva una n-pla yn che può essere qualsiasi data la possibilità di errore
causata dal passaggio nel canale. Il ricevitore dichiara che è stata trasmessa la parola
x *n  W * , che diciamo “congiuntamente tipica con yn ” : ossia, fissato >0, le due n-ple
appartengono entrambe ad un insieme individuato dall’entropia H(Xn;Yn) dell’evento
congiunto (Xn,Yn) ed uguale .
Se a questo insieme non appartiene nessuna altra W’, si dà per trasmessa W*. Ma se non
c’è nessuna W* o ce n’è più di una, il ricevitore decide che si è verificato l’errore E, ossia
che W*W trasmesso.
Viene allora calcolata la probabilità P(E)=P(W*W). La valutazione viene effettuata
calcolando la media di P(E) su tutte le M n-ple e su tutti i possibili 2nM codici.
A questo punto si trova che a patto che sia R=C- e che n sia abbastanza grande, la
probabilità che W* sia diverso da W è piccola a piacere: P(E)<2 . Si dimostra cioè che
esistono codifiche degli M=2k messaggi in altrettante delle 2n n-ple che, mantenendo un
tasso di informazione R purchè inferiore a C, per n abbastanza grande hanno una
probabilità di errore in decodifica che tende a zero.
Poiché si è mediato su tutti i 2nM codici, si giunge solo ad un teorema di esistenza.
Sfruttando la diseguaglianza di Fano (6.4) si dimostra anche il teorema inverso, ossia che
se una codifica degli M messaggi nelle 2n n-ple ha una probabilità d’errore che tende a
zero (ossia è inferiore ad un prefissato >0) al crescere di n, allora deve avere un tasso
di informazione minore della capacità di canale, R=C- .
Sulla spinta del secondo teorema di Shannon molti studiosi hanno studiato metodi di
codifica, alcuni dei quali giungono a probabilità d’errore con tasso di informazione molto
vicino a C.
______________________
Un esempio.
R=k/n, p(E)=p
1 degli M=2k messaggi sarà una n-pla che porta k bit (es. 000, k=1, n=3).
Ogni messaggio avrà distanza dH dalla parola trasmessa, in media dH=np=3p
Ad esempio:
-parola trasmessa (k=1) 0
-messaggio 000
p dipende dal canale
-confronto 0 con ognuno degli n=3 bit (0,0,0)
Dato n=3, quale M minimizza l’errore ?
Nello spazio R3 creo delle sferette di raggio 3p, ognuna centrata sulla n-pla (3pla)
trasmessa, e faccio in modo che non si compenetrino: ogni 3-pla ricevuta deve
appartenere ad una sola sferetta.
Le 3-ple sono in numero C3,3p
.
.