Golly
Golly是由Andrew Trevorrow和Tom Rokicki開發的跨平台開源軟件,可用於模擬康威生命遊戲或其他類型的元胞自動機。Golly包含大量預先設定的元胞模式和生長規則,可模擬大尺度、長時間的元胞行為;採用wxWidgets編寫圖形用戶界面,並支持Python和Lua(v3.0之前的版本是Perl)腳本語言[2]。Golly採用GNU GPL第2版協議發佈,屬於自由軟件[3]。
原作者 | Andrew Trevorrow Tom Rokicki |
---|---|
開發者 | The Golly Gang |
首次發佈 | v0.1(2005年7月) |
當前版本 | v3.1(2017年10月 | )
程式語言 | C++ |
作業系統 | Linux, FreeBSD, OpenBSD, Windows, OS X, iOS, Android |
語言 | 英文 |
類型 | 遊戲, 模擬器 |
許可協議 | GNU GPL (第2版) |
網站 | golly |
算法與規則
Golly支持以下算法及規則[4]:
- QuickLife:一種常規的算法,支持包括康威生命遊戲在內的各種二維鄰域總和相關(outer-totalistic)規則,還支持史蒂芬·沃爾夫勒姆的一維規則。
- HashLife:一種基於散列表的算法,支持的規則與QuickLife相當。當元胞模式規律性較強時,HashLife的效率將大大超過QuickLife;當元胞模式趨於混沌時,HashLife反而不如QuickLife高效。
- Generations:一種支持多元胞狀態的算法,經典的康威生命遊戲中每個元胞只有生/死兩種狀態,而Generations可以支持那些擁有多狀態(最高可達256個狀態)的規則。
- JvN:由約翰·馮·諾伊曼最早提出的元胞自動機算法(20世紀40年代),支持諾伊曼本人提出的JvN29規則(一個包含29種狀態的元胞自動機)及其變種。
- RuleLoader:允許用戶自定義規則的算法,用戶可通過外部.rule文件按照規定的格式[5]定義規則。
快捷操作
鼠標快捷操作
- 單擊狀態欄的"Generation=..."可修改代數
- 單擊狀態欄的"Scale=..."可將顯示比例設定為1:1
- 單擊狀態欄的"Step=..."可將步長恢復為默認值(即指數位恢復為0)
- 雙擊編輯欄的元胞圖標可設定界面及圖標顏色
- 使用鼠標滾輪可縮放當前視野
- 在文件欄中右鍵單擊可打開並編輯模式文件
鍵盤快捷鍵
Tab | 下一步 | 空格 | 下一代 | 回車 | 暫停/啟動元胞繁殖 | ||
方向鍵 | 移動視野 | + | 加快速度(Step指數位加1) | - | 降低速度(Step指數位減1) | ||
? | 顯示幫助 | [ | 縮小 | ] | 放大 | ||
Ctrl+R | 恢復到初始形態 | Z | 撤銷 | Shift+Z | 重做 | ||
L | 顯示/不顯示網格 | T | 自動調整視野大小 | F | 調整視野大小以適應當前形態 | ||
B | 反色顯示 | F11 | 全屏顯示 | ' | 顯示/隱藏工具欄 | ||
P | 顯示/隱藏文件欄 | ; | 顯示/隱藏狀態欄 | / | 顯示/隱藏編輯欄 | ||
Ctrl+N | 新建元胞模式 | Ctrl+S | 保存當前形態 | Ctrl+Q | 退出Golly |
同類軟件
與Golly功能相仿的軟件有:
- MCell:由Mirek Wójtowicz編寫的模擬軟件。項目主頁:www
.mirekw .com /ca /index .html - Xlife:由Jon Bennett編寫的模擬軟件。項目主頁:freecode
.com /projects /xlife - Life32:由Johan Bontes編寫的模擬軟件。項目主頁:psoup
.math .wisc .edu /Life32 .html - LifeLab:由Andrew Trevorrow編寫的模擬軟件。項目主頁:www
.trevorrow .com /lifelab /
參考資料
- ^ Rendell, P., A universal Turing machine in Conway's Game of Life, 2011 International Conference on High Performance Computing and Simulation (HPCS) (PDF): 764–772, 2011 [2014-03-11], doi:10.1109/HPCSim.2011.5999906, (原始內容 (PDF)存檔於2014-03-11)
- ^ Golly's key features. [2014-03-11]. (原始內容存檔於2007-06-26).
- ^ License of Golly. [2014-03-11]. (原始內容存檔於2021-01-04).
- ^ Golly's online help -- Algorithms. [2014-03-12]. (原始內容存檔於2020-10-23).
- ^ Golly's rule file format. [2014-03-12]. (原始內容存檔於2020-11-12).
- ^ Golly's online help -- Mouse Shortcuts. [2014-03-12]. (原始內容存檔於2018-06-24).
- ^ Golly's online help -- Keyboard Shortcuts. [2014-03-12]. (原始內容存檔於2020-11-08).