TIC-1 - Dipartimento di Matematica e Informatica

Teoria dell’Informazione (Classica)
Andrea G. B. Tettamanzi
Università degli Studi di Milano
Dipartimento di Tecnologie dell’Informazione
Andrea G. B. Tettamanzi, 2001
Lezione 1
3 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Programma del Corso
•
•
•
•
•
•
•
•
•
Che cos’è l’Informazione e che cos’è la T.I.
Richiami di Teoria della Probabilità
Proprietà matematiche utilizzate nella T.I.
Misura dell’informazione: l’Entropia.
Codici
Comunicazione in presenza di rumore
Codici a correzione d’errore
Cenni sulla Teoria della Trasmissione
Cenni di Crittografia
Andrea G. B. Tettamanzi, 2001
Bibliografia
• E. ANGELERI: Informazione: significato e universalità, UTET,
Torino, 2000. (libro di testo)
• J. VAN DER LUBBE: Information Theory, Cambridge University
Press, 1988.
• J. R. PIERCE: An Introduction to Information Theory, Dover,
1980.
Andrea G. B. Tettamanzi, 2001
Ricevimento Studenti
• Giovedì, dalle ore 14.00 alle ore 16.00
• Per appuntamento:
– e-mail: [email protected]
– tel.: 03 73 89 82 48
• Sito del corso: “http://mago.crema.unimi.it/Classes/TIC”
Andrea G. B. Tettamanzi, 2001
Modalità di Esame
• Scritto: 3 o 4 esercizi che coprono vari argomenti del corso.
– Temi d’esame degli scritti degli anni passati, completi di correzione,
disponibili all’URL:
“http://mago.crema.unimi.it/Classes/TIC/Temidesame”
• Orale: interrogazione su definizioni, enunciati di teoremi e
alcune dimostrazioni, rielaborazione critica del materiale
presentato a lezione.
Andrea G. B. Tettamanzi, 2001
Che Cos’è l’Informazione?
SINTASSI
SEMANTICA
PRAGMATICA
Andrea G. B. Tettamanzi, 2001
Informazione
informazione
significato
apparato
simbolico
Rilevanza pratica dell’informazione (effetto, scopo, ecc.)
Andrea G. B. Tettamanzi, 2001
Informazione - semantica
• La quantità di informazione di un enunciato è tanto più grande
quante più sono le alternative che esso esclude.
A
Andrea G. B. Tettamanzi, 2001
B
U
Che cos’è la Teoria dell’Informazione?
• Una teoria matematica dell’aspetto simbolico dell’Informazione
• Un approccio quantitativo alla nozione di Informazione
• Risponde alle domande:
– Come immagazzinare e trasmettere informazione in modo
compatto? (compressione)
– Qual’è la massima quantità di informazione che può essere
trasmessa su un canale? (velocità di trasmissione)
– Come posso proteggere la mia informazione:
• dalla corruzione del suo supporto o da errori di trasmissione?
• da sguardi indiscreti?
Andrea G. B. Tettamanzi, 2001
Compressione
Immagazzinamento = Trasmissione
scrittura
t0
x0
invio
lettura
t1
Andrea G. B. Tettamanzi, 2001
x1
ricezione
Funzioni convesse
f ( x1 )  f ( x2 )  f (x1  x2 )
   1
,   0
Diseguaglianza fondamentale:
x
log b x 
1
ln b
Andrea G. B. Tettamanzi, 2001
ln x  x 1
Convessità del valore atteso
g( X )
convessa
E[ g ( X )]  g ( E[ X ])
g( X )
concava
E[ g ( X )]  g ( E[ X ])
Andrea G. B. Tettamanzi, 2001
Misura dell’Informazione
Alfabeto di s simboli
R. V. L. Hartley
C
I
1
2
s
l
A
O
,
M
A
M
M
A
!
l
Messaggi possibili
R. Hartley
H ( s )  log s  l log s
l
Perché il logaritmo? Perché così
Andrea G. B. Tettamanzi, 2001
l
H ( s )  lH ( s )
l
1
Unità di misura dell’Informazione
A
A
1
P ( A)  P ( A ) 
2
La quantità di informazione che permette di distinguere uno
di due eventi equiprobabili e mutuamente esclusivi è l’unità
di misura dell’informazione: il bit.
Un simbolo di un alfabeto di s simboli equiprobabili porterà
un’informazione di
log 2 s bit
Andrea G. B. Tettamanzi, 2001
Entropia informativa di Shannon
n
H ( X )   P( xi ) log P( xi )
i 1
continua
simmetrica (commutativa)
additiva
Andrea G. B. Tettamanzi, 2001
H ( X , Y )  H ( X )  H (Y )
Massimo dell’Entropia
H ( X )  log n
n
n
1
H ( X )  log n   pi log pi  log n   pi log

pi n
i 1
i 1
 1

 n 1 n 
  pi 
 1 log e     pi  log e 
i 1
 i 1 n i 1 
 pi n 
 (1  1) log e  0
n
N.B.: log a b 
Andrea G. B. Tettamanzi, 2001
1
log b a
Entropia delle lingue
Frequenze
dei simboli
P (" A" )
testo

P (" Z" )
"Z"
1
H ( testo )   P( )log 2
P( )
 "A"
Andrea G. B. Tettamanzi, 2001
Ridondanza
R  1 
Efficienza di codifica
H (it )  3,956
H (fr )  3,896
H (de)  4,046
H (en )  4,056
Andrea G. B. Tettamanzi, 2001
H (X )

log 2 M
 (it )  0,887
 (fr )  0,839
 (de)  0,850
 (en )  0,853
Informazione secondo Kolmogorov
Misura assoluta, non utilizza la probabilità
D( y )  x
y
x
Y
X
oggetti
fn.
parziale
ricorsiva
K ( x)  min y
D ( y ) x
Andrea G. B. Tettamanzi, 2001
descrizioni
Equivalenza con entropia di Shannon
x : K ( x)  k  2
k
H ( X n )   p( x n ) K ( x n ) H ( X n )  2 log n  c
xn
H ( X )  nH ( X )
n
n
K (x )
lim
 H(X )
