数学建模

"课程信息"

01 秘密共享

数学建模的第一个例子

问题背景

11名科学家正在进行一个秘密项目。他们希望把文件锁在一个柜子里,只有当6名或更多的科学家在场时,柜子才能被打开。问:需要的最小锁数是多少?每个科学家必须携带的最小钥匙数量是多少?

秘密共享-组合数学

首先,你想到了高中学过的组合数学!你决定先从基数比较少的情况入手,即只有5名科学家的情况。

特殊情况

"问题背景"

5人在保险柜内存放秘密文件,只有3人及以上在场才能打开,至少几把锁?每个人至少要带多少钥匙?

"分析"

  • 两个人过来的时候,必然至少有一把锁不能被打开。

    • 因为我们此时考虑最少锁的情况,所以取任意二人组合不能打开锁的数量为 11
    • 所以每把锁与一对(没有钥匙的)两人组合对应,要有C52=10C_{5}^{2}=10把锁
      • 为什么不能是两对?
      • ——因为两对都不能打开同一把锁的情况下,三个人过来的时候,就不能打开保险柜了。
  • 三个人过来的时候,必然能打开其中的一把锁。

    • 所以每人拥有他不在的两人组合对应的锁的钥匙,每人有C42=6C_4^2=6把钥匙
  • 记录如下:

A B C D E 谁没有钥匙?
1 AB
2 AC
3 AD
4 AE
5 BC
6 BD
7 BE
8 CD
9 CE
10 DE

\therefore 至少要有1010把锁,每人有66把钥匙。

然后我们来考虑一般情况,即有2n+12n+1名科学家的情况。

一般情况

设相关人共有2n+12n+1人,其中nn人组成的“少数”团体不能打开安全门,任意n+1n+1人组成的“多数”团体可以打开安全门。

"少数与多数"

"需要几把锁?需要多少钥匙?"

每把锁与一个“少数”团体对应,至少要有C2n+1nC_{2n+1}^n把锁。

每人拥有他不在的“少数”团体对应的锁的钥匙,每人有C2nnC_{2n}^n把钥匙。

秘密共享-密码学

在密码学里,有专业术语来表示这种情况,叫做门限机制(t,n)(t,n): 在nn人之间共享秘密,其中任意 tt 人可以重构出秘密,而任意 t1t-1 人都不能重构出秘密。

Shamir 门限机制 (t,n)(t,n)

"基本思想"

通过秘密多项式,将秘密ss分解为nn个秘密,分发给持有者,其中任意不少于tt个秘密均能恢复密文,而任意少于tt个秘密均无法得到密文的任何信息。

"分发方法"

假设有秘密 KK 要保护,任意取t1t-1个随机整数{x1,,xt1}\{x_1,\cdots,x_{t-1}\},构造如下多项式:

f(c)=K+x1c+x2c2++xt1ct1f(c)=K+x_1c+x_2c^2+\cdots+x_{t-1}c^{t-1}

其中,KZK \in \mathbb{Z},就是我们的秘密。

nn个不同的整数{c1,,cn}\{c_1,\cdots,c_n\},取公开大素数p>n+1,Kp>n+1,K。计算bjf(cj)(modp)b_j\equiv f(c_j)(\mod p),将(cj,bj)(c_j,b_j)发送给第jj个持有者。

"证明可行性"

就是判断任意tt个方程是否有唯一解,任意t1t-1个方程是否有无穷多解。

"任意tt个方程是否有唯一解"

tt个方程,则有解对应的行列式:

1c1c12c1t11c2c22c2t11ctct2ctt1\begin{vmatrix} 1 & c_1 & c_1^2 & \cdots & c_1^{t-1} \\ 1 & c_2 & c_2^2 & \cdots & c_2^{t-1} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & c_t & c_t^2 & \cdots & c_t^{t-1} \\ \end{vmatrix}

由于cic_i互不相同,所以行列式不为零,有唯一解。

"任意t1t-1个方程是否有无穷多解"

对于任意t1t-1个方程,由于我们有tt个未知数,所以有无穷多解。

"恢复秘密"

任意tt个持有者联合,可以构造tt个方程,从而可以恢复出秘密。

"例子:Secret:123123; Shamir(3,5)(3,5)"

"分配步骤"

  1. 首先确定 ttnn,这里 t=3,n=5t=3,n=5

  2. 确定秘密 K=123K=123,取模数 p=127p=127

  3. 秘密选择 t1=2t-1=2 个随机数 x1=2,x2=3x_1=2,x_2=3,构造多项式:

    f(c)=123+2c+3c2f(c)=123+2c+3c^2

  4. 选择 n=5n=5 个不同的整数 c1=1,c2=2,c3=3,c4=4,c5=5c_1=1,c_2=2,c_3=3,c_4=4,c_5=5,计算 bjf(cj)(modp)b_j\equiv f(c_j)(\mod p),然后将 (cj,bj)(c_j,b_j) 发送给第 jj 个持有者:

    cjc_j f(cj)f(c_j) bjb_j
    1 128 1
    2 139 12
    3 156 29
    4 179 52
    5 208 81

