首页 > 其他分享 >【学习笔记】概率生成函数

【学习笔记】概率生成函数

时间:2024-01-11 15:48:32浏览次数:35  
标签:2P 函数 sum 笔记 生成 ge mathrm

概述

用生成函数刻画一些困难的概率期望问题,使用一些朴素的数学技巧来解出答案。

设 \(F(x)\) 为概率生成函数,定义为:

\[F(x)=\sum_{i\ge 0}P(X=i)x^i \]

容易发现 \(F(1)=1\)。

将 \(F(x)\) 求导得到:

\[F'(x)=\sum_{i\ge 0}iP(X=i)x^{i-1} \]

容易发现 \(E(X)=F'(1)=1\)。

同时根据高中数学知识可以得到:

\[\begin{aligned} Var(X)&=\sum_{i\ge 0}(i-E(X))^2P(X=i)\\ &=\sum_{i\ge 0}i^2P(X=i)-2iE(X)P(X=i)+E(X)^2P(X=i)\\ &=\sum_{i\ge 0}i^2P(X=i)-E(X)^2 \end{aligned}\]

而 \(F(x)\) 的二阶导:

\[F''(x)=\sum_{i\ge 0}i(i-1)P(X=i)x^{i-2} \]

于是 \(Var(X)=F'(1)+F''(1)-(F'(1))^2\)。

例题

Luogu-P4548 CTSC 2006 歌唱王国

设 \(f_i\) 表示在长度为 \(i\) 时完成的概率,\(g_i\) 表示在长度为 \(i\) 时尚未完成的概率,记 \(F(x),G(x)\) 为 \(f,g\) 的生成函数,结合常数项 \(f_0=0,g_0=1\) 可以得到:

\[F(x)+G(x)=xG(x)+1 \]

考虑将一个未完成的串后面直接接上目标串,此时可能出现没有完全接完就已经完成了的情况(原来就有一部分前缀),已经接上的部分既是前缀也是后缀,即 \(\mathrm{border}\),剩下的部分就浪费了,所以可以写成:

\[\dfrac{x^LG(x)}{m^L}=\sum_{i=1}^L \dfrac{x^{L-i}F(x)}{m^{L-i}}[s[1,i]\in\mathrm{Border}(s)] \]

因为要求 \(F'(1)\),所以对第一个式子求导,得到:

\[F'(x)+G'(x)=G(x)+G'(x) \]

所以 \(F'(1)=G(1)\),再把 \(x=1\) 代入第二个式子。

\[G(1)=\sum_{i=1}^Lm^i[s[1,i]\in\mathrm{Border}(s)] \]

所以答案就是 \(m\) 的所有 \(\mathrm{border}\) 次幂之和。

可见 PGF 解决问题的流程大致是设计一些数列的生成函数,联立方程,求导,并将 \(x=1\) 代入解决问题,上面部分已经阐明 \(x=1\) 时的值有许多特殊之处。

标签:2P,函数,sum,笔记,生成,ge,mathrm
From: https://www.cnblogs.com/SoyTony/p/17958685/Learning_Notes_about_Probability_Generating_Fun

相关文章

  • EXECL函数
    1COUNTIF对比两列数据,有相同的即计为1找一列空白列,输入=COUNTIF(范围,条件),按回车,然后再点击表格右下角的"+"就可以拉动持续执行这个函数 2CONCATENATE添加字符串,可添加多个 ......
  • 无涯教程-Redis - DEBUG SEGFAULT 命令函数
    RedisDEBUGSEGFAULT执行的无效内存访问使Redis崩溃,它用于在开发过程中模拟错误。DEBUGSEGFAULT-语法以下是RedisDEBUGSEGFAULT命令的基本语法。redis127.0.0.1:6379>DEBUGSEGFAULTDEBUGSEGFAULT-示例redis127.0.0.1:6379>DEBUGSEGFAULTCouldnotcon......
  • 可信时间戳如何生成?可信时间戳技术原理
    可信时间戳已成为确立电子数据法律效力的重要技术之一。在全球信息化的大趋势下,以计算机及其网络为依托的电子数据,在证明案件事实的过程中起着越来越重要的作用。电子数据具有脆弱性、易变性、隐蔽性、载体多样性等特点,容易被复制、删除、篡改且难以被发现。因此,电子数据在实际的司......
  • 构建之法阅读笔记4
    继续阅读《构建之法》,我越来越发现自己真的这么幸运,在上学的途中就可以得到这么一本优秀的书本,并且我们的老师特以这本书作为教材让我不仅可以在自己的感想之外得到更多的见解,而且在这期间可以接触到这么一种比较小型的实践,例如我们的软件团队、我们的博客实践记录着我们的足迹,假......
  • 随笔记录-mysql 导入
     mysql-hlocalhost-utest-P3306-p 459 mysql-h192.168.1.12-utest_user2312-P3306-pLOADDATALOCALINFILE'/home/hctest/load_41_10.txt'INTOTABLEt15fieldsterminatedby',';[root@localhosthctest]#catuid_mysql.sh#!/bi......
  • FreeLocked 微信支付开通笔记
    开通对象是收乐财(上海)信息科技有限公司,目前运营的房源资讯网站,我们本来是对标Airbnb尝试了一些民宿预定的线上平台是否能够吸引一些房东或者租户。网址:FreeLocked.com  事实上,电话来不及接,我经常遇到来不及支付电话话费等情况,鉴于目前托管客服也省不了多少钱,我们这块暂时没......
  • 无涯教程-Redis - DBSIZE 命令函数
    RedisDBSIZE命令用于获取所选数据库中的键(key)数。DBSIZE-语法以下是RedisDBSIZE命令的基本语法。redis127.0.0.1:6379>DBSIZEDBSIZE-示例redis127.0.0.1:6379>DBSIZE(integer)147参考链接https://www.learnfk.com/redis/server-dbsize.html......
  • Python Flask 返回函数 、带值的函数
    前言全局说明一、安装flask模块官方源:pip3installflask==2.3.2国内源:pip3installflask==2.3.2-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.com以上二选一,哪个安装快用哪个flask安装时间2023-11更多国内源:https://www.cnblogs.com/wutou......
  • 无涯教程-Redis - CONFIG SET 命令函数
    RedisCONFIGSet命令用于在运行时重新配置服务器,而无需重新启动Redis。CONFIGSET-语法以下是RedisCONFIGSet命令的基本语法。redis127.0.0.1:6379>CONFIGSetparametervalueCONFIGSET-示例redis127.0.0.1:6379>CONFIGGet"requirePass"""redis12......
  • 无涯教程-Redis - CONFIG REWRITE 命令函数
    RedisCONFIGREWRITE命令重写服务器启动时使用的redis.conf文件,并应用最小的更改以反映服务器当前使用的配置。CONFIGREWRITE-语法以下是RedisCONFIGREWRITE命令的基本语法。redis127.0.0.1:6379>CONFIGREWRITEparameter参考链接https://www.learnfk.com/redi......