n 
n
Andrea G. B. Tettamanzi, 2001
Lezione 2
8 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Assiomi dell’entropia (1)
1
2
H ( p1 , p2 ,, pn )
Misura d’incertezza,
max con eventi equiprobabili
H ( p1 , p2 ,, pn )  H ( p (1) , p ( 2) ,, p ( n ) )
(simmetrica)
3
H ( p1 , p2 ,, pn )  0
4
H ( p1 , p2 ,, pn )  H ( p1 , p2 ,, pn ,0)
Andrea G. B. Tettamanzi, 2001
Assiomi dell’entropia (2)
5
1 1
1
1
1
1
H ( , ,, )  H (
,
,,
)
n n
n
n 1 n 1
n 1
6
continua
7
H ( p1 ,, pn )  H (q1 ,, qn )  H ( p1q1 ,, pn qn )
8
H ( p1 , , pn , q1 ,  , qn ) 
(diramazione)
pn
qn
p1
q1
 H ( p, q)  pH ( , , )  qH ( , , )
p
p
q
q
Andrea G. B. Tettamanzi, 2001
Teorema
Se H soddisfa gli otto assiomi,
n
H ( p1 ,, pn )  k  pi log pi
i 1
k 0
Basterebbero 4 assiomi “minimali”:
- continuità;
- simmetria;
- proprietà di diramazione
- H(1/2, 1/2) = 1
Andrea G. B. Tettamanzi, 2001
Modello della comunicazione
sorgente
canale
rumore
Andrea G. B. Tettamanzi, 2001
destinazione
Modello dettagliato
Sorgente di
informazione
Destinazione
riduzione
ricostruzione
Codifica
sorgente
Decodifica
sorgente
distorsione
(rumore)
cifratura
Codifica
canale
Canale discreto
modulazione
Andrea G. B. Tettamanzi, 2001
Canale continuo
decifrazione
Decodifica
canale
demodulazione
Sorgente discreta senza memoria
T  ti : i  Z 
X  x1 , x2 ,, xn 
P( X )  p( x1 ), p( x2 ), , p( xn )
n
 p( x )  1
i 1
i
S è un dispositivo che genera ad ogni istante t un simbolo x con
probabilità p(x), i.i.d.
 x1
S  
 p( x1 )
Andrea G. B. Tettamanzi, 2001
xn   X 
   
p( x2 )  p( xn )   P 
x2

Proprietà
Indipendenza statistica e stazionarietà:
r 1
P( X k X k 1  X k  r 1  xi0 xi1  xir 1 )   P( X k  j  xi j )
j 0
1
I ( xi )  log
p( xi )
Andrea G. B. Tettamanzi, 2001
autoinformazione
Il concetto di codice
Alfabeto sorgente
S  s1 , s2 ,, sN 
Alfabeto del codice
X  x1 , x2 ,, xn 
zS *
cod : S*  X *
w  cod(z )
w X *
Andrea G. B. Tettamanzi, 2001
N n
z  cod 1 (w)
Esempio: codifica delle cifre decimali
Cifra
decimale
Rappresentazione
binaria
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Andrea G. B. Tettamanzi, 2001
Estensione di una sorgente
Alfabeto base
Alfabeto esteso
Andrea G. B. Tettamanzi, 2001
X  x1 , x2 ,, xn 
m
m













m
X   x1 x1  x1 ,, xn xn  xn 




Teorema
Data una sorgente senza memoria,
H ( X m )  mH ( X )
Dimostrazione:
1
H ( X )     p( xi1  xim ) log
p( xi1  xim )
xi1 X 1
xim X m
m
1
    p( xi1 )  p( xim ) log
p( xi1 )  p( xim )
xi1 X 1
xim X m
1
 m  p( xi ) log
 mH ( X )
p( xi )
xi X
Andrea G. B. Tettamanzi, 2001
Nel caso X = {0, 1}


1
1
1
1
 p0 p1 log
 p1 p0 log
 p1 p1 log
p0 p 0
p0 p1
p1 p0
p1 p1
H {0,1}2  p0 p0 log
 p02 2 log

1
1
1
1
 2 p0 p1  log
 log   p12 2 log
p0
p0
p1 
p1


1
1
1
1
 2  p02 log
 p0 p1 log
 p0 p1 log  p12 log 
p0
p0
p1
p1 


1 2
1
2 
 2 log
p0  p0 p1  log
p0 p1  p1 
p
p
0
1








1
 p0  p1   p1 log 1  p0  p1 
 2  p0 log
p0
p1



1
1
 2  p0 log
 p1 log   2 H {0,1}
p0
p1 

Andrea G. B. Tettamanzi, 2001
Lezione 3
14 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Classificazione dei codici
A blocco
Singolare
Non singolare
Unicamente
decodificabile
Istantaneo
Andrea G. B. Tettamanzi, 2001
Non istantaneo
Non unicamente
decodificabile
Esempi
Non unicamente
decodificabile:
Non istantaneo:
s1  0
s1  0
s2  11
s2  01
s3  00
s3  0111
s4  01
s4  0110
Andrea G. B. Tettamanzi, 2001
Codici a prefisso
Condizione necessaria e sufficiente perché un codice
sia istantaneo è che nessuna parola del codice sia un
prefisso di un’altra parola del codice.
0
0
0
1
1
1
Andrea G. B. Tettamanzi, 2001
Diseguaglianza di Kraft
Condizione necessaria e sufficiente perché esista un
codice istantaneo con lunghezze di parola
l1 , l2 ,  , lq
è che
q
li
r
 1
i 1
Andrea G. B. Tettamanzi, 2001
Dimostrazione - sufficienza
q
Costruiamo un codice istantaneo che soddisfa
li
r
 1
