5.

从概率模型可知:

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

设l(0)=0,u(0)=1,该序列的第一个元素为1,则:

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

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

所以该标签则在区间[0,0.2)中。

该序列的第二个元素为1,则:

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

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

所以该标签则在区间[0,0.04)中。

该序列的第三个元素为3,则:

l(3)=0+(0.04-0)0.5=0.02;

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

所以该标签则在区间[0.02,0.04)中。

该序列的第四个元素为2,则:

l(4)=0.02+(0.04-0.02)0.2=0.024;

u(4)=0.02+(0.04-0.02)0.5=0.03

所以该标签则在区间[0.024,0.03)中。

该序列的第五个元素为3,则:

l(5)=0.024+(0.03-0.024)0.5=0.027;

u(5)=0.024+(0.03-0.024)1=0.03

所以该标签则在区间[0.027,0.03)中。

该序列的第六个元素为1,则:

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

u(6)=0.027+(0.03-0.027)0.2=0.0276

所以该标签则在区间[0.027,0.0276)中。

生成序列113231的标签如下:

Tx(113231)=(0.027+0.0276)/2=0.0273

 即Tx(a1a1a3a2a3a1)=(0.027+0.0276)/2=0.0273

 

6.

 

#include<iostream>
using namespace std;

int main()
{
double U[11],L[11],F[4];;
U[0]=1;
L[0]=0;
F[0]=0;
F[1]=0.2;
F[2]=0.5;
F[3]=1;
double x=0.63215699;
for(int a=1;a<11;a++)
{
for(int b=1;b<4;b++)
{
L[a]=L[a-1]+(U[a-1]-L[a-1])*F[b-1];
U[a]=L[a-1]+(U[a-1]-L[a-1])*F[b];
if(x>=L[a]&&x<U[a])
{
cout<<b;
break;
}

}
}

return 0;
}