"恢复秘密"

  1. 集齐任意tt个钥匙,例如第一个人的(c1,b1)(c_1,b_1),第二个人的(c2,b2)(c_2,b_2),第五个人的(c5,b5)(c_5,b_5),则可以构造如下方程组:

    {K+1x1+12x21(mod127)K+2x1+22x212(mod127)K+5x1+52x281(mod127)\begin{cases} K+1\cdot x_1+1^2\cdot x_2\equiv 1(\mod 127) \\ K+2\cdot x_1+2^2\cdot x_2\equiv 12(\mod 127) \\ K+5\cdot x_1+5^2\cdot x_2\equiv 81(\mod 127) \\ \end{cases}

解得

{K(mod127)=4x1(mod127)=2x2(mod127)=3\begin{cases} K(\mod 127)=-4\\ x_1(\mod 127)=2\\ x_2(\mod 127)=3 \end{cases}

所以密码K=123K=123

秘密共享-数论

"线性同余方程"

线性同余方程是指形如 axb(modm)ax\equiv b(\mod m) 的方程,其中 a,b,ma,b,m 为整数,m>0m>0

"什么是逆?"

a,ba,b 为整数,mm 为正整数,若 ab1(modm)ab\equiv 1(\mod m),则称 aamm 可逆,且 bbaa 在模 mm 意义下的逆元,记为 a1a^{-1}

"如何求逆?"

"大衍求一术"

271(mod64)27^{-1}(\mod 64)

127064\begin{vmatrix} 1 & 27 \\ 0 & 64 \\ \end{vmatrix}

其中,64=227+1064=2\cdot 27+10,所以

127210\begin{vmatrix} 1 & 27 \\ 2 & 10 \\ \end{vmatrix}

其中,27=210+727=2\cdot 10+7,所以

57210\begin{vmatrix} 5 & 7 \\ 2 & 10 \\ \end{vmatrix}

其中,10=17+310=1\cdot 7+3,所以

5773\begin{vmatrix} 5 & 7 \\ 7 & 3 \\ \end{vmatrix}

其中,7=23+17=2\cdot 3+1,所以

19173\begin{vmatrix} 19 & 1 \\ 7 & 3 \\ \end{vmatrix}

所以 27119(mod64)27^{-1}\equiv 19(\mod 64)

"扩展欧几里得算法"

用欧拉公式列出一系列等式,直到出现末尾的1。然后从最后一个等式开始,依次代入前面的等式,直到把gcd(a,b)gcd(a, b)写成sa+tmsa + tm。其中,aa的系数就是a1a^{-1}

例如,求271(mod64)27^{-1}(\mod 64)

64=227+1027=210+710=17+37=23+1\begin{aligned} 64&=2\cdot 27+10\\ 27&=2\cdot 10+7\\ 10&=1\cdot 7+3\\ 7&=2\cdot 3+1 \end{aligned}

所以

1=723=72(1017)=37210=3(27210)210=327810=3278(64227)=1927864\begin{aligned} 1&=7-2\cdot 3=7-2\cdot (10-1\cdot 7)\\ &=3\cdot 7-2\cdot 10=3\cdot (27-2\cdot 10)-2\cdot 10\\ &=3\cdot 27-8\cdot 10=3\cdot 27-8\cdot (64-2\cdot 27)\\ &=19\cdot 27-8\cdot 64 \end{aligned}

所以 27119(mod64)27^{-1}\equiv 19(\mod 64)

"中国剩余定理"

m1,m2,,mkm_1,m_2,\cdots,m_k 为两两互质的正整数,a1,a2,,aka_1,a_2,\cdots,a_k 为任意整数,记M=m1m2mkM = m_1m_2\cdots m_k,则同余方程组

{xa1(modm1)xa2(modm2)xak(modmk)\begin{cases} x\equiv a_1(\mod m_1)\\ x\equiv a_2(\mod m_2)\\ \vdots\\ x\equiv a_k(\mod m_k)\\ \end{cases}

有小于 MM 的唯一正整数解x=M1M11a1+M2M21a2++MkMk1ak(modM)x=M_1M_1^{-1}a_1+M_2M_2^{-1}a_2+\cdots+M_kM_k^{-1}a_k(\mod M),其中Mi=M/miM_i=M/m_iMi1M_i^{-1}MiM_i在模mim_i意义下的逆元。

"如何求解?"

  1. 计算 M=m1m2mkM=m_1m_2\cdots m_k
  2. 计算 Mi=M/miM_i=M/m_i
  3. 计算 Mi1M_i^{-1}
  4. 解为 x=M1M11a1+M2M21a2++MkMk1ak(modM)x=M_1M_1^{-1}a_1+M_2M_2^{-1}a_2+\cdots+M_kM_k^{-1}a_k(\mod M)

例如,求解 x2(mod3),x3(mod5),x2(mod7)x\equiv 2(\mod 3),x\equiv 3(\mod 5),x\equiv 2(\mod 7)

M=357=105M1=57=35,M2=37=21,M3=35=1535M111(mod3),21M211(mod5),15M311(mod7)M11=2,M21=1,M31=1x=3522+2113+1512=23323(mod105)\begin{aligned} M&=3\cdot 5\cdot 7=105\\ M_1&=5\cdot 7=35,M_2=3\cdot 7=21,M_3=3\cdot 5=15\\ 35M_1^{-1}&\equiv 1(\mod 3),21M_2^{-1}\equiv 1(\mod 5),15M_3^{-1}\equiv 1(\mod 7)\\ M_1^{-1}&=2,M_2^{-1}=1,M_3^{-1}=1\\ x&=35\cdot 2\cdot 2+21\cdot 1\cdot 3+15\cdot 1\cdot 2=233\equiv 23(\mod 105) \end{aligned}

Asmuth-Bloom 门限机制

"参数选取"

记秘密为KKnn个人,tt个人可以恢复秘密。

选取两两互素的整数ppm1,m2,,mnm_1,m_2,\cdots,m_n,满足p>Kp>K以及m1<m2<<mnm_1<m_2<\cdots<m_n,且

m1mtmnt+2mn>p\frac{m_1\cdots m_t}{m_{n-t+2}\cdots m_n}>p

也就是说任意tt个整数的乘积都大于pp乘以任意t1t-1个整数的乘积。

"秘密分割"

为了选出一个能代表KK的数K<m1mtK'<m_1\cdots m_t,我们选取一个随机数rNr\in \mathbb{N},满足0rm1mtp10\leq r \leq \frac{m_1\cdots m_t}{p}-1。记K=K+rpK'=K+rp

K=K+rpK+(m1mtp1)p=K+m1mtpm1mtK'=K+rp\leq K+(\frac{m_1\cdots m_t}{p}-1)p=K+m_1\cdots m_t-p\leq m_1\cdots m_t

kjK(modmj),1jnk_j \equiv K'(\mod m_j),1\leq j\leq n,将秘密份额(kj,mj)(k_j,m_j)分发给第jj个持有者。

"秘密恢复"

tt个持有者联合时,由(kj,mj)(k_j,m_j),可构建方程组

kjK(modmj)k_j \equiv K'(\mod m_j)也就意味着Kkj(modmj)K'\equiv k_j(\mod m_j)

{xk1(modm1)xk2(modm2)xkt(modmt)\begin{cases} x\equiv k_1(\mod m_1)\\ x\equiv k_2(\mod m_2)\\ \vdots\\ x\equiv k_t(\mod m_t)\\ \end{cases}

然后可由中国剩余定理求解xx

"证明可行性"

判断任意tt个方程可行,任意t1t-1个方程不可行。

"为什么任意tt个方程可行?"

由于中国剩余定理,所以任意tt个方程都有小于mk1mk2mktm_{k_1}m_{k_2}\cdots m_{k_t}的唯一解xx

当我们限制了K<m1mtK'<m_1\cdots m_t

那么nn个方程解出来有唯一解K<m1mtmk1mk2mktK'<m_1\cdots m_t \leq m_{k_1}m_{k_2}\cdots m_{k_t}

而对任意tt个方程能解出唯一解xmk1mk2mktx \leq m_{k_1}m_{k_2}\cdots m_{k_t},由于区间的限制以及解的唯一性,所以x=Kx=K'

如果xKx\neq K',则tt个方程的解不唯一,与中国剩余定理矛盾。

K'

"为什么任意t1t-1个方程不可行?"

因为对任意t1t-1个方程,我们解出的那个唯一解x<mk1mk2mkt1x<m_{k_1}m_{k_2}\cdots m_{k_{t-1}}的。

mk1mk2mkt1<qmk1mk2mktm_{k_1}m_{k_2}\cdots m_{k_{t-1}}<q*m_{k_1}m_{k_2}\cdots m_{k_t}

所以在mk1mk2mkt1m_{k_1}m_{k_2}\cdots m_{k_{t-1}}qmk1mk2mktq*m_{k_1}m_{k_2}\cdots m_{k_t}之间,仍有数解,所以不可行。

02 搜索引擎的PageRank模型

"问题背景:"

如何给出一种合理、客观、定量、可操作的网页排序规则,使“重要”的网页排在前面?

随机矩阵

我们先对矩阵的一些概念进行定义:

任一随机矩阵的模最大特征值为 1

"证明"

  1. 证明 11 是随机矩阵的特征值。

    1. 对行随机矩阵,我们很容易就能取到特征向量为全为1的列向量,此时特征值为1。
    2. 对列随机矩阵,因为转置前后特征值相同,所以也是1。
  2. 证明 11 是随机矩阵的模最大特征值。

    1. λ\lambda 是行随机矩阵P=Pij\mathbf{P}=P_{ij}的特征值,非零向量 x=(x1,x2,,xn)T\mathbf{x}=(x_1,x_2,\cdots,x_n)^T 为属于特征值λ\lambda的特征向量。设xi=max{x1,x2,,xn}|x_i|=\max\{|x_1|,|x_2|,\cdots,|x_n|\}
    2. Px=λx\mathbf{P}\mathbf{x}=\lambda\mathbf{x},可得 λxi=j=1npijxj\lambda x_i = \sum_{j=1}^np_{ij}x_j
    3. 对上式两边取模,λxi=j=1npijxjj=1npijxjj=1npijxi=xij=1npij=xi|\lambda||x_i| = |\sum_{j=1}^np_{ij}x_j| \leq \sum_{j=1}^n|p_{ij}||x_j| \leq \sum_{j=1}^n|p_{ij}||x_i| = |x_i|\sum_{j=1}^n|p_{ij}| = |x_i|,即 λ1|\lambda| \leq 1

所以,1是随机矩阵的特征值,且模最大。

网页重要度

为了排序网页,我们首先肯定需要定量地描述网页的重要度。于是,我们给出以下网页重要度的原则与假设:

"某网页重要,是因为有其他重要的网页链接到它"

网络链接图

我们用有向图来表示互联网中网页之间的连接关系,并称之为网络链接图,我们定义顶点为网页V={v1,v2,,vn}V=\{v_1,v_2,\cdots,v_n\},弧为网页之间的有向链接。

"例子"

如图所示,我们记网页A、B、C、D为v1,v2,v3,v4v_1,v_2,v_3,v_4,则有v1v_1指向v2,v3,v4v_2, v_3,v_4; v2v_2指向v3,v4v_3,v_4; v3v_3指向v1v_1; v4v_4指向v1,v3v_1,v_3

Alt text

网页重要度的矩阵表示

记网页viv_i的重要度为xix_i,出度为qiq_i,根据网页重要度中的假设,我们有

pijp_{ij}为网页viv_ivjv_j的链接概率,即viv_i链接到vjv_j的概率,我们有

pij={1qi,vi链接到vj0,vi不链接到vjp_{ij}=\begin{cases} \frac{1}{q_i},&\text{若}v_i\text{链接到}v_j\\ 0,&\text{若}v_i\text{不链接到}v_j \end{cases}

所以,我们可以将上式改写为

xi=j=1npijxjx_i=\sum_{j=1}^np_{ij}x_j

记矩阵P=(pij)n×n\mathbf{P}=(p_{ij})_{n\times n}为初始链接矩阵,x=(x1,x2,,xn)T\mathbf{x}=(x_1,x_2,\cdots,x_n)^T为网页重要度向量,我们有

x=Px\mathbf{x}=\mathbf{P}\mathbf{x}

显然,x\mathbf{x}P\mathbf{P}的特征向量,对应的特征值为1。且Rank(IP)<n\text{Rank}(\mathbf{I}-\mathbf{P})<n(其实IP\mathbf{I}-\mathbf{P}的每一列和为0,将最后一行前的所有行相加至最后一行,得到0\mathbf{0},所以Rank(IP)<n\text{Rank}(\mathbf{I}-\mathbf{P})<n)。

因为初始链接矩阵P\mathbf{P}的每一列和为1,所以P\mathbf{P}列随机矩阵

"例子"

如图所示,我们记网页A、B、C、D为v1,v2,v3,v4v_1,v_2,v_3,v_4,则有v1v_1指向v2,v3,v4v_2, v_3,v_4; v2v_2指向v3,v4v_3,v_4; v3v_3指向v1v_1; v4v_4指向v1,v3v_1,v_3

Alt text

我们有(pijp_{ij}是从vjv_jviv_i的概率)

P=[00112130001312012131200]\mathbf{P}=\begin{bmatrix} 0&0&1&\frac{1}{2}\\ \frac{1}{3}&0&0&0\\ \frac{1}{3}&\frac{1}{2}&0&\frac{1}{2}\\ \frac{1}{3}&\frac{1}{2}&0&0 \end{bmatrix}

所以:

IP=[10112131001312112131201]\mathbf{I}-\mathbf{P}=\begin{bmatrix} 1&0&-1&-\frac{1}{2}\\ -\frac{1}{3}&1&0&0\\ -\frac{1}{3}&-\frac{1}{2}&1&-\frac{1}{2}\\ -\frac{1}{3}&-\frac{1}{2}&0&1 \end{bmatrix}

可以解得:

x=[1231431931631]\mathbf{x}=\begin{bmatrix} \frac{12}{31}\\ \frac{4}{31}\\ \frac{9}{31}\\ \frac{6}{31} \end{bmatrix}

但是,线性方程组x=Px\mathbf{x}=\mathbf{P}\mathbf{x}还会有特殊情况:

"节点没有出度"

悬挂网页

Alt text

"这个线性方程组有多个解"

P\overline{\mathbf{P}}有两个属于特征值11的线性无关的特征向量,我们就无法得到唯一的网页重要度向量x\mathbf{x}。如下图。
Alt text

悬挂网页

若某网页不链接到任意其它网页,我们称之为悬挂网页。显然,悬挂网页的出度为0,但它的重要度不为0,因为有其他网页链接到它。所以我们需要对初始链接矩阵P\mathbf{P}进行修正。

将链接矩阵P\mathbf{P}的该列所有元素由00修改为1n\frac{1}{n},得到(修正)链接矩阵P\overline{\mathbf{P}}

我们记悬挂网页为第ii个网页,记dT=(0,0,,0,1,0,,0)\mathbf{d}^T=(0,0,\cdots,0,1,0,\cdots,0),其中索引至悬挂网页的值为1,其余为0。则有

P=P+1n1dT\overline{\mathbf{P}}=\mathbf{P}+\frac{1}{n}\mathbf{1}\mathbf{d}^T

"悬挂网页例子"

"图"

如下图中,修正的链接矩阵为多少?

Alt text

"修正连接矩阵"

Alt text

多解修正

P\overline{\mathbf{P}}有两个属于特征值11的线性无关的特征向量,我们就无法得到唯一的网页重要度向量x\mathbf{x}

于是,我们对P\overline{\mathbf{P}}进行修正,使得P\overline{\mathbf{P}}成为完全正矩阵,即P\overline{\mathbf{P}}的所有方阵子式的行列式都大于0。

我们先给出修正的方法:

P=αP+(1α)1n11T\overline{\overline{\mathbf{P}}}=\alpha\overline{\mathbf{P}}+(1-\alpha)\frac{1}{n}\mathbf{1}\mathbf{1}^T

其中,α\alpha为修正系数,α=0.85\alpha=0.85P\overline{\overline{\mathbf{P}}}是完全正矩阵与列随机矩阵的结合。

"证明P\overline{\overline{\mathbf{P}}}是列随机矩阵"

1TP=α1TP+(1α)1T1n11T=α1T+(1α)1T=1T\mathbf{1}^T\overline{\overline{\mathbf{P}}}=\alpha\mathbf{1}^T\overline{\mathbf{P}}+(1-\alpha)\mathbf{1}^T\frac{1}{n}\mathbf{1}\mathbf{1}^T=\alpha\mathbf{1}^T+(1-\alpha)\mathbf{1}^T=\mathbf{1}^T

所以,P\overline{\overline{\mathbf{P}}}是列随机矩阵。

注意,我们说的是P\overline{\overline{\mathbf{P}}}是列随机矩阵,而我们要求的是Px=x\overline{\overline{\mathbf{P}}}\mathbf{x}=\mathbf{x},所以这里的1T\mathbf{1}^T并不是P\overline{\overline{\mathbf{P}}}的特征向量。

"证明P\overline{\overline{\mathbf{P}}}关于特征值1的特征向量有且只有一个"

  1. 存在性:P\overline{\overline{\mathbf{P}}}是列随机矩阵,所以1是P\overline{\overline{\mathbf{P}}}的特征值,且1\mathbf{1}是属于特征值1的特征向量。
  2. 唯一性:用反证法:

v=(v1,v2,,vn)T,w=(w1,w2,,wn)T\mathbf{v}=(v_1,v_2,\cdots,v_n)^T, \mathbf{w}=(w_1,w_2,\cdots,w_n)^T是完全正、列随机矩阵P\overline{\overline{\mathbf{P}}}的属于特征值1的特征向量,且vw\mathbf{v}\neq\mathbf{w}。令xi=WVvi+wi,i=1,2,,nx_i = -\frac{W}{V}v_i+w_i, i = 1,2,\cdots,n,其中W=i=1nwi,V=i=1nvi0W=\sum_{i=1}^nw_i, V=\sum_{i=1}^nv_i\neq 0,因为v\mathbf{v}w\mathbf{w}线性无关,且

j=inpijxj=j=inpij(WVvj+wj)=WVj=inpijvj+j=inpijwj=WVvi+wi=xi\sum\limits_{j=i}^n\overline{\overline{p}}_{ij}x_j=\sum\limits_{j=i}^n\overline{\overline{p}}_{ij}(-\frac{W}{V}v_j+w_j)=-\frac{W}{V}\sum\limits_{j=i}^n\overline{\overline{p}}_{ij}v_j+\sum\limits_{j=i}^n\overline{\overline{p}}_{ij}w_j=-\frac{W}{V}v_i+w_i=x_i

j=inpijvj=vi\sum\limits_{j=i}^n\overline{\overline{p}}_{ij}v_j=v_i,是因为v=(v1,v2,,vn)T\mathbf{v}=(v_1,v_2,\cdots,v_n)^T是属于特征值1的特征向量,经计算可得。

所以有i=1nxi=i=1n(WVvi+wi)=WVi=1nvi+i=1nwi=WVV+W=0\sum\limits_{i=1}^nx_i = \sum\limits_{i=1}^n(-\frac{W}{V}v_i+w_i) = -\frac{W}{V}\sum\limits_{i=1}^nv_i+\sum\limits_{i=1}^nw_i = -\frac{W}{V}V+W = 0,即x\mathbf{x}P\overline{\overline{\mathbf{P}}}的属于特征值1的特征向量,所以x\mathbf{x}的分量之和为0。

我们接下来尝试证明:如果x\mathbf{x}P\overline{\overline{\mathbf{P}}}的属于特征值1的特征向量,那么x\mathbf{x}的分量之和不为零,从而与上面的结论矛盾。这也就证明了属于特征值1的特征向量有且只有一个。

证明:
x\mathbf{x}P\overline{\overline{\mathbf{P}}}的属于特征值1的特征向量,则xi=j=1npijxjx_i=\sum\limits_{j=1}^n\overline{\overline{p}}_{ij}x_j

如果i=1nxi=0\sum\limits_{i=1}^nx_i=0,则x\mathbf{x}的分量有正有负,所以

xi=j=1npijxj<j=1npijxi|x_i|=|\sum\limits_{j=1}^n\overline{\overline{p}}_{ij}x_j|<\sum\limits_{j=1}^n\overline{\overline{p}}_{ij}|x_i|

所以

i=1nxi<i=1nj=1npijxj=j=1ni=1npijxj=j=1n(xji=1npij)=j=1nxj\sum\limits_{i=1}^n|x_i|<\sum\limits_{i=1}^n\sum\limits_{j=1}^n\overline{\overline{p}}_{ij}|x_j|=\sum\limits_{j=1}^n\sum\limits_{i=1}^n\overline{\overline{p}}_{ij}|x_j|=\sum\limits_{j=1}^n(|x_j|\sum\limits_{i=1}^n\overline{\overline{p}}_{ij})=\sum\limits_{j=1}^n|x_j|

矛盾,所以x\mathbf{x}的分量之和不为零。

所以,P\overline{\overline{\mathbf{P}}}关于特征值1的特征向量有且只有一个。

Perron-Frobenius定理

把上述结论一般化,我们有:

"Perron定理"

若矩阵 A\mathbf{A}是完全正矩阵,则

"Perron—Frobenius定理"

若矩阵 A\mathbf{A}是非负不可约(irreducible)矩阵,则

"不可约矩阵"

不可约矩阵当且仅当矩阵对应的有向图是强连通图。

强连通图是指在有向图GG中,如果对于每一对vi,vjv_i,v_jvivjv_i\neq v_j,从viv_ivjv_j和从vjv_jviv_i都存在路径,则称GG是强连通图。

Alt text

"不可约矩阵的代数描述"

若干个初等对换矩阵的乘积称为置换矩阵(permutation matrix)

  • 置换矩阵每行和每列都恰有一个元素为 1,其余元素都为 0
  • 若存在置换矩阵 Q\mathbf{Q},使得 QTAQ=(X0YZ)\mathbf{Q}^T\mathbf{A}\mathbf{Q}= \begin{pmatrix}\mathbf{X}&0\\\mathbf{Y}&\mathbf{Z}\end{pmatrix},其中 X\mathbf{X}Z\mathbf{Z} 均为方阵,则称 A\mathbf{A} 为可约矩阵(reducible matrix),否则 A\mathbf{A} 为不可约矩阵

PageRank中的矩阵求解

整个互联网有相当多且稀疏的网页,所以我们需要一个好的算法来求解网页重要度向量x\mathbf{x}

幂法

幂法是计算矩阵模最大特征值和对应的特征向量的一种迭代算法

任取初始向量x(0)>0\mathbf{x}^{(0)}>0,且i=1nxi(0)=1\sum\limits_{i=1}^nx_i^{(0)}=1,我们通过迭代计算x(k)=Px(k1)\mathbf{x}^{(k)}=\overline{\overline{\mathbf{P}}}\mathbf{x}^{(k-1)},直到x(k)\mathbf{x}^{(k)}收敛

1Tx(k)=1TPx(k1)=1Tx(k1)=1\mathbf{1}^T\mathbf{x}^{(k)}=\mathbf{1}^T\overline{\overline{\mathbf{P}}}\mathbf{x}^{(k-1)}=\mathbf{1}^T\mathbf{x}^{(k-1)}=1

我们展开x(k)=Px(k1)\mathbf{x}^{(k)}=\overline{\overline{\mathbf{P}}}\mathbf{x}^{(k-1)}

P=P+1n1dT\overline{\mathbf{P}}=\mathbf{P}+\frac{1}{n}\mathbf{1}\mathbf{d}^T

P=αP+(1α)1n11T\overline{\overline{\mathbf{P}}}=\alpha\overline{\mathbf{P}}+(1-\alpha)\frac{1}{n}\mathbf{1}\mathbf{1}^T

x(k)=Px(k1)=αPx(k1)+(1α)1n11Tx(k1)=αPx(k1)+(1α)1n1=α(P+1n1dT)x(k1)+(1α)1n1=αPx(k1)+α1n1dTx(k1)+(1α)1n1\begin{aligned} \mathbf{x}^{(k)}&=\overline{\overline{\mathbf{P}}}\mathbf{x}^{(k-1)}\\ &=\alpha\overline{\mathbf{P}}\mathbf{x}^{(k-1)}+(1-\alpha)\frac{1}{n}\mathbf{1}\mathbf{1}^T\mathbf{x}^{(k-1)}\\ &=\alpha\overline{\mathbf{P}}\mathbf{x}^{(k-1)}+(1-\alpha)\frac{1}{n}\mathbf{1}\\ &=\alpha(\mathbf{P}+\frac{1}{n}\mathbf{1}\mathbf{d}^T)\mathbf{x}^{(k-1)}+(1-\alpha)\frac{1}{n}\mathbf{1}\\ &=\alpha\mathbf{P}\mathbf{x}^{(k-1)}+\alpha\frac{1}{n}\mathbf{1}\mathbf{d}^T\mathbf{x}^{(k-1)}+(1-\alpha)\frac{1}{n}\mathbf{1}\\ \end{aligned}

完全正、列随机矩阵幂法的收敛性

1TP=1T\mathbf{1}^T\overline{\overline{\mathbf{P}}}=\mathbf{1}^T

P=(pij)n×n\overline{\overline{\mathbf{P}}}=(\overline{\overline{p_{ij}}})_{n\times n}

V\mathbf{V}为满足1Tv=1\mathbf{1}^T\mathbf{v}=1nn维列向量v={v1,v2,,vn}\mathbf{v}=\{v_1,v_2,\cdots,v_n\}全体组成的集合。记v1=i=1nvi\|\mathbf{v}\|_1=\sum\limits_{i=1}^n|v_i|

对任意的vV\mathbf{v}\in\mathbf{V},我们取w=Pv\mathbf{w}=\overline{\overline{\mathbf{P}}}\mathbf{v},因为

1Tw=1TPv=1Tv=0\mathbf{1}^T\mathbf{w}=\mathbf{1}^T\overline{\overline{\mathbf{P}}}\mathbf{v}=\mathbf{1}^T\mathbf{v}=0

所以wV\mathbf{w}\in\mathbf{V}

我们接下来尝试证明w1=Pv1cv1\|\mathbf{w}\|_1=\|\overline{\overline{\mathbf{P}}}\mathbf{v}\|_1\leq c\|\mathbf{v}\|_1,其中c<1c<1

  1. w=0\mathbf{w}=0,显然成立。
  2. w0\mathbf{w}\neq0,记w=(w1,w2,,wn)T\mathbf{w}=(w_1,w_2,\cdots,w_n)^Tei=sgn(wi)e_i = \text{sgn}(w_i),则有

w1=i=1nwi=i=1neiwi=i=1n(eij=1npijvj)=i=1n(j=1neipijvj)=j=1n(i=1neipijvj)=j=1n(vji=1neipij)j=1n(vji=1neipij)\begin{aligned} \|\mathbf{w}\|_1&=\sum\limits_{i=1}^n|w_i|\\ &=\sum\limits_{i=1}^ne_iw_i\\ &=\sum\limits_{i=1}^n(e_i\sum\limits_{j=1}^n\overline{\overline{p_{ij}}}v_j)\\ &=\sum\limits_{i=1}^n(\sum\limits_{j=1}^ne_i\overline{\overline{p_{ij}}}v_j)\\ &=\sum\limits_{j=1}^n(\sum\limits_{i=1}^ne_i\overline{\overline{p_{ij}}}v_j)\\ &=\sum\limits_{j=1}^n(v_j\sum\limits_{i=1}^ne_i\overline{\overline{p_{ij}}})\\ &\leq\sum\limits_{j=1}^n(|v_j||\sum\limits_{i=1}^ne_i\overline{\overline{p_{ij}}}|)\\ \end{aligned}

c=max1jni=1neipij<1c = \max \limits_{1\leq j\leq n}|\sum\limits_{i=1}^ne_i\overline{\overline{p_{ij}}}|<1,则有

w1j=1n(vji=1neipij)j=1n(vjc)=cj=1nvj=cv1\begin{aligned} \|\mathbf{w}\|_1&\leq\sum\limits_{j=1}^n(|v_j||\sum\limits_{i=1}^ne_i\overline{\overline{p_{ij}}}|)\\ &\leq\sum\limits_{j=1}^n(|v_j|c)\\ &=c\sum\limits_{j=1}^n|v_j|\\ &=c\|\mathbf{v}\|_1\\ \end{aligned}

所以,w1cv1\|\mathbf{w}\|_1\leq c\|\mathbf{v}\|_1,其中c<1c<1


v0=x(0)XV\mathbf{v}_0=\mathbf{x}^{(0)}-\mathbf{X}\in \mathbf{V},我们有

1Tv0=1Tx(0)1TX=11=0\mathbf{1}^T\mathbf{v}_0=\mathbf{1}^T\mathbf{x}^{(0)}-\mathbf{1}^T\mathbf{X}=1-1=0

所以v0V\mathbf{v}_0\in \mathbf{V}

由于PX=X\overline{\overline{\mathbf{P}}}\mathbf{X}=\mathbf{X}

x(k)=Pkx(0)=Pk(X+v0)=X+Pkv0\mathbf{x}^{(k)}=\overline{\overline{\mathbf{P}}}^k\mathbf{x}^{(0)}=\overline{\overline{\mathbf{P}}}^k(\mathbf{X}+\mathbf{v}_0)=\mathbf{X}+\overline{\overline{\mathbf{P}}}^k\mathbf{v}_0

由于Pkv01ckv01\|\overline{\overline{\mathbf{P}}}^k\mathbf{v}_0\|_1\leq c^k\|\mathbf{v}_0\|_1,所以

x(k)X1ckv01\|\mathbf{x}^{(k)}-\mathbf{X}\|_1\leq c^k\|\mathbf{v}_0\|_1

所以,x(k)\mathbf{x}^{(k)}收敛到X\mathbf{X},得证。

随机浏览

按以下模式浏览互联网的网页

经过统计,随机打开网页的次数与键入网址新建网页的次数之比约为5:15:1,这就是α=0.85\alpha=0.85的来源。

随机概率

记事件 {Xm=j}\{X_m=j\} 为时刻 mm 访问网页 vjv_j,则P{Xm=iXm1=j}=pijP\{X_m=i | X_{m-1}=j\}=p_{ij}

P{Xm=j}=xjP\{X_m=j\}=x_j,则P{Xm=i}=j=1nP{Xm=iXm1=j}P{Xm1=j}=j=1npijxjP\{X_{m}=i\}=\sum\limits_{j=1}^nP\{X_m=i | X_{m-1}=j\}P\{X_{m-1}=j\}=\sum\limits_{j=1}^np_{ij}x_j

x(m)=(P{Xm=1},P{Xm=2},,P{Xm=n})T\mathbf{x}^{(m)}=(P\{X_m=1\},P\{X_m=2\},\cdots,P\{X_m=n\})^T,则有x(m)=Px(m1)\mathbf{x}^{(m)}=\overline{\overline{\mathbf{P}}}\mathbf{x}^{(m-1)}

随机过程

随机过程是描述随机现象随时间推移而演化的一类数学模型。

一族随机变量{X(t),tT}\{X(t),t\in T\}TT为参数集,tt是参数。{X(t),tT}\{X(t),t\in T\}称为参数为tt的随机变量。

Markov过程

在已知目前的状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变(过去)。

在随机序列{X(n),n=0,1,2,}\{X(n),n=0,1,2,\cdots\}中(XnX_n有限或可列),我们对于任意的n0n\geq0,有

P{Xn+1=jXn=i,Xn1=in1,,X0=i0}=P{Xn+1=jXn=i}P\{X_{n+1}=j | X_n=i,X_{n-1}=i_{n-1},\cdots,X_0=i_0\}=P\{X_{n+1}=j | X_n=i\}

03 Nim游戏

"问题背景"

现有nn堆硬币,每堆数量一定。两人轮流取硬币,每次只能从其中一堆中取,且每次取至少一枚。取到最后一枚硬币的一方获胜。

那么,这个游戏是否有必胜策略?若有,应如何取胜?

特殊情况

我们先从考虑一下这个游戏的特殊情况。

"两堆硬币"

"1 1"

Alt text

"k 1"

先手第一步将硬币数转换为 1 1

Alt text

"k k"

Alt text

"k l"

先手第一步将硬币数转换为 l l 形式

Alt text

"三堆硬币"

"1 1 1"

Alt text

"l k k"

Alt text

"复杂情况"

Alt text

Alt text

但是,这些复杂情况我们就不能一一列举了。我们需要找到一种方法,能够将任意情况转换为上述的特殊情况。

安全状态

我们先来定义一下什么是安全状态。

若无论对方如何取均不会获胜,或者无论对方如何取,己方下一次取后均可变为一个安全状态的,称为安全状态。

若对方至少存在一种获胜的取法,己方下一次取无法变为一个安全状态的,称为不安全状态。

必胜策略:己方取法使得下一状态为安全状态。

Nim游戏的必胜策略

二进制与位和

将每堆硬币数表示为二进制。将所有二进制数的每一位数字分别求和,其尾数称为位和。(其实就是异或)

位和与安全状态

若所有位和均为 0 ,则当前状态为安全的,否则为不安全

Alt text

04 组合群式 - 伪币辨识

"问题背景"

12枚外观相同的硬币中有一枚是伪币,伪币质量与真币不同。天平一次称量只能比较两端质量大小,不能读出质量数值。能否用天平称量三次找出伪币,并说明伪币相对真币偏轻或偏重。

组合群式

群式分为组合群试和概率群式。

这个问题是组合群试的问题。概率群式我们将在疾病检测中讨论。

特殊情况

后一次称量依赖于之前称量结果的方案为自适应(adaptive)的,否则称为非自适应(non-adaptive)的

自适应方案

硬币真伪的可能性共有12×2=2412\times 2 = 24种。每一种称量结果对应一种可能性,不同称量结果对应的可能性各不相同

Alt text

非自适应方案

自适应方案缺点在于三次实验不能同时进行,这对一些称量周期大的实验来说是不可接受的。因此我们考虑非自适应方案。

我们先给出十二枚硬币三种称量

"第一次"

Alt text

如果伪币为重,则在1、4、9、10中,如果伪币为轻,则在2、5、7、12中

"第二次"

Alt text

此时不知伪币轻重,但是可以确定伪币在补集3、5、9、11中

"第三次"

Alt text

如果伪币为重,则在3、4、7、11中,如果伪币为轻,则在1、5、8、12中

"总结"

把我们判断轻重的部分放在一起,可以得到如下的判断表

Alt text

每个判断中取三组的交集,即可得到伪币的位置

一般结论

对任意整数w>2w>2
- 若 3n3w323\leq n\leq \frac{3^w-3}{2},则存在一种非自适应的称量方案,使用 ww 次称量可从 nn 枚硬币中辨别伪币并确定轻重。
- 若 n>3w32n>\frac{3^w-3}{2},则不存在自适应的称量方案,用 ww 次称量即可从 nn 枚硬币中辨别伪币并确定轻重。

一般情况的非自适应方案

构造要能实现非自适应方案,需要满足Dyson集,即满足以下条件的ww元向量子集S{1,0,1}wS\subseteq \{-1,0,1\}^w

我们要先构造出这样的向量集,然后再放上去称。例如,对于w=3w=3,我们可以构造出如下的集合

S={(1,1,1),(1,1,0),(0,0,1),(1,1,1),(1,0,1),(0,1,0),(1,1,1),(0,1,1),(1,0,0),(1,1,0),(1,0,1),(0,1,1)}\begin{aligned} S=\{&(1,1,-1)&,&(-1,-1,0)&,&(0,0,1)&,&(1,-1,1)&,\\ &(-1,0,-1)&,&(0,1,0)&,&(-1,1,1)&,&(0,-1,-1)&,\\ &(1,0,0)&,&(1,-1,0)&,&(-1,0,1)&,&(0,1,-1)&\} \end{aligned}

对应到那12个硬币,11表示在天平左侧,1-1表示在天平右侧,00表示不在天平上。我们可以验证,这个集合满足Dyson集的条件。

如果最后的结果如下图所示,

Alt text

那么我们可以得到1,0,1(1表示为重)这样的向量,这个向量就与伪币有关。如果我们硬币的标记为1,0,1,那它就是重伪币;如果为-1,0,-1,那它就是轻伪币。

构造Dyson集

构造映射f:{1,0,1}{1,0,1}f:\{-1,0,1\}\rightarrow \{-1,0,1\},使得f(1)=0f(-1)=0f(0)=1f(0)=1f(1)=1f(1)=-1。例如(1,0,1,1)(0,1,1,1)(-1,0,1,1)\rightarrow (0,1,-1,-1)

记集合S(x)={x,f(x),f(f(x)),x,f(x),f(f(x))}\mathbf{S}(\mathbf{x})=\{\mathbf{x},f(\mathbf{x}),f(f(\mathbf{x})),-\mathbf{x},-f(\mathbf{x}),-f(f(\mathbf{x}))\}S(x)+={x,f(x),f(f(x))}\mathbf{S}(\mathbf{x})^+ = \{\mathbf{x},f(\mathbf{x}),f(f(\mathbf{x}))\}。我们要选取的就是属于S(x)+\mathbf{S}(\mathbf{x})^+的向量。

因为我们不要{1,1,,1}\{1,1,\cdots,1\}{0,0,,0}\{0,0,\cdots,0\}{1,1,,1}\{-1,-1,\cdots,-1\},且不要S(x)={x,f(x),f(f(x))}\mathbf{S}(\mathbf{x})^- = \{-\mathbf{x},-f(\mathbf{x}),-f(f(\mathbf{x}))\}中的向量,所以我们可选取的向量个数为3w32\frac{3^w-3}{2}个,也就印证了一般结论中的第一个结论。

那么如何选取vS(x)\mathbf{v}\in \mathbf{S}(\mathbf{x})使得vSv=0\sum_{\mathbf{v}\in S}\mathbf{v}=\mathbf{0}呢?我们先寻找{1,0,1}w\{-1,0,1\}^w3w36\frac{3^w-3}{6}个基本向量,每个对应着不同的S(x)+\mathbf{S}(\mathbf{x})^+

然后需要分情况讨论。

ww 次称量可从 nn 枚硬币中辨别伪币并确定轻重

至此,我们给出了一般情况下的非自适应方案。这就是为什么我们在第一次称量中要把硬币分成三组的原因。

05 概率群式 - 疾病检测

"问题背景"

假定 nn 个人相互独立地以概率 pp 患病,如何找出全部的病人,使平均检测次数尽可能少?

名词介绍

AA 为患病,BB 为检测结果为阳性,疾病检测方法的性能指标为

设疾病的发病率为 rr ,则被检测出阳性的情况下患病的概率为

P(AB)=P(BA)P(A)P(BA)P(A)+P(BA)P(A)=prpr+(1q)(1r)P(A|B)=\frac{P(B|A)P(A)}{P(B|A)P(A)+P(B|\overline{A})P(\overline{A})}=\frac{pr}{pr+(1-q)(1-r)}

概率群式

概率群式:假定 nn 个人相互独立地以概率 pp 患病,如何找出全部的病人,使平均检测次数尽可能少?

如何选择群式方案?我们要考虑平均检测次数、检测阶段数、每人最大检测次数、每组最多样本数、方案的可操作性、检测的灵敏度与特异度等多个因素

两阶段群式

nn 人的样本混合后检测。若结果为阴性,说明这 nn 人均未感染。若结果为阳性,说明这 nn 人中至少有一人已感染。此时逐个检测每个人样本。

检测次数

矩阵检测方案

自适应思路

m×nm\times n(mnm\leq n)个人按矩阵排好,先检测每行样本,若结果为阴性,说明这 mm 人均未感染。若结果为阳性,说明这 mm 人中至少有一人已感染。此时逐个检测每列样本。

检测次数

这里的每行就相当于两阶段群式中的混合样本,每列就相当于两阶段群式中的每个人样本。

非自适应思路

m×nm\times n(mnm\leq n)个人按矩阵排好,对每行每列分别进行检测。通过检测结果确定感染者的位置。

检测次数

总检测次数均为 m+nm+n

三阶段检测方案

第一阶段:有 nn 个人,进行总体的混合检测,若结果为阴性,说明这 nn 人均未感染。若结果为阳性,说明这 nn 人中至少有一人已感染。进入第二阶段。

第二阶段:将这 nn 人分成 AABB 两组,每组 n/2n/2 人,先对 AA 组进行检测,若结果为阴性,说明这 n/2n/2 人均未感染,且确定感染者在 BB 组。若结果为阳性,说明这 n/2n/2 人中至少有一人已感染,但仍需确定 BB 组是否有感染者,此时对 BB 组进行总体的混合检测。

第三阶段:对有感染者的组进行逐个检测,确定感染者的位置。

Alt text

计算概率:

第一阶段

第二阶段

所以总检测次数的数学期望为

(1p)n1+(1p)n2(1(1p)n2)(2+n2)+(1(1p)n2)(1p)n2(3+n2)+(1(1p)n2)2(3+n)=n+3(n+1)(1p)n2(1p)n\begin{aligned} &(1-p)^n\cdot 1+(1-p)^{\frac{n}{2}}(1-(1-p)^{\frac{n}{2}})\cdot(2+\frac{n}{2})+(1-(1-p)^{\frac{n}{2}})(1-p)^{\frac{n}{2}}\cdot(3+\frac{n}{2})+(1-(1-p)^{\frac{n}{2}})^2\cdot(3+n)\\ =&n+3-(n+1)(1-p)^{\frac{n}{2}}-(1-p)^n \end{aligned}

平均检测次数的数学期望为

1+n3(1+1n)(1p)n21n(1p)n1+\frac{n}{3}-(1+\frac{1}{n})(1-p)^{\frac{n}{2}}-\frac{1}{n}(1-p)^n

06 Monty Hall问题

"问题背景"

舞台上有三扇道具门,其中一扇门后置有一辆汽车,另两扇门后各置有一头山羊。竞猜者可任选其中一扇门并获赠门后物品。当竞猜者选择了其中一扇门后,主持人打开了另两扇门中的一扇,门后面是一头山羊。

初次见到这个问题的人,大多数都会认为改变选择不会增加获得汽车的可能性。但是事实上,改变选择会使获得汽车的概率提高一倍。

枚举法

我们不妨用枚举法来验证一下。

Alt text

可见,若改变选择,获得汽车的概率为 23\frac{2}{3} ;若不改变选择,获得汽车的概率为 13\frac{1}{3}

概率论方法

我们再用概率论的知识来计算一下这个问题。

假设竞猜者初次选择1号门,记 CiC_i 为汽车在 ii 号门后的事件,MM 为主持人打开 22 号门的事件,则有

P(MC1)=12    ;P(MC2)=0    ;P(MC3)=1P(M|C_1)=\frac{1}{2}\;\;; P(M|C_2)=0\;\;; P(M|C_3)=1

若竞猜者改变选择,则获得汽车的概率为

P(C3M)=P(MC3)P(C3)P(MC1)P(C1)+P(MC2)P(C2)+P(MC3)P(C3)=1131213+013+113=23\begin{aligned} P(C_3|M)=&\frac{P(M|C_3)P(C_3)}{P(M|C_1)P(C_1)+P(M|C_2)P(C_2)+P(M|C_3)P(C_3)}\\ =&\frac{1\cdot\frac{1}{3}}{\frac{1}{2}\cdot\frac{1}{3}+0\cdot\frac{1}{3}+1\cdot\frac{1}{3}}\\ =&\frac{2}{3} \end{aligned}

若竞猜者不改变选择,则获得汽车的概率为

P(C1M)=P(MC1)P(C1)P(MC1)P(C1)+P(MC2)P(C2)+P(MC3)P(C3)=12131213+013+113=13\begin{aligned} P(C_1|M)=&\frac{P(M|C_1)P(C_1)}{P(M|C_1)P(C_1)+P(M|C_2)P(C_2)+P(M|C_3)P(C_3)}\\ =&\frac{\frac{1}{2}\cdot\frac{1}{3}}{\frac{1}{2}\cdot\frac{1}{3}+0\cdot\frac{1}{3}+1\cdot\frac{1}{3}}\\ =&\frac{1}{3} \end{aligned}

可见,若改变选择,获得汽车的概率为 23\frac{2}{3} ;若不改变选择,获得汽车的概率为 13\frac{1}{3}

变种

被蒙在鼓里的主持人

如果主持人不知道汽车在哪扇门后,那么他打开的门后面有可能是汽车,也有可能是山羊。此时,改变选择和不改变选择的获得汽车的概率均为 12\frac{1}{2}

因为此时,如果我们再
假设竞猜者初次选择1号门,记 CiC_i 为汽车在 ii 号门后的事件,记MM 为主持人打开 22 号门后是山羊的事件,则有

P(MC1)=12    ;P(MC2)=0    ;P(MC3)=12P(M|C_1)=\frac{1}{2}\;\;; P(M|C_2)=0\;\;; P(M|C_3)=\underline{\frac{1}{2}}

通过计算可得,若改变选择,获得汽车的概率为 12\frac{1}{2} ;若不改变选择,获得汽车的概率为 12\frac{1}{2}

由此我们可以看出,在之前的问题中,主持人是有额外信息的,他知道汽车在哪扇门后,这导致了改变选择和不改变选择的获得汽车的概率不同。

nn 扇门

nn 扇道具门,其中一扇门后置有一辆汽车,其他 n1n-1 扇门后各置有一头山羊

nn 扇门,kk 辆车

nn 扇道具门,其中 kk 扇门后置有一辆汽车,其他 nkn-k 扇门后各置有一头山羊

nn 扇门,多种奖品

nn 扇道具门,其中 nin_i 扇门后各置有价值为 viv_i 的奖品,i=1,2,,mi=1,2,\cdots,m

07 赠券收集问题

"问题背景"

一套赠券共有 NN 种,商家在每件商品中随机放入一张赠券。假设每件商品中放入各种赠券的概率相同,那么集齐全套赠券平均需购买多少件商品?

方法一:德摩根定律

定义随机变量 XX 为“集齐全套赠券需购买的商品件数”,E(X)=i=1NiP(X=i)E(X)=\sum\limits_{i=1}^N i\cdot P(X=i)。记 BiB_i为事件“购买 ii 件商品后集齐全套赠券”,记 AijA_i^j为事件“购买 ii 件商品后收集到第 jj 种赠券”。则有

P(Aij)=1P(Aij)=1(11N)iP(Bi)=P(Ai1Ai2AiN)=1P(Ai1Ai2AiN)=1P(Ai1Ai2AiN)=1(j=1NP(Aij)1j1<j2NP(AijAik)++(1)N1P(Ai1Ai2AiN))\begin{aligned} P(A_i^j)=&1-P(\overline{A_i^j})=1-\left(1-\frac{1}{N}\right)^i\\ P(B_i)=&P(A_i^1\cap A_i^2\cap\cdots\cap A_i^N)\\ =&1-P(\overline{A_i^1\cap A_i^2\cap\cdots\cap A_i^N})\\ =&1-P(\overline{A_i^1}\cup\overline{A_i^2}\cup\cdots\cup\overline{A_i^N})\\ =&1-(\sum\limits_{j=1}^N P(\overline{A_i^j})-\sum\limits_{1\leq j_1<j_2\leq N}P(\overline{A_i^{j}}\cap\overline{A_i^{k}})+\cdots+(-1)^{N-1}P(\overline{A_i^1}\cap\overline{A_i^2}\cap\cdots\cap\overline{A_i^N}))\\ \end{aligned}

分析括号中的第二项,对任意固定的j,kj,k1j<kN1 \leq j < k \leq NAijAik\overline{A_i^{j}}\cap\overline{A_i^{k}}表示购买 ii 件商品后未收集到第 jj 种和第 kk 种赠券,有P(AijAik)=(12N)iP(\overline{A_i^{j}}\cap\overline{A_i^{k}})=\left(1-\frac{2}{N}\right)^i

同理,对任意1j1<j2<<jkN1 \leq j_1 < j_2 < \cdots < j_k \leq NAij1Aij2Aijk\overline{A_i^{j_1}}\cap\overline{A_i^{j_2}}\cap\cdots\cap\overline{A_i^{j_k}}表示购买 ii 件商品后未收集到第 j1j_1 种、第 j2j_2 种、\cdots、第 jkj_k 种赠券,有P(Aij1Aij2Aijk)=(1kN)iP(\overline{A_i^{j_1}}\cap\overline{A_i^{j_2}}\cap\cdots\cap\overline{A_i^{j_k}})=\left(1-\frac{k}{N}\right)^i。因此,有

P(Bi)=1(j=1NP(Aij)1j1<j2NP(AijAik)++(1)N1P(Ai1Ai2AiN))=1(j=1N(11N)i1j1<j2N(12N)i++(1)N1(1NN)i)=1((N1)(11N)i(N2)(12N)i++(1)N1(NN)(1NN)i)=1j=1N(1)j1(Nj)(1jN)i=j=0N(1)j(Nj)(1jN)i\begin{aligned} P(B_i)=&1-(\sum\limits_{j=1}^N P(\overline{A_i^j})-\sum\limits_{1\leq j_1<j_2\leq N}P(\overline{A_i^{j}}\cap\overline{A_i^{k}})+\cdots+(-1)^{N-1}P(\overline{A_i^1}\cap\overline{A_i^2}\cap\cdots\cap\overline{A_i^N}))\\ =&1-\left(\sum\limits_{j=1}^N \left(1-\frac{1}{N}\right)^i-\sum\limits_{1\leq j_1<j_2\leq N}\left(1-\frac{2}{N}\right)^i+\cdots+(-1)^{N-1}\left(1-\frac{N}{N}\right)^i\right)\\ =&1-\left(\begin{pmatrix}N\\1\end{pmatrix}\left(1-\frac{1}{N}\right)^i-\begin{pmatrix}N\\2\end{pmatrix}\left(1-\frac{2}{N}\right)^i+\cdots+(-1)^{N-1}\begin{pmatrix}N\\N\end{pmatrix}\left(1-\frac{N}{N}\right)^i\right)\\ =&1-\sum\limits_{j=1}^N (-1)^{j-1}\begin{pmatrix}N\\j\end{pmatrix}\left(1-\frac{j}{N}\right)^i\\ =&\sum\limits_{j=0}^N (-1)^{j}\begin{pmatrix}N\\j\end{pmatrix}\left(1-\frac{j}{N}\right)^i \end{aligned}

所以其期望为:

i=1NiP(X=i)=i=1Nij=0N(1)j(Nj)(1jN)i\sum\limits_{i=1}^N i\cdot P(X=i)=\sum\limits_{i=1}^N i\cdot\sum\limits_{j=0}^N (-1)^{j}\begin{pmatrix}N\\j\end{pmatrix}\left(1-\frac{j}{N}\right)^i

方法二:几何分布

记随机变量 XX 为“集齐全套赠券购买的商品件数”,定义随机变量 YY 为“从收集到 k1k-1 种赠券到 kk种赠券购买的商品件数”,则有:

X=Y1+Y2++YNX = Y_1 + Y_2 + \cdots + Y_N

我们考察YkY_kYk=jY_k = j 意味着先购买的 j1j-1 件商品中的赠券均为已收集到的 k1k-1 种中的一种,第 jj 件商品中有未收集到的 Nk+1N-k+1 种赠券中的一种。可知,YkY_k 服从参数为 Nk+1N\frac{N-k+1}{N} 的几何分布

"分布回忆"

Alt text

所以,根据几何分布的性质,有E(Yk)=NNk+1E(Y_k) = \frac{N}{N-k+1}。因此,E(X)=k=1NE(Yk)=k=1NNNk+1=Nk=1N1kE(X) = \sum\limits_{k=1}^N E(Y_k) = \sum\limits_{k=1}^N \frac{N}{N-k+1} = N\sum\limits_{k=1}^N \frac{1}{k}

显然,方法二的计算量要小于方法一。而且,方法二的思路更加简单,更加容易理解。

08 赌徒破产问题与Pascal问题

"问题背景"

随机过程

随机过程

随机过程是描述随机现象随时间推移而演化的一类数学模型。

• 一族随机变量{X(t),tT}\{X(t),t\in T\} ,其中 tt 是参数,TT 为参数集。
TT 为整数集的随机过程称为随机序列。

Markov 过程

Markov 过程意味着:在已知目前的状态(现在)的条件下,它未来的演变(将来)不依赖于它以往的演变(过去)

对随机序列 {Xn,n=0,1,2}\{X_n,n=0,1,2\cdots\}XnX_n为有限个或可数个),P(Xn+1=in+1)P(X_{n+1}=i_{n+1})只与 XnX_n 有关, 而与 Xn1,Xn2,X_{n-1},X_{n-2},\cdots 无关,则称 {Xn,n=0,1,2}\{X_n,n=0,1,2\cdots\} 为 Markov 链。用数学语言描述为:

P(Xn+1=in+1Xn=in,Xn1=in1,,X0=i0)=P(Xn+1=in+1Xn=in)P(X_{n+1}=i_{n+1}|X_n=i_n,X_{n-1}=i_{n-1},\cdots,X_0=i_0)=P(X_{n+1}=i_{n+1}|X_n=i_n)

递推关系

已知A0A_0AnA_n及以下相邻两项之间的递推关系,求AnA_n的通项公式。

{A0,AN已知AhAh1=r(Ah1Ah2),1hN1\begin{cases}A_0, A_N已知\\A_h-A_{h-1}=r(A_{h-1}-A_{h-2}), 1\leq h\leq N-1\end{cases}

很简单的高中数列题,我们有:

A0A1=r0(A0A1)A1A2=r1(A0A1)A2A3=r2(A0A1)AhAh+1=rh(A0A1)AN1AN=rN1(A0A1)\begin{aligned} A_0-A_1 &= r^0(A_0-A_1)\\ A_1-A_2 &= r^1(A_0-A_1)\\ A_2-A_3 &= r^2(A_0-A_1)\\ \cdots\\ A_h-A_{h+1} &= r^{h}(A_0-A_1)\\ \cdots\\ A_{N-1}-A_{N} &= r^{N-1}(A_0-A_1)\\ \end{aligned}

r1r\neq 1时,将上述等式相加,得到:

A0AN=(1+r+r2++rN1)(A0A1)=1rN1r(A0A1)A_0-A_N=(1+r+r^2+\cdots+r^{N-1})(A_0-A_1)=\frac{1-r^N}{1-r}(A_0-A_1)

AhA_h开始的式子相加,得到:

AhAN=(rh+rh+1++rN1)(A0A1)=rhrN1r(A0A1)A_h-A_N=(r^h+r^{h+1}+\cdots+r^{N-1})(A_0-A_1)=\frac{r^h-r^N}{1-r}(A_0-A_1)

所以:

AhANA0AN=rhrN1rN\frac{A_h-A_N}{A_0-A_N}=\frac{r^h-r^N}{1-r^N}

因此我们可以得到:

Ah=AN+A0AN1rN(rhrN)=rhrN1rNA0+1rh1rNANA_h=A_N+\frac{A_0-A_N}{1-r^N}(r^h-r^N)=\frac{r^h-r^N}{1-r^N}A_0+\frac{1-r^h}{1-r^N}A_N

r=1r=1时,将上述等式相加,得到:

A0AN=N(A0A1)A_0-A_N=N(A_0-A_1)

AhA_h开始的式子相加,得到:

AhAN=(Nh)(A0A1)A_h-A_N=(N-h)(A_0-A_1)

所以:

AhANA0AN=NhN\frac{A_h-A_N}{A_0-A_N}=\frac{N-h}{N}

因此我们可以得到:

Ah=AN+A0ANN(Nh)=NhNA0+hNANA_h=A_N+\frac{A_0-A_N}{N}(N-h)=\frac{N-h}{N}A_0+\frac{h}{N}A_N

综上所述,我们可以得到:

Ah={rhrN1rNA0+1rh1rNAN,r1NhNA0+hNAN,r=1A_h=\begin{cases}\frac{r^h-r^N}{1-r^N}A_0+\frac{1-r^h}{1-r^N}A_N, r\neq 1\\ \frac{N-h}{N}A_0+\frac{h}{N}A_N, r=1\end{cases}

赌徒破产问题

一个赌徒在初始时拥有 hh 个单位财富。在每局赌博中以概率 pp 赢一个单位财富,以概率 q=1pq=1-p 输一个单位财富。各局赌博结果独立。当赌徒的财富达到 NN 个单位或 00 个单位(破产)时停止赌博。求赌徒破产的概率。

PhP_hQhQ_h 分别为赌徒初始财富为 hh 个单位时,财富最终达到 NN 个单位的和 00 个单位的概率,显然有初始条件 PN=1P_N=1P0=0P_0=0QN=0Q_N=0Q0=1Q_0=1

PhP_h

对每一个 PhP_h ,可以由如下Markov链得到:

Alt text

以概率 pp 赢一个单位财富,以概率 q=1pq=1-p 输一个单位财富

Ph=pPh+1+qPh1,1hN1P_h=pP_{h+1}+qP_{h-1}, 1\leq h\leq N-1

我们把这个式子转换为我们刚刚递推公式的形式:

{P0=0,PN=1PhPh+1=qp(Ph1Ph),1hN1\begin{cases} P_0 = 0, P_N = 1\\ P_h - P_{h+1}= \frac{q}{p}(P_{h-1}-P_h), 1\leq h\leq N-1 \end{cases}

Ah={rhrN1rNA0+1rh1rNAN,r1NhNA0+hNAN,r=1A_h=\begin{cases}\frac{r^h-r^N}{1-r^N}A_0+\frac{1-r^h}{1-r^N}A_N, r\neq 1\\ \frac{N-h}{N}A_0+\frac{h}{N}A_N, r=1\end{cases}

其中 r=qpr= \frac{q}{p}A0=0A_0=0AN=1A_N=1Ah=PhA_h=P_h

所以:

Ph={1(qp)h1(qp)N,qphN,q=pP_h=\begin{cases}\frac{1-(\frac{q}{p})^h}{1-(\frac{q}{p})^N}, &q\neq p \\ \frac{h}{N}, &q=p\end{cases}

QhQ_h

设想赌徒与另一位在初始时拥有 NhN-h 个单位财富的虚拟赌徒赌博。在每局赌博中虚拟赌徒以概率 qq 赢一个单位财富,以概率 pp 输一个单位财富。赌徒破产时,虚拟赌徒财富达到 NN 个单位。

所以真实赌徒从 hh 输到破产 就相当于 虚拟赌徒 从 NhN-h 的赚到 NN 个单位,即 Qh=PNhQ_h = P_{N-h}'

因为Ph={1(pq)h1(pq)N,pqhN,p=qP'_h=\begin{cases}\frac{1-(\frac{p}{q})^h}{1-(\frac{p}{q})^N}, &p\neq q \\ \frac{h}{N}, &p=q\end{cases},(和 PhP_h 的输赢概率对调)

所以

Qh=PNh={1(pq)Nh1(pq)N=(qp)N(qp)h(qp)N1,pqNhN,p=qQ_h =P_{N-h}'= \begin{cases}\frac{1-(\frac{p}{q})^{N-h} }{1-(\frac{p}{q})^N}=\frac{(\frac{q}{p})^N-(\frac{q}{p})^h}{(\frac{q}{p})^N-1}, &p\neq q \\ \frac{N-h}{N}, &p=q\end{cases}

Pascal问题

A,B两人玩一种游戏,初始时两人各有12分。一次掷三枚骰子,若点数恰为11则A胜B负,点数恰为14则B胜A负,其他点数不分胜负。对出现胜负的一次投掷,胜一方增1分,负一方减1分。分数先为0分的一方失败。求双方获胜的概率之比

掷三枚骰子,点数恰为 jj 的概率如何计算?我们采用多项式的方法。

(x+x2+x3+x4+x5+x6)(x+x2+x3+x4+x5+x6)(x+x2+x3+x4+x5+x6)=x18+3x17+6x16+10x15+15x14+21x13+25x12+27x11+27x10+25x9+21x8+15x7+10x6+6x5+3x4+x3\begin{aligned} &(x+x^2+x^3+x^4+x^5+x^6)(x+x^2+x^3+x^4+x^5+x^6)(x+x^2+x^3+x^4+x^5+x^6)\\ =&x^{18}+3x^{17}+6x^{16}+10x^{15}+15x^{14}+21x^{13}+25x^{12}+27x^{11}\\&+27x^{10}+25x^9+21x^8+15x^7+10x^6+6x^5+3x^4+x^3 \end{aligned}

总可能性为 63=2166^3=216 ,所以点数恰为 jj 的概率为 aj216\frac{a_j}{216} ,其中 aja_j 为上式中 xjx^j 的系数。

一次投掷,A胜的概率为 p=a11216=27216p=\frac{a_{11}}{216}=\frac{27}{216} ,B胜的概率为 q=a14216=15216q=\frac{a_{14}}{216}=\frac{15}{216} ,不分胜负的概率为 1pq=1a11a14216=1742161-p-q=\frac{1-a_{11}-a_{14}}{216}=\frac{174}{216}

我们从获胜的角度来看,就是判断从12分到24分的概率。我们可以用Markov链来解决这个问题。

Alt text

PhP_h为A从hh分到2424分的概率,QhQ_h为B从hh分到2424分的概率,显然有初始条件P24=1P_{24}=1P0=0P_{0}=0Q24=1Q_{24}=1Q0=0Q_{0}=0

根据Markov链,我们可以得到如下递推关系:

{Ph=pPh+1+qPh1+(1pq)Ph,1h23Qh=qQh+1+pQh1+(1pq)Qh,1h23\begin{cases}P_h&=pP_{h+1}+qP_{h-1}+(1-p-q)P_h, &1\leq h\leq 23\\Q_h&=qQ_{h+1}+pQ_{h-1}+(1-p-q)Q_h, &1\leq h\leq 23\end{cases}

{PhPh+1=qp(Ph1Ph),1h23QhQh+1=pq(Qh1Qh),1h23\begin{cases}P_h-P_{h+1}&=\frac{q}{p}(P_{h-1}-P_{h}), &1\leq h\leq 23\\Q_h-Q_{h+1}&=\frac{p}{q}(Q_{h-1}-Q_{h}), &1\leq h\leq 23\end{cases}

{A0,AN已知AhAh1=r(Ah1Ah2),1hN1Ah={rhrN1rNA0+1rh1rNAN,r1NhNA0+hNAN,r=1\begin{aligned} &\begin{cases}A_0, A_N已知\\A_h-A_{h-1}=r(A_{h-1}-A_{h-2}), 1\leq h\leq N-1\end{cases}\\ \Rightarrow& A_h=\begin{cases}\frac{r^h-r^N}{1-r^N}A_0+\frac{1-r^h}{1-r^N}A_N, r\neq 1\\ \frac{N-h}{N}A_0+\frac{h}{N}A_N, r=1\end{cases} \end{aligned}

所以

Ph=1(qp)h1(qp)24,    Qh=1(pq)h1(pq)24P_h = \frac{1-(\frac{q}{p})^h}{1-(\frac{q}{p})^{24}},\;\;Q_h = \frac{1-(\frac{p}{q})^h}{1-(\frac{p}{q})^{24}}

代入 h=12h=12 ,得到

P12=1(qp)121(qp)24=1(1527)121(1527)24=15123241524348=348324512348524P_{12}=\frac{1-(\frac{q}{p})^{12}}{1-(\frac{q}{p})^{24}}=\frac{1-(\frac{15}{27})^{12}}{1-(\frac{15}{27})^{24}}=\frac{1-\frac{5^{12}}{3^{24}}}{1-\frac{5^{24}}{3^{48}}}=\frac{3^{48}-3^{24} 5^{12}}{3^{48}-5^{24}}

Q12=1(pq)121(pq)24=1(2715)121(2715)24=13245121348524=524324512524348Q_{12}= \frac{1-(\frac{p}{q})^{12}}{1-(\frac{p}{q})^{24}} =\frac{1-(\frac{27}{15})^{12}}{1-(\frac{27}{15})^{24}} =\frac{1-\frac{3^{24}}{5^{12}}}{1-\frac{3^{48}}{5^{24}}} =\frac{5^{24}-3^{24} 5^{12}}{5^{24}-3^{48}}

所以

P12Q12=348324512324512524=324512=282429536481244140625\frac{P_{12}}{Q_{12}}=\frac{3^{48}-3^{24} 5^{12}}{3^{24}5^{12}-5^{24}}=\frac{3^{24}}{5^{12}}=\frac{282429536481}{244140625}

显然,A获胜的概率要远大于B获胜的概率。

09 秘书问题

"问题背景"

nn位求职者应聘秘书职位,招聘方通过逐个面试予以考察。应聘者的综合能力各不相同,通过面试可给出已面试的应聘者的综合能力大小顺序,且有如下要求。

提问:招聘方采用何种策略可使招聘到第一名的应聘者的概率最大?

问题求解

数学描述与假设

为了更好地分析问题,我们给出以下数学描述:

绝对名次:用 jj 表示在所有应聘者中居于第 jj 名的应聘者,jj 为他的绝对名次。第 ii 位接受面试的应聘者为 AiA_i1Ain1\leq A_i\leq nAi=jA_i=j 表示其绝对名次为 jj

但招聘方在面试的过程中是无法知道每位应聘者的绝对名次的,只知道每位应聘者在面试过程中的局部名次,即相对名次。

相对名次:设AiA_i 在前 ii 位接受面试的应聘者 A1,A2,,AiA_1,A_2,\cdots,A_i 中综合能力名次排名记为 yiy_i,称为他的相对名次,1yimin{i,Ai}1\leq y_i\leq \min\{i,A_i\}yiy_i 不会比绝对名次来的大)。

根据问题背景,招聘方只能根据每位应聘者的相对名次进行决策。

1,2,,n1,2,\cdots,n 的任一固定排列,应聘者以该排列的顺序面试的概率均为 1n!\frac{1}{n!}

策略 ss

由于招聘到绝对名次第一的应聘者的必要条件是录用相对名次第一的备选者。

为了尽可能招到第一名,招聘方应采用“从第 ss 位应聘者开始,录用首次出现的一名备选者”的策略 ss 来决定录用哪位应聘者。

此时,我们就要去选取更好的 ss 使得招聘到第一名的概率最大。

特殊情况

假设目前有 n=4n=4 个人,记上方栏为采用的策略s=1,2,3,4s=1,2,3,4 为绝对排名,侧边栏的每个数字代表参与者的绝对排名。我们将其全排列和采用的策略结果列出来:

Alt text

刚开始看的话可能看不懂,我们举 2314 的例子:

通过上述分析可知,策略 22 在24种可能顺序中有11次可录用到第一名,为最优策略

其实我们通过分析还可以知道,策略 ss 就是从第 ss 位开始,向后找比前方数字都小的数字,如果找到了就录用,如果没有找到就失败。

pn(s)p_n(s)为采用策略 ss 录用到第一名的概率。

例如,若采用策略 11 ,则必录取 A1A_1pn(1)=1np_n(1)=\frac{1}{n}

为了更好地处理,我们把这个问题分成多个子问题,然后再把子问题的结果合并起来。

pnk(s)p_n^k(s) 为采用策略 ss 录用 Ak(ks)A_k(k\geq s),且 AkA_k 为第一名的概率。则有

pn(s)=k=snpnk(s)p_n(s)=\sum_{k=s}^n p_n^k(s)

计算 pnk(s)p_n^k(s)

我们考察每一个 pnk(s)p_n^k(s) 。经分析可知:

Alt text

组合方法

我们可以通过组合的方法来计算 pnk(s)p_n^k(s)

假设目前第一名在 kk 位上,我们先选取 k1k-1 个人,并对其进行排列。因为前 k1k-1 位应聘者中的最佳者要出现在前 s1s-1 位应聘者中,所以最佳者的可能位置数为 s1s-1,而其他 k2k-2 个人没有约束条件,可能位置数为 (k1)!(k-1)! 。在 kk 位之后的人也可以随意排列,其排列数为 (nk)!(n-k)! 。所以总的可能数有

N=(n1k1)(s1)(k2)!(nk)!=(n1)!(k1)!(nk)!(s1)(k2)!(nk)!=(n1)!(k1)(s1)\begin{aligned} N &= \begin{pmatrix}n-1\\k-1\end{pmatrix}(s-1)(k-2)!(n-k)!\\ &=\frac{(n-1)!}{(k-1)!(n-k)!}(s-1)(k-2)!(n-k)!\\ &=\frac{(n-1)!}{(k-1)}(s-1)\\ \end{aligned}

由此,我们可以得到 pnk(s)p_n^k(s)

pnk(s)=Nn!=(n1)!(k1)(s1)n!=1ns1k1p_n^k(s)=\frac{N}{n!}=\frac{\frac{(n-1)!}{(k-1)}(s-1)}{n!}=\frac{1}{n}\cdot \frac{s-1}{k-1}

概率论方法

我们也可以通过概率论的方法来计算 pnk(s)p_n^k(s)

第一名出现在 kk 位上的概率为 1n\frac{1}{n} ,而前 k1k-1 位应聘者中的最佳者出现在前 s1s-1 位应聘者中的概率为 s1k1\frac{s-1}{k-1} 。所以

pnk(s)=1ns1k1p_n^k(s)=\frac{1}{n}\cdot \frac{s-1}{k-1}

计算 pn(s)p_n(s)

由于 pn(s)=k=snpnk(s)p_n(s)=\sum_{k=s}^n p_n^k(s) ,所以

pn(s)=k=snpnk(s)=k=sn1ns1k1=s1nk=sn1k1=s1nk=s1n11k\begin{aligned} p_n(s)&=\sum_{k=s}^n p_n^k(s)\\ &=\sum_{k=s}^n \frac{1}{n}\cdot \frac{s-1}{k-1}\\ &=\frac{s-1}{n}\cdot \sum_{k=s}^n \frac{1}{k-1}\\ &=\frac{s-1}{n}\cdot \sum_{k=s-1}^{n-1} \frac{1}{k}\\ \end{aligned}

我们得到了 pn(s)p_n(s) 的表达式,由于我们希望用策略 ss 来招聘到第一名的概率最大,所以我们需要找到最优的 ss 使得 pn(s)p_n(s) 最大。

最优策略 ss^*

因为 pn(s)p_n(s) 是关于 ss 的离散数列,所以我们可以通过隔项相减的方法来求出最优策略。

pn(s)pn(s1)=s1nk=s1n11ks2nk=s2n11k=s1nk=s1n11ks2n(1s2+k=s1n11k)=1nk=s1n11k1npn(s)pn(s+1)=s1nk=s1n11ksnk=sn11k=s1n(1s1+k=sn11k)snk=sn11k=1n1nk=sn11k\begin{aligned} p_n(s)-p_n(s-1)&=\frac{s-1}{n}\cdot \sum_{k=s-1}^{n-1} \frac{1}{k}-\frac{s-2}{n}\cdot \sum_{k=s-2}^{n-1} \frac{1}{k}\\ &=\frac{s-1}{n}\cdot \sum_{k=s-1}^{n-1} \frac{1}{k}-\frac{s-2}{n}\cdot (\frac{1}{s-2}+\sum_{k=s-1}^{n-1} \frac{1}{k})\\ &=\frac{1}{n}\cdot \sum_{k=s-1}^{n-1} \frac{1}{k}-\frac{1}{n}\\ p_n(s)-p_n(s+1)&=\frac{s-1}{n}\cdot \sum_{k=s-1}^{n-1} \frac{1}{k}-\frac{s}{n}\cdot \sum_{k=s}^{n-1} \frac{1}{k}\\ &=\frac{s-1}{n}\cdot (\frac{1}{s-1}+\sum_{k=s}^{n-1} \frac{1}{k})-\frac{s}{n}\cdot \sum_{k=s}^{n-1} \frac{1}{k}\\ &=\frac{1}{n}-\frac{1}{n}\cdot \sum_{k=s}^{n-1} \frac{1}{k}\\ \end{aligned}

分析差值,我们记 ss^* 为使 k=sn11k<1\sum\limits_{k=s}^{n-1} \frac{1}{k} < 1 的最小的 ss ,则

  1. sss\geq s^* 时,则k=sn11k<1\sum\limits_{k=s}^{n-1} \frac{1}{k} < 1 ,所以 pn(s)pn(s+1)=1n1nk=sn11k>0p_n(s)-p_n(s+1)=\frac{1}{n}-\frac{1}{n}\cdot \sum\limits_{k=s}^{n-1} \frac{1}{k}>0 ,所以 pn(s)>pn(s+1)>>pn(n)p_n(s^*)>p_n(s^*+1)>\cdots>p_n(n)
  2. sss \leq s^* 时,则k=s1n11k1\sum\limits_{k=s-1}^{n-1} \frac{1}{k} \geq 1 (注意,此时的下标为 s1s-1 ,其必然小于 ss^* ,所以是 \geq ) ,所以 pn(s)pn(s1)=1nk=s1n11k1n>0p_n(s)-p_n(s-1)=\frac{1}{n}\cdot \sum\limits_{k=s-1}^{n-1} \frac{1}{k}-\frac{1}{n}>0 ,所以 pn(s)>pn(s1)>>pn(1)p_n(s^*)>p_n(s^*-1)>\cdots>p_n(1)

所以当 s=ss=s^* 时,pn(s)p_n(s) 取得最大值,此时的 ss 是最优策略。

最优策略的上下界

我们已知

k=sn11k<1    ;    k=s1n11k1\sum\limits_{k=s^*}^{n-1} \frac{1}{k} < 1\quad \;\; ; \;\; \sum\limits_{k=s^*-1}^{n-1} \frac{1}{k} \geq 1

尝试将其放缩为可以逐项相消求和的形式,我们引入不等式:

kk+11xdx+12(1k1k+1)<1k<k12k+121xdx\int_k^{k+1}\frac{1}{x}dx+\frac{1}{2}(\frac{1}{k}-\frac{1}{k+1}) <\frac{1}{k}< \int_{k-\frac{1}{2}}^{k+\frac{1}{2}}\frac{1}{x}dx

"证明不等式"

左侧不等式:

kk+11xdx+12(1k1k+1)<1k\int_k^{k+1}\frac{1}{x}dx+\frac{1}{2}(\frac{1}{k}-\frac{1}{k+1}) <\frac{1}{k}

通过下图。 红斜线的表示 kk+11xdx\int_k^{k+1}\frac{1}{x}dx ,绿色的表示 12(1k1k+1)\frac{1}{2}(\frac{1}{k}-\frac{1}{k+1}) ,红色大框里的就是 1k\frac{1}{k} 。因为 1x\frac{1}{x}是凸函数,显然有红斜线的面积加上绿色的面积红色大框里的面积小于红色大框里的面积。

Alt text

右侧不等式:

这边就不能通过图形来证明了,我们就用最基本的方法来计算:

要证:

1k<k12k+121xdx  (k1)1k<ln(k+12)ln(k12)=ln2k+12k1(t=1k(0,1])t<ln2+t2t=ln(42t1)\begin{aligned} &\frac{1}{k}<\int_{k-\frac{1}{2}}^{k+\frac{1}{2}}\frac{1}{x}dx\;(k\geq 1)\\ \Leftrightarrow&\frac{1}{k}<\ln(k+\frac{1}{2})-\ln(k-\frac{1}{2})=\ln\frac{2k+1}{2k-1}\\ (令t=\frac{1}{k}\in (0,1]) \Leftrightarrow&t<\ln\frac{2+t}{2-t}=\ln(\frac{4}{2-t}-1) \end{aligned}

g(t)=tln(42t1)g(t)=t-\ln(\frac{4}{2-t}-1) ,则 g(t)=14(2t)22t2+t=t2t24<0g'(t)=1-\frac{4}{(2-t)^2}\cdot \frac{2-t}{2+t}=\frac{t^2}{t^2-4}<0 ,所以 g(t)g(t) 单调递减,所以 g(t)<g(0)=0ln1=0g(t)<g(0)=0-\ln1=0 ,所以 t<ln2+t2tt<\ln\frac{2+t}{2-t} ,因此 1k<k12k+121xdx\frac{1}{k}<\int_{k-\frac{1}{2}}^{k+\frac{1}{2}}\frac{1}{x}dx ,得证。

1k=s1n11 \leq \sum\limits_{k=s^*-1}^{n-1},有:

1k=s1n11k<k=s1n1k12k+121xdx=s32n121xdx=ln(2n12s3)\begin{aligned} 1 \leq \sum\limits_{k=s^*-1}^{n-1} \frac{1}{k} &< \sum\limits_{k=s^*-1}^{n-1} \int_{k-\frac{1}{2}}^{k+\frac{1}{2}}\frac{1}{x}dx\\ &=\int_{s^*-\frac{3}{2}}^{n-\frac{1}{2}}\frac{1}{x}dx\\ &=\ln(\frac{2n-1}{2s^*-3})\\ \end{aligned}

我们可以得出 ss^* 的上界为

s<1e(n12)+32s^*<\frac{1}{e}(n-\frac{1}{2})+\frac{3}{2}

1k=sn11 \leq \sum\limits_{k=s^*}^{n-1},有:

1>k=sn11k>k=sn1kk+11xdx+12(1s1n)=sn1xdx+12(1s1n)=ln(ns)+12(1s1n)e>nse12(1s1n)>ns(1+12(1s1n))>ns(1+12(11e(1n12)+321n))\begin{aligned} 1 > \sum\limits_{k=s^*}^{n-1} \frac{1}{k} &> \sum\limits_{k=s^*}^{n-1} \int_{k}^{k+1}\frac{1}{x}dx+\frac{1}{2}(\frac{1}{s^*}-\frac{1}{n})\\ &=\int_{s^*}^{n}\frac{1}{x}dx+\frac{1}{2}(\frac{1}{s^*}-\frac{1}{n})\\ &=\ln(\frac{n}{s^*})+\frac{1}{2}(\frac{1}{s^*}-\frac{1}{n})\\ \Rightarrow e&>\frac{n}{s^*}e^{\frac{1}{2}(\frac{1}{s^*}-\frac{1}{n})} \\&> \frac{n}{s^*}(1+\frac{1}{2}(\frac{1}{s^*}-\frac{1}{n}))\\ &> \frac{n}{s^*}(1+\frac{1}{2}(\frac{1}{\frac{1}{e}(\frac{1}{n}-\frac{1}{2})+\frac{3}{2}}-\frac{1}{n}))\\ \end{aligned}

所以 ss^* 的下界为

s>ne(1+12(11e(1n12)+321n))=1e(n12)+123e12(2n+3e1)s^*>\frac{n}{e}(1+\frac{1}{2}(\frac{1}{\frac{1}{e}(\frac{1}{n}-\frac{1}{2})+\frac{3}{2}}-\frac{1}{n}))=\frac{1}{e}(n-\frac{1}{2})+\frac{1}{2}-\frac{3e-1}{2(2n+3e-1)}

综上,我们得到了 ss^* 的上下界:

1e(n12)+123e12(2n+3e1)<s<1e(n12)+32\frac{1}{e}(n-\frac{1}{2})+\frac{1}{2}-\frac{3e-1}{2(2n+3e-1)}<s^*<\frac{1}{e}(n-\frac{1}{2})+\frac{3}{2}

上下界的差距不超过 1+3e12(2n+3e1)1+1.79n+1.791+\frac{3e-1}{2(2n+3e-1)}\approx 1+\frac{1.79}{n+1.79} ,当 nn 足够大时,上下界的差距趋近于 11

limnsn=1e\lim_{n\to \infty} \frac{s^*}{n}=\frac{1}{e}

pn(s)p_n(s^*) 的渐进性质

因为 pn(s)=s1nk=s1n11kp_n(s^*)=\frac{s^*-1}{n}\cdot \sum\limits_{k=s^*-1}^{n-1} \frac{1}{k} ,且

ln(ns1)=s1n1xdx<k=s1n11k<s12n121xdx=ln(2n12s1)\ln(\frac{n}{s^*-1})=\int_{s^*-1}^{n}\frac{1}{x}dx<\sum\limits_{k=s^*-1}^{n-1} \frac{1}{k}<\int_{s^*-\frac{1}{2}}^{n-\frac{1}{2}}\frac{1}{x}dx=\ln(\frac{2n-1}{2s^*-1})

所以

s1nln(ns1)<s1nk=s1n11k<s1nln(2n12s1)\frac{s^*-1}{n}\cdot \ln(\frac{n}{s^*-1})<\frac{s^*-1}{n}\cdot \sum\limits_{k=s^*-1}^{n-1} \frac{1}{k}<\frac{s^*-1}{n}\cdot \ln(\frac{2n-1}{2s^*-1})

因为limnsn=1e\lim\limits_{n\to \infty} \frac{s^*}{n}=\frac{1}{e},我们有

limns1nln(ns1)=limns1nln(2n12s1)=1e\lim\limits_{n\to \infty} \frac{s^*-1}{n}\cdot \ln(\frac{n}{s^*-1})=\lim\limits_{n\to \infty} \frac{s^*-1}{n}\cdot \ln(\frac{2n-1}{2s^*-1})=\frac{1}{e}

所以limnpn(s)=1e\lim\limits_{n\to \infty} p_n(s^*)=\frac{1}{e}

变式 1 分布不均

"问题背景"

如果 AiA_i 不再是上文的均匀分布,而是另一种已知的分布,那么招聘方录用一位应聘者时,应采用何种策略?

变式 2 双保险

"问题背景"

招聘方可录用两名应聘者,但对每位应聘者聘用与否的决定仍需在该应聘者面试结束时给出,此时招聘方采用何种策略可使招聘到第一名的应聘者的概率最大?

我们记策略 (r,s)(r,s) 为:

  1. 录用自 ArA_r 起首次出现的一名备选者
  2. 若已录用一人,录用不早于 AsA_s的一名备选者

那么,采用策略 (r,s)(r,s) 录用到第一名的可能情形

Alt text

变式 3 期望策略

"问题背景"

招聘方录用一名应聘者,此时招聘方采用何种策略可使录用者的绝对名次的期望值尽可能小?

问题求解

此时就不要求一定要录用备选者了,只要期望值最小即可。

我们记 录用相对名次为 yi=jy_i = j 的应聘者 AiA_i 情况下,其绝对名次的期望值为

E(Aiyi=j)=k=1nkP(Ai=kyi=j)=k=1nkP(Ai=k,yi=j)P(yi=j)E(A_i|y_i=j)=\sum_{k=1}^n k\cdot P(A_i=k|y_i=j)=\sum_{k=1}^n k\cdot \frac{P(A_i=k,y_i=j)}{P(y_i=j)}

分析式子中的两个概率:

分母:P(yi=j)=1iP(y_i=j) = \frac{1}{i}

分子:P(Ai=k,yi=j)=P(yi=jAi=k)P(Ai=k)P(A_i=k,y_i=j)=P(y_i=j|A_i=k)\cdot P(A_i=k)

graph LR A1[Ai=k] --> B1[k-1个好于k] A1[Ai=k] --> B2[n-k个不如k] B1[k-1个好于k] --> C1[j-1个在前i-1中] B1[k-1个好于k] --> C2[k-j个在后n-i中] B2[n-k个不如k] --> C3[i-j个在前i-1中] B2[n-k个不如k] --> C4[n-k-i+j个在后n-i中]

所以在 Ai=kA_i = kjkj\leq k 的条件下,我们对前 i1i-1 进行选择,选择k1k-1中的j1j-1个,选择nkn-k中的iji-j个,即(k1j1)(nkij)\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}种可能。再对前i1i-1个和后nin-i个分别进行全排列,即(i1)!(ni)!(i-1)!(n-i)!种可能。而总的可能情况为(n1)!(n-1)!种(我们已经确定了Ai=kA_i=k,只剩下n1n-1个人需要排列)。所以

P(yi=jAi=k)=(k1j1)(nkij)(i1)!(ni)!(n1)!P(y_i=j|A_i=k)=\frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}(i-1)!(n-i)!}{(n-1)!}

P(Ai=k)=1nP(A_i=k)=\frac{1}{n},所以

P(Ai=k,yi=j)=(k1j1)(nkij)(i1)!(ni)!(n1)!1n=(k1j1)(nkij)(i1)!(ni)!n!=(k1j1)(nkij)i(ni)\begin{aligned} P(A_i=k,y_i=j)&=\frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}(i-1)!(n-i)!}{(n-1)!}\cdot \frac{1}{n}\\&= \frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}(i-1)!(n-i)!}{n!}\\ &=\frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}}{i\begin{pmatrix}n\\i\end{pmatrix}}\\ \end{aligned}

如果 j>kj>k ,则 P(Ai=k,yi=j)=0P(A_i=k,y_i=j)=0

所以

E(Aiyi=j)=k=1nkP(Ai=k,yi=j)P(yi=j)=k=jnk(k1j1)(nkij)i(ni)i=k=jnk(k1j1)(nkij)(ni)=k=jnj(kj)(nkij)(ni)=j(ni)k=jn(kj)(nkij)\begin{aligned} E(A_i|y_i=j)&=\sum_{k=1}^n k\cdot \frac{P(A_i=k,y_i=j)}{P(y_i=j)}\\ &=\sum_{k=j}^n k\cdot \frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}}{i\begin{pmatrix}n\\i\end{pmatrix}}\cdot i\\ &=\sum_{k=j}^n k\cdot \frac{\begin{pmatrix}k-1\\j-1\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}}{\begin{pmatrix}n\\i\end{pmatrix}}\\ &=\sum_{k=j}^n j\cdot \frac{\begin{pmatrix}k\\j\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}}{\begin{pmatrix}n\\i\end{pmatrix}}\\ &=\frac{j}{\begin{pmatrix}n\\i\end{pmatrix}}\sum_{k=j}^n \begin{pmatrix}k\\j\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}\\ \end{aligned}

