蚂蚁觅食

来源:互联网 发布:淘宝九块九包邮专区 编辑:程序博客网 时间:2024/04/28 12:14

今天看到一个有趣的现象,或许应该说很常见的现象,就是蚂蚁觅食。像图1那样,呈一条黑线在墙角,墙面上移动。
 
                               图片

1

    勾起了童真。呵呵。但是,如果我还是对单纯的这一现象感觉好奇,这二十几年也算是白混了,因为对小的时候对待事物的眼光没有改变的话,相对我增长的年龄来说,这叫做低级趣味了。所以,现在有趣的是一个数学问题。或者我先来将这幅图进行一下抽象。图2就是抽象的结果。 
                           
图片
                                                             2

假设A是蚂蚁的家,E是找到的食物,蚁群要将食物从E搬到A,很显然直线距离AE是最短的,但是蚂蚁却选择了AB-BE两条线段组成的路径。假设蚂蚁足够聪明的话,那么解释这一现象的原因就是蚂蚁在水平地面和在竖直墙面上移动的时候,耗费的体力是不等的。

假设,在墙面移动单位距离,耗费的体力是Pw;在水平地面移动单位距离,耗费的体力是Ph

1Pw<=Ph,直线AE最省体力;

2Pw>Ph,必然存在墙角处的一点B,使得蚂蚁从AE的距离上移动耗费的体力最小。假设,蚂蚁在竖直墙面移动时,无视与重力方向的夹角,那么从BE就是一条直线;如果蚂蚁在竖直墙面的移动体力消耗与重力夹角有相关关系的话,BE就是一条与此相关的弧线。

1比较理想的给了我们一条直线作为分析对象。假设CD两点是位于B左右两侧的两点,那么很容易得出:

Pw<Ph

BE·Pw< BD·Ph + DE·Pw

BE·Pw + BC·Ph< CE·Pw

得出:

BD/(BE- DE) < Pw/Ph <BC/(EC – BE)

D无限趋近B,且C无限趋近B时,根据夹逼原理,Pw/Ph= BD/(BE - DE) = BC/(EC-BE)

假设坐标B(00)E(sint,cos t),C(-deltX, 0),D(deltX,0)

Pw / Ph =lim(deltX->0){deltX / (1 – squreroot(sin t + squre(cos t –deltX)))}

根据洛毕德法则,

Pw/Ph =1/(-1/2(-2cos t) = 1/cos t;

所以聪明的蚂蚁选择的B点具有的属性,就是和其在墙面与地面移动消耗的能量成相关关系的点。


智能控制领域的蚁群算法,是模拟蚂蚁觅食中的探索过程,这一过程将耗费较长的时间确定最优路径。如果将任务A根据任务实施的难度,要将其分解成BC两段(即使是三段,三段也是两个两段的拼凑),那么利用Pw/Ph的性质,就找到了A的分解点,形成BC两段。而不用去通过模拟蚁群觅食的漫长过程确定该点。

    ps:还是蛮有趣的。 

0 0
原创粉丝点击