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

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

                        表4-9  习题5,习题6的概率模型


              字母                                              概率


               a1                                                 0.2

               a2                                                 0.3

               a3                                                  0.5


    解:由题可知,映射a1<=>1,a2<=>2,a3<=>3

    Fx(k)=0, k≤0, Fx(1)=0.2, Fx(2)=0.5, Fx(3)=1, k>3

    下界:  l(0)=0,上界:u(0)=1

    该序列的第1个元素为a1:

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

               u(1)=0+(1-0) Fx(1)=0.2

    序列的第2个元素为a1

               l(2)= 0+(0.2- 0)Fx(0)=0

               u(2)=0+(0.2-0) Fx(1)=0.04

    序列的第3个元素为a3

               l(3)= 0+(0.04- 0)Fx(2)=0.02

               u(3)=0+(0.04-0) Fx(3)=0.04

    序列的第4个元素为a2  

             l(4)= 0.02+(0.04- 0.02)Fx(1)=0.024

               u(4)=0.02+(0.04-0.02) Fx(2)=0.03

    序列的第5个元素为a3   

               l(5)= 0.024+(0.03- 0.024)Fx(2)=0.027

               u(5)=0.024+(0.03-0.024) Fx(3)=0.03

    序列的第6个元素为a1   

               l(6)= 0.027+(0.03- 0.027)Fx(0)=0.027

               u(6)=0.027+(0.03-0.027) Fx(1)=0.0276

    该序列a1a1a3a2a3a1的标签所在的区间为[0.027,0.0276)

    可以生成序列a1a1a3a2a3a1的标签如下:

    Tx(a1a1a3a2a3a1)= l(6)+u(6)/2

                           =(0.027+0.0276)/2

                           =0.0273

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

    include

    int main()
    {
    double tag=0.63215699;
    double l[100],u[100];
    double t;
    l[0]=0;
    u[0]=1;
    double A0=0.0,A1=0.2,A2=0.5,A3=1.0;
    int M[100];
    for(int k=1;k<=10;k++)
    {
    t=(double)(tag-l[k-1])/(u[k-1]-l[k-1]);
    if(t>=A0&&t<=A1)
    {
    u[k]=l[k-1]+(u[k-1]-l[k-1])A1;
    l[k]=l[k-1]+(u[k-1]-l[k-1])A0;
    M[k]=1;
    }
    else if(t>A1&&t<=A2)
    {
    u[k]=l[k-1]+(u[k-1]-l[k-1])A2;
    l[k]=l[k-1]+(u[k-1]-l[k-1])A1;
    M[k]=2;
    }
    else if(t>A2&&t<=A3)
    {
    u[k]=l[k-1]+(u[k-1]-l[k-1])A3;
    l[k]=l[k-1]+(u[k-1]-l[k-1])A2;
    M[k]=3;
    }
    printf("%d",M[k]);
    }
    return 0;
    }

     

  • 相关阅读:
    如何挖掘需求,覆盖整个系统
    JVM全整理
    7.linux文件与目录管理
    6.linux的文件权限与目录配置
    获取外汇基本汇率
    Pointer-Events: 如何处理ScreenTouch和MouseClicks
    Excel如何快速定位出两列的不同值
    Java数据结构: java.util.BitSet源码学习
    一道面试题与Java位操作 和 BitSet 库的使用
    Test post.
  • 原文地址:https://www.cnblogs.com/sunhonghong/p/4849302.html
Copyright © 2011-2022 走看看