k(k1j1)=j(kj)k \begin{pmatrix}k-1\\j-1\end{pmatrix} = j \begin{pmatrix}k\\j\end{pmatrix}

组合恒等式

如何对上式进行化简呢?我们先举一些组合恒等式的例子:

k(rk)(snk)=(r+sn),integer n.k(rm+k)(sn+k)=(r+srm+n),integer m,integer n,integer r0.k(rk)(s+kn)(1)rk=(snr),integer n,integer r0.k=0(rkm)(skt)(1)kt=(rtsrtm),integer t0, integer r0, integer m0.k=0r(rkm)(s+kn)=(r+s+1m+n+1),integer ninteger s0, integer m0, integer r0.k0(rtkk)(st(nk)nk)rrtk=(r+stnn),integer n.\begin{aligned} &\sum_{k}\binom{r}{k}\binom{s}{n-k}=\binom{r+s}{n},\text{integer }n. \\ &\sum_{k}\binom{r}{m+k}\binom{s}{n+k}=\binom{r+s}{r-m+n}, \text{integer }m,\text{integer }n,\text{integer }r\geq0.\\ &\sum_{k}{\binom{r}{k}}{\binom{s+k}{n}}(-1)^{r-k}={\binom{s}{n-r}},\text{integer }n,\text{integer }r\geq0. \\ &\sum_{k=0}\binom{r-k}{m}\binom{s}{k-t}(-1)^{k-t}=\binom{r-t-s}{r-t-m},\text{integer }t\geq0,\text{ integer }r\geq0,\text{ integer }m\geq0. \\ &\sum_{k=0}^{r}\binom{r-k}m\binom{s+k}n=\binom{r+s+1}{m+n+1},\text{integer }n\geq\text{integer }s\geq0,\text{ integer }m\geq0,\text{ integer }r\geq0. \\ &\sum_{k\geq0}\binom{r-tk}k\binom{s-t(n-k)}{n-k}\frac{r}{r-tk}=\binom{r+s-tn}n,\quad\text{integer }n. \end{aligned}

