我一直在玩 Conway 的生命游戏,最近发现了一些令人惊讶的快速实现,例如 Hashlife 和 Golly。 (在这里下载Golly -http://golly.sourceforge.net/ http://golly.sourceforge.net/)
我无法理解的一件事是程序员如何实现无限网格?我们无法保持任何东西的无限阵列,如果你运行天哪,让几架滑翔机飞过边缘,等待几分钟并向右缩小,你会看到滑翔机仍然在太空中逃跑,那么,以上帝的名义,这个无穷大的概念是如何以编程方式处理的呢?是否有一个记录良好的模式或什么?
非常感谢
维基百科解释了它 http://en.wikipedia.org/wiki/Hashlife。
基本思想是康威的生命游戏表现出局部性,因为与图案大小相比,信息传播的速度较慢,并且填充单元的最大密度约为任何区域中单元的 1/2。 (更多的细胞会因过度拥挤而被杀死。)
由于存在局部性,因此您可以将场分开在不同的部分中并独立地模拟每个部分。如果你选择得当,你经常会看到相同的模式。您可以模拟它们的演变方式并将结果存储在查找表中,这样同一模式的其他实例就不需要多次模拟。将相邻模式组合成更大的“元模式”还可以让您预先计算这些模式,等等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)