Game of Life -- 黑客的玩具
黑客的标志
以前很多次见到过这个标志,知道它与黑客文化间有密切的关系,但直到最近我才知道它代表的意思。使用这个标志来代表黑客,最早是由Eric S. Raymond提出的,它来自于一个叫做Game of Life(生命游戏)的数学游戏。这个图案叫做glider,是Game of Life中的一个模型(pattern)。
生命游戏
Game of Life是由英国数学家John Horton Conway在1970年发明的数学游戏,最早刊登在《科学美国人》杂志上。
这个游戏又叫生命棋,它的棋盘是一张巨大的矩形网格(如上图)。染色的格子表示里面有一个活细胞,空的格子表示里面没有细胞。玩家可以在棋盘上随意设置初始细胞的存活情况(即对网格中的格子随意染色),然后就任由这些细胞在棋盘中一代一代的繁殖吧!细胞如何进行繁殖取决于一定的规则和当前细胞的存活情况。那些规则都是由人来制定的,因此有许多版本,其中Conway's Life规则是最简单的一种规则,它规定:
- 每个格子内下一代中是否有活细胞取决于当前与该格子相邻的8个格子中的细胞存活情况。
- 当一个活细胞周围有2或3个活细胞时,在下一代中,这个细胞仍然会存活;否则死亡。
- 当一个格子周围有3个活细胞时,在下一代中,该格子内会出现活细胞。
细胞按照这些规则进行繁殖,我们可以看一下glider的繁殖情况:
这个模型一直存活,沿着它的对角线移动。而且在许多任意设置初始细胞存活状态的繁殖过程中,经过很多代的繁殖,都会出现这个模型。
据说EA近期的大作《孢子(Spore)》的一些创意就来自于这个游戏。这个游戏也对如今的人工生命学科有很大影响。
一些程序实现
1.在线的Game of Life
http://www.bitstorm.org/gameoflife/
这个网址提供了一个在线生命游戏。
单机版下载地址:http://download.csdn.net/source/1594645
2.GtkLife
基于gtk的一个生命游戏软件,gentoo用户可以直接
游戏截图如下:
在portage里面还有qlife和wmlife也是这个游戏的实现。
3.Emacs里的Game of Life
这种黑客的玩具早就被融入到Emacs里面了。打开Emacs,试一下
参考资料
1.Wikipedia上的资料
2.其他资料
<注>:本文中的许多图片来源于wikipedia