概率生成函数

如果 X 是一个取非负值的随机变量的话,它的概率生成函数(probability generating function,PGF)是:

GX(z)=k0P(X=k)zk


性质

  • GX(1)=1
    显然成立

  • GX(1)=E(X)
    考虑 GX(z)=k0kP(X=k)zk1
    所以 GX(1)=E(X)

  • Var(X)=GX(1)+GX(1)GX(1)2Var(X) 表示随机变量的方差)
    因为有 Var(X)=E(X2)E(X)2
    然后 E(X2)=E(X(X1))+E(X)E(X(X1))=GX(1) 由此得证

  • 如果 XY 是独立的,那么 GX+Y(z)=GX(z)GY(z)
    考虑卷积意义易证


常见 PGF

均匀分布

随机变量 X 等概率取 {0,1,,n1} 中的每个值,它的 PGF 是:

Un(z)=1n(1+z++zn1)=1znn(1z)

尴尬的是,这个式子在 z=1 时没有定义,如果使用洛必达法则的话,Un(n) 分母中还会出现 1z 项,显然是不行的

但是可以通过 Un(1+z) 的麦克劳林级数来解决这个问题:

Un(1+z)=i=0Un(i)i!zi

与上一个式子联立可解得 Un(m)=(nm+1)n

二项分布

设硬币正面朝上概率为 p,反面向上概率为 q,满足 p+q=1

考虑投掷 n 次硬币,正面出现次数的 PGF:

Hn(z)=(q+pz)n=k0(nk)pkqnkzk

负二项分布

还是考虑抛硬币,一直投掷硬币直到出现正面,求需要抛 k 次的概率

容易得出其 PGF 为:

k1qk1pzk=pz1qz

由此可以扩展到出现 n 个正面的情况,即:

(pz1qz)n=k0(k1kn)pnqknzk


例题

练手题

求出 PGF:

Gn(z)=k0pk,nzk

的封闭形式,其中 pk,nn 个物体恰有 k 个轮换的随机排列的概率
并求出它的期望

显然我们可以得出 pn,k=[nk]n!

所以 Gn(z)=k0[nk]n!zk=zn¯n!

zn¯n!=k=1nk1+zk

k 项的系数和为 1,所以也可以看作 PGF,又因为 PGF 相乘相当于随机变量相加,所以可以对这些分别求导再相加

k 项的期望为 1k,所以 Gn(1)=Hn

歌唱王国

G(z) 为关于未结束字符串长度的 (伪)PGF
F(z) 为关于刚结束字符串长度的 PGF

那么我们要求的即为 F(1)

可以发现,FG 存在以下关系:

1+zG(z)=G(z)+F(z)

其意义为在未结束字符串后面随便加一个字符,它就包含了未结束和已结束两种情况

两边求导可得 zG(z)+G(z)=G(z)+F(z),将 1 代入得 G(1)=F(1),那么只需要求 G 即可

对于 FG 还存在以下关系:

(zn)mG(z)=i=1m[preiA=sufiA]F(z)(zn)mi

其中 n 为字符集大小,m 为字符串长度,pre/sufiA 表示字符串 A 的长度为 i 的前缀/后缀

其意义为向未结束字符串后边加一个目标字符串,其等价于以结束字符串向后面加目标字符串的 border

化简可得:

G(1)=i=1m[preiA=sufiA]ni

硬币游戏

和上一道题极其类似,只不过是求概率而且是多个串

G 的定义与上题类似,定义 Fi(z) 为关于使得第 i 个人获胜的字符串长度的 (伪)PGF,F(z)=Fi(z)

发现上题的第一个式子没用了,但是第二个式子仍有用:

可以扩展为:

(z2)mG(z)=i=1nk=1m[prekSi=sufkSl]Fl(z)(z2)mk

其意义为向未结束字符串后面加第 l 个字符串,其等价于所有人胜利的序列向后加胜利的人的字符串与第 l 个不重合的部分

然后还有一个关系式为 F(1)=Fi(1)=1 然后 n+1 个未知数 n+1 个方程,高斯消元即可

posted @   Rolling_star  阅读(134)  评论(5编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示