Salta al contenuto
Note per Studenti Esercizio - canale binario con rumore aleatorio, capacità e Huffman sulle triplette (secondo compitino dell'11 gennaio 2019, es. 90)

Esercizio - canale binario con rumore aleatorio, capacità e Huffman sulle triplette (secondo compitino dell'11 gennaio 2019, es. 90)

Esame
In questa pagina 6

Testo (secondo compitino dell'11 gennaio 2019, esercizio 90). Si consideri un canale con ingresso binario X∈{0,1}X\in\{0,1\}, uscita binaria Y∈{0,1}Y\in\{0,1\} dove l'uscita dipende sia dall'ingresso che dal valore assunto da una terza variabile aleatoria binaria W∈{0,1}W\in\{0,1\} indipendente da XX, con densità discreta di probabilità pW(0)=0,3p_W(0)=0{,}3 e P(Y=0∣W=0,X=0)=P(Y=1∣W=0,X=1)=0,8,P(Y=0|W=0,X=0)=P(Y=1|W=0,X=1)=0{,}8, P(Y=0∣W=1,X=0)=P(Y=1∣W=1,X=1)=0,6.P(Y=0|W=1,X=0)=P(Y=1|W=1,X=1)=0{,}6. Il periodo dei simboli in ingresso è T=0,2T=0{,}2 ms.

  1. Calcolare P(Y=i∣X=j)P(Y=i|X=j) per tutti i valori di ii e jj e dire se il canale in esame è binario simmetrico e senza memoria, giustificando la risposta.
  2. Calcolare la capacità del canale, specificando la statistica dell'ingresso che raggiunge la capacità.
  3. Considerare la sorgente che genera come simboli le otto triplette [X,Y,W][X,Y,W], con XX avente la statistica trovata al punto precedente. Trovarne un codice di sorgente a prefisso binario ottimo e calcolare la lunghezza media delle parole di codice.
  4. Dire se il codice trovato al punto 3 raggiunge il limite inferiore sulla lunghezza media stabilito dal teorema di Shannon, giustificando la risposta.
  5. Senza calcolare nessuna nuova entropia dire se H(Y∣X)H(Y|X) è maggiore, strettamente maggiore, minore, strettamente minore o uguale a H(Y)H(Y) e H(X,Y)H(X,Y), giustificando le risposte.

Teoria usata: 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 1-2), 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 1), 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), 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 4), 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 → (punto 5).

(1) Probabilità di transizione e tipo di canale

Il ricevitore non conosce WW, quindi il canale visto da XX a YY si ottiene marginalizzando su WW con la formula delle probabilità totali. Poiché WW è indipendente da XX, P(W=w∣X=x)=pW(w)P(W=w|X=x)=p_W(w) (pW(0)=0,3p_W(0)=0{,}3, pW(1)=0,7p_W(1)=0{,}7): P(Y=0∣X=0)=P(Y=0∣W=0,X=0)pW(0)+P(Y=0∣W=1,X=0)pW(1)=0,8⋅0,3+0,6⋅0,7=0,24+0,42=0,66,P(Y=0|X=0)=P(Y=0|W=0,X=0)p_W(0)+P(Y=0|W=1,X=0)p_W(1)=0{,}8\cdot0{,}3+0{,}6\cdot0{,}7=0{,}24+0{,}42=0{,}66, P(Y=1∣X=1)=0,8⋅0,3+0,6⋅0,7=0,66.P(Y=1|X=1)=0{,}8\cdot0{,}3+0{,}6\cdot0{,}7=0{,}66. Per differenza (P(Y=1∣X=0)=1−0,66P(Y=1|X=0)=1-0{,}66, e allo stesso modo per X=1X=1): P(Y=1∣X=0)=P(Y=0∣X=1)=0,34P(Y=1|X=0)=P(Y=0|X=1)=0{,}34. Verifica diretta: P(Y=1∣X=0)=0,2⋅0,3+0,4⋅0,7=0,06+0,28=0,34P(Y=1|X=0)=0{,}2\cdot0{,}3+0{,}4\cdot0{,}7=0{,}06+0{,}28=0{,}34 ✓.