i 1
lmax
lmax
lmax l
lmax
n
r

r
l
l
n
r
 l 1
l 1
l 1
lmax
n
l 1
l
q
nlmax  r lmax  n1r lmax 1    nlmax 1r
nlmax 1  r lmax 1  n1r lmax  2    nlmax  2 r

n2  r 2  n1r
n1  r
Andrea G. B. Tettamanzi, 2001
Teorema di McMillan
Un codice unicamente decodificabile soddisfa la diseguaglianza di Kraft
n


lq
 li 
l1
l2
  r   r  r    r
 i 1

q

n
n  1
Sviluppando la potenza, avremo qn termini della forma
r
li1 lin
 r k
k  li1    lin
n  k  nlmax
n
nlmax
nlmax


  r li    N k r  k   r k r  k  nlmax  n  1  nlmax
k n
k n
 i 1

q
q
Nk  r
Andrea G. B. Tettamanzi, 2001
k
ma allora deve essere
li
r
 1
i 1
Teorema di codifica della sorgente
n
Sia
l   li pi
la lunghezza media di un codice istantaneo
i 1
a r simboli. Allora,
l  H r (S )
l  H r ( S )  i : pi  r li
Andrea G. B. Tettamanzi, 2001
Dimostrazione
n
n
n
1 n
1
H r (S )  l   pi log r
 li pi   pi log r
  pi log r r li
pi i 1
pi i 1
i 1
i 1
1
ln
 li
n
n
n
pi r li
r
1
  pi log r
  pi log r
  pi

li
pi
ln r
pi r
i 1
i 1
i 1

1 n  1
1  n li 

pi 
 1 
  r  1  0

li
ln r i 1  pi r

 ln r  i 1
Proprietà fondamentale dei logaritmi
Andrea G. B. Tettamanzi, 2001
Kraft
Lezione 4
21 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Processi Stocastici
Un processo stocastico è una successione di v.a.
X 1 , X 2 ,, X t ,
Ciascuna con la propria distribuzione di probabilità.
Notazione:
Andrea G. B. Tettamanzi, 2001
 X ()
t
t 0 ,1,
Catene di Markov
 X ()
Un processo stocastico
t
t 0 ,1,
è una catena di Markov sse il suo stato dipende solo dallo
stato precedente, cioè, per ogni t,
P[ X t  x| X 0 , X 1 , , X t 1 ]  P[ X t  x| X t 1 ]
0.4
0.6
A
B
0.3
Andrea G. B. Tettamanzi, 2001
0.7
C
0.25
0.75
Processi Markoviani
 X ()
t
t 0 ,1,
È un processo Markoviano di ordine m sse
P[ X t  x | X 0 , X 1 ,, X t 1 ] 
 P[ X t  x | X t 1 , X t 2 ,, X t m ]
Andrea G. B. Tettamanzi, 2001
Sorgente discreta con memoria
T  ti : i  Z 
X  x1 , x2 ,, xn 
P( X )  P[ xi (t ) | x(t  1), , x(t  m)]
S è un dispositivo che genera ad ogni istante t un simbolo x con
probabilità condizionata dagli m simboli generati in precedenza
Stazionarietà: le probabilità sono costanti nel tempo
Andrea G. B. Tettamanzi, 2001
Informazione e Entropia condizionali
Informazione condizionale:
1
I ( xi | x j1 x j2  x jm )  log
p( xi | x j1 x j2  x jm )
Entropia condizionale:
n
1
H ( X | x j1 x j2  x jm )   p ( xi | x j1 x j2  x jm ) log
p( xi | x j1 x j2  x jm )
i 1
Andrea G. B. Tettamanzi, 2001
Proprietà dell’Entropia condizionale
H (Y | X )  H (Y )
Dimostrazione:
X
 p( x | y )  1
H (Y | X )  H (Y ) 
X
Y
  p( y j | xi ) log
i 1 j 1
i 1
i
j
Y
1
p( y j | xi )
  p( y j ) log p( y j ) 
j 1
 p( y j )

  p( y j | xi ) log
 log e p( y j | xi )
 1 
 p( y | x ) 
p( y j | xi )
i 1 j 1
i 1 j 1
j
i


X
Y
X
p( y j )
X
Y
X
Y
Y
 log e p( y j )  log e p( y j | xi )  log e  log e  0
i 1 j 1
Andrea G. B. Tettamanzi, 2001
i 1 j 1
Struttura statistica delle lingue
testo
Distribuzione
a memoria 0:
Distribuzione
a memoria 1:
P (" A" )
P(" A"|" A" )

P(" A"|" B" )

P (" Z" )
P(" Z" |" Z" )
Andrea G. B. Tettamanzi, 2001
Frequenze statistiche dell’italiano
_
_
A
E
I
O
U
N
T
R
L
C
S
D
P
M
G
V
H
F
B
Z
Q
A
E
I
O
U
N
1583 988 945 863 849 255 684
343 381 281 343
3 48
166
12 79
12 42
94
36
27 98
133 12
12 15 55
42
42
36 121
27
3
24
21
88 148 97 95 160 36 18
91 142 18 70 24 27 106
52 54 128 12 124 33
91 88 83 45 45
9
163 18
6 61 12
3 33
133 33 76 34 40 12 15
164
9 42 12
6 64
103 15 15
6 17
9
49 33 27 15 36
9
30 39 33
9 15
9 21
21 24 18 21 18
6
27
55
3
6
12
24
6
6
3
6
18
3 12
3 21
30
3
3
Andrea G. B. Tettamanzi, 2001
T
R
L
C
S
D
P
M G
V
670 539 512 395 376 303 202 193 174 120
9 27 122
3 24
130 106 64 73 39 51 33 48
9 45
134 91 82 23 61 101 48 39 21 30
106 91 67 70 36 91 24 40 21 24
112 62 46 142 61 27 36 33 21
9
39
6 12
9 24
9 12
15
3
18
24
76 30 21
65
64 12
3
27
6
6
6 98
7
30
33
15 51
12
21
6
6
9
15 12
21
3
18
6
3
3
60
9
3
18
3
3
H
F
B
Z
93
82
72
72
24
42
15
12
6
3
21
27
6
21
9
3
12
6
24
6
27
3
12
4
6
6
Q
30
30
3
9
12
Approssimazioni
Memoria 0:
E A IDAVEAPDIAOSPTRR OMR ELRROULEETDP A
OOEPVUNCNCM AALPNESCIESI ...
Memoria 1:
NFA EGI SSISA LE LERA SCHELA CILU GGILLE PRA
PRANA ...
Memoria 2:
OR IL SARSERA NE HAI GUE E LAMASSETTERRA DO E LA
SE AL MILA ...
Memoria 3:
Andrea G. B. Tettamanzi, 2001
Entropia
Stima dell’Entropia con memoria infinita
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
1
10
100
Memoria
1
H   lim
n n
1
P( x) log

