Esercizio - entropia condizionata, Huffman per due sorgenti e informazione mutua (compito del 25 giugno 2024, es. 178)
In questa pagina 7
Testo (compito del 25 giugno 2024, esercizio 178). Sia una variabile aleatoria binaria con e sia una variabile aleatoria con una distribuzione che dipende dal valore di . In particolare, con , , , , , mentre per , , , e . Come codice di sorgente binario per la coppia , si costruisce la parola di lunghezza variabile il cui primo bit è il valore di e i successivi sono una versione codificata di .
- Calcolare l'entropia di condizionata ai due valori di .
- Calcolare l'entropia di (considerando l'aleatorietà di ).
- Calcolare i codici ottimi da utilizzare per in corrispondenza dei due valori di e la lunghezza media delle parole dei due codici.
- Calcolare la lunghezza media delle parole codificate (considerando l'aleatorietà di ).
- Calcolare l'informazione mutua tra e .
- Calcolare la lunghezza media delle parole di un unico codice ottimo che codifica le coppie (non più e separatamente).
Teoria usata: Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua → (punti 1, 2, 5), Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica → (punti 3, 4, 6), Codici a prefisso - Kraft-McMillan e limiti di Shannon sulla lunghezza mediaLa codifica di sorgente senza perdite associa a ogni parola emessa dalla sorgente una parola di codice binaria (o $M_y$-aria) di lunghezza variabile, in modo invertibile; la qualità si misura con la lunghezza media $L_y=\sum p_{\underline x}(\underline a),l(\underline a)$. In un codice a prefisso nessuna parola è l'inizio di un'altra, quindi la decodifica è istantanea. Kraft-McMillan: ogni codice decodificabile ha $\sum M_y^{-l_i}\le1$, e se interi $l_i$ la soddisfano esiste un codice a prefisso con quelle lunghezze. Shannon: $\frac{H(\underline x)}{\log_2M_y}\le L_y<\frac{H(\underline x)}{\log_2M_y}+1$ per il codice a prefisso ottimo, con $L_y=\frac{H}{\log_2M_y}$ solo se le probabilità sono potenze di $\frac1{M_y}$.Codici a prefisso - Kraft-McMillan e limiti di Shannon sulla lunghezza media →, Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes → (punto 2). Un esercizio analogo su una densità congiunta discreta: Esercizio - densità congiunta discreta, marginali, condizionate e informazione (esercizi del corso, cap. 2, es. 7).
(1) Entropie condizionate ai valori di
- , probabilità :
- , simboli equiprobabili:
(2) Entropia di
La densità di senza condizionare si ricava con la formula delle probabilità totali, pesando le due densità con e : (somma ✓). L'entropia è È maggiore della media delle due entropie condizionate (): la differenza è proprio l'informazione mutua (punto 5).
(3) Codici ottimi per dato
- Per : Huffman per : si uniscono , poi , poi . Codice: , , , (lunghezze per i valori ). Lunghezza media (anche con i nodi interni ):
- Per : i simboli equiprobabili si uniscono a coppie (, poi ): codice a lunghezza fissa , , , e
(4) Lunghezza media della parola completa
La parola trasmessa ha un bit per più la parola per , con il codice scelto in base a . Mediando sulle due possibilità: Equivalente: .
(5) Informazione mutua
Controllo con la formula simmetrica: bit, bit, e ✓. L'informazione mutua è piccola: le due densità di (a seconda di ) sono abbastanza vicine, quindi sapere dice poco su .
Differenza con la soluzione del corso. La soluzione riporta bit: il termine non coincide con calcolato dalla stessa soluzione () e va corretto; il valore giusto è bit. (Si noti anche che con si avrebbe , non .)
(6) Un solo codice Huffman per le coppie
Le coppie hanno probabilità :
(somma ✓). Si indicano con le coppie. Huffman:
| Passo | Nodi disponibili | Unione |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | radice |
Un codice che ne risulta ha lunghezze , , , , , , , (per esempio ). Lunghezza media, con controllo dei nodi interni: Il confronto con il punto 4 ( bit): il codice congiunto è migliore di soli bit. La differenza viene dal bit di , che nello schema separato costa sempre bit mentre bit. Il limite inferiore per un codice delle coppie è bit, e ✓; il codice separato () è anch'esso entro il limite ma più lontano.
(Verificato con Python: , , , , , , , Huffman delle coppie con somma dei nodi uguale, .)
Errori comuni
- Per il punto 2 usare la media delle due entropie condizionate invece di calcolare la densità marginale di : .
- Al punto 4 dimenticare il bit che identifica (la parola è ).
- Al punto 5 scrivere o : serve la media pesata con .
- Pensare che il codice congiunto sia sempre molto migliore: qui contro , perché è vicina a bit.
- Calcolare male le probabilità delle coppie: sono , non .
Versione ripasso
Testo. ; per : , per : uniforme su valori. Codice: primo bit , poi codificato. Domande: ; ; Huffman per dato ; lunghezza media totale; ; Huffman delle coppie.
- (1) (Entropia congiunta e condizionata e informazione mutuaPer due variabili aleatorie discrete $x,y$ l'entropia congiunta è $H(x,y)=E\left[\log_2\frac1{P_{x,y}(x,y)}\right]$ e vale $\max{H(x),H(y)}\le H(x,y)\le H(x)+H(y)$, con l'uguaglianza a destra se e solo se $x$ e $y$ sono indipendenti e $H(x,y)=H(x)$ se $y=f(x)$. L'entropia condizionata $H(x|y)=E_y[H(x|y=y)]$ soddisfa la regola della catena $H(x,y)=H(x|y)+H(y)=H(y|x)+H(x)$. L'informazione mutua $I(x;y)=H(x)+H(y)-H(x,y)=H(x)-H(x|y)=H(y)-H(y|x)$ è simmetrica, $0\le I\le\min{H(x),H(y)}$, nulla per variabili indipendenti.Entropia congiunta e condizionata e informazione mutua →) , bit.
- (2) Marginale: , bit.
- (3) (Codici di Shannon, Huffman ed Elias e codifica aritmeticaIl codice di Shannon(-Fano) assegna alla parola $i$ lunghezza $l_i=\lceil-\log_{M_y}p_i\rceil$, soddisfa Kraft-McMillan e ha $H\le L_y<H+1$; è ottimo solo se le probabilità sono potenze di $\frac1{M_y}$. Il codice ottimo (lunghezza media minima) dà parole più lunghe ai simboli meno probabili e ha almeno due parole di lunghezza massima che differiscono solo nell'ultimo simbolo: lo costruisce la procedura di Huffman, che unisce a ogni passo i due nodi meno probabili. Il codice di Elias prende le prime $l_i=\lceil-\log_2p_i\rceil+1$ cifre del punto medio dell'intervallo di ampiezza $p_i$ in $[0,1)$: è a prefisso ma subottimo ($H+1\le L_y<H+2$), e si adatta alla codifica aritmetica adattativa.Codici di Shannon, Huffman ed Elias e codifica aritmetica →) : nodi , lunghezze , . : , .
- (4) bit.
- (5) ; bit (il corso riporta : calcolo incoerente).
- (6) Coppie: e . Nodi : bit (); migliora di il codice separato perché .
- Dettagli (2). .
- Dettagli (3). : unioni (), , ; lunghezze per ; . : .
- Dettagli (5). ; . Controllo: , , . Il corso scrive : numero incoerente.
- Dettagli (6). Coppie : ; : ciascuna. Unioni ; lunghezze per e per ; (guadagno perché ); limite .
- Errori: come media delle condizionate; scordare il bit di ; probabilità delle coppie senza .