Simulating cellular automata

This project implements cellular automata, specifically, John Conway’s Game of Life (GoL). Cellular automata are simulation models where cells in a lattice change their states according to rules that are applied to their local neighbourhoods. They have become important in scientific...

全面介紹

Saved in:
書目詳細資料
主要作者: Leong, Yew Long.
其他作者: School of Computer Engineering
格式: Final Year Project
語言:English
出版: 2012
主題:
在線閱讀:http://hdl.handle.net/10356/48468
標簽: 添加標簽
沒有標簽, 成為第一個標記此記錄!
實物特徵
總結:This project implements cellular automata, specifically, John Conway’s Game of Life (GoL). Cellular automata are simulation models where cells in a lattice change their states according to rules that are applied to their local neighbourhoods. They have become important in scientific simulation because they can exhibit complex behaviours despite simple rules, making them powerful yet easy to apply. This project chose a prominent cellular automaton, the GoL, and identified a property unique to GoL’s rules that was exploited to yield an optimised (faster) simulation speed. The project also aimed to plug a gap left by current cellular automata programs that are used for very large simulations. These programs are hash-based and work well for large predictable patterns but not for large arbitrary inputs. Lastly, the localised rules of cellular automata lend themselves naturally to parallel process- ing and this project also explored methods to run a multi-threaded GoL. The resulting implementations of GoL were then tested and benchmarked, of which the faster GoL yielded a good speedup while trading off memory usage. The program to simulate large arbitrary input worked and exhibited low overheads when scaled but suffered from an addressable limitation on file size. The multi-threaded GoL worked well and could pave the way for a similar GPU implementation.