P(Y=i∣X=j)={0,66i=j0,34i≠j.P(Y=i|X=j)=\begin{cases}0{,}66&i=j\\0{,}34&i\ne j.\end{cases} Il canale è binario simmetrico con probabilità d'errore Pbit=0,34P_{bit}=0{,}34. È senza memoria se la variabile WW viene estratta in modo indipendente a ogni uso del canale (ogni simbolo ha il suo valore di WW, a monte indipendente dagli altri): la soluzione del corso assume questo. (Se invece WW restasse fissa per tutti gli usi, i simboli sarebbero correlati attraverso WW e il canale avrebbe memoria.)

(2) Capacità e ingresso ottimo

Per un BSC senza memoria, H(Y∣X)=h(Pbit)H(Y|X)=h(P_{bit}) non dipende dall'ingresso, e H(Y)H(Y) è massima (11 bit) con ingresso uniforme (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 →). La capacità si raggiunge quindi con P(X=0)=P(X=1)=12P(X=0)=P(X=1)=\frac12 ed è C=1−h(0,34)T,h(0,34)=0,34log⁡210,34+0,66log⁡210,66=0,5292+0,3957=0,9248,C=\frac{1-h(0{,}34)}T,\qquad h(0{,}34)=0{,}34\log_2\tfrac1{0{,}34}+0{,}66\log_2\tfrac1{0{,}66}=0{,}5292+0{,}3957=0{,}9248, C=1−0,92480,2⋅10−3 s=0,075180,2⋅10−3 s=375,9 bit/s≃376 bit/s.C=\frac{1-0{,}9248}{0{,}2\cdot10^{-3}\ \text{s}}=\frac{0{,}07518}{0{,}2\cdot10^{-3}\ \text{s}}=375{,}9\ \text{bit/s}\simeq376\ \text{bit/s}. (Controllo numerico: massimizzando I(X;Y)I(X;Y) sulla densità d'ingresso, il massimo è in P(X=0)=0,5P(X=0)=0{,}5 e vale 0,075180{,}07518 bit per uso.)

Osservazione. Se il ricevitore conoscesse WW, avrebbe due BSC: con W=0W=0 (Pbit=0,2P_{bit}=0{,}2) C=0,2781C=0{,}2781 e con W=1W=1 (Pbit=0,4P_{bit}=0{,}4) C=0,0290C=0{,}0290 bit per uso, e in media 0,3⋅0,2781+0,7⋅0,0290=0,10380{,}3\cdot0{,}2781+0{,}7\cdot0{,}0290=0{,}1038 bit per uso (519519 bit/s), più dei 0,07520{,}0752 (376376 bit/s) del canale con WW ignoto: sapere in quale stato è il canale vale circa 143143 bit/s.

(3) Codice di Huffman per le triplette [X,Y,W][X,Y,W]

Con XX uniforme (P(X=x)=12P(X=x)=\frac12) e WW indipendente da XX, la probabilità di ogni tripletta è P(x,y,w)=P(x) pW(w) P(y∣x,w).P(x,y,w)=P(x)\,p_W(w)\,P(y|x,w). Si ha P(x)pW(0)=0,5⋅0,3=0,15P(x)p_W(0)=0{,}5\cdot0{,}3=0{,}15 e P(x)pW(1)=0,5⋅0,7=0,35P(x)p_W(1)=0{,}5\cdot0{,}7=0{,}35, da moltiplicare per 0,80{,}8 o 0,20{,}2 (se w=0w=0, y=xy=x o y≠xy\ne x) e per 0,60{,}6 o 0,40{,}4 (se w=1w=1):

[x,y,w][x,y,w] Calcolo PP
[0,0,0][0,0,0] e [1,1,0][1,1,0] 0,15⋅0,80{,}15\cdot0{,}8 0,120{,}12 ciascuna
[0,1,0][0,1,0] e [1,0,0][1,0,0] 0,15⋅0,20{,}15\cdot0{,}2 0,030{,}03 ciascuna
[0,0,1][0,0,1] e [1,1,1][1,1,1] 0,35⋅0,60{,}35\cdot0{,}6 0,210{,}21 ciascuna
[0,1,1][0,1,1] e [1,0,1][1,0,1] 0,35⋅0,40{,}35\cdot0{,}4 0,140{,}14 ciascuna

La somma è 2(0,12+0,03+0,21+0,14)=12(0{,}12+0{,}03+0{,}21+0{,}14)=1 ✓. Huffman, unendo i due nodi meno probabili a ogni passo:

Passo Nodi disponibili Unione
1 0,21×2;0,14×2;0,12×2;0,03×20{,}21^{\times2};0{,}14^{\times2};0{,}12^{\times2};0{,}03^{\times2} [0,1,0]+[1,0,0]=0,06[0,1,0]+[1,0,0]=0{,}06
2 0,21×2;0,14×2;0,12×2;0,060{,}21^{\times2};0{,}14^{\times2};0{,}12^{\times2};0{,}06 0,06+[0,0,0]=0,180{,}06+[0,0,0]=0{,}18
3 0,21×2;0,18;0,14×2;0,12 ([1,1,0])0{,}21^{\times2};0{,}18;0{,}14^{\times2};0{,}12\,([1,1,0]) [1,1,0]+[0,1,1]=0,26[1,1,0]+[0,1,1]=0{,}26
4 0,26;0,21×2;0,18;0,14 ([1,0,1])0{,}26;0{,}21^{\times2};0{,}18;0{,}14\,([1,0,1]) [1,0,1]+0,18=0,32[1,0,1]+0{,}18=0{,}32
5 0,32;0,26;0,21×20{,}32;0{,}26;0{,}21^{\times2} [0,0,1]+[1,1,1]=0,42[0,0,1]+[1,1,1]=0{,}42
6 0,42;0,32;0,260{,}42;0{,}32;0{,}26 0,26+0,32=0,580{,}26+0{,}32=0{,}58
7 0,58;0,420{,}58;0{,}42 radice =1=1

Un codice ottenuto:

