论文部分内容阅读
假设有一种生活在一维世界中的奇怪的虫子,他们只会横着爬,在每个时间单位里,随机向左或向右移动,并且当这种虫子发现有自己的同类聚集在同一处时,就会觉得很不舒服,于是会加速从当前位置上跳开,跳跃的距离和同一处同类的个数成正比。很容易编写程序对虫子的行为进行模拟。下面图1所表示的,是在程序运行的初始时刻,将27只虫子有意聚集在一起(只是为了观看方便,在显示的时候特意将虫子们从单一维度上错开了)。显然,在那样的状态下,所有的虫子都会觉得难受,不过,程序运行后不多久,这些生物就会“自动”分散开来,并寻找到让自己更惬意的位置(如图2)。或者也可以是相反的情况,小虫子们更喜欢在同一处集群,当它们发现同一地点的同类数量超过2个(这个界限当然是可以自己设定的),那就只会以最缓慢的速度移动,也就是说,它会尽可能地和同类相处在一起,否则就会大幅度地随机跳跃。这个例子比刚才的更有趣,虫子们的行为,很像一个探险队,一开始,所有虫子聚集在小范围内安营扎寨,只有少部分虫子跳到比较远的地方,但经过较长时间程序运行后,就会有不少远处的虫子逐渐聚拢到一起,好像在建立新的“部落”(如图3)。
全文查看链接