我们下面举例一个公交车站的例子。我们假设(0,T)要发n辆公交车,我们假设公交车发车的时间的确定的,但是不一定相同。乘客们按照泊松过程到达车站,我们假定公交车一出发,就能够把车站所有人都带走。我们要给出一个最优调度方案,让乘客总的等待时间的均值最小。我们假设等待过程中,乘客到来的强度是相同的。
Bus Stop [ 0 , T ] n buses T 1 , T 2 , . . . , T n ⇒ d e t e r m i n i s t i c Persons P o i s s o n λ min Total Waiting Time \text{Bus Stop} \\ [0,T] \quad n \text{ buses } \quad T_1,T_2,...,T_n \Rightarrow deterministic\\ \text{Persons} \quad Poisson \quad \lambda \\ \text{min Total Waiting Time} Bus Stop[0,T]n buses T1,T2,...,Tn⇒deterministicPersonsPoissonλmin Total Waiting Time
我们来对总的等待时间进行建模。因为每次来车的时候,就把所有人都带走了,所以,我们只需要考虑一次发车的时候的情况即可。
我们假设T时刻公交车发车,N(T)表示T时刻内到达乘客的数量,τk表示第k个乘客到达的时间,因此,乘客总的等待时间可以表示为
Z ( T ) = ∑ k = 1 N ( T ) ( T − τ k ) Z(T)=\sum_{k=1}^{N(T)}(T- \tau_k) Z(T)=k=1∑N(T)(T−τk)
这是个典型的过滤泊松过程。因为,依赖于事件发生的次数N(t)和事件发生的时刻τk
对比一下前面得到的过滤泊松的模样
Z ( t ) = ∑ k = 1 N ( t ) B ( t , S k ) Z(t)=\sum_{k=1}^{N(t)} B(t,S_k) Z(t)=k=1∑N(t)B(t,Sk)
计算过滤泊松均值是有公式的
E ( Z ( t ) ) = λ ∫ 0 t B ( t , τ ) d τ = λ ∫ 0 t ( t − τ ) d τ = λ t 2 2 E(Z(t)) = \lambda \int_{0}^t B(t,\tau) d\tau \\ = \lambda \int_{0}^t (t-\tau) d\tau \\ = \frac{\lambda t^2}{2} E(Z(t))=λ∫0tB(t,τ)dτ=λ∫0t(t−τ)dτ=2λt2
这里我们不用均值计算公式,采用直接计算的方法
E ( Z ( T ) ) = E ( ∑ k = 1 N ( T ) ( T − τ k ) ) E(Z(T)) = E(\sum_{k=1}^{N(T)}(T- \tau_k)) E(Z(T))=E(k=1∑N(T)(T−τk))
用条件均值的方法
E ( Z ( T ) ) = E N ( T ) ( E τ k ( ∑ k = 1 n ( T − τ k ) ∣ N ( T ) = n ) ) E(Z(T)) = E_{N(T)}(E_{\tau_k}(\sum_{k=1}^{n}(T- \tau_k)|N(T)=n)) E(Z(T))=EN(T)(Eτk(k=1∑n(T−τk)∣N(T)=n))
本来限制住事件发生的次数求事件发生时刻应该是个顺序统计量的问题,也就是需要知道k个事件发生时刻的联合分布,然后再求均值,但是由于这里是求和,求和的话,顺序统计量的和与本来的随机变量的和的分布是一样的。
Z 1 , . . . , Z n ↔ Z ( 1 ) , . . . , Z ( n ) ∑ i = 1 n Z i ∼ ∑ i = 1 n Z ( i ) Z_1,...,Z_n \leftrightarrow Z_{(1)},...,Z_{(n)} \\ \sum_{i=1}^n Z_i \sim \sum_{i=1}^n Z_{(i)} Z1,...,Zn↔Z(1),...,Z(n)i=1∑nZi∼i=1∑nZ(i)
因此
E ( ∑ i = 1 n Z i ) = E ( ∑ i = 1 n Z ( i ) ) E(\sum_{i=1}^n Z_i) = E(\sum_{i=1}^n Z_{(i)} ) E(i=1∑nZi)=E(i=1∑nZ(i))
因此,这些顺序统计量的联合分布,可以看做是n个独立同分布的均匀分布
我们可以回忆一下n个独立同分布的均匀分布的均值是多少
X ∼ U ( 0 , T ) Y ∼ U ( 0 , T ) f X ( x ) = 1 T f Y ( y ) = 1 T f X , Y ( x , y ) = 1 T 2 E ( X ) = ∫ 0 T x f X , Y ( x , y ) d x d y = T 2 2 E ( Y ) = ∫ 0 T y f X , Y ( x , y ) d x d y = T 2 2 E ( X ) + E ( Y ) = 2 ∗ T 2 2 ⇒ E ( X 1 + X 2 + . . . + X n ) = T 2 n X \sim U(0,T) \quad Y \sim U(0,T) \\ f_X(x) = \frac{1}{T} \quad f_Y(y) = \frac{1}{T}\\ f_{X,Y}(x,y) = \frac{1}{T^2} \\ E(X) = \int_{0}^T x f_{X,Y}(x,y) dxdy = \frac{T^2}{2} \\ E(Y) = \int_{0}^T y f_{X,Y}(x,y) dxdy = \frac{T^2}{2} \\ E(X)+ E(Y) = 2*\frac{T^2}{2} \\ \Rightarrow E(X_1 +X_2 + ... +X_n) = \frac{T}{2}n X∼U(0,T)Y∼U(0,T)fX(x)=T1fY(y)=T1fX,Y(x,y)=T21E(X)=∫0TxfX,Y(x,y)dxdy=2T2E(Y)=∫0TyfX,Y(x,y)dxdy=2T2E(X)+E(Y)=2∗2T2⇒E(X1+X2+...+Xn)=2Tn
然后把这个结果代入到条件期望中
E ( Z ( T ) ) = E N ( T ) ( E τ k ( ∑ k = 1 n ( T − τ k ) ∣ N ( T ) = n ) ) = E ( T ∗ N ( t ) − N ( T ) T 2 ) = T 2 ∗ λ T = λ T 2 2 E(Z(T)) = E_{N(T)}(E_{\tau_k}(\sum_{k=1}^{n}(T- \tau_k)|N(T)=n)) \\ = E(T*N(t) - N(T) \frac{T}{2}) = \frac{T}{2} * \lambda T = \frac{\lambda T^2}{2} E(Z(T))=EN(T)(Eτk(k=1∑n(T−τk)∣N(T)=n))=E(T∗N(t)−N(T)2T)=2T∗λT=2λT2
因此,我们就可以考虑调度问题了,(0,Tk)内乘客的平均等待时间为 λT2/2
m i n λ 2 ( T 1 2 + . . . + T k 2 ) s . t . T 1 + . . . + T k = T min \frac{\lambda}{2}(T_1^2 +...+T_k^2) \\ s.t. \quad T_1 + ... + T_k = T min2λ(T12+...+Tk2)s.t.T1+...+Tk=T
拉格朗日数乘
F ( T 1 , . . . , T n , t ) = λ 2 ( T 1 2 + . . . + T n 2 ) + t ( T − T 1 − . . − T n ) ∂ F ∂ T 1 = λ T 1 − t = 0 ⇒ T 1 = t λ ⇒ T 1 = T 2 = . . . = T n = T n F(T_1,...,T_n,t) = \frac{\lambda}{2}(T_1^2 +...+T_n^2) + t(T- T_1 - ..-T_n) \\ \frac{\partial F}{\partial T_1} = \lambda T_1 - t = 0 \Rightarrow T_1 = \frac{t}{\lambda} \\ \Rightarrow T_1 = T_2 = ...= T_n = \frac{T}{n} F(T1,...,Tn,t)=2λ(T12+...+Tn2)+t(T−T1−..−Tn)∂T1∂F=λT1−t=0⇒T1=λt⇒T1=T2=...=Tn=nT
我们可以得到,最优的调度策略就是每次发车时间都是等间隔的
下面介绍一下保险定价问题。前面说过,投行需要高斯过程和伊藤微积分的知识。而精算师需要泊松过程的知识。这里介绍最简单的Cramer-Lundberg Model
Actuarial Cramer-Lundberg Model [ 0 , t ] \text{Actuarial} \\ \text{Cramer-Lundberg Model} \\ [0,t] ActuarialCramer-Lundberg Model[0,t]
保险中,出险是支出,卖保险是收入
Clain → Payment Premium → Income \text{Clain } \rightarrow \text{Payment} \\ \text{Premium} \rightarrow \text{Income} Clain →PaymentPremium→Income
t时间内的总收益应该包括,初始资金、卖保险的收入,以及出险的支出
Compound Poisson V ( t ) = V 0 + C ( t ) − ∑ k = 1 N ( t ) Z k \text{Compound Poisson} V(t) = V_0 + C(t) - \sum_{k=1}^{N(t)} Z_k Compound PoissonV(t)=V0+C(t)−k=1∑N(t)Zk
卖保险的价格是一样的,但是出险的时候不同人会有不同的情况,从常规认知来看,是个复合泊松过程。但是,由于不同时刻出险价值是不一样的,如果早点收到钱就可以存入银行,变成增值,而晚一点收到钱就变成了损失。因此,这个出险事件,不但应该是每次都会有不同的影响,而是还与事件发生的时刻有关系。
V ( t ) = V 0 + C ( t ) − ∑ k = 1 N ( t ) Z k e x p ( − α ( t − τ k ) ) V(t) = V_0 + C(t) - \sum_{k=1}^{N(t)} Z_k exp(-\alpha(t-\tau_k)) V(t)=V0+C(t)−k=1∑N(t)Zkexp(−α(t−τk))
我们假定销售是线性的。C取决于价格和销售能力。
V ( t ) = V 0 + C t − ∑ k = 1 N ( t ) Z k e x p ( − α ( t − τ k ) ) V(t) = V_0 + Ct - \sum_{k=1}^{N(t)} Z_k exp(-\alpha(t-\tau_k)) V(t)=V0+Ct−k=1∑N(t)Zkexp(−α(t−τk))
求均值
E ( V ( t ) ) = V 0 + C t − E ( ∑ k = 1 N ( t ) Z k e x p ( − α ( t − τ k ) ) ) E(V(t)) = V_0 + Ct - E(\sum_{k=1}^{N(t)} Z_k exp(-\alpha(t-\tau_k))) E(V(t))=V0+Ct−E(k=1∑N(t)Zkexp(−α(t−τk)))
后面又是一个过滤泊松
E ( ∑ k = 1 N ( t ) Z k e x p ( − α ( t − τ k ) ) ) = e x p ( − α t ) E ( ∑ k = 1 N ( t ) Z k e x p ( τ k ) ) = e x p ( − α t ) E N ( t ) ( E τ k ( ∑ k = 1 n Z k e x p ( τ k ) ∣ N ( t ) = n ) ) E(\sum_{k=1}^{N(t)} Z_k exp(-\alpha(t-\tau_k))) = exp(-\alpha t) E(\sum_{k=1}^{N(t)} Z_k exp(\tau_k)) \\ = exp(-\alpha t) E_{N(t)}(E_{\tau_k}(\sum_{k=1}^{n} Z_k exp(\tau_k)|N(t)=n)) E(k=1∑N(t)Zkexp(−α(t−τk)))=exp(−αt)E(k=1∑N(t)Zkexp(τk))=exp(−αt)EN(t)(Eτk(k=1∑nZkexp(τk)∣N(t)=n))
如果这个求条件概率,应该是又需要使用顺序统计量的,不过这里依旧是求和的形式,因此可以再次转化为独立同分布的均匀分布求期望的形式
E ( ∑ k = 1 N ( t ) Z k e x p ( − α ( t − τ k ) ) ) = e x p ( − α t ) E ( ∑ k = 1 N ( t ) Z k e x p ( α τ k ) ) = e x p ( − α t ) E ( Z 1 ) E N ( t ) ( E τ k ( ∑ k = 1 n e x p ( α τ k ) ∣ N ( t ) = n ) ) = e x p ( − α t ) E ( Z 1 ) E ( ∫ 0 t e x p ( α τ ) 1 t d τ N ( t ) ) = e x p ( − α t ) E ( Z 1 ) λ t 1 t 1 α ( e x p ( α t ) − 1 ) = λ α e x p ( − α t ) E ( Z 1 ) ( e x p ( α t ) − 1 ) = λ α E ( Z 1 ) ( 1 − e x p ( − α t ) ) E(\sum_{k=1}^{N(t)} Z_k exp(-\alpha(t-\tau_k))) = exp(-\alpha t) E(\sum_{k=1}^{N(t)} Z_k exp(\alpha \tau_k)) \\ = exp(-\alpha t) E(Z_1)E_{N(t)}(E_{\tau_k}(\sum_{k=1}^{n} exp(\alpha\tau_k)|N(t)=n)) \\ = exp(-\alpha t) E(Z_1) E(\int_{0}^t exp(\alpha\tau) \frac{1}{t} d \tau N(t)) \\ = exp(-\alpha t) E(Z_1) \lambda t \frac{1}{t} \frac{1}{\alpha}(exp(\alpha t)-1) \\ = \frac{\lambda}{\alpha} exp(-\alpha t) E(Z_1) (exp(\alpha t)-1) \\ = \frac{\lambda}{\alpha} E(Z_1) (1-exp(-\alpha t)) E(k=1∑N(t)Zkexp(−α(t−τk)))=exp(−αt)E(k=1∑N(t)Zkexp(ατk))=exp(−αt)E(Z1)EN(t)(Eτk(k=1∑nexp(ατk)∣N(t)=n))=exp(−αt)E(Z1)E(∫0texp(ατ)t1dτN(t))=exp(−αt)E(Z1)λtt1α1(exp(αt)−1)=αλexp(−αt)E(Z1)(exp(αt)−1)=αλE(Z1)(1−exp(−αt))
我们就可以得到保险的价值规律
E ( V ( t ) ) = V 0 + C t − λ α E ( Z 1 ) ( 1 − e x p ( − α t ) ) E(V(t)) = V_0 + Ct - \frac{\lambda}{\alpha} E(Z_1) (1-exp(-\alpha t)) E(V(t))=V0+Ct−αλE(Z1)(1−exp(−αt))
Queueing Serving Model \text{Queueing} \\ \text{Serving Model} QueueingServing Model
排队模型也叫做服务模型
排队论是电子信息领域学生必备的技能。排队是网络的基础。因为数据包到来的规律就是点过程。排队的科学才是真正的网络科学
相关的学者
我们以银行取钱为例,构成排队模型有三个要素
排队论三要素描述如下
如果客人到达规律是泊松,到达时间间隔就是指数分布。如果客人离开规律是泊松,接收服务的时间就是指数分布。
排队论符号的发明人叫做kendoll
Kendoll \text{Kendoll} Kendoll
我们今天讨论这样的模型
M / G / ∞ M/G/\infty M/G/∞
表示客人到达是泊松过程,客人离开是一般模型,柜台数量是无穷多个,意味着不需要有空等待的时间,来了就可以接受服务。Z(t)是系统中排队的人数
我们现在要把第一个人接受服务的这个时间的规律描述出来。我们假设服务时间满足这样的分布
f T ( t ) f_T(t) fT(t)
表示一下人数
Z ( t ) = ∑ k = 1 N ( t ) I ( t , τ k , T k ) I ( t , τ k , T k ) = { 1 0 < t − τ k < T k 0 Others T 1 , . . . , T n ( i . i . d ) ∼ f T ( t ) Z(t) = \sum_{k=1}^{N(t)} I(t,\tau_k,T_k) \\ I(t,\tau_k,T_k) = \begin{cases} 1 & 0
其中τk是第k个人的到达时间,Tk是第k个人的服务时间。也就是τk时刻来了一个人,然后要想统计的时候把这个人算进来,我们的统计时间t必须在τk之后,并且不能大于服务时间,大于服务时间以后,这个人就走了,计数就又是0了
我们就建立了这样的模型,这个模型是可以用过滤泊松来描述的
我们计算下均值,用公式计算
E ( Z ( t ) ) = λ ∫ 0 t ( E T k ( I ( t , τ ) ) − 1 ) d τ E T k ( I ( t , τ ) ) = 1 ∗ P ( I ( t , τ = 1 ) ) + 0 ∗ P ( I ( t , τ = 0 ) ) = P ( I ( t , τ = 1 ) ) = P ( T k > t − τ ) = { ∫ t − τ ∞ f T ( s ) d s t > τ 1 t < τ E(Z(t)) = \lambda \int_{0}^t (E_{T_k}(I(t,\tau) )-1) d \tau \\ E_{T_k}(I(t,\tau)) = 1*P(I(t,\tau=1)) + 0*P(I(t,\tau=0))\\ =P(I(t,\tau=1)) = P(T_k >t- \tau) \\ =\begin{cases} \int_{t-\tau}^{\infty}f_T(s)ds & t >\tau \\ 1 & t < \tau \end{cases} E(Z(t))=λ∫0t(ETk(I(t,τ))−1)dτETk(I(t,τ))=1∗P(I(t,τ=1))+0∗P(I(t,τ=0))=P(I(t,τ=1))=P(Tk>t−τ)={∫t−τ∞fT(s)ds1t>τt<τ
代入即可。如果K不是无穷大,这里就不是一个过滤泊松过程了。因为服务台个数一旦有限的话,等待时间就不是独立的了。