500步
1000步
4600步
未完善的程序到4500步的时候就慢得只能1秒1步了,之后做了改善,虽然改善后的程序9000步依然用了1小时。
9000步
算法的取巧是不更替原有点,而直接在Z轴上累加,由于在top视图中只看得到最上面的点,所以top视图可以完美呈现图案,并且对于需要做后期分析的同学来说,保留记录有利于找出特解矩阵(见附注)。
但是这样也导致巨大的运算冗余,当步数增大时,找寻的过程会非常耗时。(根据Profiler发现在找到Z轴最高点这块用了90%以上的时间)
对程序的简单演示
电池图(未整理,有些乱)
附注:如12000步图
单一元胞自动机在一定步数后会呈现周期性变化。并且,多次改变初始状态后,运算发现其周期性变化是相同的。据此可以认为,当蚂蚁走入某个矩阵时,会走出“公路”逃逸,且此矩阵是唯一的。我们把这个矩阵称为特解矩阵M。如果我们给程序附加一个判断条件,并给出一个特解算子s,当蚂蚁面前出现M时,执行s(M),则元胞将永远处于混沌状态。具体可以应用在比如密码学上,单一元胞自动机找出特解矩阵后可以替代耦合元胞自动机。这方面楼主已写出论文初稿,正在等导师的答复。
最后附上12000步 1步1帧 完整版视频
以及四倍速版
话说传成视频后清晰度实在是低。有需要12000步完整清晰图的同学请留言吧。
|
hoopsnake解法的优势在于:可以得到每个点被蚂蚁走过的次数
劣势在于需要保存大量数据,到后期运行实在太慢了……
举报