zoukankan      html  css  js  c++  java
  • 第三次作业

    参考书《数据压缩导论(第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。

  • 相关阅读:
    关于获取系统平台下的根目录名,分隔符等等
    AlineTransform 的应用
    网上书店例子(JSP和JavaBean)
    在Servlet中实现永久计数器思想
    关于TOmcat的一些小小的知识
    Java 编程基础,应用与实例
    日历类显示多一行
    使用UPnP连接远程交易服务(翻译)
    涂鸦板代码
    网站
  • 原文地址:https://www.cnblogs.com/wannuexiaoze/p/4812506.html
Copyright © 2011-2022 走看看