Esercizio - entropia, Kraft-McMillan ternario, Huffman e capacità di due canali binari in cascata (secondo compitino del 14 gennaio 2025, es. 186)
In questa pagina 7
Testo (secondo compitino del 14 gennaio 2025, esercizio 186). All'uscita di un quantizzatore con livelli, i valori quantizzati vengono assunti con le seguenti probabilità: , , , , .
- (2p) Calcolare l'entropia dei valori quantizzati.
- (2p) Determinare se esiste una codifica decodificabile per i valori quantizzati che usa i simboli con lunghezze delle parole codificate .
- (3p) Determinare una codifica di Huffman binaria per i valori quantizzati e la lunghezza media delle parole di codice.
Si consideri ora la codifica di una sorgente a simboli binari e sia . I bit sono mandati attraverso un canale binario con ingresso e uscita , caratterizzato dalle probabilità di transizione e e da un periodo di simbolo pari a s.
- (3p) Calcolare il valore di che massimizza l'entropia condizionata , se .
- (3p) Considerando ora determinare che rende massima l'informazione mutua tra e e il suo valore massimo in funzione di .
- (3p) Per calcolare la capacità del canale ottenuto dalla cascata di due canali binari uguali al canale del punto precedente, ovvero l'uscita viene inviata a un altro canale binario con le stesse probabilità di transizione e uscita .
Teoria usata: Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimoL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit (zero per l'evento certo, additiva per eventi indipendenti). L'entropia di una variabile aleatoria discreta è l'informazione media, $H(x)=E[i_x(x)]=\sum_aP_x(a)\log_2\frac1{P_x(a)}$; vale $0\le H(x)\le\log_2M$ con $M$ cardinalità dell'alfabeto, e il massimo $\log_2M$ si raggiunge se e solo se i simboli sono equiprobabili (dimostrazione con la disuguaglianza di Jensen, perché il logaritmo è strettamente concavo).Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimo → (punto 1), 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 → (punto 2), 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 → (punto 3), 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 → e Tasso d'informazione, capacità di canale e teorema di ShannonUna sorgente che emette un simbolo ogni $T$ secondi ha tasso d'informazione $R=\frac{H_s}T$ [bit/s] ($H_s$ entropia per simbolo); un canale ha tasso $R(g)=\frac{I_s(x;y)}T\le R(x)$. La capacità è il massimo del tasso del canale su tutte le statistiche d'ingresso, $C=\max_{p_x}\frac{I(x;y)}T$ per un canale senza memoria. Teorema di Shannon: se il tasso nominale della sorgente è $R\le C$ esiste un codice di canale con probabilità d'errore piccola a piacere, se $R>C$ no. Capacità: BSC $C=\frac1T[1-h(P_{bit})]$, canale a cancellazione $C=\frac{1-\alpha}T$, AWGN reale $C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)$; canali in parallelo sommano le capacità.Tasso d'informazione, capacità di canale e teorema di Shannon → (punti 4-6).
(1) Entropia dei valori quantizzati
Il testo dà cinque probabilità; la sesta si ricava dalla normalizzazione (Variabili aleatorie discrete e densità discretaUna variabile aleatoria discreta è una funzione X da Ω in R che assume un insieme finito o numerabile di valori (l'alfabeto); la sua densità discreta p_X(x) = P(X = x) basta a calcolare la probabilità di ogni evento che riguarda X.Variabili aleatorie discrete e densità discreta →): Si calcolano i termini :
| Valore | |||
|---|---|---|---|
(Si sono usati .) Con livelli il massimo possibile è bit: la distribuzione è molto sbilanciata.
(2) Esiste un codice ternario con le lunghezze ?
Alfabeto ternario, . Per Kraft-McMillan una codifica decodificabile con lunghezze esiste solo se (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 →): La somma supera : non esiste nessuna codifica decodificabile con quelle lunghezze. Si vede sull'albero ternario: due parole di simbolo occupano delle foglie, tre da simboli altri e non rimane posto per quella da simboli.
(3) Codice di Huffman binario
Si lavora in -esimi (cioè , , , , , ). A ogni passo si uniscono i due nodi meno probabili:
| Passo | Nodi disponibili | Unione |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | radice |
Il codice è uno "scalone": ogni passo aggancia un simbolo al ramo che contiene i meno probabili. Leggendo dalla radice (ramo a , ramo al resto, e così via):
| Valore | Parola | Lunghezza | |
|---|---|---|---|
Controllo con i nodi interni: ✓. Rispetto all'entropia: ✓, efficienza .
(4) Valore di che massimizza con
Il canale ha, per ingresso , uscita con probabilità e con probabilità ; per , uscita con probabilità e con probabilità . Per ogni valore dell'ingresso è binaria: dove . Mediando sull'ingresso, con (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 →): È una funzione lineare di . La sua pendenza è , negativa: infatti è strettamente crescente su e implica . Una funzione lineare decrescente su ha il massimo nell'estremo sinistro: Si trasmette sempre (il simbolo con la maggiore probabilità d'errore): l'incertezza residua è quella del canale più rumoroso. Esempio numerico con , : per ; per ; per .
(5) Caso : che massimizza
Con il canale è un binario simmetrico con probabilità d'errore (Tasso d'informazione, capacità di canale e teorema di ShannonUna sorgente che emette un simbolo ogni $T$ secondi ha tasso d'informazione $R=\frac{H_s}T$ [bit/s] ($H_s$ entropia per simbolo); un canale ha tasso $R(g)=\frac{I_s(x;y)}T\le R(x)$. La capacità è il massimo del tasso del canale su tutte le statistiche d'ingresso, $C=\max_{p_x}\frac{I(x;y)}T$ per un canale senza memoria. Teorema di Shannon: se il tasso nominale della sorgente è $R\le C$ esiste un codice di canale con probabilità d'errore piccola a piacere, se $R>C$ no. Capacità: BSC $C=\frac1T[1-h(P_{bit})]$, canale a cancellazione $C=\frac{1-\alpha}T$, AWGN reale $C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)$; canali in parallelo sommano le capacità.Tasso d'informazione, capacità di canale e teorema di Shannon →). L'informazione mutua è perché per , dal punto 4, non dipende da . Resta da massimizzare , entropia di una variabile binaria, che vale al più bit con . Con la formula delle probabilità totali: Imponendo si ha , quindi (per ). Dunque Con s la capacità è bit/s; per : , cioè bit/s.
(6) Cascata di due canali binari simmetrici
Il primo canale ha probabilità d'errore ; il secondo ha anch'esso . Se è esatta, sbaglia con probabilità ; se è sbagliata, un secondo errore la corregge. Quindi in due modi esclusivi: errore solo nel primo canale, oppure solo nel secondo: Le probabilità di transizione della cascata sono e , uguali per : è ancora un canale binario simmetrico, con probabilità d'errore . La sua capacità, con periodo di simbolo s, è Con . La cascata ha capacità minore del singolo canale ( bit/s): ogni stadio aggiunge rumore e l'informazione non può aumentare passando per ulteriori elaborazioni.
(Verificato con Python: bit, Kraft ternario , Huffman con somma dei nodi uguale, , capacità massimizzata numericamente (Blahut-Arimoto) bit per uso con ingresso uniforme.)
Errori comuni
- Dimenticare che non è dato: va ricavata dalla normalizzazione.
- Usare Kraft con base per un codice ternario: la somma è .
- Concludere da Kraft che "basta allungare una parola": no, quelle lunghezze non sono realizzabili.
- Al punto 4, cercare il massimo con la derivata come se fosse concava: è lineare in , il massimo sta agli estremi.
- Al punto 6, sommare le probabilità d'errore () o moltiplicarle: serve , perché un secondo errore ripara il primo.
- Dimenticare di dividere per nelle capacità in bit/s.
Versione ripasso
Testo. Quantizzatore a livelli, . Entropia; lunghezze ternarie ; Huffman binario; che massimizza (); : e massima; cascata di due BSC con , s.
- (1) (Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimoL'informazione di un evento di probabilità $P$ è $i=\log_2\frac1P$ bit (zero per l'evento certo, additiva per eventi indipendenti). L'entropia di una variabile aleatoria discreta è l'informazione media, $H(x)=E[i_x(x)]=\sum_aP_x(a)\log_2\frac1{P_x(a)}$; vale $0\le H(x)\le\log_2M$ con $M$ cardinalità dell'alfabeto, e il massimo $\log_2M$ si raggiunge se e solo se i simboli sono equiprobabili (dimostrazione con la disuguaglianza di Jensen, perché il logaritmo è strettamente concavo).Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimo →) ; bit.
- (2) (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 →) : non esiste.
- (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 →) In -esimi: ; parole ; bit.
- (4) lineare con pendenza : massimo in , valore .
- (5) (Tasso d'informazione, capacità di canale e teorema di ShannonUna sorgente che emette un simbolo ogni $T$ secondi ha tasso d'informazione $R=\frac{H_s}T$ [bit/s] ($H_s$ entropia per simbolo); un canale ha tasso $R(g)=\frac{I_s(x;y)}T\le R(x)$. La capacità è il massimo del tasso del canale su tutte le statistiche d'ingresso, $C=\max_{p_x}\frac{I(x;y)}T$ per un canale senza memoria. Teorema di Shannon: se il tasso nominale della sorgente è $R\le C$ esiste un codice di canale con probabilità d'errore piccola a piacere, se $R>C$ no. Capacità: BSC $C=\frac1T[1-h(P_{bit})]$, canale a cancellazione $C=\frac{1-\alpha}T$, AWGN reale $C=\frac1{2T}\log_2\left(1+\frac{E_s}{\sigma^2}\right)$; canali in parallelo sommano le capacità.Tasso d'informazione, capacità di canale e teorema di Shannon →) : ; ; .
- (6) Cascata: , BSC; bit/s (contro del singolo).
- Dettagli (1). e termini : bit (massimo ).
- Dettagli (3). Scalone: , , , , (in -esimi); ; , .
- Dettagli (4). , ; crescente su , quindi e il massimo è in (si manda sempre , il simbolo più rumoroso). Con , : per , per , per .
- Dettagli (5)-(6). : , . Cascata: , ; ; bit/s .
- Errori: non data; Kraft ternario con base ; derivata su una funzione lineare; al posto di .
Teoria collegata
- Entropia - informazione di un evento, disuguaglianza di Jensen e valore massimo
- Codici a prefisso - Kraft-McMillan e limiti di Shannon sulla lunghezza media
- Codici di Shannon, Huffman ed Elias e codifica aritmetica
- Entropia congiunta e condizionata e informazione mutua
- Tasso d'informazione, capacità di canale e teorema di Shannon
- Variabili aleatorie discrete e densità discreta