定常無記憶情報源 X1X2… を考える。この情報源のアルファベットを有限集合 χ とし、各 Xi は確率分布 p(x) に従うものとする。任意に固定された ε>0 に対し、系列 (x1,x2,…,xn)∈χn が
2−n(H(X1)+ε)≤p(x1,x2,…,xn)≤2−n(H(X1)−ε)
を満たすとき、この系列を p(x) に関する典型系列であると言う。ここで、H(X1) は X1 のエントロピーを表し、p(x1,x2,…,xn) は同時確率分布を表す。全ての典型系列からなる集合を Aε(n) と表記する。次の各問いに答えよ。ただし、X={0,1},p(0)=1−α,p(1)=α とする。ここで α∈(0,1) は定数である。
- (x1,x2,…,x10)=(0,1,1,0,0,0,0,1,0,0) に対し、p(x1,x2,…,x10) を求めよ。
- H(Xi) (i=1,2,…,n) および H(X1,X2,…,Xn) を求めよ。
- x=(x1,x2,…,xn) に対し、S(x)=∑i=1nxi とおく。α=0.2,n=200,ε=0.01 とする。Aε(n) に属する系列 x に対する S(x) の範囲を求めよ。
设定常无记忆信息源 X1X2…,其字母表为有限集合 χ,各 Xi 遵循概率分布 p(x)。对任意固定的 ε>0,若序列 (x1,x2,…,xn)∈χn 满足:
2−n(H(X1)+ε)≤p(x1,x2,…,xn)≤2−n(H(X1)−ε)
则称此序列为 p(x) 的典型序列,其中 H(X1) 表示 X1 的熵,p(x1,x2,…,xn) 表示联合概率分布。所有典型序列的集合记为 Aε(n)。回答以下问题:
- 对序列 (x1,x2,…,x10)=(0,1,1,0,0,0,0,1,0,0),求其 p(x1,x2,…,x10)。
- 求 H(Xi) 和联合熵 H(X1,X2,…,Xn)。
- 对于 x=(x1,x2,…,xn),令 S(x)=∑i=1nxi,已知 α=0.2,n=200,ε=0.01,求属于 Aε(n) 的序列 x 的 S(x) 的范围。
以下的推导中,默认对数均为以 2 为底(即 log≡log2)。若题目中未特别指定底数,信息论中常用 log2 计算熵。
给定:
X={0,1},p(0)=1−α,p(1)=α.
并且 {Xi} 独立同分布(i.i.d.)。
题目中的具体序列是
(x1,x2,…,x10)=(0,1,1,0,0,0,0,1,0,0).
数一数其中“1”的个数与“0”的个数:
由于 Xi 相互独立,故该序列的概率为
p(x1,x2,…,x10)=(1−α)(“0”的个数)α(“1”的个数)=(1−α)7α3.
单个符号的熵 H(Xi)
对伯努利随机变量 Xi(取值 0 或 1),其熵为
H(Xi)=−((1−α)log(1−α)+αlog(α)).
这是标准的 Bernoulli(α) 熵公式。
联合熵 H(X1,X2,…,Xn)
由于 X1,X2,…,Xn 独立同分布(i.i.d.),故其联合熵为
H(X1,X2,…,Xn)=i=1∑nH(Xi)=nH(X1).
题目给定:
α=0.2,n=200,ε=0.01.
并定义
S(x)=i=1∑nxi,xi∈{0,1}.
典型集合 Aε(n) 的定义是:
2−n(H(X1)+ε)≤p(x1,…,xn)≤2−n(H(X1)−ε),
其中
p(x1,…,xn)=α∑xi(1−α)n−∑xi=αS(x)(1−α)n−S(x).
令 θ=nS(x)。则
p(x)=αnθ(1−α)n(1−θ),−n1logp(x)=−(θlogα+(1−θ)log(1−α)).
记伯努利(α) 的熵为
H(α)=−(αlogα+(1−α)log(1−α)).
则典型集合的条件可写为
H(α)−ε≤−n1logp(x)≤H(α)+ε,
即
H(α)−ε≤−(θlogα+(1−θ)log(1−α))≤H(α)+ε.
从而得到
−(θlogα+(1−θ)log(1−α))−H(α)≤ε.
也就是说,只有当 θ 使得该式在 ±ε 的范围内成立,x 才会落在典型集合里。
对 α=0.2 来说,
H(α)=−(0.2log0.2+0.8log0.8).
用 log2 来算,可得到大约
H(0.2)≈0.7219(比特).
另一方面,
−(θlog0.2+(1−θ)log0.8)
在 log2 下其实是一个关于 θ 的线性函数(可由数值代入后发现)。
具体计算(保留 4~5 位小数即可):
- log2(0.2)≈−2.321928,
- log2(0.8)≈−0.321928.
所以
−(θlog0.2+(1−θ)log0.8)=θ⋅2.321928+(1−θ)⋅0.321928=0.321928+2.0θ.
再核对一下 θ=0.2 时
0.321928+2.0×0.2=0.321928+0.4=0.721928,
正好与 H(0.2) 符合。
我们要找所有 θ 使
0.321928+2.0θ∈[0.721928−0.01,0.721928+0.01]=[0.711928,0.731928].
令此区间为 [L,U],则
下界 L=0.711928:
0.321928+2.0θ≥0.711928⟹2.0θ≥0.711928−0.321928=0.39⟹θ≥0.195.
上界 U=0.731928:
0.321928+2.0θ≤0.731928⟹2.0θ≤0.731928−0.321928=0.41⟹θ≤0.205.
因此对于 θ=nS(x),我们得到
0.195≤θ≤0.205.
最后将 n=200 代回:
S(x)=nθ∈[200×0.195,200×0.205]=[39,41].
因为 S(x) 必须是整数,所以
S(x)∈{39,40,41}.
p(x1,…,x10):
(x1,…,x10)=(0,1,1,0,0,0,0,1,0,0)⟹p(x1,…,x10)=(1−α)7α3.
熵 H(Xi) 与联合熵
H(Xi)=−(αlogα+(1−α)log(1−α)),H(X1,…,Xn)=nH(X1).
典型集合中 S(x) 的范围
在 α=0.2,n=200,ε=0.01 条件下,属于典型集合 Aε(n) 的序列 x 必须满足
S(x)∈{39,40,41}.