P( x)
x n
Andrea G. B. Tettamanzi, 2001
Esperimento di Shannon
Entropia nelle sorgenti con Memoria
H ( X m ) 
n
n
n
1
   p( xi | x j1 x j2  x jm ) log
p( xi | x j1 x j2  x jm )
j1 1 j2 1
jm 1
1
  p( xi , x j1 , x j2 ,, x jm ) log
p( xi | x j1 x j2  x jm )
X m1
Andrea G. B. Tettamanzi, 2001
Teorema
H ( X )  H ( X 0 )  H ( X 1 )    H ( X m )
L’entropia di una sorgente con memoria è tanto minore quanto
maggiore è l’ordine della memoria.
Andrea G. B. Tettamanzi, 2001
Dimostrazione
(Per semplicità, solo nel caso a memoria di ordine 1)
n
n
H ( X  1 )  H ( X 2 | X 1 )   p( x1i , x2 j ) log
i 1 j 1
1
p( x2 j | x1i )
H ( X 1 )  H ( X 2 | X1)  H ( X 2 )  H ( X )  H ( X 0 )
Inoltre,
H ( X1 , X 2 )  H ( X1 )  H ( X 2 | X1 )  H ( X1 )  H ( X 2 )
Andrea G. B. Tettamanzi, 2001
Lezione 5
24 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Codici ottimali con probabilità note a priori
Osservazione: in un codice C ottimale, pi
 p j  li  l j
Dimostrazione: si supponga di scambiare le due parole in questione
n
n
k 1
k 1
l 'l   pk lk ' pk lk  pi l j  p j li  pi li  p j l j 
 ( pi  p j )(l j  li )
Siccome C è ottimale,
l ' l
quindi deve essere per forza
l j  li  0
Andrea G. B. Tettamanzi, 2001
c.v.d.
Codici ottimali con probabilità note a priori
Osservazione: in un codice istantaneo C ottimale a base r,
le r parole più lunghe hanno la stessa lunghezza.
Dimostrazione: se così non fosse, potrei sopprimere l’ultima
parte delle parole più lunghe senza perdere la proprietà di prefisso
e ottenendo un codice migliore (assurdo).
Andrea G. B. Tettamanzi, 2001
Codici ottimali con probabilità note a priori
Osservazione: in un codice istantaneo C ottimale a base r,
le r parole più lunghe sono associate agli r simboli sorgente
meno probabili e differiscono solo per l’ultimo simbolo.
r2
Dimostrazione: per
p1
p2
0
p3
p4
p1
0
0
0
1
1
1
Andrea G. B. Tettamanzi, 2001
0
p2
0
p3
0
p4
1
1
1
Codice di Fano
• Ordinare i simboli sorgente in ordine di probabilità decrescente
• Dividere al meglio i simboli in r gruppi equiprobabili
• Assegnare a ciascun gruppo uno degli r simboli come prefisso
• Ripetere la divisione per gruppi in modo ricorsivo finché
possibile
Andrea G. B. Tettamanzi, 2001
Esempio
simbolo
probabilità
codice
0
1
2
3
4
5
6
7
8
9
1/4
1/4
1/8
1/8
1/16
1/16
1/32
1/32
1/32
1/32
00
01
100
101
1100
1101
11100
11101
11110
11111
Andrea G. B. Tettamanzi, 2001
Codice di Shannon
k 1
Calcolare le probabilità cumulative
Pk   P ( si )
i 1
Scriverle in notazione r-aria
Il numero di simboli per parola di codice è dato da
1
1
log
 li  log
1
P( si )
P( si )
Andrea G. B. Tettamanzi, 2001
cioè

1 
li  log

P
(
s
)
i 

