...

Il secondo teorema di Shannon

by user

on
Category: Documents
16

views

Report

Comments

Transcript

Il secondo teorema di Shannon
Il secondo teorema di Shannon
Appunti scritti da Alberto Leporati
e-mail: [email protected]
Dipartimento di Informatica, Sistemistica e Comunicazione (DISCo)
Università degli Studi di Milano — Bicocca
Via Bicocca degli Arcimboldi 8, 20126 Milano
1
Alcuni preliminari matematici
Nel corso della dimostrazione del secondo teorema di Shannon utilizzeremo la
seguente maggiorazione:
λn X
n
k=0
k
≤ 2nH(λ)
con 0 < λ <
1
2
dove H(·) è la funzione entropia per una sorgente binaria (o Bernoulliana), in
grado cioè di emettere due simboli. Si assume che λn sia un intero.
Useremo inoltre la legge debole dei grandi numeri.
Teorema 1 (Legge debole dei grandi numeri). Siano X1 , X2 , . . . , Xn variabili casuali indipendenti, con la stessa distribuzione di probabilità, aventi media
µ e varianza σ 2 . Allora, per ogni ε > 0 e δ > 0 esiste un intero n0 tale che, per
ogni n > n0 ,
" n
#
1 X
P Xi − µ ≤ ε ≥ 1 − δ
n
i=1
o, equivalentemente,
" n
#
1 X
P Xi − µ > ε < δ
n
i=1
Il teorema afferma che la media dei valori di X1 , X2 , . . . , Xn può essere portata, con alta probabilità, vicino quanto si vuole al valore atteso µ. Una interpretazione alternativa ed equivalente è la seguente: la probabilità che la media
dei valori di X1 , X2 , . . . , Xn si discosti da µ di una quantità ε > 0 scelta a piacere
può essere resa arbitrariamente piccola.
1
Si pensi, ad esempio, a X1 , X2 , . . . , Xn come alle variabili casuali che descrivono i risultati di n esperimenti identici e indipendenti. Ogni esperimento darà
in media il valore µ. La legge dei grandi numeri ci dice che si può portare il
valore medio della sequenza di esperimenti vicino quanto si vuole al valore medio
µ di ogni singolo esperimento. Ciò non avviene con certezza, ma con probabilità
vicina a 1 quanto si vuole.
Useremo la legge dei grandi numeri quando codificheremo i messaggi in estensioni molto grandi del canale. Spediremo nel canale sequenze di n cifre binarie.
La spedizione di ciascuna cifra binaria costituirà un esperimento Bernoulliano che
avrà probabilità di errore pari a Q. Nella spedizione del blocco di n cifre binarie
ci attenderemo quindi un numero medio di errori pari a nQ. La legge dei grandi
numeri ci assicurerà che il numero di errori che si sono effettivamente verificati,
diviso per n, potrà essere portato vicino a Q quanto si vuole, con probabilità
vicina a 1 quanto si vuole, a patto di lavorare con valori di n sufficientemente
grandi (lavorando quindi in estensioni del canale sufficientemente grandi, ovvero
spedendo sequenze sufficientemente lunghe di cifre binarie).
2
Il secondo teorema di Shannon
Dimostriamo ora un risultato fondamentale della Teoria dell’Informazione: in
un canale, anche in presenza di rumore, si riesce a trasmettere avvicinandosi
arbitrariamente alla capacità del canale, mantenendo l’affidabilità del canale (cioè
la probabilità di ricevere correttamente i messaggi) arbitrariamente vicina a 1.
Dimostreremo il teorema per il canale binario simmetrico (CBS), sia perché
la dimostrazione è più semplice, sia perché è il tipo di canale più usato in pratica. Daremo anche alcune indicazioni su come estendere il teorema a canali più
generali.
2.1
Regole di decisione
Dato un canale, supponiamo di aver ricevuto il simbolo bj ∈ B. Come facciamo
a decidere quale simbolo ai ∈ A è stato spedito? La scelta dipende dal canale,
ovvero dalle probabilità P (bj |ai ), e anche da come lo si usa, cioè dalle probabilità
p(ai ) associate ai simboli ai ∈ A.
Ad esempio, consideriamo il canale descritto dalla seguente matrice:
a1
a2
b1 b2 b3
0.6 0.5 0.4
0.4 0.5 0.6
e supponiamo che i simboli in ingresso siano equiprobabili:
p(a1 ) = p(a2 ) =
2
1
2
Allora, se riceviamo b1 è ragionevole supporre che sia stato spedito a1 . Analogamente, se riceviamo b3 è ragionevole supporre che che sia stato spedito a2 . Se
invece riceviamo b2 , potrebbe essere stato spedito sia a1 che a2 . Indichiamo con
d(bj ) il simbolo di A scelto tramite la regola di decisione d, quando si riceve il
simbolo bj .
In generale, una regola di decisione è una funzione d : B → A che ad ogni
simbolo di B associa uno e un solo simbolo di A. Poiché |B| = s e |A| = q, ci
sono q s diverse regole di decisione. Tra tutte queste si sceglie solitamente una
regola di decisione di massima verosimiglianza, che prescrive di prendere — per
ogni simbolo di B ricevuto — il simbolo di A più probabile. Se assumiamo che i
simboli di A vengano scelti dal mittente con probabilità uniforme, una regola di
decisione di massima verosimiglianza prescrive di associare a bj ∈ B il simbolo
a∗ ∈ A per il quale:
P (a∗ |bj ) ≥ P (ai |bj )
∀i
Essendo queste delle probabilità all’indietro, usando il teorema di Bayes possiamo
esprimerle come:
P (bj |a∗ ) p(a∗ )
P (bj |ai ) p(ai )
≥
p(bj )
p(bj )
∀i
Poiché abbiamo supposto che i simboli di A siano equiprobabili (e quindi p(a∗ ) =
p(ai ) = 1q ), otteniamo:
P (bj |a∗ ) ≥ P (bj |ai )
∀i
Per il canale di cui sopra abbiamo quindi le seguenti due regole di decisione
di massima verosimiglianza:
Regola 1
Regola 2
d(b1 ) = a1
d(b2 ) = a1
d(b3 ) = a2
d(b1 ) = a1
d(b2 ) = a2
d(b3 ) = a2
Si osservi che, in generale, la regola di decisione di massima verosimiglianza non
è unica.
Poiché scegliamo di associare a∗ al simbolo bj osservato, la probabilità di
commettere un errore è data da:
P (E|bj ) = 1 − P (a∗ |bj )
L’errore medio PE è dato quindi da:
X
PE =
P (E|bj )p(bj )
B
=
X
B
p(bj ) −
X
B
3
P (a∗ |bj )p(bj )
=1−
X
P (a∗ |bj )p(bj )
B
=1−
X P (bj |a∗ ) p(a∗ )
p(bj )
B
p(bj )
= essendo i simboli di A equiprobabili, vale p(a∗ ) =
1 X
=1−
P (bj |a∗ )
q
1
q
B
2.2
Il canale binario simmetrico (CBS)
Dimostriamo ora il teorema di Shannon per il CBS:
P
0
0
Q
Q
1
1
P
dove P è la probabilità di avere una trasmissione corretta, e Q = 1 − P è la
probabilità di avere un errore di trasmissione. Assumiamo Q < 12 , dato che:
• se Q = 12 , abbiamo un canale completamente rumoroso, in cui i simboli di
uscita sono indipendenti dai simboli dati in ingresso, e la capacità è 0;
• se Q > 12 , il canale sbaglia a trasmettere la maggior parte delle volte.
Tuttavia, possiamo scambiare il ruolo di 0 e 1 in uscita e ottenere un canale
in cui Q < 12 .
Lavoriamo con l’n–esima estensione del canale; in altre parole, spediamo blocchi
di n bit. Indichiamo con (CBS)n l’n–esima estensione del CBS. Inoltre, indichiamo con A e con B rispettivamente gli alfabeti di ingresso e di uscita di (CBS)n .
Si noti che l’n–esima estensione di un CBS è un canale uniforme.
Ci sono 2n configurazioni di n bit, e quindi potremmo pensare di porre A =
B = {0, 1}n . Tuttavia, se vogliamo proteggerci dal rumore non possiamo usare
tutte le 2n possibili configurazioni per A: come abbiamo visto studiando i codici
a correzione d’errore, i messaggi validi devono costituire un sottoinsieme di tutti
i possibili messaggi che transitano lungo il canale, e devono avere tra loro una
distanza di Hamming abbastanza grande. D’altra parte, dal canale può uscire
qualunque sequenza di n cifre binarie, e quindi avremo A ⊂ B = {0, 1}n (dove
con ⊂ si intende l’inclusione stretta).
Quanti messaggi ci vogliono allora per avvicinarsi alla capacità di canale? Se
supponiamo di usare M messaggi equiprobabili, l’informazione data da ciascuno
4
è:
I(ai ) = log2
1
= log2 M
1/M
Come abbiamo visto, la capacità di un CBS è:
C = 1 − H(P ) = 1 − H(Q)
per messaggi formati da una cifra binaria; pertanto, per l’n–esima estensione la
capacità è:
nC = n[1 − H(Q)]
Per avvicinarsi alla capacità di canale deve valere:
I(ai ) = log2 M = n(C − ε1 )
con ε1 > 0, ovvero:
2nC
2nε1
Questo significa che, facendo crescere n, il denominatore può essere reso arbitrariamente grande; in altre parole, stiamo prendendo come messaggi validi una
piccola frazione di tutti i possibili messaggi di lunghezza n.
M = 2n(C−ε1 ) =
2.3
Codifica casuale
La seconda questione è: come facciamo a costruire un codice i cui messaggi validi
siano equiprobabili e abbastanza distanti tra loro? Dato che non lo sappiamo
fare in generale, ci affidiamo a una codifica casuale. Infatti, se n è grande allora
due punti scelti a caso nello spazio n–dimensionale saranno molto probabilmente
distanti fra loro.
Per codificare ogni messaggio, lanciamo una moneta per n volte e registriamo
la sequenza di 0 e 1 risultante. Faremo quindi in totale nM lanci della moneta, e
otterremo uno dei 2nM possibili codici. Un metodo alternativo (ed equivalente a
quello appena descritto) di costruire il codice casuale è quello di scrivere tutte le
possibili sequenze di n cifre binarie su altrettante striscioline di carta, metterle
in un contenitore e fare M estrazioni casuali con reimmissione. Con entrambi
i metodi è possibile che due messaggi diversi vengano codificati con la stessa
sequenza di n cifre binarie; tuttavia, per n grande la probabilità che ciò avvenga
è molto bassa.
Immaginiamo ora gli M messaggi validi immersi nello spazio di Hamming
n–dimensionale (cioè lo spazio n–dimensionale in cui la distanza è quella di Hamming). La probabilità che si verifichi un errore di trasmissione in qualsiasi cifra
di ogni messaggio è Q = 1 − P , e quindi durante la trasmissione di un messaggio
ci attendiamo che avvengano mediamente nQ errori. Consideriamo una sfera il
cui centro è il messaggio inviato ai , con un raggio pari a nQ. Supponiamo di
5
incrementare il raggio della quantità nε2 (cioè di una piccola frazione di n), con
ε2 > 0. Il nuovo raggio è:
r = n(Q + ε2 )
Il valore di ε2 deve essere abbastanza piccolo da valere Q + ε2 < 12 ; il valore di
ε2 rispetto a ε1 verrà determinato più avanti.
Per la legge dei grandi numeri, se n è grande il messaggio ricevuto bj si troverà
fuori dalla nuova sfera con probabilità molto bassa. Quindi, se usiamo la regola
di decisione di massima verosimiglianza e siamo in grado di dimostrare che quasi
sicuramente nessuna sfera si interseca con altre sfere, abbiamo che il ricevente
può quasi essere sicuro su quale messaggio è stato spedito. Guardando le cose
dal punto di vista del ricevente, ciò equivale a considerare una sfera centrata
nel messaggio ricevuto bj , e la probabilità che il messaggio ai inviato si trovi
all’interno della sfera.
La regola di decisione di massima verosimiglianza ha una semplice interpretazione in termini di distanza di Hamming. Sia ai il messaggio inviato dal mittente,
e bj quello ricevuto. Se la distanza di Hamming tra ai e bj è D, allora ai e bj
differiscono in esattamente D posizioni, e la probabilità di ricevere bj avendo
spedito ai è uguale alla probabilità che avvengano D trasmissioni (di una singola
cifra binaria) errate e n − D trasmissioni corrette:
P (bj |ai ) = QD (1 − Q)n−D
Essendo Q < 12 , questa quantità diminuisce all’aumentare di D. Quindi, più
lontano è bj da ai e minore è la probabilità di riceverlo. La regola di decisione di
massima verosimiglianza seleziona il messaggio valido che massimizza P (bj |ai ),
ovvero il messaggio valido più vicino a bj rispetto alla distanza di Hamming.
Quindi, correggere il messaggio ricevuto scegliendo il messaggio valido che
ha distanza di Hamming minima equivale ad utilizzare la regola di massima
verosimiglianza. Ciò avviene sempre quando si è in presenza di rumore bianco.
Nel caso in cui due o più messaggi validi si trovino alla stessa distanza (minima)
dal messaggio ricevuto, il ricevente non può far altro che tirare a indovinare.
Se i messaggi validi che hanno distanza minima dal messaggio ricevuto sono k,
otterremo il messaggio corretto con probabilità k1 .
La regola di massima verosimiglianza è però difficile da analizzare. Useremo
pertanto un’altra regola di decisione che è molto simile. Nonostante tale regola
non sia cosı̀ buona quanto la regola di massima verosimiglianza, ci consentirà
comunque di ottenere una probabilità d’errore piccola quanto vogliamo. La regola
di decisione adottata consiste nel considerare la sfera di raggio r = n(Q + ε2 ),
centrata in bj e, se c’è un solo messaggio a ∈ A all’interno di questa sfera,
sceglierlo.
Scriviamo ora una formula che esprime la probabilità di non riuscire a decodificare correttamente il messaggio, utilizzando tale regola. Si verifica un errore
se ai non si trova all’interno della sfera S(r) centrata in bj , oppure se in tale sfera
6
c’è più di un simbolo di A (dato che in tal caso non sappiamo quale scegliere per
decodificare bj ). Quindi la probabilità PE d’errore è:
PE = P[ai 6∈ S(r)] + P[ai ∈ S(r)] · P[almeno un altro messaggio valido ∈ S(r)]
Poiché P[ai ∈ S(r)] ≤ 1, possiamo scrivere:
PE ≤ P[ai 6∈ S(r)] + P[almeno un altro messaggio valido ∈ S(r)]
La frase “almeno un altro messaggio valido ∈ S(r)” significa “uno o più messaggi validi diversi da ai ∈ S(r)”. Poiché, dato un numero finito di eventi
E1 , E2 , . . . , En (non necessariamente disgiunti) vale:
P[E1 ∨ E2 ∨ . . . ∨ En ] ≤ P[E1 ] + P[E2 ] + . . . + P[En ]
allora:
P[almeno un altro messaggio valido ∈ S(r)] ≤
X
P[a ∈ S(r)]
a∈A\{ai }
da cui:
PE ≤ P[ai 6∈ S(r)] +
X
P[a ∈ S(r)]
a∈A\{ai }
Il primo termine è la probabilità che il messaggio valido ai non si trovi nella sfera
di raggio r (che è di poco maggiore della distanza di Hamming corrispondente a
nQ errori di trasmissione, che è il numero di errori che ci aspettiamo in media)
centrata in bj , che è il messaggio ricevuto. Tale probabilità è uguale alla probabilità che il messaggio bj ricevuto non si trovi nella sfera di raggio r centrata in
ai . Il secondo termine è la somma, su tutti i messaggi non inviati, che ciascuno
di questi si trovi nella sfera di raggio r centrata in bj . Speriamo che, usando una
codifica casuale, la probabilità che uno di questi messaggi si trovi in tale sfera sia
molto bassa. Questa speranza nasce dal fatto che, per n molto grande, è molto
improbabile che due messaggi presi a caso nello spazio n–dimensionale si trovino
vicini.
Per la legge dei grandi numeri, il primo termine (che dipende solamente da ai )
può essere reso più piccolo di qualunque reale positivo δ = δ(ε2 , n) (la cui scelta
cioè dipende da ε2 e da n) prefissato aumentando il valore di n, cioè la lunghezza
dei messaggi trasmessi. Infatti, come abbiamo detto, il numero medio di errori
che si verificano durante la trasmissione di una sequenza di n cifre binarie è nQ.
Per ogni valore fissato di n ci sarà una probabilità che il numero effettivo di errori
superi il suo valore medio di nε2 o più. Man mano che n cresce, però, ciò diventa
sempre meno probabile; più precisamente, per la legge debole dei grandi numeri
vale:
∀ ε2 , δ > 0 ∃ n0
tale che ∀ n > n0
P[numero di errori > nQ + nε2 ] < δ
7
h
i
(equivalentemente, P numero din errori−nQ ≤ ε2 ≥ 1 − δ). Questo significa
che, prendendo n sufficientemente grande, possiamo essere sicuri che:
P[ai 6∈ S(nQ + nε2 )] < δ
con δ arbitrariamente piccolo. Pertanto abbiamo:
X
PE ≤ δ +
P[a ∈ S(r)]
a∈A\{ai }
2.4
Il codice casuale medio
Per poter valutare la sommatoria presente nell’ultima disuguaglianza, facciamo
ora la media su tutti i possibili codici casuali.
In ogni codifica casuale abbiamo M = 2n(C−ε1 ) messaggi di lunghezza n, e
ci sono 2nM possibili codici casuali. Supponiamo che tutti questi codici siano
1
equiprobabili, cioè che ciascuno venga scelto con probabilità 2nM
. Indichiamo
f
con PE la media, pesata con tali probabilità, delle probabilità di errore. Tenendo
conto che δ è una costante, e che |A| = M , abbiamo:
e
Pf
E ≤ δ + (M − 1) · P[a ∈ S(r)]
e ∈ S(r)]
≤ δ + M · P[a
(a 6= ai )
(1)
(la tilde indica sempre la media calcolata su tutti i possibili codici casuali).
e ∈ S(r)] (per a 6= ai ) fissiamo l’attenzione su un qualunque
Per calcolare P[a
messaggio a 6= ai . La probabilità che a ∈ S(r) è il rapporto tra il volume della
sfera e il volume totale dello spazio. Indichiamo con N (r) il numero di punti
presenti all’interno della sfera S(r). Poiché il volume totale dello spazio è 2n ,
abbiamo:
e ∈ S(r)] = N (r)
P[a
2n
Dato che stiamo lavorando in uno spazio di Hamming, vale:
N (r) = 1 +
X
r n
n
n
n
+
+ ... +
=
1
2
r
k
k=0
Ricordiamo inoltre che vale:
r = n(Q + ε2 )
e
Q + ε2 <
1
2
Possiamo applicare la disuguaglianza:
λn X
n
k=0
k
≤ 2nH(λ) ,
8
con 0 < λ <
1
2
a N (r), ponendo λ = Q + ε2 ; otteniamo:
N (r) ≤ 2nH(λ)
e quindi:
e ∈ S(r)] ≤ 2−n[1−H(λ)]
P[a
(con a 6= ai )
Tornando a Pf
E , l’equazione (1) diventa:
−n[1−H(λ)]
Pf
E ≤δ+M ·2
(2)
Ricordiamo che la capacità dei CBS è:
C = 1 − H(P ) = 1 − H(Q)
Pertanto, l’esponente che compare nell’equazione (2) può essere scritto come:
1 − H(λ) = 1 − H(Q + ε2 )
= 1 − H(Q) + H(Q) − H(Q + ε2 )
= C − [H(Q + ε2 ) − H(Q)]
(3)
Dato che la funzione entropia ha la convessità verso il basso, e può essere
limitata superiormente tracciando una retta tangente in qualsiasi punto di ascissa
Q ∈ (0, 1), vale:
dH H(Q + ε2 ) ≤ H(Q) + ε2 ·
dx Q
dove:
Essendo Q <
1
2
dH 1
1−Q
1
= log
= log − log
dx Q
Q
1−Q
Q
vale:
2Q < 1
e quindi:
da cui
Q<1−Q
da cui
dH 1−Q
>0
= log
dx Q
Q
Pertanto l’equazione (3) diventa:
1 − H(λ) ≥ C − ε2 log
dove abbiamo posto:
ε3 = ε2 log
9
1−Q
= C − ε3
Q
1−Q
Q
1−Q
>1
Q
Quindi l’equazione (2) diventa:
−n(C−ε3 )
Pf
E ≤δ+M ·2
≤ δ + 2n(C−ε1 ) 2−n(C−ε3 )
≤ δ + 2−n(ε1 −ε3 )
Questo significa che se scegliamo ε2 abbastanza piccolo da avere:
ε1 − ε3 = ε1 − ε2 log
1−Q
>0
Q
allora l’errore medio Pf
E può essere reso arbitrariamente piccolo scegliendo n
sufficientemente grande.
Avendo dimostrato che il codice medio, calcolato su tutti i possibili codici
casuali, soddisfa i requisiti richiesti, esisterà almeno un codice casuale che li
soddisfa. Abbiamo cosı̀ dimostrato il secondo teorema di Shannon, che possiamo
parafrasare come segue.
Teorema 2 (Secondo teorema di Shannon). Esistono codici che sono arbitrariamente affidabili e che possono trasmettere una quantità di informazione
arbitrariamente vicina alla capacità di canale (usando un’opportuna estensione
del CBS).
Cosa impariamo da questo teorema? Anzitutto impariamo che esistono dei
“buoni” codici dal punto di vista teorico. Il teorema di Shannon non ci mostra esattamente come costruire un buon codice, e quindi la dimostrazione non
è costruttiva. D’altra parte, il teorema ci fornisce un metodo che genererà dei
buoni codici in media, e quindi non si può neanche dire che la dimostrazione sia
puramente esistenziale. Vediamo anche che in tali codici bisogna spedire dei messaggi molto lunghi, e quindi in ogni messaggio bisognerà correggere molti errori.
Spedire messaggi molto lunghi significa che il mittente dovrà raccogliere molte
informazioni prima di spedire ogni messaggio, il che non è molto pratico. Inoltre, il ricevente dovrà utilizzare delle tabelle di decodifica molto grosse: infatti,
essendo il codice utilizzato casuale, non siamo in grado di dare una descrizione
compatta dei processi di codifica e decodifica, come avviene ad esempio per i
codici di Hamming. Si tratta quindi di un importante risultato teorico, che però
non ci aiuta molto nella pratica.
2.5
Il teorema di Shannon per canali generici
La dimostrazione del teorema di Shannon per canali generici segue lo schema della
dimostrazione per i CBS. La grossa differenza è che dobbiamo trovare una metrica
equivalente a quella di Hamming (che tra l’altro va bene solo per un canale dotato
di rumore bianco). Dobbiamo poi contare il numero di possibili messaggi che si
trovano all’interno di una “sfera”, definita usando tale metrica. Infine, la formula
10
che esprime la capacità di canale non è più C = 1 − H(P ) = 1 − H(Q), ma
dobbiamo tornare alla definizione.
La metrica di cui abbiamo bisogno deve tener conto della probabilità che
si verifichino errori durante la trasmissione. Se il rumore non è più bianco, le
sfere diventano degli ovali che sono più lunghi nelle direzioni in cui gli errori
sono più probabili. Si prendono poi degli ovali aventi raggi tali che ci sia la
stessa probabilità di errore in ogni direzione, centrati nel simbolo bj ricevuto, e
li si ingrandisce come prima, in modo tale che (per la legge dei grandi numeri)
quando n è sufficientemente grande, quasi certamente il messaggio ai spedito si
trovi all’interno dell’ovale. Il valore di n deve anche essere abbastanza grande
in modo tale che la probabilità che gli ovali si sovrappongano sia bassa. Infine,
scegliamo il numero M di messaggi da spedire in modo da avvicinarci alla capacità
del canale.
Per il resto, la dimostrazione procede come quella per il CBS.
3
La disuguaglianza di Fano
Dimostriamo ora la disuguaglianza di Fano, che ci servirà per dimostrare l’inverso
del teorema di Shannon.
Poniamo innanzitutto:
X
PE =
P (a, b)
B,A\{a∗ }
e
PE = 1 − PE =
X
P (a∗ , b)
B
Consideriamo l’espressione:
q−1
1
+ PE log
PE
PE
X
q−1 X
1
=
P (a, b) log
+
P (a∗ , b) log
PE
PE
B
B,A\{a∗ }
H(PE ) + PE log(q − 1) = PE log
L’equivocazione H(A|B) vale:
X
H(A|B) =
p(b)H(A|b)
B
=
X
p(b)
B
=
X
P (a|b) log
A
P (a, b) log
B,A
=
X
X
B,A\{a∗ }
1
P (a|b)
1
P (a|b)
P (a, b) log
X
1
1
+
P (a∗ , b) log
P (a|b)
P (a∗ |b)
B
11
La differenza vale:
H(A|B) − H(PE ) − PE log(q − 1) =
X
X
PE
PE
P (a, b) log
+
P (a∗ , b) log
(q − 1)P (a|b)
P (a∗ |b)
∗
B
B,A\{a }
Applichiamo ora la disuguaglianza:
ln x ≤ x − 1
ovvero (cambiando base):
log x
≤x−1
log e
da cui
log x ≤ (x − 1) log e
ad ogni termine della somma. Tralasciando il fattore log e (che non cambia il
risultato che otterremo) abbiamo:
H(A|B) − H(PE ) − PE log(q − 1) ≤
X
X
PE
PE
∗
≤
P (a, b)
−1 +
P (a , b)
−1
(q − 1)P (a|b)
P (a∗ |b)
∗
B
B,A\{a }
PE
=
q−1
X
p(b) − PE + PE
X
p(b) − PE
B
B,A\{a∗ }
X
X
PE
=
(q − 1)
p(b) + PE
p(b) − (PE + PE )
q−1
B
B
= PE + PE − (PE + PE ) = 0
Pertanto vale:
H(A|B) ≤ H(PE ) + PE log(q − 1)
che viene detta disuguaglianza di Fano.
L’uguaglianza vale quando ln x = x − 1, ovvero quando x = 1. Dato che abbiamo usato la disuguaglianza ln x ≤ x−1 in due posti diversi, si ha l’uguaglianza
quando valgono entrambe le seguenti condizioni:
1. P (a|b) =
PE
q−1
2. P (a∗ |b) = 1 − PE
∀ b, ∀ a 6= a∗
∀b
Tuttavia, la seconda condizione è inclusa nella prima (cioè la prima implica la
seconda). Infatti possiamo scrivere:
X
P (a|b) = 1
∀b
A
12
e quindi:
X
P (a|b) + P (a∗ |b) = 1
∀b
A\{a∗ }
Per la condizione 1, questa diventa:
PE X
1 + P (a∗ |b) = 1
q−1
∗
∀b
A\{a }
Essendo |A| = q, si ottiene:
PE
(q − 1) + P (a∗ |b) = 1
q−1
∀b
che è proprio la condizione 2.
4
L’inverso del teorema di Shannon
Mostriamo ora che la probabilità d’errore non può essere resa arbitrariamente
piccola se si supera la capacità del canale. In altre parole, non possiamo usare
M = 2n(C+ε)
con ε > 0
messaggi validi equiprobabili, soddisfacendo i requisiti del teorema di Shannon.
Infatti, supponiamo per assurdo di poterlo fare. Allora la variazione di entropia deve essere minore o uguale della capacità dell’n–esima estensione del
CBS:
H(A) − H(A|B) ≤ nC
(4)
dato che la capacità dell’n–esima estensione del CBS è, per definizione, il valore
massimo di tale variazione. Dato che la probabilità di scegliere ogni messaggio
1
valido è M
, abbiamo:
X 1
log M
M
= log M = n(C + ε)
H(A) =
Pertanto, dalla (4) abbiamo:
n(C + ε) − nC = nε ≤ H(A|B)
e quindi, dalla disuguaglianza di Fano:
nε ≤ H(A|B) ≤ H(PE ) + PE log(M − 1)
Ricordiamo ora che vale H(PE ) ≤ 1. Inoltre M − 1 < M , da cui log(M − 1) <
log M . Otteniamo quindi:
nε ≤ 1 + PE · n(C + ε)
13
da cui:
PE ≥
nε − 1
ε − 1/n
=
n(C + ε)
C+ε
n→+∞
−→
ε
>0
C +ε
Possiamo concludere che, per n che tende all’infinito, PE non si avvicina
ε
a 0 ma si avvicina alla quantità C+ε
, che è positiva. Questo significa che la
probabilità d’errore non può essere resa arbitrariamente piccola se si supera la
capacità del canale.
Riferimenti bibliografici
[1] N. Abramson. Information Theory and Coding. McGraw-Hill, 1963.
[2] R. H. Hamming. Coding and Information Theory. Second Edition. Prentice
Hall, Englewood Cliffs, 1986.
14
Fly UP