我们可以用生成函数来解决组合恒等式的问题,例如:

11x=1+x+x2+x3+=l=0xl1(1x)p+1=l=0(l+p)(l+p1)(l+1)p!xl=l=0(l+pp)xl    即上式的p阶导数\begin{aligned} \frac{1}{1-x}&=1+x+x^2+x^3+\cdots=\sum_{l=0}^{\infty}x^l\\ \frac{1}{(1-x)^{p+1}}&=\sum_{l=0}^{\infty}\frac{(l+p)(l+p-1)\cdots(l+1)}{p!}x^l=\sum_{l=0}^{\infty}\binom{l+p}{p}x^l\;\;\quad\text{即上式的p阶导数}\\ \end{aligned}

所以

1(1x)i+2=1(1x)j+11(1x)ij+1l=0(l+i+1i+1)xl=l=0(l+jj)xll=0(l+ijij)xl\begin{aligned} \frac{1}{(1-x)^{i+2}}&=\frac{1}{(1-x)^{j+1}}\cdot \frac{1}{(1-x)^{i-j+1}}\\ \Rightarrow \sum_{l=0}^{\infty}\binom{l+i+1}{i+1}x^l&=\sum_{l=0}^{\infty}\binom{l+j}{j}x^l\cdot \sum_{l=0}^{\infty}\binom{l+i-j}{i-j}x^l \end{aligned}

因为两端的 xnix^{n-i} 的系数相等,所以

(n+1i+1)=k=0i(k+jj)(nkjij)=k=ji(kj)(nkij)\binom{n+1}{i+1}=\sum_{k=0}^{i}\binom{k+j}{j}\binom{n-k-j}{i-j}= \sum_{k=j}^{i}\binom{k}{j}\binom{n-k}{i-j}

期望计算结果

所以

E(Aiyi=j)=j(ni)k=jn(kj)(nkij)=j(ni)(n+1i+1)=n+1i+1j\begin{aligned} E(A_i|y_i=j)&=\frac{j}{\begin{pmatrix}n\\i\end{pmatrix}}\sum_{k=j}^n \begin{pmatrix}k\\j\end{pmatrix}\begin{pmatrix}n-k\\i-j\end{pmatrix}\\ &=\frac{j}{\begin{pmatrix}n\\i\end{pmatrix}}\binom{n+1}{i+1}\\ &=\frac{n+1}{i+1}j \end{aligned}

动态规划

U(j,i)U(j,i) 为面试相对名次 yi=jy_i=jAiA_i 时可能取得的最优绝对名次期望值。这意味着自首位应聘者面试起,招聘方采用正确决策所能得到的最优绝对名次期望值为 U(1,1)U(1,1)

根据 UU 之间的关系,我们有如下流程图:

Alt text

U(j,i)=min{n+1i+1j,1i+1k=1i+1U(k,i+1)}U(j,i)=\min \{\frac{n+1}{i+1}j,\frac{1}{i+1}\sum\limits_{k=1}^{i+1}U(k,i+1)\}

面试 AnA_n 时,相对名次即为绝对名次,招聘方必定录用,那么我们有 UU 的末端条件U(j,n)=jU(j,n)=j

"举个例子"

有四个人前来面试,他们的绝对名次分别为 1,2,3,41,2,3,4(顺序是无所谓的,末端顺序的作用只体现在前一项的“平均”) ,那么我们可以得到如下的表格:

U(j,i)U(j,i) i=1i=1 i=2i=2 i=3i=3 i=4i=4
j=1j=1 min{521,158}=158\min\{\frac{5}{2}\cdot 1,\frac{15}{8}\}=\frac{15}{8} min{531,2512}=53\min\{\frac{5}{3}\cdot 1,\frac{25}{12}\}=\frac{5}{3} min{541,52}=54\min\{\frac{5}{4}\cdot 1,\frac{5}{2}\}=\frac{5}{4} 44
j=2j=2 min{532,2512}=2512\min\{\frac{5}{3}\cdot 2,\frac{25}{12}\}=\frac{25}{12} min{542,52}=52\min\{\frac{5}{4}\cdot 2,\frac{5}{2}\}=\frac{5}{2} 11
j=3j=3 min{543,52}=52\min\{\frac{5}{4}\cdot 3,\frac{5}{2}\}=\frac{5}{2} 33
j=4j=4 22
1i+1k=1i+1U(k,i+1)\frac{1}{i+1}\sum\limits_{k=1}^{i+1}U(k,i+1) 158\frac{15}{8} 2512\frac{25}{12} 52\frac{5}{2}

从上表中可以看出,招聘方采用正确决策所能得到的最优绝对名次期望值为 158\frac{15}{8}

所以,给定 nn ,我们就能求出招聘方采用正确决策所能得到的最优绝对名次期望值为 U(1,1)U(1,1)

策略

Ci=1i+1k=1i+1U(k,i+1)C_i=\frac{1}{i+1}\sum\limits_{k=1}^{i+1}U(k,i+1) ,则 U(j,i)=min{n+1i+1j,Ci}U(j,i)=\min \{\frac{n+1}{i+1}j,C_i\}

为让 U(j,i)U(j,i) 尽可能小,我们需要让 n+1i+1j\frac{n+1}{i+1}jCiC_i 进行比较,取得小值。所以当 n+1i+1j<Ci\frac{n+1}{i+1}j<C_i ,即 j<Cii+1n+1j<C_i\cdot \frac{i+1}{n+1} 时,我们应该录用 AiA_i 。否则,继续面试。

此时的策略 si=Cii+1n+1s_i = \lfloor C_i\cdot \frac{i+1}{n+1}\rfloor

动态规划的思想是从末端开始,逐步向前推进,每一步都是最优的。所以我们可以从末端开始,逐步向前推进,每一步都更改策略,且是最优的。

根据每一步的策略,我们可以给出 CiC_i 的递推式:

Ci1=1ik=1iU(k,i)=1ik=1imin{n+1i+1k,Ci}=1i(n+1i+1k=1sik+k=si+1iCi)=1i(n+1i+1si(si+1)2+(isi)Ci)\begin{aligned} C_{i-1}&=\frac{1}{i}\sum_{k=1}^{i}U(k,i)\\&=\frac{1}{i}\sum_{k=1}^{i}\min \{\frac{n+1}{i+1}k,C_i\}\\ &=\frac{1}{i}(\frac{n+1}{i+1}\sum_{k=1}^{s_i}k+\sum_{k=s_i+1}^{i}C_i)\\ &=\frac{1}{i}(\frac{n+1}{i+1}\frac{s_i(s_i+1)}{2}+(i-s_i)C_i)\\ \end{aligned}

尾部条件为 Cn1=1nk=1nU(k,n)=1nk=1nk=n+12C_{n-1}=\frac{1}{n}\sum\limits_{k=1}^{n}U(k,n)=\frac{1}{n}\sum\limits_{k=1}^{n}k=\frac{n+1}{2}