Esempio
simbolo
0
1
2
3
4
5
6
7
8
9
probabilità
1/4
1/4
1/8
1/8
1/16
1/16
1/32
1/32
1/32
1/32
Andrea G. B. Tettamanzi, 2001
prob. Cum.
lunghezza
codice
0
1/4
1/2
5/8
3/4
13/16
7/8
29/32
15/16
31/32
2
2
3
3
4
4
5
5
5
5
00
01
100
101
1100
1101
11100
11101
11110
11111
Codice di Huffman
• Ordinare i simboli sorgente per probabilità decrescente
• Raggruppare gli r simboli meno probabili e considerarli come un
solo simbolo
• Ripetere il raggruppamento finché possibile
• Restano al massimo r simboli o gruppi di simboli
• Assegnare uno degli r simboli a ciascuno dei gruppi come
prefisso
• Svolgere i gruppi all’indietro ripetendo l’assegnamento del
prefisso finché tutti i simboli sorgente hanno una parola di
codice associata
Andrea G. B. Tettamanzi, 2001
Esempio
simbolo probabilità
0
1
2
3
4
5
0.4
0.3
0.1
0.1
0.06 0
0.04 1
Andrea G. B. Tettamanzi, 2001
codice
0.4
0.3
0.1
0.1 0
0.1 1
0.4
0.3
0.2 0
0.1 1
0.4
0.3 0
0.3 1
0.6 0 1
0.4 1 00
011
0100
01010
01011
Ottimalità del codice di Huffman
C  s1 ,, sn1 , sn 
C '  s1 ,, sn2 , s'
n2
s'  sn1  sn
l   pi li '  pn 1 (l 'n 1 1)  pn (l 'n 1 1) 
i 1
n 1
  pi li '  ( pn 1  pn )  l ' pn 1  pn
i 1
Andrea G. B. Tettamanzi, 2001
Codice alfabetico (o di Gilbert-Moore)
Ordinare i simboli sorgente secondo qualche criterio
La lunghezza di ciascuna parola di codice è data da
1li
2
 P( si )  2
2  li


1
li  log
 1
P( si ) 

cioè
Determinare la sequenza
0  1   2     n  1
Rappresentare in base r
ciascuno di questi numeri
secondo la lunghezza
calcolata
Andrea G. B. Tettamanzi, 2001
1 
1
P( s1 ),
2
1
2
 2  P( s1 )  P( s2 ),

1
2
 n  P( s1 )    P( sn 1 )  P( sn ).
Esempio
simbolo
probabilità
li
i
A
E
I
O
U
N
.
.
.
0.0988
0.0945
0.0863
0.0849
0.0255
0.0684
.
.
.
5
5
5
5
7
5
.
.
.
0.0494
0.14605
0.23645
0.32245
0.37725
0.4242
.
.
.
Andrea G. B. Tettamanzi, 2001
codice
00001
00100
00111
01010
0110000
01101
.
.
.
Codice aritmetico
1
0
s1
s1
s3
s2
P( s1 )
s2
P(s2 )
s3
s1 s2s3
s1s2 s3  0  P(s1 ) P( s1 )  P(s2 )P( s1 )  P(s2 ) 
Andrea G. B. Tettamanzi, 2001
P( s3 )
Codice Aritmetico: Algoritmo
s[1..n] è la stringa da codificare
c è il codice ricevuto
c = 0;
a = 1;
for i = 1 to n do
begin
c = c +a*ProbCum(s[i]);
a = a*Prob(s[i]);
end
a = 1;
for i = 1 to n do
begin
s[i] = FindSymbol(c);
c = (c -ProbCum(s[i]))
/Prob(s[i]);
i = i + 1;
end
c (scritto in base 2) è
il codice cercato
Andrea G. B. Tettamanzi, 2001
s[1..n] è la stringa cercata
Lezione 6
28 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Algoritmo di Lempel e Ziv
1.
Da sinistra a destra, scrivere ogni volta la parola più breve
mai incontrata prima, fino alla fine del testo;
2.
Per ogni parola, separare il prefisso (una parola già incontrata)
dal simbolo finale;
3.
Codificare ogni parola con una coppia formata dalla posizione
suo prefisso nella lista e dal simbolo finale che deve essere
aggiunto.
Andrea G. B. Tettamanzi, 2001
Esempio
1011010011010...
(passo 1)
1, 0, 11, 01, 00, 110, 10, ...
(passo 2)
1, 0, 1.1, 0.1, 0.0, 11.0, 1.0, ...
(passo 3)
(0, 1) (0, 0) (1, 1) (2, 1) (2, 0) (3, 0) (1, 0) ...
000 1 000 0 001 1 010 1 010 0 011 0 001 0 ...
Andrea G. B. Tettamanzi, 2001
Efficienza del codice di Lempel e Ziv
N w (n)
parole in un messaggio di lunghezza n
log 2 N w (n)
bit necessari per codificare la posizione di un prefisso
Lunghezza della codifica di un messaggio di lunghezza n:
L(n)  N w (n)log N w (n)  1
Efficienza del codice di Lempel-Ziv:
 LZ
L(n) N w (n)log N w (n)  1


n
n
Andrea G. B. Tettamanzi, 2001
Teorema
Data una sorgente stazionaria ergodica con alfabeto X ed
entropia H(X), vale
N w (n) log N w (n)
lim sup
 H (X )
n
n 
Andrea G. B. Tettamanzi, 2001
q.c.
Diseguaglianza di Lempel e Ziv
n
N w ( n) 
(1   ) log 2 n
lim   0
con
n 
Dimostrazione:
l
nl   i 2i  (l  1)2l 1  2 Lungh. Cum. parole lunghe al più l
i 1
n : l : nl  n  nl 1
l
N w (nl )   2  2
i
i 1
n  nl  2l  l  log n
n  nl 1  2l  2 (log n  2)
Andrea G. B. Tettamanzi, 2001
l 1
2 2
l 1
nl
n


l 1 l 1
n
 l  2  log
log n  2
Diseguaglianza di Lempel e Ziv (segue)
n
l  2  log
log n  2
Poniamo:
n
n  4  log
1
log n  2
l  1  log n  log(log n  2)  3 
 log(log n  2)  3 
 log( 2 log n)  3 
 log n  1 
 log n 
 1 
log n
log n




 log(log n)  4 
 log n  (1   ) log n
 1 
log n


n
n
N w ( n) 

Se ne conclude che
l  1 (1   ) log n
Andrea G. B. Tettamanzi, 2001
c.v.d.
Legge dei grandi numeri
Debole:
Forte:
 n( xi )

lim P
 f ( xi )     1
n 
 n

 ,   0 : N :
 n( xi )

n  N  P
 f ( xi )     1  
 n

Andrea G. B. Tettamanzi, 2001
Diseguaglianza di Čebyšev
var[ X ]
P (| X  E[ X ] | C ) 
2
C
Dimostrazione:
2
E[ Z ]
P( Z  C ) 
Z | X  E[ X ] |
C2
1
2
P ( Z  C )   f ( zi )  2  zi f ( zi ) 
C zi C
zi C
C f ( z)  z f ( z)
2
2
Andrea G. B. Tettamanzi, 2001
1
 2
C
2
E
[
Z
]
2
i zi f ( zi )  C 2
Messaggi più probabili
W  w1 , w2 ,, wnl  tutti i messaggi di lunghezza l
wi  si1si 2  sil
li (w)
Numero di occorrenze di si in w
l
l   li
i 1
n
P( w)   P( si )
li
i 1
li
 P ( si ) per la legge dei grandi numeri
l
 n
 n
li 
lP ( si ) 
log P( w)  log   P( si )   log   P( si )
 
 i 1

 i 1

n
 l  P( si ) log P( si )   lH ( S )
i 1
Andrea G. B. Tettamanzi, 2001
1
1
log
 H (S )
l
P( w)
Teorema di Shannon-McMillan
Data una sorgente discreta senza memoria S di entropia H(S),
  0 :   0 : L : l  L :
Le parole di lunghezza l ricadono in due classi:
I)
II)
w 
w 
Andrea G. B. Tettamanzi, 2001
 P(w)  