[x,y,w][x,y,w] PP Parola Lunghezza
[0,0,1][0,0,1] 0,210{,}21 0000 22
[1,1,1][1,1,1] 0,210{,}21 0101 22
[1,1,0][1,1,0] 0,120{,}12 100100 33
[0,1,1][0,1,1] 0,140{,}14 101101 33
[1,0,1][1,0,1] 0,140{,}14 110110 33
[0,0,0][0,0,0] 0,120{,}12 11111111 44
[0,1,0][0,1,0] 0,030{,}03 1110011100 55
[1,0,0][1,0,0] 0,030{,}03 1110111101 55

Ly=0,42⋅2+(0,12+0,14+0,14)⋅3+0,12⋅4+0,06⋅5=0,84+1,20+0,48+0,30=2,82 bit,L_y=0{,}42\cdot2+(0{,}12+0{,}14+0{,}14)\cdot3+0{,}12\cdot4+0{,}06\cdot5=0{,}84+1{,}20+0{,}48+0{,}30=2{,}82\ \text{bit}, controllo con i nodi interni: 0,06+0,18+0,26+0,32+0,42+0,58+1=2,820{,}06+0{,}18+0{,}26+0{,}32+0{,}42+0{,}58+1=2{,}82 ✓.

(4) Raggiunge il limite di Shannon?

Il limite inferiore è l'entropia delle triplette. Poiché ogni valore compare due volte con la stessa probabilità, H(X,Y,W)=2[0,12log⁡210,12+0,03log⁡210,03+0,21log⁡210,21+0,14log⁡210,14]=2[0,3671+0,1518+0,4728+0,3971]=2,7776 bit.H(X,Y,W)=2\left[0{,}12\log_2\tfrac1{0{,}12}+0{,}03\log_2\tfrac1{0{,}03}+0{,}21\log_2\tfrac1{0{,}21}+0{,}14\log_2\tfrac1{0{,}14}\right]=2\left[0{,}3671+0{,}1518+0{,}4728+0{,}3971\right]=2{,}7776\ \text{bit}. Poiché Ly=2,82>2,7776L_y=2{,}82>2{,}7776 il codice non raggiunge il limite: l'uguaglianza Ly=HL_y=H vale solo se tutte le probabilità sono potenze di 12\frac12 (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 →), e qui (0,120{,}12, 0,030{,}03, 0,140{,}14, 0,210{,}21) non lo sono. Vale comunque 2,7776≤2,82<3,77762{,}7776\le2{,}82<3{,}7776 ✓, con efficienza HLy=0,985\frac H{L_y}=0{,}985. (La soluzione del corso scrive H=2,77H=2{,}77: è 2,77762{,}7776 arrotondato per difetto.)

(5) Confronti senza calcolare entropie nuove

(Come controllo, a calcoli fatti: H(Y∣X)=h(0,34)=0,9248H(Y|X)=h(0{,}34)=0{,}9248, H(Y)=1H(Y)=1 (YY è uniforme perché XX lo è e il canale è un BSC), H(X,Y)=1+0,9248=1,9248H(X,Y)=1+0{,}9248=1{,}9248 bit: 0,9248<1<1,92480{,}9248<1<1{,}9248 ✓.)

(Verificato con Python: P(Y∣X)=0,66/0,34P(Y|X)=0{,}66/0{,}34, C=375,9C=375{,}9 bit/s con massimo in P(X=0)=0,5P(X=0)=0{,}5, Huffman delle triplette Ly=2,82L_y=2{,}82 con somma dei nodi uguale, H(X,Y,W)=2,77753H(X,Y,W)=2{,}77753.)

Errori comuni

  • Usare le probabilità condizionate a WW (0,80{,}8 e 0,60{,}6) come se il ricevitore conoscesse WW: va marginalizzata su WW.
  • Scrivere P(Y=0∣X=0)=0,3⋅0,8P(Y=0|X=0)=0{,}3\cdot0{,}8 senza il secondo termine (0,7⋅0,60{,}7\cdot0{,}6).
  • Dire che il canale "ha memoria perché dipende da WW": WW è indipendente a ogni uso, quindi il canale resta senza memoria.
  • Assumere un ingresso non uniforme per il BSC: la capacità si ha con ingresso uniforme.
  • Dimenticare che le triplette hanno probabilità in coppie uguali: se ne calcolano 44 e si usano due volte.
  • Rispondere "sì" al punto 4 perché LyL_y è vicina a HH: il limite si raggiunge solo con probabilità diadiche.

Versione ripasso

Testo. X,Y,WX,Y,W binari, WW indipendente da XX con pW(0)=0,3p_W(0)=0{,}3; P(Y=X∣W=0)=0,8P(Y=X|W=0)=0{,}8, P(Y=X∣W=1)=0,6P(Y=X|W=1)=0{,}6; T=0,2T=0{,}2 ms. Probabilità di transizione e tipo di canale; capacità e ingresso ottimo; Huffman per le triplette [X,Y,W][X,Y,W]; limite di Shannon; confronto H(Y∣X)H(Y|X) con H(Y)H(Y) e H(X,Y)H(X,Y).

Teoria collegata