所以我们可以通过递推式来求出 CiC_i ,然后再求出 sis_i ,最后求出 U(1,1)U(1,1)

变式 4 分布不均的期望策略

"问题背景"

如果 AiA_i 不再是变式3的均匀分布,而是另一种已知的分布,那么招聘方录用一位应聘者时,应采用何种策略使得录用者的绝对名次的期望值尽可能小?

问题推广

"问题背景"

10 安全观演

"问题背景"

广场某处正在进行一场露天表演,若干人先后到达附近并选择一个地点观看表演。

提问,第 nn 个到达的观众与舞台中心的距离 dnd_n 大概是多少?

"题源:阿里巴巴数学竞赛"

Alt text

记舞台中心为 OO 。以 OO 为圆心,半径为 LL 的圆为 CC,记第 ii 个到达的观众为 AiA_i ,所选位置为 PiP_i 。以 PiP_i 为圆心,rr 为半径的圆为 CiC_i,我们有

Alt text

观演距离上界

观众 AnA_n 无法选到与点 OO 距离小于 dnd_n 的点,也就是说,以 OO 为圆心,半径为 dnd_n 的园内的所有店均在圆 CCC1,C2Cn1C_1, C_2 \cdots C_{n-1} 内。因此:

πdn2πL2+(n1)πr2dnL2+(n1)r2\begin{aligned} \pi \cdot d_n^2 &\leq \pi L^2 + (n-1)\cdot \pi r^2\\ \Rightarrow d_n &\leq \sqrt{L^2 + (n-1) r^2} \end{aligned}

"阿里巴巴 2(1) 上界"

此时 r=1,L=10r= 1,L = 10 ,所以 dn102+(n1)12=99+n100n=10nd_n \leq \sqrt{10^2 + (n-1)1^2}= \sqrt{99 + n }\leq \sqrt{100n} =10\sqrt{n}

观演距离下界

Alt text

记以 PiP_i 为圆心,r2\frac{r}{2} 为半径的圆为 QiQ_i,则 Q1,Q2Qn1Q_1, Q_2 \cdots Q_{n-1} 两两不相交,且均在以 OO 为圆心,半径为 dn+r2d_n + \frac{r}{2} 的圆内。因此:

π(dn+r2)2nπ(r2)2dn(n212)r\begin{aligned} \pi \cdot (d_n + \frac{r}{2})^2 &\geq n \cdot \pi \cdot (\frac{r}{2})^2\\ \Rightarrow d_n &\geq (\frac{\sqrt{n}}{2} - \frac{1}{2}) \cdot r \end{aligned}

"阿里巴巴 2(1) 下界"

此时 r=1,L=10r= 1,L = 10 ,所以 n2n \geq 2 时, dn(n212)1n22n5=n10d_n \geq (\frac{\sqrt{n}}{2} - \frac{1}{2}) \cdot 1 \geq \frac{\sqrt{n}}{2} - \frac{2\sqrt{n}}{5}= \frac{\sqrt{n}}{10}

n=1n=1 时,d1=10d_1 = 10,不等式仍然成立。

所以 2(1) 选B。

考虑遮挡

若以 PiP_i 为圆心,ρ\rho 为半径的圆周与线段 OPjOP_j 相交,则 AjA_j 会被 AiA_i 遮挡。如下图所示:

Alt text

圆周引导 - 无遮人数的上界

如果在工作人员引导下,人们都恰好站在圆周 CC 上,即:

Alt text

此时每个人排在CC的内接正 nn 边形的顶点上,所以 θ=2πn\theta = \frac{2\pi}{n},且 nn 需满足下列条件:

PiPi+1=2Lsinθ2=2LsinπnrdPi,OPi+1=Lsinθ=Lsin2πnρ\begin{aligned} |P_iP_{i+1}| &= 2L\cdot \sin \frac{\theta}{2} = 2L\cdot \sin \frac{\pi}{n}\geq r\\ d_{P_i,OP_{i+1}} &= L\cdot \sin \theta = L\cdot \sin \frac{2\pi}{n}\geq \rho \end{aligned}

最优引导 - 无遮人数的上界

最优的时候就不该是圆周:

Alt text

nn 条线段在点 CC 将周角分为 nn 个角 Pσ(i)OPσ(i+1)\angle P_{\sigma(i)}O\angle P_{\sigma(i+1)},这里 σ(1),σ(2),..,σ(n)\sigma(1),\sigma(2),..,\sigma(n)是1,2,..,n 的一个排列,并记σ(n+1)=σ(1)\sigma(n+1)=\sigma(1),则有i=1nPσ(i)OPσ(i+1)=2π\sum\limits_{i=1}^n \angle P_{\sigma(i)}O\angle P_{\sigma(i+1)} = 2\pi,且:

sinPσ(i)OPσ(i+1)ρ2(1dσ(i)+1dσ(i+1))\sin \angle P_{\sigma(i)}O\angle P_{\sigma(i+1)} \geq \frac{\rho}{2}(\frac{1}{d_{\sigma(i)}}+\frac{1}{d_{\sigma(i+1)}})

否则,不妨设dσ(i)dσ(i+1)d_{\sigma(i)} \leq d_{\sigma(i+1)},则

dσ(i)sinPσ(i)OPσ(i+1)<dσ(i)ρ2(1dσ(i)+1dσ(i+1))dσ(i)ρ22dσ(i)=ρd_{\sigma(i)}\sin \angle P_{\sigma(i)}O\angle P_{\sigma(i+1)} < d_{\sigma(i)}\frac{\rho}{2}(\frac{1}{d_{\sigma(i)}}+\frac{1}{d_{\sigma(i+1)}})\leq d_{\sigma(i)}\frac{\rho}{2}\frac{2}{d_{\sigma(i)}}=\rho

将产生遮挡。

所以

2π=i=1nPσ(i)OPσ(i+1)i=1nsinPσ(i)OPσ(i+1)ρ2i=1n(1dσ(i)+1dσ(i+1))=ρi=1n1di\begin{aligned} 2\pi &= \sum\limits_{i=1}^n \angle P_{\sigma(i)}O\angle P_{\sigma(i+1)}\\ &\geq \sum\limits_{i=1}^n \sin \angle P_{\sigma(i)}O\angle P_{\sigma(i+1)}\\ &\geq \frac{\rho}{2}\sum\limits_{i=1}^n (\frac{1}{d_{\sigma(i)}}+\frac{1}{d_{\sigma(i+1)}})\\ &= \rho\sum\limits_{i=1}^n \frac{1}{d_{i}}\\ \end{aligned}

又因为观演距离的上界为 dnL2+(n1)r2d_n \leq \sqrt{L^2 + (n-1) r^2},所以:

2πρi=1n1diρi=1n1L2+(i1)r2ρi=1nii+1dxL2+(x1)r2=ρ1n+1dxL2+(x1)r2=2ρr1n+1d((Lr)2+(x1))2(Lr)2+(x1)=2ρr((Lr)2+(n+11)(Lr)2+(11))=2ρr((Lr)2+nLr)πrρ+Lr(Lr)2+nπ2r2ρ2+2πLρ+L2r2(Lr)2+nnπ2r2ρ2+2πLρ\begin{aligned} 2\pi &\geq \rho\sum\limits_{i=1}^n \frac{1}{d_{i}}\\ &\geq \rho\sum\limits_{i=1}^n \frac{1}{\sqrt{L^2 + (i-1) r^2}}\\ &\geq \rho\sum\limits_{i=1}^n \int_i^{i+1} \frac{dx}{\sqrt{L^2 + (x-1) r^2}}\\ &= \rho\int_1^{n+1} \frac{dx}{\sqrt{L^2 + (x-1) r^2}}\\ &= \frac{2\rho}{r}\int_1^{n+1} \frac{d((\frac{L}{r})^2 + (x-1))}{2\sqrt{(\frac{L}{r})^2 + (x-1)}}\\ &= \frac{2\rho}{r}(\sqrt{(\frac{L}{r})^2 + (n+1-1)}-\sqrt{(\frac{L}{r})^2 + (1-1)})\\ &= \frac{2\rho}{r}(\sqrt{(\frac{L}{r})^2 + n}-\frac{L}{r})\\ \Rightarrow \frac{\pi r}{\rho} + \frac{L}{r} &\geq \sqrt{(\frac{L}{r})^2 + n}\\ \Rightarrow \frac{\pi^2 r^2}{\rho^2} + \frac{2\pi L}{\rho} + \frac{L^2}{r^2} &\geq (\frac{L}{r})^2 + n\\ \Rightarrow n &\leq \frac{\pi^2 r^2}{\rho^2} + \frac{2\pi L}{\rho} \\ \end{aligned}

"第三行"

Alt text

"阿里巴巴 2(2) "

此时 r=1,L=10,ρ=1/6r= 1,L = 10,\rho= 1/6 ,所以 nπ2r2ρ2+2πLρ=π21/36+2π101/6=36π2+120π732.3n \leq \frac{\pi^2 r^2}{\rho^2} + \frac{2\pi L}{\rho} = \frac{\pi^2}{1/36} + \frac{2\pi \cdot 10}{1/6} = 36\pi^2 + 120\pi \approx 732.3

所以 2(2) 选B。

11 蛛网模型

"问题背景"

如何解释某些生产周期较长的商品在失去均衡时发生的不同波动情况?

差分方程

y(n)=yny(n)=y_n,是依赖于整数变量 n=0,±1,±2,n = 0,\pm 1,\pm 2,\cdots 的函数,则称Δy(n)=y(n+1)y(n)\Delta y(n) = y(n+1)-y(n)y(n)y(n)一阶差分Δ2y(n)=Δ[Δy(n)]=Δy(n+1)Δy(n)\Delta^2 y(n) = \Delta[\Delta y(n)] = \Delta y(n+1)-\Delta y(n)y(n)y(n)二阶差分,以此类推,Δky(n)\Delta^k y(n)y(n)y(n)kk 阶差分

含有未知函数的有限差分的方程称为差分方程

F(n,yn,Δyn,Δ2yn,,Δkyn)=0F(n,y_n,\Delta y_n,\Delta^2 y_n,\cdots,\Delta^k y_n) = 0

如果将 Δyn\Delta y_n 等同于 yn+1yny_{n+1}-y_n,将 Δ2yn\Delta^2 y_n 等同于 yn+22yn+1+yny_{n+2}-2y_{n+1}+y_n,以此类推,将 Δkyn\Delta^k y_n 等同于 yn+kkyn+k1++(1)kyny_{n+k}-ky_{n+k-1}+\cdots+(-1)^k y_n,则上式可写成

F(n,yn,yn+1,,yn+k)=0F(n,y_n,y_{n+1},\cdots,y_{n+k}) = 0

所以差分方程本质上就是数列的递推。

mm 阶线性差分方程表示为:

am(n)yn+m+am1(n)yn+m1++a1(n)yn+1+a0(n)yn=fna_m(n)y_{n+m}+a_{m-1}(n)y_{n+m-1}+\cdots+a_1(n)y_{n+1}+a_0(n)y_n = f_n

二阶线性常系数齐次差分方程的解

二阶线性常系数齐次差分方程表示为

xn+2+a1xn+1+a2xn=0x_{n+2}+a_1x_{n+1}+a_2x_n = 0

xn=f(n)x_n = f(n)是差分方程的解,则 xn=cf(n)x_n = cf(n) 也是差分方程的解;若 xn=f(n)x_n = f(n)xn=g(n)x_n = g(n) 都是差分方程的解,则 xn=f(n)+g(n)x_n = f(n)+g(n) 也是差分方程的解。

xn=λnx_n = \lambda^n 是差分方程的解,则

λn+2+a1λn+1+a2λn=0\lambda^{n+2}+a_1\lambda^{n+1}+a_2\lambda^n = 0

即(计算非零解)

λ2+a1λ+a2=0\lambda^2+a_1\lambda+a_2 = 0

称为差分方程的特征方程,它的根称为差分方程的特征根

若特征方程有两个不同的实根 λ1\lambda_1λ2\lambda_2,则 xn=c1λ1n+c2λ2nx_n = c_1\lambda_1^n+c_2\lambda_2^n 是差分方程的解。

若特征方程有两个相等的实根 λ\lambda,则 xn=c1λn+c2nλnx_n = c_1\lambda^n+c_2n\lambda^n 是差分方程的解。

经济学与经济模型

经济学是研究人类社会各个发展阶段之各种经济活动、经济关系、经济运行
规律的科学

经济数学模型是广泛用于经济研究、经济分析的数学模型。是用数学形式,对经济理论假说进行数量化,以探讨客观经济过程的本质联系及其规律的一种经济研究与管理的工具。

微观经济学

微观经济学通过对个体经济单位的经济行为的分析,说明在现代经济社会中市场机制的运行及其对经济资源的配置

商品、货币与价格

商品(commodities):在社会分工的体系中,经济上相互独立的生产者所生产的、以自己的属性满足人的某种需要、为他人(即为社会)消费、通过交换进入把它当作使用价值的人的手里的劳动产品和服务。

货币(money):在商品交换中逐渐分离出来的固定地充当一般等价物的特殊商品。是价值量发展到一般价值形式的产物。

价格(price):市场经济和商品交换中最常用的范畴,是商品与货币交换的比例,直接表明单位商品交换价值的实际货币量。

需求

一种商品的需求是消费者在一定时期内在各种可能的价格水平下,愿意并且能够购买的该商品的数量。

决定需求数量的主要因素有商品的价格、消费者的收入水平、相关商品的价格(最基本的因素)、消费者的偏好、消费者对该商品的价格预期。

需求函数表示一种商品的需求数量和影响该需求数量的各种因素之间的相互关系(往往是减函数)

Qd=f(P)Q^d = f(P)

其中 QdQ^d 表示需求数量,PP 表示商品的价格。

我们往往用其反函数 P=f1(Qd)P = f^{-1}(Q^d) 来表示需求函数。

Alt text

供给

一种商品的供给是指生产者在一定时期内在各种可能的价格水平下,愿意并且能够提供出售的该商品的数量。

决定供给数量的主要因素有商品的价格、生产的成本、相关商品的价格、生产的技术水平、生产者对未来的价格预期。

供给函数表示一种商品的供给量与影响该商品供给量的各种因素之间的相互关系(往往是增函数)

Qs=f(P)Q^s = f(P)

其中 QsQ^s 表示供给数量,PP 表示商品的价格。

我们往往用其反函数 P=f1(Qs)P = f^{-1}(Q^s) 来表示供给函数。

Alt text

均衡

经济学中的均衡指经济系统中变动着的各种力量在相互作用之后所
达到的“平衡”状态,即相对静止状态。如果没有外界扰动因素,这种状态会持续下去。

均衡价格是市场上某种商品的需求量和供给量相等时的价格。均衡价格水平下的相等的供求数量称为均衡数量

均衡价格是市场上商品的需求和供给这两种相反力量共同作用的结果,是在市场供求力量自发作用下形成的。一旦市场价格偏离均衡价格,需求量和供给量就会出现不一致的非均衡状态,这种非均衡状态在市场机制的作用下会逐步消失,从而恢复到均衡价格水平。

Alt text

动态模型

静态与动态

静态模型与静态分析:

动态模型与动态分析:

动态均衡价格模型

对生产周期较长的商品,商品的供给量通常由前一生产周期的价格决定:

Qns=g(Pn1)Q^s_{n} = g(P_{n-1})

但需求还是由当前价格决定:

Qnd=f(Pn)Q^d_{n} = f(P_{n})

因此,均衡价格模型为:

Qns=g(Pn1)=Qnd=f(Pn)Q^s_{n} = g(P_{n-1}) = Q^d_{n} = f(P_{n})

"有如下的情况"

Alt text

Alt text

上图长得像蛛网,因此称为蛛网模型

蛛网模型

蛛网模型是研究某些生产周期较长且不宜储存的商品均衡价格的动态稳定性的模型

记在周期 nn 中,某种商品的供求量为 xnx_n,价格为 yny_n

这里的供求量是指周期 nn 中的供给量与需求量,此时的供给量是由周期 n1n-1 的价格决定的,需求量是由周期 nn 的价格决定的,设此时二者相等。

假设需求函数与供给函数为线性函数,其过均衡点 (x0,y0)(x_0,y_0) 的方程为

yny0=α(xnx0),xn+1x0=β(yny0)y_n-y_0 = -\alpha(x_n-x_0),\quad x_{n+1}-x_0 = \beta(y_n-y_0)

其中,α\alpha 是商品需求量减少一个单位时价格的上涨量,1/α1/\alpha 是商品价格上涨一个单位时需求量的减少量。β\beta 是商品价格上涨一个单位时(下一周期)供给量的增加量。

由此可得,递推关系为

xn+1x0=β(yny0)=αβ(xnx0)x_{n+1} -x_0 = \beta(y_n-y_0) = -\alpha\beta(x_n-x_0)

所以

xnx0=(αβ)n1(x1x0)x_{n}-x_0 = (-\alpha\beta)^{n-1}(x_1-x_0)

所以,数列 {xn}\{x_n\} 收敛的充要条件为 αβ<1\alpha\beta < 1

若需求函数 hh 或供给函数 gg 不为线性函数,可在均衡点附近用线性函数近似,即令 a=h(x0)a = -h'(x_0)b=g(y0)b = g'(y_0)

均衡的稳定性

当一个均衡价格体系在受到干扰而偏离均衡点时,如果这个体系在市场机制的作用下能回到均衡点,则称这个均衡价格体系是稳定均衡,否则是不稳定均衡。

根据以上分析,均衡价格体系的稳定性取决于 αβ\alpha\beta 的大小,我们可以得到三种情况:

Alt text

改进的蛛网模型

假设商品的供求量由前两个周期的价格决定

假设需求函数与供给函数为线性函数,其过均衡点 (x0,y0)(x_0,y_0) 的方程为

yny0=α(xnx0),xn+2x0=β(yn+1+yn2y0)y_n-y_0 = -\alpha(x_n-x_0),\quad x_{n+2}-x_0 = \beta(\frac{y_{n+1}+y_n}{2}-y_0)

则递推关系为

2xn+22x0=β(yn+1+yn2y0)=β(yn+1y0+yny0)=β(α(xn+1x0)α(xnx0))\begin{aligned} 2x_{n+2}-2x_0 &= \beta(y_{n+1}+y_n-2y_0) \\ &= \beta(y_{n+1}-y_0+y_n-y_0) \\ &= \beta(-\alpha(x_{n+1}-x_0)-\alpha(x_n-x_0)) \end{aligned}

zn=xnx0z_n = x_n-x_0,则

2zn+2=αβ(zn+1+zn)2z_{n+2} = -\alpha\beta(z_{n+1}+z_n)

可以发现 limnzn=0\lim\limits_{n\to\infty}z_n = 0 当且仅当 limnxn=x0\lim\limits_{n\to\infty}x_n = x_0

通项求解

我们现在得到了差分方程

2zn+2+αβzn+1+αβzn=02z_{n+2} + \alpha\beta z_{n+1} + \alpha\beta z_n = 0

其特征方程为

2λ2+αβλ+αβ=02\lambda^2 + \alpha\beta\lambda + \alpha\beta = 0

解得

λ1=αβ+α2β28αβ4,λ2=αβα2β28αβ4\lambda_1 = \frac{-\alpha\beta+\sqrt{\alpha^2\beta^2-8\alpha\beta}}{4},\quad \lambda_2 = \frac{-\alpha\beta-\sqrt{\alpha^2\beta^2-8\alpha\beta}}{4}

要使得 limnzn=0\lim\limits_{n\to\infty}z_n = 0,则 λ1\lambda_1λ2\lambda_2 的模都小于 11,即

与供给量由前一个周期的价格决定相比,价格体系是稳定均衡的条件有所放宽。

12 种群增长模型

"问题背景"

一种生物种群的增长过程,可以用一个差分方程来描述。假设种群的增长率与种群数量成正比,且种群的增长受到环境的限制,即种群的增长率随种群数量的增加而减小,那么种群的增长率应该是种群数量的函数。试建立种群增长模型,分析种群的增长规律。

生态学概念

**生态学(ecology)**是研究生物与环境及生物与生物之间相互关系的生物学分支学科。其主要研究对象为:

种群动态(population dynamics) 表示种群的消长以及种群消长与种群参数(如出生、死亡、迁入、迁出等)间的数量关系

离散单种种群模型

假设现实种群只由一个世代构成,相继世代之间没有重叠,那么每一代的个体数量只与上一代的个体数量有关,这样的种群称为单种种群(single-species population)

xnx_n 为第 nn 代个体数量,数列{xn}\{x_n\} 满足递推关系式:

xn+1=f(xn)x_{n+1} = f(x_n)

指数增长模型

每一代个体繁殖的个体数量与该代个体数量之比是一个常数

xn+1xn=r\frac{x_{n+1}}{x_n} = r

所以

xn=rnx0x_n=r^n x_0

其中,rr增长率(growth rate)x0x_0 为初始个体数量

指数增长模型不适于描述较长时期的人口演变过程,但某地一个较短时间内的人口统计数据可能符合指数增长模型

Logistic模型

考虑到种群的增长受到环境的限制,即种群的增长率随种群数量的增加而减小,因此,种群的增长率应该是种群数量的函数,即

xn+1=f(xn)=xn+rxn(1xnK)x_{n+1} = f(x_n) = x_n+r x_n(1-\frac{x_n}{K})

或者

Δxnxn=r(1xnK)\frac{\Delta x_n}{x_n} = r(1-\frac{x_n}{K})

其中,KK环境承载量(carrying capacity)r(1)r(\geq -1)内禀增长率(innate rate of increase)

Alt text

平衡点

差分方程的平衡点是指满足 xn+1=xnx_{n+1}=x_n 的点,即满足 f(x)=xf(x^*)=x^* 的点,其中 xx^* 为平衡点。

若只要初始点 x0x_0 与平衡点 xx^* 充分接近,即有 limnxn=x\lim\limits_{n\to\infty}x_n = x^*,则称平衡点 xx^* 渐近稳定(asymptotically stable)

渐进稳定的判别:

