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;
    }

     

  • 相关阅读:
    Kaldi的data目录解析
    Kaldi的nnet3
    Kaldi中的Chain模型
    Karel版本的nnet1
    Dan版本的nnet2
    MFCC/Filter Bank的提取流程
    【算法专题】工欲善其事必先利其器—— C++ STL中vector(向量/不定长数组)的常用方法总结
    App 设计技巧
    js判断是否在微信浏览器中打开
    WebApi 跨域
  • 原文地址:https://www.cnblogs.com/sunhonghong/p/4849302.html
Copyright © 2011-2022 走看看