第三次作业

1、 参考书《数据压缩导论(第4版)》  Page 100

  5、给定如表4-9所示的概率模型,求出序列a1a1a3a2a3a1 的实值标签。

            

答案:

由概率模型以及题意可知:FX(0)=0,FX(1)=0.2,FX(2)=0.3,FX(3)=0.5

题目要求我们求出序列a1a1a3a2a3a1的实值标签,我们可以将其解读为对符号序列113231进行编码。

(1)第一个符号为1,所以其所在的区间为[l(1),u(1)),其中u(1)和l(1)分别为第一个出现的字符的上下界,

这里的l(1)=FX(0)=0,u(1)=FX(1)=0.2,所以其标签值包含在[0,0.2)之间。

 

(2)第二个符号为1,其区间在[a0,a1),按比例重新划分a1

下线为0,上线为0.2,区间间隔为0.2

0.2*0.2=0.04      0+0.04=0.04

0.2*0.3=0.06      0.04+0.06=0.1

0.2*0.5=0.1        0.1+0.1=0.2

所以其标签包含在[0,0.04)之间。

 

(3)第三个符号是3,其区间在[a2,a3),按比例重新划分a1

下线为0,上线为0.04,区间间隔为0.04

0.04*0.2=0.008        0+0.008=0.008

0.04*0.3=0.012        0.008+0.012=0.02

0.04*0.5=0.02        0.02+0.02=0.04

 所以其标签包含在[0.02,0.04)之间。

 

(4)第四个符号是2,其区间在[a1,a2),按比例重新划分a1

下线为0.02,上线为0.04,区间间隔为0.02

0.02*0.2=0.004         0.02+0.004=0.024

0.02*0.3=0.006         0.024+0.006=0.03

0.02*0.5=0.01           0.03+0.01=0.04

 所以其标签包含在[0.024,0.03)之间。

 

(5)第五个符号是3,其区间在[a2,a3),按比例重新划分a1

下线为0.024,上线为0.03,区间间隔为0.006

0.006*0.2=0.0012         0.024+0.0012=0.0252

0.006*0.3=0.0018        0.0272+0.0048=0.027

0.006*0.5=0.003           0.027+0.003=0.03

 所以其标签包含在[0.027,0.03)之间。

 

(6)第六个符号是1,其区间在[a0,a1),按比例重新划分a1

下线为0.027,上线为0.03,区间间隔为0.003

0.003*0.2=0.0006        0.027+0.0006=0.0276

0.003*0.3=0.0009        0.0276+0.0009=0.0285

0.003*0.5=0.015           0.0285+0.015=0.0435

 所以其标签包含在[0.027,0.0276)之间。

 

所以序列a1a1a3a2a3a1的实值标签

T=(0.027+0.0276)/2=0.0273

6、对于表4-9给出的概率模型,对于一个标签为0.63215699的长度为10的序列进行解码。

 解:由表4-9可以知道F(x1)=0.2,F(x2)=0.5,F(x3)=1.

 先假设 l(0)=0,u(0)=1.

1.  t*=(0.63215699-0)/(1-0)=0.63215699

     Fx(2)=0.5<= t*<= Fx(3)=1

     l(1)= l(0)+( u(0)- l(0)) Fx(2)=0.5

     u(1)= l(0)+( u(0)- l(0)) Fx(3)=1

     所以第一个字符为a3

2.  t*=(0.63215699-0.5)/(1-0.5)=0.26431398

     Fx(1)=0.2<= t*<= Fx(2)=0.5

     l(2)= l(1)+( u(1)- l(1)) Fx(1)=0.6

     u(2)= l(1)+( u(1)- l(1)) Fx(2)=0.75

     所以第二个字符为a2

3.   t*=(0.63215699-0.6)/(0.75-0.6)=0.21437993

     Fx(1)=0.2<= t*<= Fx(2)=0.5

     l(3)= l(2)+( u(2)- l(2) Fx(1)=0.63

     u(3)= l(2)+( u(2)- l(2)) Fx(2)=0.635

     所以第三个字符为a2

4.   t*=(0.63215699-0.63)/(0.635-0.63)=0.431398

      Fx(1)=0.2<= t*<= Fx(2)=0.5

       l(4)= l(3)+( u(3)- l(3)) Fx(1)=0.631

       u(4)= l(3)+( u(3)- l(3)) Fx2)=0.6325

       所以第四个字符为a2

5.     t*=(0.63215699-0.631)/(0.6325-0.631)=0.77132667

        Fx(2)=0.5<= t*<= Fx(3)=1

        l(5)= l(4)+( u(4)- l(4)) Fx(2)=0.63175

        u(5)= l(4)+( u(4)- l(4)) Fx(3)=0.6325

        所以第五个字符为a3

6.      t*=(0.63215699-0.63175)/(0.6325-0.63175)=0.5426533

         Fx(2)=0.5<= t*<= Fx(3)=1

          l(6)= l(5)+( u(5)- l(5)) Fx(2)=0.632125

          u(6)= l(5)+( u(5)- l(5)) Fx(3)=0.6325

         所以第六个字符为a3

7.        t*=(0.63215699-0.632125)/(0.6325-0.632125)=0.04265333

           Fx(k)=0<= t*<= Fx(1)=0.2

           l(7)= l(6)+( u(6)- l(6)) Fx(0)=0.632125

           u(7)= l(6)+( u(6)- l(6)) Fx(1)=0.632275

           所以第七个字符为a1

8.         t*=(0.63215699-0. 632125)/(0. 632125-0. 632275)=0.21326667

            Fx(1)=0.2<= t*<= Fx(2)=0.5

            l(8)= l(7)+( u(7)- l(7)) Fx(1)=0.632155

            u(8)= l(7)+( u(7)- l(7)) Fx(5)=0.6322

           所以第八个字符为a2

9.         t*=(0.63215699-0.632155)/(0.6322-0. 632155)=0.04422222

            Fx(0)=0<= t*<= Fx(1)=0.2

            l(9)= l(8)+( u(8)- l(8)) Fx(0)=0.632155

            u(9)= l(8)+( u(8)- l(8)) Fx(1)=0.632164

            所以第九个字符为a1

10.       t*=(0.63215699-0.632155)/(0.632164-0.632155)=0.22111111

           Fx(1)=0.2<= t*<= Fx(2)=0.5

           l(10)= l(9)+( u(9)- l(9)) Fx(1)=0.6321568

           u(10)= l(9)+( u(9)- l(9)) Fx(2)=0.6321595

           所以第十个字符为a2

           所以,标签值为0.63215699的长度为10的序列解码后的序列为a3a2a2a2a3a3a1a2a1a2

posted @ 2015-09-18 11:46  邹宏佼  阅读(133)  评论(0编辑  收藏  举报