这是完全匹配你**第一个代码片段(向量化、时间驱动版本)**的文字描述。
这个模型在学术上通常被称为 Time-Discrete Random Walk 或 Memoryless Random Walk(无记忆随机游走),因为它没有“目标点”的概念,每一步都是独立的。
RW(Random Walk,随机游走 - 向量化/时间驱动版)
空间与时间:
正方形区域 $[0, L] \times [0, L]$(其中 $L$ 为 map_size),时间被离散化为固定的 $T$ 个步长(Steps)。
节点运动规则:
-
初始位置: 在区域内部均匀随机生成所有节点的起始坐标 $(x, y) \sim U(0, L)$。
-
瞬时移动(核心差异):
- 模型不设定任何固定的“目标点”或“行程”。
- 在每一个时间步 $t$,每个节点都会独立地重新随机选择一个运动方向 $\theta_t \sim U(0, 2\pi)$ 和一个瞬时速度 $v_t \sim U(v_{\min}, v_{\max})$。
-
位置更新:
根据当前步选定的速度矢量进行位移:
$$x_t = x_{t-1} + v_t \cos(\theta_t)$$
$$y_t = y_{t-1} + v_t \sin(\theta_t)$$
-
边界处理(物理反射):
代码实现了完全弹性碰撞(Reflection)。当节点试图跨越边界时,就像台球撞击桌边一样,其坐标会被镜像反弹回区域内(例如:若 $x < 0$,则重置为 $-x$;若 $x > L$,则重置为 $2L - x$),从而保证节点始终被限制在区域内部。
邻接生成:
设定通信半径 comm_radius,计算节点间的欧几里得距离。若距离 $\le$ 阈值则判定为连通,逐步构造邻接矩阵序列。
要点:
- 无记忆性(Memoryless): 这一时刻的运动方向与上一时刻完全无关(马尔科夫性 $\alpha=0$ 的极端情况)。
- 布朗运动特征: 节点的轨迹呈现高度的锯齿状(Zig-zag),缺乏长距离的直线运动。
- 扩散特性: 相比于有目标点的模型(如 RWP, RD),这种纯随机游走的节点扩散速度较慢,倾向于在局部区域内徘徊较长时间。