今天才肝完校赛,想到建模的内容已经很久没更了。后面如果有时间可能会把这次校赛的内容搬上来,因为这次我们组选择的是图像处理的题目,可以说这个方向我们之前从来没有接触过,在这里记下来或许对之后的建模比赛有好处。
这篇文章要完成的是美赛A题第一问的第三个部分用元胞自动机来模拟两种鱼的游动,这个游动跟元胞自动机的一个重要应用——随机游走(random walk)非常相关。下面是这篇文章的主要内容:
- 介绍元胞自动机模拟随机游走
- 用一个例题来说明模拟过程
- 说明美赛A题的实现过程
介绍元胞自动机模拟随机游走
随机游走(random walk)
也称随机漫步,随机行走等是指基于过去的表现,无法预测将来的发展步骤和方向。核心概念是指任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律 ,接近于布朗运动,是布朗运动理想的数学状态,现阶段主要应用于互联网链接分析及金融股票市场中。
根据随机游走的定义和性质可以发现,元胞自动机仿真算法是一个可以模拟随机游走的利器。例如:在一维直线的随机游走可以模拟为元胞向左右两个方向的等可能转移;在二维平面的随机游走可以模拟为元胞向八个方向的等可能转移;在三维空间内的随机游走可以模拟为元胞向二十六个方向的等可能转移。如下三个图所示:
三维图就只能意会一下,元胞是所有27个立方体的最中心的那个,一共有26个方向可以进行转移。
一个例题
在一个封闭的空房间内,一个扫地机器人在里面随机移动,房间某个墙边的位置有充电插座
1.扫地机器人是否一定会找到充电插座?仿真计算机器人移动到充电插座的可能性和所需要的平均时间,与房间大小的关系是什么?
2.扫地机器人是否能清扫到这个封闭房间的所有位置?如果可以,清扫时间和房间大小的关系是什么?
该问题的假设
- 当扫地机器人在房间的内部时,在一个时间间隔后它可以向周围八个方向行走。
- 当扫地机器人在房间的边界时,在一个时间间隔后它只能向除墙壁以外的五个方向行走
- 当扫地机器人在房间的角落时,在一个时间间隔后它只能向除角落的两个墙壁以外的三个方向行走
- 房间的大小为m*n(在本文中以22*18为例)
- 第一行、第一列、最后一行和最后一列设定为墙壁
- 充电插头设定在(1,1)的位置(这里也可以自行设置,可以看看设定在边界和角落的不同)
- 扫地机器人的初始位置是在房间中随机生成的(这里也可以看看设定不同初始位置的扫地机器人会对结果有什么影响)
模型的建立
状态定义
红色表示扫地机器人已经经过的位置,且其对应的RGB矩阵的坐标为:
白色表示没有扫地机器人经过的位置&#x