1. From Random Walk to Diffusion Equation(从随机游走到扩散模型)

主要参考 James P. Sethna 的 Entropy, Order Parameters, and Complexity 一书

Random Walk (随机游走)

1. 抛硬币

考虑一个扔硬币的的游戏,我们将一个正反面均匀的硬币扔\(N\)次,记录每次抛掷的结果,我们关心的是这个过程中过程偏向正面的程度(正面波动的程度, 净正距离)。为了进一步描述这个过程,我们设

\(I_i = \left\{\begin{align*}&1,\quad \text{第}i\text{次扔出正面}\\&-1,\text{第}i\text{次扔出反面}\end{align*}\right.\)

那么这个过程中正面波动的程度可以表为: \(S_N = \sum_{i = 1}^N I_i\). 由于\(I_i\)是随机变量,所以\(S_N\)也是一个随机变量,那我们就转为关注\(S_N\)的平均水平(均值)(在统计力学中,一个系统的宏观特征往往是所有微观个体的矩), 那么有

\(\langle S_N\rangle = \sum_{i = 1}^N \langle I_i\rangle = 0\)

我们看到一阶矩并不能给到我们什么有用的信息,因为在这个过程中由于正反面出现的概率都是相同的,导致正的波动和负的波动在整个过程中相互抵消了而导致整个系统向外的表现(\(S_N\))就好像啥也没发生。这个结果顶多告诉我们这个硬币是均匀的,除此之外我们再不能获得\(S_N\)的任何信息,所以我们采用统计量\(\sqrt{S_N^2}\), 这个量和\(\langle S_N\rangle\)是同阶的,所以可以也可以反映\(S_N\)的平均水平。因为

\(\langle S_N^2\rangle = \langle (S_{N-1}+I_N)^2\rangle\)

然后利用第\(N\)次所抛硬币的结果\(I_N\)与前\(N-1\)次的\(S_{N-1}\)相互独立我们可以得到

\(\sqrt{S_N^2} = \sqrt{N}\)

这个值告诉我们这个过程中正向波动的程度。

实际上面这个抛硬币的过程是维度为1,步长为1的随机游走,因为游走的方向只有两个(正面,反面),而每次对于路程\(S_N\)的贡献是1(\(I_i\)为1或者-1,步长)。下面我们看一个维度为2,步长为\(L\)的随机游走。

2. 单个粒子的随机游走

考虑一个二维平面上从原点出发的粒子的运动轨迹,这个粒子每个单位时间随机朝着任何方向游走一步,每步步长为\(L\)。我们想知道第\(N\)步时这个粒子走多远了,即我们关心的应该是类似于这样的量

\(S_N = \sum_{i = 1}^N l_i\)

这里\(l_i\)表示第\(i\)步粒子的位移,是一个二维向量,所以集合向量加法,上面说的路程本质上是位移,不过因为粒子每步移动的步长相对于长时间下的轨迹来说很小,所以这里将路程和位移等价起来。现在考虑\(S_N\)的平均水平,同样地,首先看看一阶矩

\(\langle S_N\rangle = \sum_{i = 1}^{N} \langle l_i\rangle\)

\(\langle l_i\rangle\) 可以通过下列方式得到

\(\langle l_i\rangle = \langle (l_i^x,l_i^y)\rangle = (\langle l_i^x\rangle,\langle l_i^y\rangle)\)

而对于其中一维有

\(\langle l_i^x\rangle = \langle L\cos\theta\rangle = L\langle \cos\theta\rangle = L\int_0^{2\pi} \cos \theta d\theta = 0\)

于是我们看到一阶矩再次不能给到我们有用的信息,再次turn to \(\sqrt{S_N^2}\)

\(\langle S_N^2\rangle = \langle (S_{N-1}+l_N)^2\rangle\)

这里需要说明的是 \(l_N\)\(S_{N-1}\)是正交的,因为\(l_N\)\(l_m,m\neq n\)是正交的。所以通过进一步推导可以得出

\(\sqrt{S_N^2} = L\sqrt{N}\)

也就是说单粒子的随机游走在\(N\)步中走了\(\sqrt{N}\)倍步长的距离。说实话这个并不难理解,因为位移里面有折返的,但是 it turns out that, 这个规律在任何尺度下都是一样的,也就是说你拿一个镜头zoom in放大这个粒子的轨迹与zoom out 缩小这个粒子的轨迹,它们都遵循这个规律。

Diffusion Equation(扩散模型)

上面我们关注的单个粒子的在离散时间的随机游走,现在考虑多个粒子在连续时间下的随机游走,这越来越接近于统计力学所要研究的对象。这里我们考虑多个粒子在一维情况下的随机游走,因为是多个粒子,逐一地看它们的运动路径很麻烦,这里我们更感兴趣的是粒子在随机运动的过程中的密度分布\(\rho(x,t)\)是怎样的。

假设粒子之间相互不影响,那么研究粒子的整体等价于研究某个粒子。如果某个粒子在时间\(t\)的位置是\(x(t)\), 那么它在\(t+\Delta t\)时间的位置可以如下给出

\(x(t+\Delta t) = x(t)+l(t)\)

这里\(l(t)\)是步长。此时系统的密度分布是\(\rho(x(t),t)=\rho(x,t)\), 如果我们要求当粒子运动到\(x(t+\Delta t)\)时的系统的密度分布\(\rho(x(t+\Delta t),t+\Delta t)=\rho(x',t')\)(注意当一个粒子运动了\(\Delta t\)时间,所有粒子都运动了\(\Delta t\)时间,所以分布应该有变化), 我们可以从概率论的角度(或者是马氏链的角度)来看,让\(\rho(x',t')\)\(\rho(x,t)\)取条件,根据概率的条件公式

\(P\{X = x\} = \sum_y P\{X=x|Y=y\}P\{Y = y\}\)

\(P\{X<x\} = \int_{y} P\{X<x|Y<y\}f_ydy\)

有下式成立

\(\rho(x',t') = \int_x \rho(x',t'|x,t)P\{(x,t)\}dx\)

这里只对\(x\)积分不对\(t\)积分是因为\(t\)是自然变化的。这里\(P\{(x,t)\}\)表示\(t\)时粒子处于\(x\)处的概率,这个概率应该等于粒子的密度分布\(\rho(x,t)\),而\(\rho(x',t'|x,t)\)表示上一步在\(x\)处的粒子下一步在\(x'\)处的密度(概率),这类似于马氏链中的转移概率,粒子在前一步和后一步的概率确定了,那么它的方向和步长就确定了,即\(l(t) = x'-x\)就确定了,那么 \(\rho(x',t'|x,t)\)实际上等价于\(F(l)\), 其中$ F(l)\(是\)l$的分布函数, 这样一来上面的式子可以进一步化为

\(\rho(x',t') = \int_x \rho(x,t)F(x'-x)dx = \int_z\rho(x'-z,t)F(z)dz\)

这里我们假设随机变量\(l\)的一阶矩以及二阶矩分别为\(0,a^2\). 接着对上述积分式中的\(\rho(x'-z,t)\)\(x'\)处进行泰勒展开(\(\rho\)在每一步的变化很小)并利用刚刚说明的一阶和二阶矩,我们有

\(\rho(x',t') = \int_z (\rho(x',t)-z\frac{\partial \rho}{\partial x'}+\frac{z^2} 2 \frac{\partial^2 \rho}{\partial x'^2})F(z)dz = \rho(x',t)+\frac{a^2} 2 \frac{\partial^2 \rho}{\partial x'^2}\)

完事儿把\(\rho(x',t)\)移动到左边然后再除以一个\(\Delta t\)就可以得到 diffusion equation 了

\(\frac{\partial \rho}{\partial t} = \frac{a^2}{2\Delta t}\frac{\partial^2\rho}{\partial x^2}\)

这里由于整个系统中,粒子只是在进行random walk,并没有被创造或者被消灭,所以粒子数是守恒的(conserved), 并且是局部守恒的。当我们说某个量是局部守恒(locally conserved)的,我们实际上是在说这个量的积分与时间无关,并且这个量描述的物质只能进行转移而不能被创造或者消灭(如能量)。这里的密度\(\rho\)是局部守恒的,因为它的积分为1,并且这个密度描述的粒子只能进行转移而不能被创造或者消灭。

对于守恒量,在无外力的情况下,我们可以直接写出它的演化方程

\(\frac{\partial\rho}{\partial t} = -\frac{\partial J}{\partial x}\)

其中\(J=J(x)\)被称为流,它表示对应的物质流过点\(x\)的速率。对于上面的密度\(\rho\)\(J = -D\frac{\partial\rho}{\partial x}\), 其中\(D = \frac{a^2}{2\Delta t}\), 这里\(\frac{\partial \rho}{\partial x}\)表示在时间\(t\)密度在\(x\)处的变化率,想一下就知道这实际上对应着\(x\)处的流量。

Solve Diffusion Equation

Diffusion equation实际上是一个二阶齐次的线性偏微分方程,由于它没有初始条件,这里我们假设它的初始条件是\(\rho|_{t = 0} = \phi(x)\), 所以现在我们有方程组

\(\left\{ \begin{align*}&\frac{\partial \rho}{\partial t} =-D\frac{\partial^2\rho}{\partial x^2}\\ &\rho|_{t = 0} = \phi(x)\end{align*}\\ \right.\)

接下来,我们利用Fourier Transform来求解上述方程组

  • Fourier

首先方程两边对\(x\)进行傅里叶变换,令\(U(w_x,t) = \bf{F}\{\rho\}\). 因为

\(\bf{F}\{\frac{\partial\rho}{\partial t}\} = \int \frac{\partial\rho}{\partial t}\)\(e^{-iwx}dx = \frac{d}{dt}\int \rho(x,t)e^{-iwx}dx\)

上面这个式子在\(t\in[m,n]\)上成立的条件是 \(\rho(x,t),\frac{\partial \rho}{\partial t}\)都在矩形区域\([a,b]\times[m,n]\)上连续。在物理背景下,假设这个条件是满足的。所以有

$\bf{F} {{\frac{\partial\rho}{\partial t} }} = $$\frac{dU}{dt}$, \(\bf{F}\{\frac{\partial^2\rho}{\partial x^2}\}\)\(=\frac{d^2U}{dx^2}\)

对于边界条件,也进行傅氏变换得到:\(U|_{t = 0} = \phi(w)\), \(\phi(w) = \int\phi(x)e^{-iwx}dx\)。完事儿以后我能得到一个关于\(U(w_x,t)\)的常微分方程

\(\left\{ \begin{align*}&\frac{dU}{dt} =-D\frac{d^2\rho}{d x^2}\\ &U|_{t = 0} = \phi(w)\end{align*}\\ \right.\)

解这个常微分方程得到:\(U(w_x,t) = \phi(w)e^{-Dw^2t}\). 然后再把它逆变换回去得到

\(\begin{align*} \rho(x,t) &= \frac{1}{2\pi} \int \phi(w)e^{-Dw^2t}e^{iwx}dw = \frac{1}{2\pi}\int\int\phi(\xi)e^{-iw\xi}d\xi e^{-Dw^2t}e^{iwx}dw\\&= \frac{1}{2\pi}\int \phi(\xi)\int e^{-Dw^2t} e^{-iw(\xi-x)}dwd\xi\quad \text{将里面的积分看做是}e^{-Dw^2t}\text{的傅氏变换}\\& = \frac{1}{2a\sqrt{\pi t}}\int \phi(\xi) exp\{-\frac{(x-\xi)^2}{4a^2t}\} d\xi \end{align*}\)

这里第四个等号成立的原因是高斯函数的傅氏变换

\(e^{-kw^2} \lrarr \frac{1}{2\sqrt{\pi k}}exp\{\frac{-x^2}{4k}\}\)

如此就得到了扩散方程的解。实际上\(\rho(x,t)\)可以写成卷积的形式

\(\rho(x,t) = \phi(x)*K(x,t)\)

其中\(K(x,t)\)又称为高斯核(Gaussian Kernel), 它的形式如下

\(K(x,t) = \frac{1}{2a\sqrt{\pi t}} exp\{-\frac{(x-\xi)^2}{4a^2t}\}\quad t>0\)

posted @ 2023-05-13 22:02  SiranLee  阅读(108)  评论(0编辑  收藏  举报