渐进稳定 不稳定
f(x)<1\lvert f'(x^*)\rvert <1 f(x)\lvert f'(x^*)\rvert >1
f(x)=1f'(x^*)=1 f(x)=0f''(x^*)= 0f(x)<0f'''(x^*)<0 f(x)0f''(x^*)\neq 0f(x)>0f'''(x^*)>0
f(x)=1f'(x^*)= -1 2f(x)<3(f(x))2-2f'''(x^*)<3(f'''(x^*))^2 2f(x)>3(f(x))2-2f'''(x^*)>3(f'''(x^*))^2
\cdots \cdots \cdots

考察 Logistic模型的渐近稳定性,即考察 xn+1=xn+rxn(1xnK)x_{n+1} = x_n+r x_n(1-\frac{x_n}{K}) 的平衡点 xx^* 的渐近稳定性。取 f(x)=(1+r)xrKx2f(x)=(1+r)x-\frac{r}{K}x^2

f(x)=xf(x)=x 的解为 x=0x=0x=Kx=K,所以平衡点为 x1=0x_1^*=0x1=Kx_1^*=K

f(x)=1+r2rKxf'(x)=1+r-\frac{2r}{K}x,所以 f(0)=1+rf'(0)=1+rf(K)=1rf'(K)=1-r

Alt text

Alt text

周期点

r>2r>2 时,我们会得到这样的结果:

Alt text

差分方程 xn+1=f(xn)x_{n+1} = f(x_n) 的周期点是指满足 fk(x)=xf_k(x^*)=x^* 的点,其中 kk 为正整数,xx^*kk 周期点。这里 fk(x)f_k(x)可通过
以下方式定义:

fk(x)=f(fk1(x)),f1(x)=f(x)f_k(x) = f(f_{k-1}(x)),\quad f_1(x)=f(x)

Logistic模型的 2-周期点

我们有:

f(x)=(1+r)xrKx2f(x) =(1+r)x-\frac{r}{K}x^2

f2(x)=f(f(x))=(1+r)((1+r)xrKx2)rK((1+r)xrKx2)2=(1+r)2xr(1+r)(2+r)Kx2+2r2K2(1+r)x3r3K3x4\begin{aligned} f_{2}(x)&=f(f(x))=(1+r)\bigg((1+r)x-\frac{r}{K}x^2\bigg)-\frac{r}{K}\bigg((1+r)x-\frac{r}{K}x^2\bigg)^2 \\ &=(1+r)^2x-\frac{r(1+r)(2+r)}Kx^2+\frac{2r^2}{K^2}(1+r)x^3-\frac{r^3}{K^3}x^4 \end{aligned}

因为我们要找的是 2-周期点,所以我们要求解 x=f2(x)x=f_2(x),即

x=(1+r)2xr(1+r)(2+r)Kx2+2r2K2(1+r)x3r3K3x4x(xK1)(r2(xK)2r(r+2)xK+(r+2))=0x+=(r+2)+r242rK,x=(r+2)r242rK\begin{aligned} x& =(1+r)^{2}x-\frac{r(1+r)(2+r)}{K}x^{2}+\frac{2r^{2}}{K^{2}}(1+r)x^{3}-\frac{r^{3}}{K^{3}}x^{4} \\ &\Rightarrow x\bigg(\frac xK-1\bigg)\bigg(r^2\bigg(\frac xK\bigg)^2-r(r+2)\frac xK+(r+2)\bigg)=0\\ &\Rightarrow x_{+}=\frac{(r+2)+\sqrt{r^{2}-4}}{2r}K,x_{-}=\frac{(r+2)-\sqrt{r^{2}-4}}{2r}K \end{aligned}

所以,根据2-周期点的性质,我们有f(f(x+))=x+f(f(x_+))=x_+,两边再作用 ff,我们有 f(f(f(x+)))=f(x+)f(f(f(x_+)))=f(x_+),所以 f(x+)f(x_+) 也是 2-周期点,又由于我们只有两个 2-周期点,且 x+x_+ 不是平衡点,所以 f(x+)=xf(x_+)=x_-。同理,我们有 f(x)=x+f(x_-)=x_+

稳定性分析

判断 f2(x)|f'_2(x)| 是否小于 1,即判断 f(x+)|f'(x_+)|f(x)|f'(x_-)| 是否小于 1。

f2(x+)=f(f(x+))f(x+)=f(x)f(x+)=((1+r)2rKx)((1+r)2rKx+)=(1+r)22r(1+r)K(x++x)+4r2K2x+x=(1+r)22r(1+r)Kr(r+2)Kr2+4r2K2(r+2)K2r2=(1+r)22(1+r)(r+2)+4(r+2)=5r2\begin{aligned} f_{2}^{\prime}\bigl(x_{+}\bigr)& =f'\Big(f\big(x_+\big)\Big)f'\big(x_+\big) \\ &=f'\bigl(x_-\bigr)f'\bigl(x_+\bigr) \\ &=\left((1+r)-\frac{2r}Kx_-\right)\left((1+r)-\frac{2r}Kx_+\right) \\ &=(1+r)^2-\frac{2r(1+r)}K(x_++x_-)+\frac{4r^2}{K^2}x_+x_- \\ &=(1+r)^2-\frac{2r(1+r)}K\frac{r(r+2)K}{r^2}+\frac{4r^2}{K^2}\frac{(r+2)K^2}{r^2} \\ &=(1+r)^2-2(1+r)(r+2)+4(r+2)\\&=5-r^2 \end{aligned}

同理,我们有 f2(x)=5r2f'_2(x_-)=5-r^2

所以,当 2<r<62< r < \sqrt{6} 时,f2(x+)<1|f'_2(x_+)|<1f2(x)<1|f'_2(x_-)|<1,此时 2-周期点是渐进稳定的。

混沌

Alt text

Li-Yorke 定理

若实数轴一区间到其自身的连续函数,有一个 33-周期点,则对任意正整数 kkff 有一个 kk-周期点

Sharkovsky 定理

任意正整数 nn 可唯一表示成 n=2s(2p+1)n=2^s(2p+1),其中s,pNs,p \in N。所有正整数可据此排列,称为 SS 型排序。

3,5,7,9,11,3,5,7,9,11,\cdots
23,25,27,29,211,2\cdot 3,2\cdot 5,2\cdot 7,2\cdot 9,2\cdot 11,\cdots
223,225,227,229,2211,2^2\cdot 3,2^2\cdot 5,2^2\cdot 7,2^2\cdot 9,2^2\cdot 11,\cdots
\cdots
2s3,2s5,2s7,2s9,2s11,2^s\cdot 3,2^s\cdot 5,2^s\cdot 7,2^s\cdot 9,2^s\cdot 11,\cdots
\cdots

若实数轴一区间到其自身的连续函数 ff 具有 kk-周期点,在 SS 型排序中,如果 kkmm 的前面,则必有 mm 周期点

13 追逐问题

"问题背景"

两艘船在平静的海面上相向而行,海盗船的速度为 vpv_p,商船的速度为 vmv_m

  1. 两船速度不变。
  2. 海盗船的航向始终指向商船。

问:海盗船是否能追上商船?追上时,两船的位置分别在哪里?

两船速度不变

Alt text

若在某一时刻,海盗船与商船位于同一地点 A(x,y)A(x,y),则AOMO=k\frac{|AO|}{|MO|} = k,即

x2+y2(xm)2+y2=k\frac{\sqrt{x^2+y^2}}{\sqrt{(x-m)^2+y^2}} = k

所以 AA 的轨迹为圆

(xk2mk21)2+y2=(kmk21)2(x-\frac{k^2m}{k^2-1})^2+y^2 = (\frac{km}{k^2-1})^2

阿波罗尼奥斯圆

Alt text

两船速率不变,一船方向改变

商船沿直线航行,航向垂直于连接商船与海盗船初始位置的直线。在任意时刻,海盗船的航行方向为连接商船与海盗船此时位置的直线的方向。

以海盗船初始位置为原点,商船初始位置为 M(m,0)M(m,0),建立直角坐标系,记 vmvp=r\frac{v_m}{v_p}=r。设海盗船在与商船相遇前的轨迹为函数 y=f(x)y=f(x),则

Alt text

tt 时刻

所以,我们可以得到

1vp0x1+f2(z)dz=t=1vm(y(xm)f(x))\frac1{v_p}\int_0^x\sqrt{1+f^{\prime{2}}(z)}dz=t=\frac1{v_m}\left(y-\left(x-m\right)f^{\prime}(x)\right)

对两边求导,我们有

1vp1+f2(x)=1vm(f(x)f(x)(xm)f(x))vmvp1+f2(x)=(xm)f(x)df(x)1+f2(x)=rxmdxlnf(x)+1+f2(x)0x=rlnxm0xlnf(x)+1+f2(x)=rln1xmf(x)+1+f2(x)=(1xm)r\begin{aligned} \frac1{v_p}\sqrt{1+{f^{\prime}}^2(x)}&=\frac1{v_m}\Big(f^{\prime}(x)-f^{\prime}(x)-\left(x-m\right)f^{\prime\prime}(x)\Big)\\ -\frac{v_m}{v_p}\sqrt{1+{f^{\prime}}^2(x)}&=\left(x-m\right)f^{\prime\prime}(x)\\ \frac{\mathrm{d}f^{\prime}(x)}{\sqrt{1+{f^{\prime}}^2(x)}}&=-\frac r{x-m}\mathrm{d}x \\ \ln\left|f^{\prime}(x)+\sqrt{1+f^{\prime2}(x)}\right\|_{0}^{x}&=-r\ln\left|x-m|\right|_{0}^{x}\\ \quad\Rightarrow\ln\left|f^{\prime}(x)+\sqrt{1+f^{\prime2}(x)}\right|&=-r\ln\left|1-\frac{x}{m}\right| \\ \quad\Rightarrow f^{\prime}(x)+\sqrt{1+f^{\prime2}(x)}&=\left(1-\frac{x}{m}\right)^{-r} \\ \end{aligned}

对两边取倒数,我们有

{f(x)+1+f2(x)=(1xm)rf(x)1+f2(x)=(1xm)r\begin{cases} f^{\prime}(x)+\sqrt{1+f^{\prime2}(x)}&=\left(1-\frac{x}{m}\right)^{-r}\\ f^{\prime}(x)-\sqrt{1+f^{\prime2}(x)}&=\left(1-\frac{x}{m}\right)^{r} \end{cases}

所以

f(x)=12((1xm)r(1xm)r)f^{\prime}(x)=\frac12\left(\left(1-\frac{x}{m}\right)^{-r}-\left(1-\frac{x}{m}\right)^{r}\right)

对两边积分,我们有

f(x)=rm1r2+mx2(11+r(1xm)r11r(1xm)r)f(x)=\frac{rm}{1-r^2}+\frac{m-x}2{\left(\frac1{1+r}\left(1-\frac xm\right)^r-\frac1{1-r}{\left(1-\frac xm\right)^{-r}}\right)}

所以追上时的纵坐标为

f(m)=rm1r2f(m)=\frac{rm}{1-r^2}

同类问题

Alt text

14 最速降线问题

"问题背景"

给定垂直平面上两点 A,BA,B,一质点以何路径从 AA 运动到 BB,可使运动时间最短?

直线下降

Alt text

就是斜坡下滑问题,有

12gcosθT2=l\frac{1}{2}g\cos\theta T^2 = l

所以

T=2lgcosθ=2xB2+yB2gyBxB2+yB2=2(xB2+yB2)gyBT = \sqrt{\frac{2l}{g\cos\theta}}=\sqrt{\frac{2\sqrt{x_B^2+y_B^2}}{g\frac{y_B}{\sqrt{x_B^2+y_B^2}}}}=\sqrt{\frac{2(x_B^2+y_B^2)}{gy_B}}

如果用常微分方程来解,我们有

Alt text

圆弧下降

Alt text

最速降线

Fermat 原理

光线在两点之间传播的路径是使得两点之间的传播时间最短的路径。

Snell 定律

sinθ1sinθ2=v1v2\frac{\sin\theta_1}{\sin\theta_2}=\frac{v_1}{v_2}

可由 Fermat 原理 推出。

Alt text

推导最速降线

将平行于 xx 轴的直线视作折射率逐渐减小的不同介质的分界面。

Alt text

由 Snell 定律,可知 sinθv\frac{sin\theta}{v} 为常数,记

sinθv=C\frac{\sin \theta}{v}=C

因为

sinθ=cosϕ=11+tan2ϕ=11+y2\sin \theta = \cos \phi = \frac{1}{\sqrt{1+\tan^2\phi}}= \frac{1}{\sqrt{1+y'^2}}

12mv2=mgyv=2gy\frac12mv^2 = mgy \Rightarrow v = \sqrt{2gy}

所以

sinθv=11+y212gy=Cy=12gCy2gCyC2yyyC2ydy=dxy=C2sin2β,有2C2sin2βdβ=dxdx=C2(1cos2β)dβ\begin{aligned} \frac{\sin \theta}{v} = \frac{1}{\sqrt{1+y'^2}}\frac{1}{\sqrt{2gy}} &= C\\ \Rightarrow y' &= \sqrt{\frac{1-2gCy}{2gCy}}\triangleq\sqrt{\frac{C_2-y}{y}}\\ \Rightarrow \sqrt{\frac{y}{C_2-y}}dy &= dx\\ \text{令}y=C_2\sin^2\beta&\text{,有}\\ 2C_2\sin^2\beta d\beta &= dx\\ \Rightarrow dx &= C_2(1-cos2\beta)d\beta \\ \end{aligned}

所以

{x=R(γsinγ)y=R(1cosγ)\begin{cases} x &= R(\gamma-\sin\gamma)\\ y &= R(1-\cos\gamma) \end{cases}

或者

x=Rarccos(1yR)y(2Ry)x=R\arccos\left(1-\frac{y}{R}\right)-\sqrt{y(2R-y)}

摆线

实际上,最速降线就是摆线。

Alt text

变分法

求出最速降线的严格做法——变分法。

变分法是研究泛函的极值的方法

Alt text

可用 Euler-Lagrange 方程求解。

15 种群数量变化模型

指数增长模型

我们给出假设:

所以

x(t+Δt)x(t)=(bμ)x(t)Δtx(t+\Delta t)-x(t)=(b-\mu)x(t)\Delta t

x(t+Δt)x(t)Δt=rx(t)dxdt=rx\frac{x(t+\Delta t)-x(t)}{\Delta t}=rx(t) \Rightarrow \frac{dx}{dt}=rx

所以

x(t)=x0ertx(t) = x_0e^{rt}

指数增长模型不适于描述较长时期的人口演变过程,但某地一个较短时间内的人口统计数据可能符合指数增长模型.

Logistic模型

种群人均增长率仅与种群数量有关,且是种群数量的递减函数:

dxdt=rx(1xK)\frac{dx}{dt}=rx\left(1-\frac{x}{K}\right)

其中 KK 为环境承载量,rr 为内禀增长率,xx 为种群数量

所以

x(t)=Kx0x0+(Kx0)ertx(t)=\frac{Kx_0}{x_0+(K-x_0)e^{-rt}}

性质

Alt text

小总结

多数情况下,指数模型与 Logistic 模型并不是基于生物学机理,而是一种经验模型模型及其参数应根据实际数据进行估计和检验

除此之外,还有很多别的模型,如

dxdt=rxlnKxdxdt=rxKxK+axdxdt=rx(1(xK)θ)dxdt=(re1(xK)d)x\begin{aligned} &\frac{dx}{dt} =rx\ln\frac Kx \\ & \begin{aligned}\frac{dx}{dt}&=rx\frac{K-x}{K+ax}\end{aligned} \\ &\frac{dx}{dt}=rx\Bigg(1-\Bigg(\frac{x}{K}\Bigg)^\theta\Bigg) \\ &\frac{dx}{dt}=\left(re^{1-\left(\frac xK\right)}-d\right)x \end{aligned}

自洽系统

对一阶常微分方程 x(t)=f(x)x'(t)=f(x),若 f(x)f(x) 不显含变量 tt,则称该方程为自洽系统(autonomous system)

满足 f(x)=0f(x_\infty)=0xx_\infty 称为平衡点(equilibrium point)

对一阶常微分方程 x(t)=f(x)x'(t)=f(x) ,或者 x(t)x(t) 无界,或者 limtx(t)=x\lim\limits_{t\to\infty}x(t)=x_{\infty}。但不是所有平衡点均为某个非零解的极限

可用线性化(linearization)方法研究平衡点附近解的性态

随机模型

x(t)x(t)tt 时刻一种群个体数量

生灭过程

生灭过程

离散状态空间连续时间齐次Markov链称为生灭过程(birth-death process),若对充分小的 Δt\Delta t ,

pi,jp_{i,j}表示在Δt\Delta t时间内,从状态 ii 转移到状态 jj 的概率

{pi,i+1(Δt)=λiΔt+o(Δt),λi0,i0pi,i1(Δt)=μiΔt+o(Δt),μi0,i1pi,i(Δt)=1(λi+μi)Δt+o(Δt)ji2pij(Δt)=o(Δt)\begin{cases}p_{i,i+1}(\Delta t)=\lambda_i\Delta t+o(\Delta t),\quad\lambda_i\geq0,i\geq0\\p_{i,i-1}(\Delta t)=\mu_i\Delta t+o(\Delta t),\quad\mu_i\geq0,i\geq1 \\p_{i,i}\left(\Delta t\right)=1-(\lambda_i+\mu_i)\Delta t+o(\Delta t)\end{cases}\Rightarrow\sum\limits_{|j-i|\geq2}p_{ij}(\Delta t)=o(\Delta t)

家族消亡问题

"问题背景"

设每位家族成员之多有 kk 个后代,有 ii 个后代的概率为 pip_i,什么情况下家族会消亡?

假设:

Alt text

我们有

Alt text

xnx_n 为家族在第 nn 代的成员数。假设 x0=1x_{0}=1(此时显然有 0xnkn0\leq x_{n}\leq k^{n} )。

pj,n=P{xn=j}p_{j,n}=P\{x_n=j\},为家族到了第 nn 代,后代个数为 jj 的概率。定义 fn(x)=j=0knpj,nxjf_n(x)=\sum\limits_{j=0}^{k^n}p_{j,n}x^j。记 pj,1=pjp_{j,1}=p_jf1(x)=f(x)f_1(x)=f(x)

显然:

将上式代入 fn(x)f_n(x) 的定义式,得到

fn(x)=j=0knpj,nxj=j=0knxjs=0kn1ps,n1i=1sji=jpj1pj2...pjs=s=0kn1ps,n1j=0kni=1sji=jxjpj1pj2...pjs=s=0kn1ps,n1(j1=0kj2=0kjs=0kxi=1sjipj1pj2...pjs)=s=0kn1ps,n1(j1=0kxj1pj1)(j2=0kxj2pj2)(js=0kxjspjs)=s=0kn1ps,n1f1(x)s=fn1(f1(x))\begin{aligned}f_{n}(x)=\sum_{j=0}^{k^{n}}p_{j,n}x^{j}&=\sum_{j=0}^{k^{n}}x^{j}\sum_{s=0}^{k^{n-1}}p_{s,n-1}\sum_{\sum\limits_{i=1}^{s}j_i=j}p_{j_{1}}p_{j_{2}}...p_{j_{s}}\\ &=\sum_{s=0}^{k^{n-1}}p_{s,n-1}\sum_{j=0}^{k^{n}}\sum_{\sum\limits_{i=1}^{s}j_i=j}x^{j}p_{j_{1}}p_{j_{2}}...p_{j_{s}}\\ &=\sum_{s=0}^{k^{n-1}}p_{s,n-1}(\sum_{j_{1}=0}^{k}\sum_{j_{2}=0}^{k}\cdots\sum_{j_{s}=0}^{k}x^{\sum\limits_{i=1}^{s}j_i}p_{j_{1}}p_{j_{2}}...p_{j_{s}})\\ &=\sum_{s=0}^{k^{n-1}}p_{s,n-1}(\sum_{j_{1}=0}^{k}x^{j_{1}}p_{j_{1}})(\sum_{j_{2}=0}^{k}x^{j_{2}}p_{j_{2}})\cdots(\sum_{j_{s}=0}^{k}x^{j_{s}}p_{j_{s}})\\ &=\sum_{s=0}^{k^{n-1}}p_{s,n-1}f_{1}(x)^{s}\\ &=f_{n-1}(f_{1}(x)) \end{aligned}

所以

fn(x)=fn1(f1(x))=fn2(f1(f1(x)))==f(f(f(x)))f_{n}(x)=f_{n-1}(f_{1}(x))=f_{n-2}(f_{1}(f_{1}(x)))=\cdots=f(f(\cdots f(x)\cdots))

fn(x)f_n(x)f(x)f(x)nn 次复合函数。

例子

现在有一个家族,第一代有零个后代的概率为四分之一,有一个后代的概率为二分之一,有两个后代的概率为四分之一。(后代期望为1)

f(x)=14+12x+14x2f(x)=\frac{1}{4}+\frac{1}{2}x+\frac{1}{4}x^2

f(x)=14+12x+14x2f2(x)=2564+516x+732x2+316x3+164x4f3(x)=792116384+4452048x+7234096x2+1592048x3+2678192x4+192048x5+114096x6+12048x7+116384x8\begin{aligned} f(x)=&{\frac{1}{4}}+{\frac{1}{2}}x+{\frac{1}{4}}x^{2} \\ f_{2}(x)=&\frac{25}{64}+\frac{5}{16}x+\frac{7}{32}x^{2}+\frac{3}{16}x^{3}+\frac{1}{64}x^{4} \\ f_3(x)=&\frac{7921}{16384}+\frac{445}{2048}x+\frac{723}{4096}x^2 \\ &+\frac{159}{2048}x^{3}+\frac{267}{8192}x^{4}+\frac{19}{2048}x^{5} \\ &+\frac{11}{4096}x^6+\frac1{2048}x^7+\frac1{16384}x^8 \\ \end{aligned}

不断迭代下去,我们可以得到

f1(0)=0.250,f2(0)=0.391,f3(0)=0.483f4(0)=0.550,f5(0)=0.601,f6(0)=0.641\begin{aligned} &f_1(0)=0.250,f_2(0)=0.391,f_3(0)=0.483 \\ &f_{4}(0)=0.550,f_{5}(0)=0.601,f_{6}(0)=0.641 \end{aligned}

可见,没有后代的概率会越来越大,家族最终会消亡。

同样,对于 f(x)=18+12x+14x2+18x3f(x)=\frac{1}{8}+\frac{1}{2}x+\frac{1}{4}x^{2}+\frac{1}{8}x^{3},我们可以得到

f1(0)=0.125,f2(0)=0.192,f3(0)=0.231f4(0)=0.255,f5(0)=0.271,f6(0)=0.281\begin{aligned} &f_{1}(0)=0.125,f_{2}(0)=0.192,f_{3}(0)=0.231 \\ &f_{4}(0)=0.255,f_{5}(0)=0.271,f_{6}(0)=0.281 \end{aligned}

期望

nn 代后代数的期望为

E(xn)=j=0knjpj,n=fn(1)E(x_n)=\sum\limits_{j=0}^{k^n}jp_{j,n}=f'_n(1)

根据复合函数的性质

fn(x)=fn1(f1(x))f1(x)f'_n(x)=f'_{n-1}(f_1(x))f'_1(x)

所以

E(xn)=fn(1)=fn1(f1(1))f1(1)=fn1(1)f1(1)==f1(1)nE(x_n)=f'_n(1)=f'_{n-1}(f_1(1))f'_1(1)=f'_{n-1}(1)f'_1(1)=\cdots=f'_1(1)^n

消亡概率

πn\pi_n 为第 nn 代家族消亡的概率,即 πn=P{xn=0}\pi_n=P\{x_n=0\}

πn=p0,n=fn(0)=f(fn1(0))=f(πn1)\pi_n=p_{0,n}=f_n(0)=f(f_{n-1}(0))=f(\pi_{n-1})

如果家族在第 n1n-1 代消亡,那么第 nn 代也一定消亡,所以 πn1πn\pi_{n-1}\leq\pi_n,又 πn1\pi_n\leq1,所以 {πn}\{\pi_n\} 单调递增有上界,故 limnπn\lim\limits_{n\to\infty}\pi_n 存在,记为 π\pi_\infty

π\pi_\infty 是方程 x=f(x)x=f(x) 的最小正根。

"证明"

  1. π\pi_\infty 是方程 x=f(x)x=f(x) 的根

    由于 πn=f(πn1)\pi_n=f(\pi_{n-1}),所以 π=f(π)\pi_\infty=f(\pi_\infty),即 π\pi_\infty 是方程 x=f(x)x=f(x) 的根。

  2. π\pi_\infty 是方程 x=f(x)x=f(x) 的最小正根

    设另有一个正根 π\pi^*,由于 f(x)f(x) 的单调性,有 π1=f(0)<f(x0)=x0\pi_1=f(0)<f(x_0)=x_0,所以 π2=f(π1)<f(x0)=x0\pi_2=f(\pi_1)<f(x_0)=x_0,所以 π3=f(π2)<f(x0)=x0\pi_3=f(\pi_2)<f(x_0)=x_0,以此类推,可得 πn<x0\pi_n<x_0。由极限的保号性, πx0\pi_\infty\leq x_0

可以证明,最终消亡概率 π=1\pi_\infty=1 当且仅当 f(1)1f'(1)\leq1

"证明"

Alt text

由此,我们知道了家族在什么情况下会消亡。

16 传染病模型

传染病的基本概念

传染病得以在某一人群中发生和传播,必须具备传染源传播途径易感人群三个基本环节

基本模型

SIR模型

假设疾病传播期内所考察地区总人数保持不变,没有新增人口和因疾病以外的原因造成的死亡。

我们将人群分为三类:

tt 时刻易感者、感染者、移出者的人数分别为 S(t)S(t)I(t)I(t)R(t)R(t)

接触和移出

单位时间内每人与 βN\beta N 个人接触,其中 NN 为总人数,易感者占比为 S(t)N\frac{S(t)}{N},所以单位时间内一个感染者接触的易感者人数为 βNS(t)N=βS(t)\beta N \frac{S(t)}{N}=\beta S(t)单位时间内新增感染者数量βS(t)I(t)\beta S(t)I(t)

单位时间内移出感染者数量为 αI(t)\alpha I(t)

此时每个感染者处于感染期的时间服从参数为 α\alpha 的指数分布,那么单位时间内移出感染者数量为 αI(t)\alpha I(t),我们有

Alt text

所以我们可以得到微分方程组

{dSdt=βSIdIdt=βSIαIdRdt=αI\begin{cases} \frac{\mathrm{d}S}{\mathrm{d}t}=-\beta SI\\ \frac{\mathrm{d}I}{\mathrm{d}t}=\beta SI-\alpha I\\ \frac{\mathrm{d}R}{\mathrm{d}t}=\alpha I \end{cases}

其中,β\betaα\alpha 为常数,S(0)=S0S(0)=S_0I(0)=I0I(0)=I_0R(0)=R0R(0)=R_0S0+I0+R0=NS_0+I_0+R_0=N

我们考察 SSII 的关系,有

dIdS=βSαβS=1αβS11σS1\frac{\mathrm{d}I}{\mathrm{d}S}=\frac{\beta S-\alpha}{-\beta S}=\frac{1}{\frac{\alpha}{\beta}S}-1\triangleq \frac{1}{\sigma S}-1

其中,σ=βα\sigma=\frac{\beta}{\alpha}

可以解得

I(t)=S0+I0S(t)+1σlnS(t)S0I(t)=S_0+I_0-S(t)+\frac{1}{\sigma}\ln\frac{S(t)}{S_0}

我们可以得到如下图像:

Alt text

其中,横坐标为 SS,纵坐标为 II。斜线上的点为 S0S_0I0I_0,是初始点。上图所述的先增后减,实际上可以理解为疫情的爆发和衰退。

II 总会衰减到0吗?

因为 S(t)0,dSdt0S(t)\geq 0,\frac{dS}{dt}\leq0,所以 S(t)S(t) 单调递减有下界,limtS(t)\lim\limits_{t\to\infty}S(t)存在,记为 SS_\infty

因为 R(t)N,dRdt0R(t)\leq N,\frac{dR}{dt}\geq0,所以 R(t)R(t) 单调递增有上界,limtR(t)\lim\limits_{t\to\infty}R(t)存在,记为 RR_\infty

因为 I(t)=NS(t)R(t)I(t)=N-S(t)-R(t),所以 limtI(t)=NSR=I\lim\limits_{t\to\infty}I(t)=N-S_\infty-R_\infty=I_\infty存在。

I=ϵ>0I_\infty=\epsilon >0 ,则对充分大的 ttdRdt=αI(t)αϵ\frac{\mathrm{d}R}{\mathrm{d}t}=\alpha I(t)\geq \alpha \epsilon,所以 R(t)αϵtR(t)\geq \alpha \epsilon tlimtR(t)=\lim\limits_{t\to\infty}R(t)=\infty,矛盾。

所以 I=0I_\infty=0,即 I(t)I(t) 会衰减到0。

但是,I(t)I(t) 会衰减到0,不代表一定是好事,可能是因为所有人都痊愈了,也可能是因为所有人都寄了。

估计 σ\sigma

Alt text

由该图可知,SS_\infty 即为 S0+I0S(t)+1σlnS(t)S0=0S_0+I_0-S(t)+\frac{1}{\sigma}\ln\frac{S(t)}{S_0}=0 的根

我们可以用 σlnS0lnSS0S\sigma \approx \frac{\ln S_0 - \ln S_\infty}{S_0-S_\infty} 来估计 σ\sigma

I(t)I(t) 的增减性

{dSdt=βSIdIdt=β(Sσ)IdRdt=αI\begin{cases} \frac{\mathrm{d}S}{\mathrm{d}t}=-\beta SI\\ \frac{\mathrm{d}I}{\mathrm{d}t}=\beta (S-\sigma )I\\ \frac{\mathrm{d}R}{\mathrm{d}t}=\alpha I \end{cases}

S0>1σS_0 > \frac{1}{\sigma}

S01σS_0 \leq \frac{1}{\sigma}I(t)I(t) 单调递减至0,传染病不会爆发。

基本再生数

将上述增减性的分析应用过来,记 R0=S0σ\mathcal{R}_0=S_0\sigma,则前文分析情况就对应 R0>1\mathcal{R}_0>1R01\mathcal{R}_0\leq 1

R0=S0σ=S0βα=1αβNS0N\mathcal{R}_0=S_0\sigma=S_0\frac{\beta}{\alpha}=\frac{1}{\alpha}\cdot \beta N \cdot \frac{S_0}{N}

所以这个式子表示每个感染者在感染期内感染的易感者平均数。

我们称 R0\mathcal{R}_0基本再生数

SIS模型

假设疾病传播期内所考察地区总人数保持不变,没有新增人口和因疾病以外的原因造成的死亡。

我们将人群分为两类:

假设单位时间内每人与 βN\beta N 个人接触,并使其中的易感者受到感染。单位时间内 γI(t)\gamma I(t) 个感染者被治愈,重新成为易感者。

其中,β\betaγ\gamma 为常数,S(0)=S0S(0)=S_0I(0)=I0I(0)=I_0S0+I0=NS_0+I_0=N

我们给出微分方程组

{dSdt=βSI+γIdIdt=βSIγI\begin{cases} \frac{\mathrm{d}S}{\mathrm{d}t}=-\beta SI+\gamma I\\ \frac{\mathrm{d}I}{\mathrm{d}t}=\beta SI-\gamma I \end{cases}

所以

dIdt=β(NI)IγI=(βNγβI)I=(βNγ)I(1ββNγI)\frac{\mathrm{d}I}{\mathrm{d}t}=\beta (N-I)I-\gamma I=(\beta N-\gamma-\beta I)I=(\beta N-\gamma)I(1-\frac{\beta}{\beta N-\gamma}I)

感觉是不是和 Logistic 模型很像?

"Logistic 模型"

dxdt=rx(1xK)\frac{\mathrm{d}x}{\mathrm{d}t}=rx\left(1-\frac{x}{K}\right)

R0=βγN\mathcal{R}_0=\frac{\beta}{\gamma}N,即当 R0>1\mathcal{R}_0>1 时,I(t)I(t) 单调递增趋向于 NγβN-\frac{\gamma}{\beta},当 R0<1\mathcal{R}_0<1 时,I(t)I(t) 单调递减趋向于 00

平衡点

自治系统有两个可能平衡点 P1=(N,0)P_1=(N,0)P2=(γβ,Nγβ)P_2=(\frac{\gamma}{\beta},N-\frac{\gamma}{\beta})

防控传染病对策

"为什么是 NαβN-\frac{\alpha}{\beta}"

因为 dIdt=(βSα)I\frac{\mathrm{d}I}{\mathrm{d}t}=(\beta S-\alpha) I,所以我们让未被感染的人群 S<αβS<\frac{\alpha}{\beta},这样就可以让 dIdt<0\frac{\mathrm{d}I}{\mathrm{d}t}<0,即 II 单调递减,疾病不会爆发。

Ross疟疾传播模型

其实还是 SIS 模型。

疟疾只会在人类和蚊子,或者蚊子和蚊子之间传播,我们做出如下假设:

通过分析,我们可以得到下图:

Alt text

可以得到微分方程组

{dShdt=abhShIvH+γhIhdIhdt=abhShIvHγhIhdSvdt=abvSvIhH+γvIvdIvdt=abvSvIhHγvIv\begin{cases}\frac{dS_h}{dt}=-ab_h\frac{S_hI_v}H+\gamma_hI_h\\\frac{dI_h}{dt}=ab_h\frac{S_hI_v}H-\gamma_hI_h\\\frac{dS_v}{dt}=-ab_v\frac{S_v I_h}H+\gamma_v I_v\\\frac{dI_v}{dt}=ab_v\frac{S_v I_h}H-\gamma_v I_v&\end{cases}

x(t)=Ih(t)H=1Sh(t)Hy(t)=Iv(t)V=1Sv(t)Vm=VH\begin{aligned}x(t)&=\frac{I_h(t)}H=1-\frac{S_h(t)}H\\y(t)&=\frac{I_v(t)}V=1-\frac{S_v(t)}V\\m&=\frac{V}{H}\end{aligned}

则有

{dxdt=abh(1x)myγhxdydt=abvx(1y)γvy\begin{cases}\dfrac{dx}{dt}=ab_h(1-x)my-\gamma_hx\\\dfrac{dy}{dt}=ab_v x(1-y)-\gamma_v y\end{cases}

平衡点

dxdt=dydt=0\frac{dx}{dt}=\frac{dy}{dt}=0,则可以解得平衡点

(0,0),(a2mbhbvγhγvabv(ambh+γh),a2mbhbvγhγvambh(abv+γv))(0,0),\left(\frac{a^2mb_hb_v-\gamma_h\gamma_v}{ab_v(amb_h+\gamma_h)},\frac{a^2mb_hb_v-\gamma_h\gamma_v}{amb_h(ab_v+\gamma_v)}\right)

因为分子决定了平衡点的存在性,我们定义

R0=a2mbhbvγhγv=abvγhambhγh\mathcal{R}_0=\frac{a^2mb_hb_v}{\gamma_h\gamma_v}=\frac{ab_v}{\gamma_h}\cdot \frac{amb_h}{\gamma_h}

17 种间关系

"问题背景"

我们知道,生物种群之间存在着相互作用关系,比如食饵与捕食者之间的关系,竞争关系等等。那么,两个种群之间的相互作用关系该如何描述?

Lotka-Volterra 模型

x(t),y(t)x(t),y(t) 分别为 tt 时刻食用鱼 (食饵) 和鲨鱼(捕食者)的种群数量。

假设海洋资源丰富,且:

我们可以列出如下的微分方程:

{dxdt=(ray)xdydt=(d+bx)y\begin{cases} \frac{\mathrm{d}x}{\mathrm{d}t} = (r - ay) x \\ \frac{\mathrm{d}y}{\mathrm{d}t} = (- d +bx)y \end{cases}

其中,r,a,d,br,a,d,b 为正常数,分别表示食用鱼的原生增长率、鲨鱼捕食食用鱼的能力、鲨鱼死亡率、食用鱼对鲨鱼死亡的抑制能力。

所以,我们可以得到:

dydx=(d+bx)y(ray)x\frac{\mathrm{d}y}{\mathrm{d}x} = \frac{(- d +bx)y}{(r - ay) x}

这是一个分式微分方程,我们可以通过分离变量的方法求解:

dydx=(d+bx)y(ray)xrayydy=d+bxxdx(rya)dy=(dx+b)dxrlnyay=dlnx+bx+c(xdebx)(yreay)=C\begin{aligned} \frac{\mathrm{d}y}{\mathrm{d}x} &= \frac{(- d +bx)y}{(r - ay) x} \\ \frac{r - ay}{y} \mathrm{d}y &= \frac{- d +bx}{x} \mathrm{d}x \\ \int (\frac{r}{y} - a) \mathrm{d}y &= \int (\frac{- d}{x} + b) \mathrm{d}x \\ r \ln y - ay &= - d \ln x + bx + c \\ (x^d e^{-bx}) (y^r e^{-ay}) &= C \end{aligned}

给定一些参数,我们可以画出相轨线:

Alt text

这是 C<fmaxgmaxC<f_{\max}g_{\max} 的情况。

"为什么相轨线是一个圈?"

Alt text

我们可以通过分析相轨线来分析种群的数量变化:

Alt text

Alt text

这里的害虫相当于食用鱼,而害虫的天敌相当于鲨鱼。

一般双种群模型

一般双种群模型的微分方程为:

{dxdt=x(a10+a11x+a12y)dydt=y(a20+a21x+a22y)\begin{cases}\frac{dx}{dt}=x(a_{10}+a_{11}x+a_{12}y)\\\frac{dy}{dt}=y(a_{20}+a_{21}x+a_{22}y)&\end{cases}

18 数学规划

运筹学

运筹学的主要分支:

数学规划

Alt text

"数学规划分类"

"按函数性质"

  • 线性规划(linear programming)
    • 目标函数为线性函数,约束条件为线性等式或不等式
  • 非线性规划(nonlinear programming)
    • 目标函数为非线性函数,或至少有一个约束条件为非线性等式或不等式
      • 二次规划(Quadratic Programming, QP):目标函数为二次函数,约束条件为线性等式或不等式
      • 带二次约束的二次规划(Quadratically Constrained Quadratic Program, QCQP):目标函数为二次函数,约束条件为线性或二次等式或不等式
      • 线性分式规划(linear fractional programming):目标函数为两个线性函数的商,约束条件为线性等式或不等式

"按变量性质"

整数规划(integer programming):至少有一个决策变量限定取整数值

  • 整数决策变量意义
    • 用于表示只能取离散值的对象的数量
    • 用于表示约束条件之间的逻辑关系或复杂的函数形式
    • 用于表示非数值的优化或可行性问题
  • 特殊整数规划
    • 部分决策变量取整数值的数学规划特称为混合整数规划(Mixed Integer Programming, MIP)
    • 0-1规划:决策变量仅取值0或1的数学规划

"按约束条件"

  • 无约束优化
  • 约束优化

数学规划建模的基本要求

数学规划建模的适用范围

食谱问题

Alt text

也就是说,我们要找到在约束条件下的 x\vec{x},使得到 mini=1ncixi\min\sum\limits_{i=1}^n c_{i}x_{i}。(大概是多元线性规划?)

例如:

min60x1+30x2+20x3s.t.120x1+180x2+160x350300x1+90x2+30x390x1,x2,x30\begin{array}{rl}\min&60x_1+30x_2+20x_3\\s.t.&120x_1+180x_2+160x_3\geq50\\&300x_1+90x_2+30x_3\geq90\\&x_1,x_2,x_3\geq0\end{array}

运输问题

Alt text

数独

Alt text

k=19kxijk\sum\limits_{k=1}^9kx_{ijk} 的值为在这个格子里填的数字。

Alt text

下料问题

"问题背景"

现有 WW 米长的钢管若干。生产某产品需长为 wiw_i 米的短管 bib_i 根,i=1,2,,ni=1,2,\cdots,n。如何截取能使材料最省?

我们构造数学规划模型:

决策变量:xjix_{ji} 表示第 jj 根钢管截取第 ii 种短管的数量,i=1,2,,ki=1,2,\cdots,kj=1,2,,nj=1,2,\cdots,n。(n=i=1kbin=\sum\limits_{i=1}^k b_{i}

约束条件:

  1. 每根钢管截取的短管总长度不超过钢管长度 WW,即 i=1nwixjiW\sum\limits_{i=1}^n w_ix_{ji}\leq Wj=1,2,,nj=1,2,\cdots,n
  2. 每种短管截取的数量不低于需求量,即 j=1nxjibi\sum\limits_{j=1}^n x_{ji}\geq b_ii=1,2,,ki=1,2,\cdots,k

我们的目标是使得截取的钢管最少,即 minn\min n。但这个 nn 是出现在求和号上的,在线代的数学规划中我们往往不会直接去求解这个 nn,而是将其转化。

我们构造一个 0-1变量 yjy_j,表示第 jj 根钢管是否被截取,即 yj=1y_j=1 表示第 jj 根钢管被截取,yj=0y_j=0 表示第 jj 根钢管未被截取,j=1,2,,nj=1,2,\cdots,n

所以我们的目标函数可以写成 minj=1nyj\min\sum\limits_{j=1}^n y_j

但现在有一个问题:yjy_jxjix_{ji} 之间的关系是什么呢?

i,xji>0yj=1i=1kxji>0yj=1\exists i,x_{ji}>0\rightarrow y_j=1 \Rightarrow \sum\limits_{i=1}^k x_{ji}> 0 \rightarrow y_j=1

约束条件1可以写成 i=1kwixjiWyj\sum\limits_{i=1}^k w_ix_{ji}\leq Wy_jj=1,2,,nj=1,2,\cdots,n

所以我们有:

minj=1nyjs.t.i=1kwixjiWyjj=1nxjibixji0,yj{0,1}\begin{array}{rl}\min&\sum\limits_{j=1}^n y_j\\s.t.&\sum\limits_{i=1}^k w_ix_{ji}\leq Wy_j\\&\sum\limits_{j=1}^n x_{ji}\geq b_i\\&x_{ji}\geq0,y_j\in\{0,1\}\end{array}

yj=1i,xji>0y_j=1\rightarrow \exists i,x_{ji}> 0。给定目标下,最优解自动满足。

另一种决策变量

Alt text

同样,这个解法可以用于解决装箱问题。

装箱问题

两个问题实际上是同一个问题,只是描述的方式不同。

装箱问题指的是给定一系列大小已知的物品和若干个容量相同的箱子,如何将物品放入箱子中,使所用箱子数尽可能少。

三维的情况往往不使用数学规划,而是使用启发式算法。

选址问题

"问题背景"

平面上有 nn 个点,求一个面积最小的圆,使得这 nn 个点都在圆内。

记第 jj 个点的坐标为 (xj,yj)(x_j,y_j)j=1,2,,nj=1,2,\cdots,n。我们给出一个带二次约束的二次规划模型:

决策变量:圆心坐标 (x0,y0)(x_0,y_0),圆半径 rr

目标函数minr2\min r^2

约束条件(xjx0)2+(yjy0)2r2(x_j-x_0)^2+(y_j-y_0)^2\leq r^2j=1,2,,nj=1,2,\cdots,n

约束为二次时,比较难写,我们可以将其转化成更简单的形式:

决策变量改为 λ=r2(x02+y02)\lambda=r^2-(x_0^2+y_0^2)

目标函数改为 minλ+(x02+y02)\min\lambda+(x_0^2+y_0^2)

约束条件改为 λ+2x0xj+2y0yjxj2+yj2\lambda+2x_0x_j+2y_0y_j\geq x_j^2+y_j^2j=1,2,,nj=1,2,\cdots,n

时间分配问题

"问题背景"

TT 天时间可用于安排复习 nn 门课程,每天只能复习一门课程,每门课程至少复习一天。用 tt 天时间复习第 jj 门课程可使该门课程提高 pjtp_{jt} 分。如何制定复习计划可使所有课程提高的总分尽可能大?

决策变量xjtx_{jt} 表示第 jj 门课程是否复习 tt 天,j=1,2,,nj=1,2,\cdots,nt=1,2,,Tt=1,2,\cdots,T

xjt={1,第 j 门课程复习 t 天0,其他x_{jt}=\left\{\begin{array}{ll}1,&\text{第 $j$ 门课程复习 $t$ 天}\\0,&\text{其他}\end{array}\right.

目标函数maxj=1nt=1Tpjtxjt\max\sum\limits_{j=1}^n\sum\limits_{t=1}^Tp_{jt}x_{jt}

约束条件t=1Txjt=1\sum\limits_{t=1}^Tx_{jt}=1j=1nt=1TtxjtT\sum\limits_{j=1}^n\sum\limits_{t=1}^Ttx_{jt}\leq T

19 赛程编制

图的因子分解

GG 的因子分解,指将 GG 分解为若干边不重的因子之并——因子指至少包含G的一条边的生成子图。

一个图G的 nn 因子,是指图G的 nn 度正则因子——正则因子指所有顶点的度数都是 nn 的因子。

一个 K8K-8 完全图的 1 - 因子分解如下(不同颜色的边表示不同的因子):

Alt text

根据因子分解,我们可以给出赛程编制的一种方法:

Alt text

同时,我们也可以根据因子分解,给出主客场的安排(尽量不安排连续的客场或主场比赛),例如第一轮和第二轮中:

Alt text

根据这条路的开头和结尾,我们给出了主客场的安排。

Alt text

但我们的第八支队伍还没有安排,但无论怎么安排,都会出现breaks:

Alt text

这时排出来 6 种break,而这已经是最少的break了,接下来我们给出一般情况下至少有的break数。

breaks数

nn(偶数)支队伍的赛程,用形如 HAH…HA,长度为 n1n-1(奇数)的字符串表示每支队伍的主客场安排,称为模式(pattern)

"单循环赛程"

nn 支队伍的单循环赛程,全程所有队伍总break数至少为 n2n-2

因为任意两支队伍的模式是互不相同,而只有HAHA…HAH 和 AHAH…AHA 两种模式没有break,其它模式的break数至少为 11,所以总break数至少为 n2n-2

"镜像双循环赛程"

nn 支队伍的镜像双循环赛程,全程所有队伍总break数至少为 3n63n-6

  1. 若半程没有break,则全程也没有break,这样的队伍至多有两支(HAHAH-AHAHA,AHAHA-HAHAH)
  2. 若半程有且仅有一个break,由于模式字符串长度为奇数,在前后半程之间有一个break(H A A H A - A H H A H),break数为 33
  3. 若半程有至少两个break,全程break数至少为 44

所以总break数至少为 3(n2)3(n-2)

"nn(偶数)支队的镜像赛程中的double-round break"

此时赛程分成多个阶段,我们只考虑每个阶段中的 double-round break。

因为队伍为偶数支,所以每支队伍的模式字符串长度为奇数。

所以总double-round break数至少为 2(n2)2(n-2)

"其他方案"

Alt text

法制的 break 数可以到 0 ,最终我们采用法制。

数学规划

我们来到实际问题:有 1010 支队伍,每阶段两场比赛

决策变量xijk={1,k轮第i支队伍在主场对阵第j支队伍0,其他x_{ijk}=\begin{cases}1,&\text{第}k\text{轮第}i\text{支队伍在主场对阵第}j\text{支队伍}\\0,&\text{其他}\end{cases}

"例子"

Alt text

约束条件(部分)

均衡各阶段主场次数

每支队伍各阶段先主后客(先客后主)的次数尽可能均衡:

定义辅助变量 yil={1,l阶段第i支队伍先主后客0,l阶段第i支队伍先客后主y_{il}=\begin{cases}1,&\text{第}l\text{阶段第}i\text{支队伍先主后客}\\0,&\text{第}l\text{阶段第}i\text{支队伍先客后主}\end{cases}

xijkx_{ijk}yily_{il} 之间的关系:

yil=1j=110xi,j,2l1=1j=110xj,i,2l=1y_{il}=1\Leftrightarrow\sum\limits_{j=1}^{10}x_{i,j,2l-1}=1\text{且}\sum\limits_{j=1}^{10}x_{j,i,2l}=1

改写一下就是:

{j=110(xi,j,2l1+xj,i,2l)1+yilyilj=110xi,j,2l1yilj=110xj,i,2l\begin{cases}\sum\limits_{j=1}^{10}\left(x_{i,j,2l-1}+x_{j,i,2l}\right)\leq1+y_{il}\\y_{il}\leq\sum\limits_{j=1}^{10}x_{i,j,2l-1}\\y_{il}\leq\sum\limits_{j=1}^{10}x_{j,i,2l}\end{cases}

每支队伍先主后客的总次数尽可能均衡时,4l=19yil54\leq\sum\limits_{l=1}^{9}y_{il}\leq5i=1,2,,10i=1,2,\cdots,10

各阶段连续客场的次数尽可能少

在法制双循环赛制中 xi,j,1=xj,i,18x_{i,j,1}=x_{j,i,18}, xi,j,k=xj,i,k+8x_{i,j,k}=x_{j,i,k+8}, k=2,3,,9k=2,3,\cdots,9i,j=1,2,,10i,j=1,2,\cdots,10iji\neq j

定义辅助变量 wil={1,l阶段第i支队伍两场比赛均为客场0,其他w_{il}=\begin{cases}1,&\text{第}l\text{阶段第}i\text{支队伍两场比赛均为客场}\\0,&\text{其他}\end{cases}i=1,2,,10i=1,2,\cdots,10l=1,2,,9l=1,2,\cdots,9

xi,j,kx_{i,j,k}wilw_{il} 之间的关系:

wil=1j=110xj,i,2l1=1j=110xj,i,2l=1w_{il}=1\Leftrightarrow\sum\limits_{j=1}^{10}x_{j,i,2l-1}=1 \text{且} \sum\limits_{j=1}^{10}x_{j,i,2l}=1

改写一下就是:

{j=110(xj,i,2l1+xj,i,2l)1+wilwilj=110xj,i,2l1wilj=110xj,i,2l\begin{cases}\sum\limits_{j=1}^{10}\left(x_{j,i,2l-1}+x_{j,i,2l}\right)\leq1+w_{il}\\w_{il}\leq\sum\limits_{j=1}^{10}x_{j,i,2l-1}\\w_{il}\leq\sum\limits_{j=1}^{10}x_{j,i,2l}\end{cases}

目标函数 为:mini=110l=19wil\min \sum\limits_{i=1}^{10}\sum\limits_{l=1}^{9}w_{il}

最后的结果为:

Alt text

20 支持向量机

"问题背景"

将一数据集 SS 分为 C1,C2C_1,C_2 两类,每个数据有 nn 个特征。我们应该如何通过训练集来找出一个超平面,使得它判别效果最好?

问题描述

我们拟将一数据集 SS 分为 C1,C2C_1,C_2 两类。每个数据有 nn 个特征,用 nn 维实向量表示,我们有训练集 S={x1,,xm}S'=\{\mathbf{x}_1,\cdots,\mathbf{x}_m\},其中 xiRn\mathbf{x}_i\in \mathbb{R}^n,记 yi={1,xiC11,xiC2y_i=\begin{cases}1, \mathbf{x}_i\in C_1\\-1, \mathbf{x}_i\in C_2\end{cases}

假设训练集可线性分离,即存在超平面 wx+b=0\mathbf{w}\cdot\mathbf{x}+b=0,使得对于所有 ii,有 yi(wxi+b)>0y_i(\mathbf{w}\cdot\mathbf{x}_i+b)>0

"超平面"

w\mathbf{w}nn 维实向量,bb 为实数,wx+b=0\mathbf{w}\cdot\mathbf{x}+b=0 称为 Rn\mathbb{R}^n 中的超平面。

我们现在要做的是找到一个超平面,使得它到两类数据的距离最大(判别效果最好)。

Alt text

数学规划

根据上面的描述,我们可以得到如下的数学规划问题:

maxmini=1,,mwxi+bs.t.yi(wxi+b)0,i=1,,mw=1\begin{aligned} &\max \min\limits_{i=1,\cdots,m} |\mathbf{w}\cdot\mathbf{x}_i+b|\\s.t.\quad&y_i(\mathbf{w}\cdot\mathbf{x}_i+b)\geq 0,i=1,\cdots,m\\&\|\mathbf{w}\|=1 \end{aligned}

本目标含绝对值与极小值,约束含二次函数,极难计算。我们将绝对值去掉,得到如下的数学规划问题:

maxmini=1,,myi(wxi+b)s.t.w=1\begin{aligned} &\max \min\limits_{i=1,\cdots,m} y_i(\mathbf{w}\cdot\mathbf{x}_i+b)\\s.t.\quad &\|\mathbf{w}\|=1 \end{aligned}

"证明可以转换"

Alt text

但此时目标含极小值,约束含二次函数,依旧难以计算。我们将极小值去掉,得到如下的数学规划问题:

minws.t.yi(wxi+b)1\begin{aligned} &\min \|\mathbf{w}\| \\s.t.\quad &y_i(\mathbf{w}\cdot\mathbf{x}_i+b)\geq1 \end{aligned}

"证明可以转换"

Alt text

21 数学规划求解

线性规划

矩阵形式

mincxs.t.Ax=bx0\begin{aligned} &\min \mathbf{c}\mathbf{x}\\ s.t.\qquad&\mathbf{A}\mathbf{x}=\mathbf{b}\\&\mathbf{x}\geq\mathbf{0}\end{aligned}

不妨设系数矩阵 A=(aij)m×n\mathbf{A}=(a_{ij})_{m\times n} 为行满秩矩阵,即 rank(A)=m\text{rank}(\mathbf{A})=m

不妨设 A\mathbf{A} 的前 mm 列线性无关

标准型

最优解的类型

线性规划有四种最优解的类型:唯一最优解、无穷多最优解、无可行解、无界解(有可行解,但最优值无下界)。

基与基可行解

Alt text

线性规划基本定理

Alt text

求解算法

单纯形法

从一个基本可行解转到另一个基本可行解,并使目标值下降。迭代有限次,找到最优解或判断最优值无界

单纯形法是指数时间算法。存在含 mm 个变量 mm 个约束的线性规划,单纯形法需要进行 2m12^m-1 次迭代

实践表明,对多数线性规划问题,单纯形法迭代次数为变量和约束数的多项式函数

多项式时间算法

1979年,Khachiyan给出了求解线性规划的第一个多项式时间算法 —— 椭球算法

1984年,Karmarkar给出了实际效果更好的多项式时间算法——内点法,产生了深远的影响

整数线性规划

Alt text

分枝定界法

分枝定界法 是求解整数规划最常用的算法,算法思想可用于其它离散优化问题的求解。它是一种指数时间算法。

分枝定界法的基本思想

"例子"

IP: min30x136x2,s.t.{x1+x265x1+9x245x1,x20,x1,x2Z\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1,x_2\geq 0,x_1,x_2\in\mathbb{Z}\end{cases}

我们先求解松弛问题:

LP: min30x136x2,s.t.{x1+x265x1+9x245x1,x20\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1,x_2\geq 0\end{cases}

画图易得,松弛问题的最优解为 (x1,x2)=(94,154)(x_1,x_2)=(\frac{9}{4},\frac{15}{4}),目标函数值为 202.5-202.5

由于最优解不是整数解,我们将松弛问题的可行域分为两个子可行域:

x13,x12x_1\geq 3,x_1\leq 2

对于第一个子可行域,我们有:

IP: min30x136x2,s.t.{x1+x265x1+9x245x13x1,x20,x1,x2Z\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\geq 3\\x_1,x_2\geq 0,x_1,x_2\in\mathbb{Z}\end{cases}

LP: min30x136x2,s.t.{x1+x265x1+9x245x13x1,x20\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\geq 3\\x_1,x_2\geq 0\end{cases}

画图易得,松弛问题的最优解为 (x1,x2)=(3,3)(x_1,x_2)=(3,3),目标函数值为 198-198。此时为整数解,停止迭代。

对于第二个子可行域,我们有:

IP: min30x136x2,s.t.{x1+x265x1+9x245x12x1,x20,x1,x2Z\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_1,x_2\geq 0,x_1,x_2\in\mathbb{Z}\end{cases}

LP: min30x136x2,s.t.{x1+x265x1+9x245x12x1,x20\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_1,x_2\geq 0\end{cases}

画图易得,松弛问题的最优解为 (x1,x2)=(2,359)(x_1,x_2)=(2,\frac{35}{9}),目标函数值为 200-200,此时 x2x_2 不是整数,我们将松弛问题的可行域分为两个子可行域:

x24,x23x_2\geq 4,x_2\leq 3

对于第一个子可行域,我们有:

IP: min30x136x2,s.t.{x1+x265x1+9x245x12x24x1,x20,x1,x2Z\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_2\geq 4\\x_1,x_2\geq 0,x_1,x_2\in\mathbb{Z}\end{cases}

LP: min30x136x2,s.t.{x1+x265x1+9x245x12x24x1,x20\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_2\geq 4\\x_1,x_2\geq 0\end{cases}

画图易得,松弛问题的最优解为 (x1,x2)=(59,4)(x_1,x_2)=(\frac{5}{9},4),目标函数值为 198-198。此时不为整数解,但是继续做下去,函数值只会更大,所以停止迭代。

对于第二个子可行域,我们有:

IP: min30x136x2,s.t.{x1+x265x1+9x245x12x23x1,x20,x1,x2Z\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_2\leq 3\\x_1,x_2\geq 0,x_1,x_2\in\mathbb{Z}\end{cases}

LP: min30x136x2,s.t.{x1+x265x1+9x245x12x23x1,x20\min -30x_1-36x_2, s.t.\begin{cases}x_1+x_2\leq 6\\5x_1+9x_2\leq 45\\x_1\leq 2\\x_2\leq 3\\x_1,x_2\geq 0\end{cases}

画图易得,松弛问题的最优解为 (x1,x2)=(2,3)(x_1,x_2)=(2,3),目标函数值为 168-168。此时为整数解,停止迭代。

所以,整数规划的最优解为 (x1,x2)=(3,3)(x_1,x_2)=(3,3),目标函数值为 198-198

22 多目标规划

多目标规划的概念

多目标规划研究变量在满足给定约束条件下,多个可数值化的目标函数同时极小化的问题:

minf(x)=(f1(x)f2(x)fm(x)),s.t.xS,S={x{gi(x)0,i=1,2,,shj(x)=0,j=1,2,,t}\min f(x)=\begin{pmatrix}f_1(x)\\f_2(x)\\\vdots\\f_m(x)\end{pmatrix},s.t.\mathbf{x}\in S,\quad S = \{\mathbf{x}|\begin{cases}g_i(\mathbf{x})\leq 0,i=1,2,\cdots,s\\h_j(\mathbf{x})=0,j=1,2,\cdots,t\end{cases}\}

多目标规划解的类型

绝对最优解 SaS_a:在所有可行解中,同时使所有目标函数取得最小值的解

Pareto最优解(有效解/非劣解)SpS_p

弱Pareto最优解 SwpS_{wp}

解的关系

"SaS_aSwpS_{wp} 之间的关系"

SaS_aSwpS_{wp} 之间的关系(横坐标为 xx,纵坐标红线为 f1f_1,蓝线为 f2f_2):

Alt text

我们通常将其画为(纵坐标为 f1f_1,横坐标为 f2f_2):

Alt text

其中,左下角的交点为 SaS_a ,绿线为 SwpS_{wp}

"SwpS_{wp}SpS_p 之间的关系"

SwpS_{wp}SpS_p 之间的关系(横坐标为 xx,纵坐标红线为 f1f_1,蓝线为 f2f_2):

Alt text

我们通常将其画为(纵坐标为 f1f_1,横坐标为 f2f_2):

Alt text

其中,红线为 SpS_{p} ,绿线为 SwpS_{wp}

可以证明 SaSwpSpSS_a\subseteq S_{wp}\subseteq S_p\subseteq S

"证明"

Sa=SwpS_a=S_{wp} ,则称 SaS_aPareto最优解,此时 Sa=Swp=SpS_a=S_{wp}=S_p

多目标规划的求解

线性加权和法

Alt text

主要目标法

Alt text

理想点法

对任意kk,取fk0minzSfk(x)f_k^0\leq\min_{z\in S}f_k(\mathbf{x})λΛ={λλ0,k1pλk=1}\lambda \in\Lambda=\{\lambda\mid \lambda \geq{0},\sum\limits_{k-1}^p \lambda _ k =1\},求解单目标规划 (Pi(α))minxS(k=1pλk(fk(x)fk0)α)1α\quad\left(P_{i}(\alpha)\right)\min\limits_{\mathbf{x}\in S}\left(\sum\limits_{k=1}^{p}\lambda_{k}\left(f_{k}(\mathbf{x})-f_{k}^{0}\right)^{\alpha}\right)^{\frac1\alpha}

在实际情况下,我们可以将 λ\lambda 取为 11α\alpha 取为 22

分层排序法

Alt text

例子:投资组合

Alt text

采用主要目标法

Alt text

Alt text

"简略版"

Alt text

23 组合优化

组合优化的基本概念

组合优化是应用于离散对象的,从有限多个可行解中找出使某个目标函数达到最优的解的优化问题

组合优化与连续优化

"连续优化"

Alt text

连续优化是应用于连续对象的,从无限多个可行解中找出使某个目标函数达到最优的解的优化问题

相对决策变量为连续变量的连续优化(Continuous Optimization)问题,组合优化问题的最优解缺少好的性质,求解缺少好的工具

组合优化例子

背包问题

连续背包问题

现有 nn 件物品,物品 jj 的价值为pjp_j,大小为 wjw_j。 物品质地均匀,可任意切割

Alt text

离散背包问题

现有 nn 件物品,物品 jj 的价值为pjp_j,大小为 wjw_j。 物品不可切割

旅行商问题 - TSP

旅行售货商问题(TravelingSalesman Problem, TSP)

可行解(环游)

车辆路径问题 - VRP

Alt text

指派问题

Alt text

排序问题

Alt text

算法与计算复杂性

P  v.s.  NPP\;v.s.\;NP 问题

PPNPNP 问题的通俗解释:

确定性算法是一种特殊的非确定性算法,故 PNPP\subseteq NP

所谓 P  v.s.  NPP\;v.s.\;NP 问题是指 P=NPP=NP 还是 PNPP\subset NP

NPNP - 完全性理论

NPNP – 完全NPNP – 难 的通俗解释:

NPhardNP – hard 可以是 NPNP 问题,也可以不是 NPNP 问题

Alt text

PNPP\neq NP 假设下,多数组合优化问题分属 PP 问题 和 NPhardNP – hard 问题

NP-完全问题举例

线性规划和素性检验问题都是 PP 问题

SAT 问题

SAT 问题(Satisfiability Problem)

Alt text

图同构问题(目前还没完全证明)

Alt text

组合优化的求解

组合优化问题通常不能通过穷举所有可能的解加以比较来求解,因为可行解的数目可能是一很大的数,以致于当前或相当长的一段时间内人力或计算机不能承受

Alt text

贪心算法

贪心算法:在每一次决策时,选择当前可行且最有利的决策

场馆安排问题

贪心算法:按结束时间从小到大的顺序排列最优

Alt text

排序悖论

Alt text

右边第二个是所有加工时间-1,第三个是增加一条线。可见,后面两个竟然不如前面的好,这就是贪婪思想的局限性

实际上,这个问题是 NPNP - 难问题,没有多项式时间算法

动态规划

动态规划是求解多阶段决策优化问题的一种数学方法和算法思想

背包问题的动态规划算法

Alt text

Alt text

麦子收集

nnmm 列的棋盘,在棋盘的部分格子中各放有一颗麦子

Alt text

我们给出动态规划解法:

Alt text

启发式算法

启发式算法(heuristic)是基于某种直观想法、合理假定,或者借助物理、化学、生命科学中的一些原理而设计的算法,体现了在求解的最优性、精确性与求解资源之间的权衡。启发式算法的有效性一般需通过计算机模拟验证。

元启发式算法

元启发式算法是一种高层次的问题无关的算法框架,它提供了一组指导方针或策略来开发启发式优化算法

近似算法

算法的时间复杂性可通过分析确定(一般要求多项式时间),且算法给出的近似解与最优解目标值之间的差距可通过证明来严格估计

装箱问题

Alt text

24 图论模型

图的基本概念

是一个有序二元组 G=(V,E)G=(V,E),其中 VV顶点(vertex)集合,EE边(edge)的集合。EE 中每条边 eeVV 中两个顶点关联(incident)

:无向图 GG 中与顶点 vv 关联的边的数目称为 vv 的度,记为 d(v)d(v)(degG(v)deg_G(v))

简单图

两端点相同的边称为环(loop),两端点分别相同的多条边称为平行边(parallel edges)

既没有环,也没有平行边的图称为简单图(simple
graph)
。不是简单图的图称为多重图(multigraph)

完全图

任何两个不同顶点之间都有边相连的简单图称为完全图(complete graph)

简单图的顶点数与边数
二部图与连通

Alt text

子图

Alt text

顶点和边交替出现的序列 vi0ei1vi1ei2eikvikv_{i_0}e_{i_1}v_{i_1}e_{i_2}\cdots e_{i_k}v_{i_k},且序列中与每条边相邻的两个顶点为该边的两个端点,称为连接顶点 vi0v_{i_0}vikv_{i_k}途径(walk)

经过边互不相同的途径称为迹(trail)

经过顶点互不相同的途径称为路(path)

路的长度

Alt text

最小生成树

最小生成树(MST)是赋权图所有生成树中总权和最少的生成树

####### Kruskal 算法 {#kruskal-算法 }

Alt text

最短路

Alt text

最短连接

给定Euclidean平面上 nn 个点,如何用总长度最短的若干条线段将它们连接起来?

用最小生成树解决最短连接问题:构造 nn 个顶点的赋权完全图 KnK_n,边的权为它的两个端点的Euclidean距离。问题的解即为 KnK_n 的最小生成树

最小 Steiner 树

允许增加任意多个Steiner点的最短连接(就是说,可以在原有的点集中增加任意多个点,使得最后的连接线段总长度最短)

Alt text

####### Gilbert-Pollak猜想 {#gilbert-pollak猜想 }

最小Steiner树长度不小于最小生成树长度的 32\frac{\sqrt{3}}{2}

n=3,4,5,6n=3,4,5,6 时,猜想成立

Hamilton 圈 与 Hamilton 图

经过图的所有顶点恰好一次的圈称为 Hamilton圈(Hamiltion cycle)

存在Hamilton圈的图称为Hamilton图

Icosian game

一个正十二面体的二十个顶点各代表一个城市,是否有一条从某个城市出发,沿正十二面体的棱行走,经过每个城市恰好一次,最后回到出发城市的路线?

Alt text

骑士环游 | Knight’s tour

8×88\times8 国际象棋棋盘上,马能否按其走子规则,从一个格子出发,经过其它格子恰好一次,最后回到起点?

Alt text

推广为 m×nm\times n 棋盘上的骑士环游问题

Alt text

特殊顶点集

Alt text

皇后问题

Alt text

匹配(边集)

Alt text

Hall 定理 与 Frobenius 定理

Alt text

Alt text

例如:

Alt text

左图中,S=23=N(S)|S|=2 \leq 3=|N(S)|

右图中,S=21=N(S)|S|=2 \nleq 1=|N(S)|

因为二者 左右顶点数不同,所以不能完美匹配

Hall定理的等价定理

Alt text

图的问题

选址问题

"问题背景"

Alt text

无回环情况

"口诀"

道路无回环,

抓各端,

最小的进一站

"第一步"

Alt text

"第二步"

Alt text

"例子"

Alt text

有回环情况

"口诀"

道路有回环,每圈甩一段,

化为无回环,然后照样算。

甩法有不同,结果一一算,

算后再比较,最优可立断。

例如:

Alt text

将圈甩为:

Alt text

七桥问题

"问题背景"

在 Konigsberg 城,有七座桥梁建在 Pregel 河上,是否有一条从城中某处出发,经过每座桥梁恰好一次,最后回到出发点的路线?

Euler 图

经过图的所有边恰好一次的闭迹称为 Euler 回路(Eulerian circuit)。存在 Euler 回路的图为 Euler 图(Eulerian graph)

一连通图是 Euler 图的充要条件是图中没有奇度顶点。

以河流分割而成的城市区域为顶点,桥梁为边,边的端点为该桥梁连接的两片区域。七桥问题等价于在该图中寻找一条闭迹。

可以证明,七桥问题无解。

中国邮递员问题(Chinese postman problem | CPP)

"问题背景"

一个投递员每次上班,要走遍他负责送信的段,然后回到邮局。问应该怎样走才能使所走的路程最短?

着色

Alt text

Ramsey 数

Alt text

Alt text

(IMO 1964) 17 位科学家中每一位和其余 16 位通信,在他们的通信中所讨论的仅有三个问题,而任两位科学家通信时所讨论的是同一问题,证明至少有三位科学家通信时所讨论的是同一问题。

Alt text

推广 Ramsey 数到三维,在这题就是 R(3,3,3)=17R(3,3,3)=17

Alt text

网络流

Alt text

Alt text

算法与复杂性

Alt text

图的应用

搭档方法

Alt text

获胜队伍

一个 2n2n 个队伍的循环赛持续了 2n12n-1 天,每天每个队伍都和另一个队伍比赛,每场比赛都有一个队伍获胜,一个队伍失败。在整个比赛中,每个队伍都和其他队伍比赛了一次。我们能不能在每天都选择一个获胜的队伍,而且每个队伍只能被选择一次?

Alt text

黑白异位

Alt text

分水问题

现有A,B,C三个水瓶,其容积分别为12,8,5升。 A瓶装满水, B,C为空瓶。现欲利用B,C两瓶,将A瓶中的水均分,并使倾倒次数最少

Alt text

Alt text

好像是列出了所有的情况,然后找到最短的路径。从中间的 (12,0,0)(12,0,0) 到左边的 (6,6,0)(6,6,0)

代表问题

某校共有 mm 个专业,为调研 nn 门课程的教学情况,邀请部分同学参加座谈

可以用网络流解决

Alt text

电缆与管道问题

中心配电房位于某幢建筑内,一些主干用户位于其
他不同的建筑内。为避免相互干扰,中心配电房与
每个主干用户需有一条专门的电缆相连

对电缆来说是最短路问题,对管道来说是最小生成树问题

Alt text

未来网络 · 寻路

Alt text

25 博弈论

博弈论的基本概念

博弈论研究由一些带有相互竞争性质的主体所构成的体系的理论。它能以数字表示人的行为或为人的行为建立模式,研究对抗局势中最优的对抗策略和稳定局势,以及如何追求各方的最优策略和决定对策的结果,协助人们在一定规则范围内寻求最合理的行为方式

"博弈 vs 优化"

博弈是多主体,优化是单主体

博弈的要素

博弈论的假设

参与者是理性的,以最大化他的收益或最小化他的费用作为选择策略的准则

博弈的分类

合作博弈(cooperative game):局中人之间可以结成联盟,协调彼此的策略,并对获得的收益进行再分配

静态博弈(static game):所有参与者同时选择策略并行动,且只能行动一次,参与者选择策略时不知道其他参与者的选择。

完全信息(complete information):参与者掌握其他参与者的可选策略和收益等信息

完美信息(perfect information):在动态博弈中,参与者掌握其他参与者已选择的策略

简单例子

囚徒困境(Prisoner's Dilemma)

甲、乙两人共同犯罪,警方掌握了一部分犯罪事实,将他们带到警局分别讯问

乙认罪 乙不认罪
甲认罪 甲6个月,乙6个月 甲1个月,乙9个月
甲不认罪 甲9个月,乙1个月 甲2个月,乙2个月

Nash 均衡

Nash 均衡(Nash equilibrium)

纯策略与混合策略

纯策略(pure strategy):参与者每次行动都选择某个确定的策略

混合策略(mixed strategy):参与者可以以一定的概率分布选择若干个不同的策略

Nash 定理

若参与者有限,每位参与者的策略集均有限,收益函数均为实值函数,则博弈必存在混合策略意义下的 Nash 均衡

最优反应函数

Alt text

对其他参与者的任一策略组合,参与者的最优反应函数为可使其收益达到最大的策略集合,记为 Bi(ai)B_i(a_{-i}),即 Bi(ai)={aiui(ai,ai)ui(ai,ai),aiAi}B_i(a_{-i})=\{a_i^*|u_i(a_i^*,a_{-i})\geq u_i(a_i^*,a_{-i}), \forall a_i\in A_i\}

Alt text

Alt text

则充要条件可写为 aB(a)\mathbf{a}^*\in \mathscr{B}(\mathbf{a}^*)

如果只有一个的话,那就是 a=B(a)\mathbf{a}^* = \mathscr{B}(\mathbf{a}^*),我们可以由此想到不动点定理

不动点定理

Alt text

Nash 均衡的例子

Battle of Sexes

♂️:一起看球赛,收益为3;一起逛街,收益为1;各自行动,收益为0

♀️:一起看球赛,收益为1;一起逛街,收益为3;各自行动,收益为0

(♂️,♀️) ♂️ 看球赛 ♂️ 逛街
♀️ 看球赛 (3,1) (0,0)
♀️ 逛街 (0,0) (1,3)

可见,双方看球或双方逛街都是均衡状态

鸽鹰博弈(Hawk-Dove Game)
(A,B) B:鸽子 B:鹰
A:鸽子 (0,0) (-1,1)
A:鹰 (1,-1) (-5,-5)

可见,一方鹰,另一方鸽子是均衡状态

在这里,第一个分量列最大,第二个分量行最大。

石头剪刀布

Alt text

不存在 Nash 均衡

让座

Alt text

Braess 悖论

Alt text

Alt text

这体现出了 低效的均衡(inefficient of Equilibrium)

网络设计博弈

Alt text

从单个使用者的利益来看,使用者 ii 选择道路 sits_i-t 是唯一的一个 Nash 均衡,总费用为 i=1k1i=O(lnk)\sum\limits_{i=1}^k \frac1i=O(\ln k)

矩阵博弈

二人零和(zero-sum)有限博弈(完全信息静态博弈)

矩阵 A=(aij)m×n\mathbf{A}=(a_{ij})_{m\times n} 称为博弈的收益矩阵

极小极大原则

若甲选择策略 XiX_i,不论乙如何选择,其收益至少为 min1jnaij\min\limits_{1\leq j\leq n}a_{ij}

甲的最佳策略是 max1immin1jnaij\max\limits_{1\leq i\leq m}\min\limits_{1\leq j\leq n}a_{ij}(每行最小值的最大值)

乙的最佳策略是 min1jnmax1imaij\min\limits_{1\leq j\leq n}\max\limits_{1\leq i\leq m}a_{ij}(每列最大值的最小值)

可以证明 max1immin1jnaijmin1jnmax1imaij\max\limits_{1\leq i\leq m}\min\limits_{1\leq j\leq n}a_{ij}\leq\min\limits_{1\leq j\leq n}\max\limits_{1\leq i\leq m}a_{ij}

Alt text

如果 max1immin1jnaij=min1jnmax1imaij\max\limits_{1\leq i\leq m}\min\limits_{1\leq j\leq n}a_{ij}=\min\limits_{1\leq j\leq n}\max\limits_{1\leq i\leq m}a_{ij},其为鞍点(saddle point)

混合策略与期望收益

Alt text

von Neumann 极小极大定理

Alt text

数理经济学

Cournot 模型

Alt text

Alt text

Alt text

Stackelberg 模型

Alt text

Cournot vs Stackelberg

Alt text

Bertrand 模型

Bertrand 认为 Cournot 模型中的假设不合理,因为他认为价格是市场的决定因素,而不是产量

Alt text

Alt text

Alt text

Cournot vs Bertrand

Cournot 模型与Bertrand 模型

稳定婚姻问题

Alt text

Alt text

推广 - 稳定室友问题

关系变多了~

Alt text

合作博弈

讨价还价

两人协商分配一笔总额为1万元的资金,约定如果达成协议,双方可以按协议取走各自应得的部分;若未达成协议,则两人分文不得,资金收归他用。

Alt text

Alt text

Alt text

Alt text

"证明存在唯一性"

Alt text

"证明满足公理"

Alt text

"最优解的性质"

Alt text

Alt text

破产清偿

两人 - CG问题 | Contested Garment

两人财产争议(CG问题)

"推广"

Alt text

右侧引入容器,两个容器中水平面等高,细管内忽略不计。可以以此列出各个情况。

nn 人 - 破产清偿

Alt text

CG性质:将任意两位债权人所得的还款额之和按CG问题的解重新分配,每位债权人所得的还款额保持不变

CG问题的解:两组连通容器中水平面等高

"存在性唯一性证明"

"存在性"

  • nn 组连通容器中注水,所有容器的水平面等高,即得一组解
  • 任取两组容器,断开与其他各组容器的连接,将注入其中的水取出重注,注入每组容器中的水量不变

"唯一性"

  • 对任一满足CG性质的解,将各组容器断开,向每组容器中注入相应的水量
  • 为满足CG性质,任意两组容器的水平面等高,否则连通这两组容器重注后,容器中水量会有变化

Alt text

"情况枚举"

Alt text

Alt text