我的博客和笔记我的博客和笔记
首页
文章
  • TurboLink
  • TinyEncrypt
  • UnrealStyleGuide
  • AxTrace
  • Cyclone
  • 数学相关
  • 图形学
  • 密码学
  • 编程语言
关于
GitHub
首页
文章
  • TurboLink
  • TinyEncrypt
  • UnrealStyleGuide
  • AxTrace
  • Cyclone
  • 数学相关
  • 图形学
  • 密码学
  • 编程语言
关于
GitHub
  • 我的文章

    • 从抛币协议到智能合约

      • Part1
      • Part2
    • JPEG算法解密

      • Part1
      • Part2
      • Part3
      • Part4
      • Part5
      • Github
    • SPH算法简介

      • Part1
      • Part2
      • Part3
      • Part4
      • Github
    • 赌博中的数学:Martingle策略
    • 如何生成一个随机的圆形
    • 一个简单的DH密钥协商算法的实现
    • 如何计算线段和圆的交点
    • 一道数学趣题
    • 斐波那契数列和1/89
    • 匀速贝塞尔曲线运动的实现

      • Part1
      • Part2
  • 开源项目

    • TurboLink
    • TinyEncrypt
    • UnrealStyleGuide
    • AxTrace
    • Cyclone
  • 学习笔记

    • 数学相关

      • 常用数学符号
      • 群
      • 数论(一)
      • 数论(二)
      • 数论(三)
      • 概率
        • 1.随机变量
          • 1.1 离散随机变量
          • 1.2 连续随机变量
        • 2. 概率分布函数(CDF)
          • 2.1 定义
          • 2.2 举例
          • 2.3 特性
        • 3. 概率密度函数(PDF)
          • 3.1 定义
          • 3.2 特性
          • 3.3 举例
        • 4. 期望值
          • 4.1 定义
          • 4.2 特性
        • 5. 大数定理
        • 6. 蒙特卡洛积分法
          • 6.1 定义
          • 6.2举例
        • 7. 采样函数
          • 7.1 证明
          • 7.2 举例
    • 密码学

      • RSA
      • 抛币协议
      • 智能扑克协议
    • 图形学

      • 数学基础

        • 矢量
        • 矩阵
        • 立体角
        • 几何变换(一)
        • 几何变换(二)
        • 法线变换
        • 摄像机变换
      • 光照模型

        • 传统光照模型
        • 光度学
        • 双向反射分布函数(BRDF)
        • 微平面理论(一)
        • 微平面理论(二)
        • 微平面理论(三)
        • 光照方程
      • 环境光渲染

        • 环境光渲染(一)
        • 环境光渲染(二)
    • 编程语言

      • JavaScript

        • 环境搭建
        • 基本语法
        • 函数
        • 对象和类

概率


1.随机变量

1.1 离散随机变量

比如扔一个质地均匀的色子,产生的结果就是一个离散随机变量,X={1,2,3,4,5,6},离散随机变量中的每一个可能的值xi都对应一个概率pi,对于扔色子这个例子,pi=1/6,所有离散随机数值xi的概率之和为 ∑pi=1

1.2 连续随机变量

计算机中产生一个[0,1]之间的随机函数rand(),在不考虑浮点数精度时,就是一个连续的随机变量X

2. 概率分布函数(CDF)

2.1 定义

衡量一个随机数的概率分布规律的两个重要函数,概率分布函数(cumulative distribution function)用来定义概率累计的结果

FX(x)=P(X⩽x)

其中函数P表示某事件发生的概率,也就是说FX(x)表示随机变量X小于x的概率

2.2 举例

比如对于一个在[a,b]之间概率均匀分布的随机变量X

FX(x)={0x<ax−ab−aa⩽x<b1b⩽x

特别的,一个在[0,1]之间均匀分布的随机变量U的概率分布函数

FU(x)={0x<0x0⩽x<111⩽x

2.3 特性

  • 0≤F(x)≤1
  • FX(x)为单调上升的右连续函数
  • limx→−∞F(x)=0,limx→+∞F(x)=1
  • P(a<x⩽b)=F(b)−F(a)

3. 概率密度函数(PDF)

3.1 定义

对于连续性随机变量,其概率分布函数FX(x)可以表达成函数fX(x)的积分

FX(x)=∫−∞xfX(u)du

称fX(x)为随机变量X的概率密度函数,可以理解为随机变量X出现在区间[x,x+dx]之间的概率为fX(x)dx

3.2 特性

  • fX(x)=ddxFX(x)
  • fX(x)⩾0,∀x∈R
  • P(a<x⩽b)=∫abfX(u)du
  • ∫−∞+∞fX(u)du=1

3.3 举例

对于均匀分布在[a,b]之间的随机变量U,有

fU(x)={1/(b−a)a⩽x⩽b0otherwise

正态分布

f(x)=12πe−x22,−∞<x<+∞

4. 期望值

4.1 定义

对于离散随机变量,定义期望值

E[X]=∑xipi

对于连续型随机变量,定义期望值

E[X]=∫−∞+∞xfX(x)dx

比如对于扔色子的结果

E[X]=16(1+2+3+4+5+6)=3.5

对于标准正态分布

E[X]=0

4.2 特性

如果c是常量,那么

  • E[X+c]=E[X]+c
  • E[cX]=cE[X]
  • E[X+Y]=E[X]+E[Y]

5. 大数定理

对于随机变量X,获取其序列值X1,X2,...Xn,当n→∞时,其平均值趋近于期望值E(X)

P(limn→+∞1n(X1+X2+⋯+Xn)=E[X])=1

6. 蒙特卡洛积分法

6.1 定义

想求一个函数g(x)在[a,b]区间的定积分

I=∫abg(x)dx

定义一个随机数序列{Xi},Xi在[a,b]区间的概率密度函数为fX,定义

g′(x)=g(x)fX(x)

那么序列{g′(Xi)}也是一组随机数序列,其期望值

E[g′(Xi)]=∫abg′(x)fX(x)dx=∫abg(x)dx=I

根据大数定理

E[g′(Xi)]=limn→+∞1n∑i=1ng′(Xi)

所以

∫abg(x)dx≈1N∑i=1Ng(Xi)fX(Xi)

6.2举例

比如需要计算

I=∫02x2dx=83

设随机变量X在[0,2]区间均匀分布,那么fX=1/2,那么

I≈1N∑i=1N2Xi2

用Mathmatica模拟

7. 采样函数

计算机中生成的随机数一般是概率均匀分布的随机变量,一般用ξ表示均匀分布在[0,1]之间的随机变量,如果一个随机变量X的概率密度函数为fX,概率分布函数为FX,那么产生随机变量X的采样函数为概率分布函数的反函数

FX−1(ξ)

7.1 证明

随机变量ξ有一个很重要的特性

P(ξ⩽a)=a

随机变量的概率的分布函数FX肯定是单调递增函数,所以它的反函数也一定是单调递增函数,所以

P(FX−1(ξ)⩽x)=P(FX(FX−1(ξ))⩽FX(x))=P(ξ⩽FX(x))=FX(x)

7.2 举例

比如想产生一个随机点,均匀分布在一个半径为R的圆内,设产生的随机点的极坐标为(ρ,θ),那么ρ的概率分布函数

Fρ(r)=P(ρ⩽r)=r2/R2

所以产生随机点的采样函数为

ρ=Fρ−1(ξρ)=Rξρθ=2πξθ
Prev
数论(三)