第三次作业
参考书《数据压缩导论(第4版)》P100
5、给定如表4-9所示的概率模型,求出序列a1a1a3a2a3a1 的实值标签。
解:求序列a1a1a3a2a3a1 的实值标签就是求序列113231的实值标签。
由题意可得:Fx(k)=0,k≤0,Fx(1)=0.2,Fx(2)=0.5,Fx(3)=1,Fx(k)=1,k>3
由下列公式可得:u(k)=l(k-1)+(u(k-1)-l(k-1))FX(xk)
l(k)=l(k-1)+(u(k-1)-l(k-1))FX(xk-1)
①该序列的第一个元素为1,得到以下更新:
u(1)=l(0)+(u(0)-l(0))*Fx(1)=0+(1-0)*0.2=0.2
l(1)=l(0)+(u(0)-l(0))*Fx(0)=0+(1-0)*0=0
所以该序列标签的区间为[0,0.2)。
②该序列的第二个元素为1,得到以下更新:
u(2)=l(1)+(u(1)-l(1))*Fx(1)=0+(0.2-0)*0.2=0.04
l(2)=l(1)+(u(1)-l(1))*Fx(0)=0+(0.2-0)*0=0
所以序列标签的区间为[0,0.04)。
③该序列的第三个元素为3,得到以下更新:
u(3)=l(2)+(u(2)-l(2))*Fx(3)=0+(0.04-0)*1 =0.04
l(3)=l(2)+(u(2)-l(2))*Fx(2)=0+(0.04-0)*0.5=0.02
所以该序列标签的区间为[0.02,0.04)。
④该序列的第四个元素为2,得到以下更新:
u(4)=l(3)+(u(3)-l(3))*Fx(2)=0.02+(0.04-0.02)*0.5 =0.03
l(4)=l(3)+(u(3)-l(3))*Fx(1)=0.02+(0.04-0.02)*0.2=0.024
所以序列标签的区间为[0.024,0.03)。
⑤该序列的第五个元素为3,得到以下更新:
u(5)=l(4)+(u(4)-l(4))*Fx(3)=0.024+(0.03-0.024)*1=0.03
l(5)=l(4)+(u(4)-l(4))*Fx(2)=0.024+(0.03-0.024)*0.5=0.027
所以该序列标签的区间为[0.027,0.03)。
⑥该序列的第六个元素为1,得到以下更新:
u(6)=l(5)+(u(5)-l(5))*Fx(1)=0.027+(0.03-0.027)*0.2=0.0276
l(6)=l(5)+(u(5)-l(5))*Fx(0)=0.027+(0.03-0.027)*0=0.027
所以该序列标签的区间为[0.027,0.0276)。
综上可得生成序列113231的标签如下:
即Tx(a1a1a3a2a3a1)=(0.027+0.0276)/2=0.0273
6、对于表4-9所示的概率模型,对于一个标签为0.63215699的长度为10的序列进行解码。
解:
解:求序列a1a1a3a2a3a1 的实值标签就是求序列113231的实值标签。
由题意可得:Fx(k)=0,k≤0,Fx(1)=0.2,Fx(2)=0.5,Fx(3)=1,Fx(k)=1,k>3
由下列公式可得:u(k)=l(k-1)+(u(k-1)-l(k-1))FX(xk)
l(k)=l(k-1)+(u(k-1)-l(k-1))FX(xk-1)
①该序列的第一个元素为1,得到以下更新:
u(1)=l(0)+(u(0)-l(0))*Fx(1)=0+(1-0)*0.2=0.2
l(1)=l(0)+(u(0)-l(0))*Fx(0)=0+(1-0)*0=0
所以该序列标签的区间为[0,0.2)。
②该序列的第二个元素为1,得到以下更新:
u(2)=l(1)+(u(1)-l(1))*Fx(1)=0+(0.2-0)*0.2=0.04
l(2)=l(1)+(u(1)-l(1))*Fx(0)=0+(0.2-0)*0=0
所以序列标签的区间为[0,0.04)。
③该序列的第三个元素为3,得到以下更新:
u(3)=l(2)+(u(2)-l(2))*Fx(3)=0+(0.04-0)*1 =0.04
l(3)=l(2)+(u(2)-l(2))*Fx(2)=0+(0.04-0)*0.5=0.02
所以该序列标签的区间为[0.02,0.04)。
④该序列的第四个元素为2,得到以下更新:
u(4)=l(3)+(u(3)-l(3))*Fx(2)=0.02+(0.04-0.02)*0.5 =0.03
l(4)=l(3)+(u(3)-l(3))*Fx(1)=0.02+(0.04-0.02)*0.2=0.024
所以序列标签的区间为[0.024,0.03)。
⑤该序列的第五个元素为3,得到以下更新:
u(5)=l(4)+(u(4)-l(4))*Fx(3)=0.024+(0.03-0.024)*1=0.03
l(5)=l(4)+(u(4)-l(4))*Fx(2)=0.024+(0.03-0.024)*0.5=0.027
所以该序列标签的区间为[0.027,0.03)。
⑥该序列的第六个元素为1,得到以下更新:
u(6)=l(5)+(u(5)-l(5))*Fx(1)=0.027+(0.03-0.027)*0.2=0.0276
l(6)=l(5)+(u(5)-l(5))*Fx(0)=0.027+(0.03-0.027)*0=0.027
所以该序列标签的区间为[0.027,0.0276)。
综上可得生成序列113231的标签如下:
即Tx(a1a1a3a2a3a1)=(0.027+0.0276)/2=0.0273
6、对于表4-9所示的概率模型,对于一个标签为0.63215699的长度为10的序列进行解码。
解:从概率模型可知:
Fx(k)=0, k≤0, Fx(1)=0.2, Fx(2)=0.5, Fx(3)=1, k>3.
设u(0)=1,l(0)=0
①l(1)=0+(1-0)Fx(x1-1)=Fx(xk-1)
u(1)=0+(1-0)Fx(x1)=Fx(xk)
当xk=3时,0.63215699在区间[0.5,1)中;
②l(2)=0.5+0.5Fx(xk-1)
u(2)=0.5+0.5Fx(xk)
当xk=2时,0.63215699在[0.6,0.75)中;
③l(3)=0.6+0.15Fx(xk-1)
u(3)=0.6+0.15Fx(xk)
当xk=2时,0.63215699在[0.63,0.675)中;
④l(4)=0.63+0.045Fx(xk-1)
u(4)=0.63+0.045Fx(xk)
当xk=1时,0.63215699在[0.63,0.639)中;
⑤l(5)=0.63+0.009Fx(xk-1)
u(5)=0.63+0.009Fx(xk)
当xk=2时,0.63215699在[0.6318,0.6345)中;
⑥l(6)=0.6318+0.0027Fx(xk-1)
u(6)=0.6318+0.0027Fx(xk)
当xk=1时,0.63215699在[0.6318,0.63234)中;
⑦l(7)=0.6318+0.00054Fx(xk-1)
u(7)=0.6318+0.00054Fx(xk)
当xk=3时,0.63215699在[0.63207,0.63234)中;
⑧l(8)=0.63207+0.00027Fx(xk-1)
u(8)=0.63207+0.00027Fx(xk)
当xk=2时,0.63215699在[0.632124,0.632205)中;
⑨l(9)=0.632124+0.000081Fx(xk-1)
u(9)=0.632124+0.000081Fx(xk)
当xk=2时,0.63215699在[0.6321402,0.6321645)中;
⑩l(10)=0.6321402+0.0000243Fx(xk-1)
u(10)=0.6321402+0.0000243Fx(xk)
当xk=3时,0.63215699在[0.63215235,0.6321645)中;
综上可得:该序列为a3a2a2a1a2a1a3a2a2a3。