w
1
1
log
 H (S )  
l
P( w)
Dimostrazione
Čebyšev:
2
P x       2



1
  w : log
 lH ( S )  l 
P( w)



 var I ( w) l 2  2
1
P( )  P log
 lH ( S )  l  
 2 2  2
2 2
P( w)
l
l
l


2


var[ I ( w)]   P( si ) log P( si )    P( si ) log P( si ) 
i 1
 i 1

Non dipende da l.
2
L 2
n
n
2

Andrea G. B. Tettamanzi, 2001
Lezione 7
31 ottobre 2002
Andrea G. B. Tettamanzi, 2001
Teorema
(1   )2l ( H ( S ) )  M  2l ( H ( S ) )
M 
Dimostrazione:
1
1
log
 H ( S )    2 l ( H ( S ) )  P( w)  2 l ( H ( S ) )
l
P( w)
 l ( H ( S )  )
 l ( H ( S )  )
2

P
(

)

2


w
w
M 2l ( H ( S ) )  P()  M 2l ( H ( S ) )
M 2l ( H ( S ) )  1
Andrea G. B. Tettamanzi, 2001
1    P()  1
1    M 2 l ( H ( S )  )
I° Teorema di Shannon
Sia S una sorgente discreta senza memoria di entropia H(S).
Siano messaggi di lunghezza l codificati in parole di codice di
lunghezza L in un alfabeto di codice con r simboli.
Pe
Probabilità che occorra un messaggio per cui non sia
disponibile una parola di codice.
  0 : l :
Andrea G. B. Tettamanzi, 2001
L log r  lH ( S )  Pe  
Dimostrazione
 : L log r  l ( H ( S )   )
Ma:
M  2l ( H ( S ) )
ovvero
quindi
r L  2l ( H ( S ) )
M  rL
r L = numero di parole di codice di lunghezza L
Ogni messaggio tipico ha una parola di codice; i messaggi atipici,
che non hanno una parola di codice associata, hanno probabilità di
occorrere pari a
Pe  P(  )  
Andrea G. B. Tettamanzi, 2001
c.v.d.
Il canale discreto senza memoria (1)
T  ti : i  Z 
X  x1 , x2 , , xn 
Y  y1 , y2 , , ym 
P( X )   p ( x1 ), p( x2 ),  , p( xn )
P(Y )   p ( y1 ), p( y2 ),  , p ( ym
n
m
p( x )   p( y )  1

)
i 1
i
i 1
i
C è un dispositivo in grado di associare in ogni istante t con
probabilità P(y | x) un simbolo y dell’alfabeto di destinazione
con un simbolo x dell’alfabeto sorgente.
Andrea G. B. Tettamanzi, 2001
Il canale discreto senza memoria (2)
C  ( pij ) 
 p11  P( y1 | x1 )

 p21  P( y1 | x2 )



 p  P( y | x )
1
n
 n1
p12  P( y2 | x1 ) 
p1m  P( ym | x1 ) 

p22  P( y2 | x2 )  p2 m  P( ym | x2 ) 





pn 2  P( y2 | xn )  pnm  P( ym | xn ) 
m
m
 p  P ( y
j 1
Andrea G. B. Tettamanzi, 2001
ij
j 1
j
| xi ) 1
Esempio
0.571
0
0
0.286
0.143
?
0.143
0.286
1
Andrea G. B. Tettamanzi, 2001
0.571
1
Estensione di un canale
X N  1 ,  2 ,,  n N 
Y N  1 , 2 ,, m N 
Un canale è senza memoria sse:
N
P( j |  i )  P( y j1  y j N | xi1  xiN )   P( y jk | xik )
k 1
Andrea G. B. Tettamanzi, 2001
Informazione mutua
P( xi | y j )
1
1
I ( xi ; y j )  log
 log
 log
P( xi )
P( xi | y j )
P( xi )
 P( xi | y j ) P( y j ) 
P( xi , y j )
  log
I ( xi ; y j )  log 

 P( x ) P( y ) 
P( xi ) P( y j )
i
j 

Andrea G. B. Tettamanzi, 2001
Transinformazione
m
P( y j | xi )
j 1
P( y j )
n
P( xi | y j )
i 1
P( xi )
I ( xi ; Y )   P( y j | xi ) log
I ( X ; y j )   P( xi | y j ) log
Informazione mutua di sistema:
n
m
i 1
j 1
I ( X ; Y )   P ( xi ) I ( xi , Y )  P ( y j ) I ( X , y j ) 
n
m
  P ( xi , y j ) log
