不知道有多少人已经熟知 Conway 的生命游戏,但却从没听说过 Langton 的蚂蚁游戏?反正我是其中之一。直到今天我才听说了这个比生命游戏更酷的游戏—— Langton 的蚂蚁mathworld.wolfram.com/LangtonsAnt.html。这也是一个二维自动机形式的零玩家游戏,不过我觉得它比生命游戏有趣得多。这有两个理由:
1. 它的算法过程更简单。初始时,蚂蚁位于一张空白画布的某个方格里。如果当前蚂蚁在白色方格上,则对当前方格反色,左转 90 度,前进一格;如果当前蚂蚁在黑色方格上,则对当前方格反色,右转 90 度,前进一格。如此反复。
2. 它的结果更有意思——刚开始,画布上将生成毫无规律的复杂图形,实在让人很难相信这竟是由如此简单的规则产生的;直到上万步之后,整个过程才会进入循环,画出有规律的图形。
下面是一个模拟 Langton 蚂蚁的 javascript 小程序(来源:wendlinger.org/jowe/langton_ant.html)。你有兴趣看到第 10000 步吗?
注意:最好不要尝试在图形区域里点鼠标什么的,我的浏览器几次都因为这个而停止响应。