之前在王老师的书中看到元胞自动机——蚂蚁法则的电池图,发现十分复杂艰深,就跳过了。
这两天入门了vb语言,意识到用编程来解决蚂蚁法则的问题十分便捷。
代码部分其实很简单,就是把蚂蚁法则转换成了横纵坐标以及颜色0、1(0*255,1*255)的逻辑判定
初始状态
运行十步
运行100步时调出了运算时间显示。此时代码部分只用了8ms。
运行1000步。1000步也只用了13ms。主要的运算集中在成面上。但也只有半秒。
这样就可以放心地运行10000步啦。
运行10000步。发现仍然处于混沌状态,而王老师给的文献中10000步时已出现逃逸“公路”。
再尝试运行11000步
发现此时“公路”出现。说明之前10000步公路出现与否其实和初始状态有关系(起始方向和位置)。(后面进一步验证)
继续12000步
已十分稳定。
接着我们试着改变初始状态。
运行11000步后仍然处于混沌状态。
两万步。还在混沌……
21000步。终于出现“公路”!
最后总结下用代码解元胞自动机的利弊。其利在于极快的运算速度。运行20000步都不到10秒。而其弊端在于其循环或者说迭代并不逐步显示,要想观察其动态变化只能手动调拉杆。
不过其弊端也正是运算速度快的原因,最庞大的运算量集中在坐标值和颜色布尔值的加减,而不是不断呈现图像,使得其在大数据处理时有强大的运算力。
程序已封包,想看vb的可下载打开。
元胞自动机——蚂蚁法则.rar
(5.64 KB, 下载次数: 180, 售价: 5 个大洋)
|
看来机器的配置非常重要……我的双核2G机器看不到过程,而HF同学发的视频就可以看到过程……
楼主的最后结果用point cloud运算器显示即可,不用planar surface封面
顺便问下,楼主的VB学了多久了?
举报