i 1 j 1
Andrea G. B. Tettamanzi, 2001
P ( xi , y j )
P ( xi ) P ( y j )
Capacità di canale
n
P( y j | xi )
m
I ( X ; Y )   P( xi ) P( y j | xi ) log
i 1 j 1
n
 P( x ) P( y
k 1
k
j
| xk )
Dipende solo dalle caratteristiche del canale e dalla distribuzione
in ingresso. Ipotesi di canale costante.
C  max I ( X ; Y )
L’informazione mutua è max quando la transinformazione è
indipendente dalla distribuzione in ingresso.
Andrea G. B. Tettamanzi, 2001
Equivocazione, Irrilevanza
equivocazione
irrilevanza
H (Y | X )
H (X |Y)
informazione mutua
H ( X ,Y )
H (Y )
H (X )
I ( X ;Y )
H (Y | X )
Andrea G. B. Tettamanzi, 2001
I ( X ;Y )
H (X |Y)
H ( X ,Y )
Lezione 8
4 novembre 2002
Andrea G. B. Tettamanzi, 2001
Canale binario simmetrico
1  pe
0
0
pe
pe
1
Andrea G. B. Tettamanzi, 2001
1  pe
1
Capacità del canale binario simmetrico
q0  P( y  0)  P( x  0)(1  pe )  P( x  1) pe
I BSC ( X ; Y )  H (Y )  H (Y | X ) 
 q0 log q0  (1  q0 ) log( 1  q0 ) 
 pe log pe  (1  pe ) log( 1  pe )
CBSC  max I ( X ; Y )  1  pe log pe  (1  pe ) log( 1  pe )
P( X )
Andrea G. B. Tettamanzi, 2001
Capacità del canale binario simmetrico
CBSC
1
0
Andrea G. B. Tettamanzi, 2001
0.5
1
pe
Canale simmetrico a cancellazione
1  pe
0
0
pe
?
pe
1
Andrea G. B. Tettamanzi, 2001
1  pe
1
Capacità dei canali simmetrici
CSC  max I ( X ; Y )  max H (Y )  H (Y | X ) 
P( X )
P( X )
n
m
m

1
1
 max  P( y j ) log
  P( xi ) P( y j | xi ) log

P( X )
P( y j ) i 1
P( y j | xi ) 
j 1
 j 1
m
1  m
1
 max  P( y j ) log

P
(
y
|
x
)
log



j
i
P( X )
P( y j )  j 1
P( y j | xi )
 j 1
m
1
 log m   P( y j | xi ) log
.
simmetria
P( y j | xi )
j 1
Andrea G. B. Tettamanzi, 2001
Capacità del c.s.c.
CBEC
1
0
Andrea G. B. Tettamanzi, 2001
0.5
1
pe
Canali in cascata
X
CANALE 1
xi
Andrea G. B. Tettamanzi, 2001
Y
yj
CANALE 2
Z
zk
Teorema
(detto “Della Elaborazione dei Dati)
I ( X ; Z )  I ( X ;Y )
I ( X ; Z )  I (Y ; Z )
L’informazione mutua non può aumentare al crescere dei
canali attraversati; semmai può diminuire.
In successive elaborazioni dei dati,
si può solo verificare una perdita d’informazione,
mai un guadagno.
Andrea G. B. Tettamanzi, 2001
Dimostrazione
P( zk | y j , xi )  P( zk | y j )
P( xi | y j , z k )  P( xi | yk )
I ( X ;Y )  H ( X )  H ( X | Y )
H (X | Z)  H (X |Y) 
1
1
  P ( xi , z k ) log
  P ( xi , y j ) log

P ( xi | z k ) i j
P ( xi | y j )
i
k
  P ( xi , y j , z k ) log
i
j
k
P ( xi | y j )
P ( xi | z k )
  P ( y j , z k ) P ( xi |y j , z k ) log
j
k
Andrea G. B. Tettamanzi, 2001
i

P ( xi | y j , z k )
P ( xi | z k )
diseguaglianza
fondamentale
0
Probabilità di errore ed equivocazione
Sia
X Y
(matrice di canale quadrata)
P(e | y j )   P( xi | y j )  1  P( x j | y j )
i j
n
n
i 1
i 1
pe   P( yi ) P(e | yi )   P( yi )1  P( xi | yi )
Si può dimostrare che la probabilità di errore per il trasmittente
e per il ricevente è identica:
n
n
n
 P( x )1  P( y | x )   P( y )1  P( x | y )   P( x , y )
i 1
i
i
Andrea G. B. Tettamanzi, 2001
i
i 1
i
i
i
i 1 j i
i
j
Diseguaglianza di Fano
equivocazione
probabilità di errore
H ( X | Y )  H ( pe )  pe log( n  1)
dove
1
1
H ( pe )  pe log
 (1  pe ) log
pe
1  pe
L’incertezza media su X, se Y è noto, è al più l’incertezza sul fatto
che sia stato commesso un errore e, in caso affermativo,
l’incertezza su quale dei restanti simboli sia stato trasmesso.
Andrea G. B. Tettamanzi, 2001
Dimostrazione
n 1
1
H ( pe )  pe log( n  1)  pe log
 (1  pe ) log

pe
1  pe
n 1 n
1
  P( xi , y j ) log
  P( xi , yi ) log
pe
1  pe
i 1 j  i
i 1
n
1
n
n
1
H ( X | Y )   P ( xi , y j ) log

P ( xi | y j )
i 1 j 1
n
2
n
1
1
  P ( xi , y j ) log
  P ( xi , yi ) log
P ( xi | y j ) i 1
P ( xi | yi )
i 1 j  i
Andrea G. B. Tettamanzi, 2001
Dimostrazione (segue)
n
pe
1  pe
P
(
x
,
y
)
log

P
(
x
,
y
)
log



i
j
i
i
(n  1) P ( xi | y j ) i 1
P ( xi | yi )
i 1 j  i
n
2 – 1

 1 n
 1  pe

pe
1 n

P ( xi , y j ) 
 1 
P ( xi , yi ) 
 1 


ln 2 i 1 j i
 (n  1) P ( xi | y j )  ln 2 i 1
 P ( xi | yi ) 
P ( xi , y j ) n
 pe n

  P ( xi , y j )  


1  n  1 i 1 j i P ( xi | y j ) i 1 j i


n

ln 2  n
P ( xi , yi ) n
  P ( xi , yi ) 
  (1  pe )
 j 1

