1. 课程导入与随机游走全景
想象你站在一个广场中央,每一步都随机选择方向:向前、向后、向左或向右,步长相同,方向完全由抛硬币决定。走了一百步之后,你会在哪里?这个问题看似简单,却牵出了一个横跨物理学、金融学、计算机科学与认知科学的强大模型——随机游走。本课程将围绕随机游走模型及其在行为仿真中的应用展开,而这一节,我们先建立全景认知:它从哪里来、核心机制是什么、能解决什么问题,以及整门课的知识地图如何铺开。
一、从布朗运动到随机游走:一个模型的两次“转身”
1827年,植物学家布朗在显微镜下观察到花粉颗粒在水中不停做无规则抖动,这就是布朗运动。1905年,爱因斯坦给出解释:颗粒受到大量水分子不平衡碰撞,其位移在统计上服从正态分布,均方位移与时间成正比。1923年,维纳将其严格化为数学对象——维纳过程,它是连续时间、连续状态下的随机游走极限。
而“随机游走”这个离散版本更早出现在1905年皮尔逊的提问中:醉汉每一步方向随机,若干步后离出发点多远?答案不是“零”,而是均方位移随步数线性增长。设每步长度为 \(a\),共走 \(n\) 步,则均方位移为 \(n a^2\),典型离原点距离约为 \(a\sqrt{n}\)。这个 \(\sqrt{n}\) 规律是随机游走最核心的“指纹”:步数翻四倍,典型距离才翻一倍。它解释了为什么扩散很慢,也解释了为什么随机性在累积中反而产生了可预测的统计结构。
二、随机游走为什么值得单独学
随机游走的价值在于它是“最简单的非平凡随机过程”。它足够简单,可以用几行代码实现;又足够丰富,能衍生出马尔可夫链、扩散模型、布朗桥、带漂移的随机游走等一整套工具。更重要的是,它提供了一个思维范式:当个体行为不可精确预测时,我们转而研究其统计规律与群体涌现。这正是行为仿真的底层逻辑——我们不去预测某一个人下一步往哪走,而是设定其决策规则中的随机成分,然后观察大量个体叠加后呈现出什么模式。
在行为仿真中,随机游走常被用作“零模型”或基线:如果真实行为数据与随机游走产生的统计特征没有显著差异,说明观察到的模式可能只是随机性所致;反之,偏离随机游走的程度,恰恰度量了行为中的结构性偏好。因此,学会构造、运行和判读随机游走,是后续所有行为建模工作的参照系。
三、本课程的知识框架
整门课围绕四条主线展开,它们彼此衔接而非孤立:
- 模型基础线:一维/二维随机游走的定义、步长与方向分布、均方位移推导、维纳过程极限,建立“离散—连续”的对应关系。
- 实现与实验线:用代码实现单次轨迹与多次重复实验,掌握随机种子、步数、重复次数等参数对结果的影响,学会用统计量而非单条轨迹下结论。
- 行为建模线:在纯随机基础上加入偏好、惯性、边界约束、群体交互,把“醉汉”变成“有行为规则的个体”,观察参数如何改变宏观模式。
- 分析与判读线:通过分布直方图、均方位移曲线、首次到达时间等指标判断模型行为是否符合预期,识别常见误区。
四、先跑一次:建立直觉的最小实验
在深入理论前,建议先动手建立直觉。下面是一段二维随机游走的示例代码(Python,示例参数,非实测结果):
import numpy as np
rng = np.random.default_rng(seed=42) # 固定种子,保证可复现
n_steps = 1000 # 步数
step_len = 1.0 # 每步长度
theta = rng.uniform(0, 2*np.pi, n_steps) # 每步方向均匀随机
dx = step_len * np.cos(theta)
dy = step_len * np.sin(theta)
x = np.concatenate([[0], np.cumsum(dx)])
y = np.concatenate([[0], np.cumsum(dy)])
print("终点:", x[-1], y[-1])
print("离原点距离:", np.hypot(x[-1], y[-1]))
运行后你会得到一条弯弯曲曲的轨迹。关键不是看终点在哪,而是做重复实验:把上述过程独立重复 500 次,记录每次的终点距离,你会看到距离的分布集中在 \(a\sqrt{n}\) 附近(本例约 31.6),少数轨迹跑得很远。这正是随机游走的典型特征——单条轨迹不可预测,但距离的分布高度稳定。若把步长改为 2、步数改为 250,均方位移仍为 \(n a^2 = 1000\),典型距离不变,这说明起决定作用的是“步数×步长平方”这一组合量。
五、学习目标与使用建议
完成本课程后,你应当能够:独立写出可复现的随机游走仿真;解释均方位移与步数、步长的关系并做量纲检查;在纯随机模型上叠加行为规则并说明每条规则的建模动机;用分布和统计指标而非单条轨迹来判读仿真结果;识别“把随机当无序”“用一次运行下结论”等典型错误。
学习时请把握一个原则:先让模型跑起来,再追问它为什么这样跑。随机游走的很多性质(如 \(\sqrt{n}\) 规律、返回原点的概率、边界对分布的影响)在纸面上推导容易抽象,但一旦你亲手改一个参数、看一次分布变化,理解会牢固得多。接下来的章节将从最基础的一维模型开始,逐步把这条“醉汉的路径”扩展成能够刻画真实行为的多层次仿真框架。