×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

在用vb解算元胞自动机——蚂蚁法则http://www.xuexiniu.com/thread-63438-1-2.html之后,根据编程的思路,尝试不用代码解出元胞自动机。其间遇到了一些问题,主要集中在对条件语句的gh翻译上,最后算是解出来了,但其运算速度和代码是无法比的。


500步

500步.png


1000步

1000步.png


4600步

4600步.png


未完善的程序到4500步的时候就慢得只能1秒1步了,之后做了改善,虽然改善后的程序9000步依然用了1小时。


9000步

搜狗截图14年02月10日1623_2.png


搜狗截图14年02月10日1624_3.png


算法的取巧是不更替原有点,而直接在Z轴上累加,由于在top视图中只看得到最上面的点,所以top视图可以完美呈现图案,并且对于需要做后期分析的同学来说,保留记录有利于找出特解矩阵(见附注)。

但是这样也导致巨大的运算冗余,当步数增大时,找寻的过程会非常耗时。(根据Profiler发现在找到Z轴最高点这块用了90%以上的时间)


对程序的简单演示



电池图(未整理,有些乱)

111.png


附注:如12000步图

QQ截图20140204125803.png

单一元胞自动机在一定步数后会呈现周期性变化。并且,多次改变初始状态后,运算发现其周期性变化是相同的。据此可以认为,当蚂蚁走入某个矩阵时,会走出“公路”逃逸,且此矩阵是唯一的。我们把这个矩阵称为特解矩阵M。如果我们给程序附加一个判断条件,并给出一个特解算子s,当蚂蚁面前出现M时,执行s(M),则元胞将永远处于混沌状态。具体可以应用在比如密码学上,单一元胞自动机找出特解矩阵后可以替代耦合元胞自动机。这方面楼主已写出论文初稿,正在等导师的答复。


最后附上12000步 1步1帧 完整版视频



以及四倍速版



话说传成视频后清晰度实在是低。有需要12000步完整清晰图的同学请留言吧。






本作品版权归 此间的少年 所有,原创作品 » 【禁止商业用途、禁止转载、禁止个人使用】
转播
5 点击回复 1 点击点赞 4 点击收藏
淘帖 举报
使用道具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

wyx10022 | 网校特聘讲师 | 发表于 2014-2-10 16:49:29
楼主很用心,适合搞研究……
hoopsnake解法的优势在于:可以得到每个点被蚂蚁走过的次数
劣势在于需要保存大量数据,到后期运行实在太慢了……
0 回复

举报

此间的少年 · 发表于 2014-2-10 17:51 点评

是的。 如果能找到把点的横纵坐标的数值转换成路径名,把相同横纵坐标的点归组的方法,应该就解决了数据累积这个问题。不懂王老师有没有什么好的思路?

此间的少年 | 设计师 | 发表于 2014-2-10 17:51:06
wyx10022 发表于 2014-2-10 16:49
楼主很用心,适合搞研究……
hoopsnake解法的优势在于:可以得到每个点被蚂蚁走过的次数
劣势在于需要保存 ...

是的。
如果能找到把点的横纵坐标的数值转换成路径名,把相同横纵坐标的点归组的方法,应该就解决了数据累积这个问题。不懂王老师有没有什么好的思路?
0 回复

举报

wyx10022 | 网校特聘讲师 | 发表于 2014-2-10 18:41:06
加内存条:lol
0 回复

举报

真的别无所求 · 发表于 2014-2-12 16:55 点评

最简单实用的建议!呵呵!

塔利森 | 实习生 | 发表于 2016-11-4 19:56:28
厉害,不知道是否能用于建筑设计的思想中
0 回复

举报

LANAE | 实习生 | 发表于 2019-9-18 21:14:48
请问如何将元胞生成点bake出来?
0 回复

举报