i 1 P ( xi | yi )
i 1
n
n

1  pe



(n  1)  1   P ( xi , yi )   (1  pe )   P ( xi , yi )  0

ln 2  n  1
i 1
 i 1


Andrea G. B. Tettamanzi, 2001
Corollario
H ( X | Y )  H ( pe )  pe log( n  1)
quando
 pe
 n  1
P ( xi | y j )  
1  pe

Andrea G. B. Tettamanzi, 2001
i j
i j
Lezione 9
7 novembre 2002
Andrea G. B. Tettamanzi, 2001
Distanza di Hamming
X  0,1
v, w  X l
w  w1w2  wl
v  v1v2 vl
l
d H (v, w)   [vi  wi ]
i 1
Esempio:
d H (00101100,00101010)  2
00101100
00101010
Andrea G. B. Tettamanzi, 2001
Spazio di Hamming di dimensione n
X  0,1
Xl
Spazio di Hamming di dimensione l
Esempi:
1
01
011
11
010
111
110
001
0 00
Andrea G. B. Tettamanzi, 2001
10
000
101
100
0000
1000
II° Teorema di Shannon
Dato un canale discreto senza memoria di capacità C,
a) è possibile trasmettere una quantità di informazione H(X)
con probabilità d’errore piccola a piacere, a patto che
H (X )  C
b) Se
H(X )  C
comunque codifichiamo i messaggi, sarà
pe  PL  0
Andrea G. B. Tettamanzi, 2001
Dimostrazione di b)
Ipotesi:
Tesi:
H(X )  C
H ( X )  C  pe  H ( X )  C  
I ( X ;Y )  H ( X )  H ( X | Y )  C
0  H ( X )  C  H ( X | Y )  H ( pe )  pe log( n  1)  f ( pe )
Fano
f ( z )   z log z  (1  z ) log( 1  z )  z log( n  1)
0  f ( z )  log n
Poniamo f ( PL )  H ( X )  C  0
Allora
f ( pe )  f ( PL )  0
Andrea G. B. Tettamanzi, 2001
Grafico di f(z)
f (z )
log n
log( n  1)
f ( pe )
f ( pe )  f ( PL )  pe  PL
f ( PL )
PL pe
Andrea G. B. Tettamanzi, 2001
n 1
n
1
z
Dimostrazione di a)
H (X )  C
pe  
Assumiamo r = 2 senza perdita di generalità
Parole di codice di lunghezza l
2l messaggi
N.B.: H ( X )  C  1 bit/simbolo
Ipotesi:
Tesi:
Usiamo solo
M  2l (C 1 )
parole di codice delle
Costruiamo un codice “a caso” e dimostriamo che
Andrea G. B. Tettamanzi, 2001
2l
pe  
Codice “casuale”
Estraiamo a caso
Sia
1
q
2
M  2l (C 1 )
parole di codice tra le
2l
la probabilità di errore del canale (per simbolo!)
w
CANALE
ˆ )]  lq
E[d H (w, w
Andrea G. B. Tettamanzi, 2001
ŵ
Errore
S ( w, d )
ŵ
w
l 2
Andrea G. B. Tettamanzi, 2001
lq
d
d  l (q   2 )
Volume di una sfera di raggio d
In uno spazio di Hamming di dimensione l
N (d )   lk 
k d
numero di parole binarie di lunghezza l che differiscono
da una data parola w (centro) in al più d posizioni.
l 
N (d )  1  l     ...
 2
w
w': d H (w, w' )  1
Andrea G. B. Tettamanzi, 2001
w": d H (w, w' )  2
Lemma
d  l (q   2 )
Dimostrazione:
N (d )  2
  (q   2 )
lH ( q  2 )
0   1
d  l
l
i)
(1   )l   lk  k   lk  k   d  lk    d N (d )
k 0
d
k d
l
k d
 N (d )   (1   )
ii)
H (  )   log   log( 1   ) 
diseguaglianza
fondamentale
  log( 1   )  (1   ) log( 1   )  0
   d (1   )l  2l   log  log(1  )   2lH (  )
Andrea G. B. Tettamanzi, 2001
c.v.d.
Probabilità di errore per un dato codice
Per il Teorema dei grandi numeri:
ˆ  S (w, d )]  P[d H (w, w
ˆ )  d]  
P[w
pe  P[ wˆ  S ( w, d )]  P[ wˆ  S ( w, d )]P[ w' S ( w, d )] 
 P[ wˆ  S ( w, d )]  P[ w' S ( w, d )] 
 P[ wˆ  S ( w, d )]   P[v  S ( w, d )] 
v  wˆ
    P[v  S ( w, d )]
v  wˆ
Andrea G. B. Tettamanzi, 2001
Probabilità media di errore
pe     P [v  S ( w, d )]    ( M  1) P [v  S ( w, d )] 
v  wˆ
N (d )
   MP [v  S ( w, d )]    M

l
2
   M 2lH ( q  2 ) l    M 2 l (1 H ( q  2 ))
N (d )  2lH ( q  2 )
d  l (q   2 )
Andrea G. B. Tettamanzi, 2001
Parole contenute in
S ( w, d )
Conclusione della dimostrazione
1  H (q   2 )  1  H (q)  H (q )  H (q   2 ) 
 C  H (q   2 )  H (q)
1 q
Sviluppiamo in serie di Taylor, ricordando che H ' (q )  log
q
1 q
H (q   2 )  H (q)   2 H ' (q)  H (q)   2 log
 H (q)   3
q
Per cui:
1  H (q   2 )  C   3
pe    M 2 l (1 H ( q  2 ))    2l (C 1 ) 2 l (C  3 ) 
   2 l (1  3 )  
Andrea G. B. Tettamanzi, 2001
c.v.d.
Andamento della probabilità di errore
pe
H(X )  C  
H(X )  C

0
Andrea G. B. Tettamanzi, 2001
C
H (X )