Download presentation
Presentation is loading. Please wait.
Published byJanis McCoy Modified over 9 years ago
1
General Purpose 3D Cellular Automata Modeller
2
A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce complex global behaviour Used in the study of other systems with similar characteristics
3
Biological Models Fluid Pressure and Movement Models Image Processing Chemical Reactions Others
4
Antony Holmes, a PhD student in DCS Modelling of Myxobacteria Rippling Requires 2D and 3D Cellular Automata Case study for more general use of CA
5
Many only 2D Many did not support multiple cell variables Most only simulated variations of the Game of Life None were distributed
6
“To create a general purpose simulator for three dimensional cellular automata”
7
Simulates 1D, 2D and 3D CA Distributed processing Supports massive simulations (>100 million cells) Support for any number of cell variables, any neighbourhood sizes Intuitive GUI for creating simulations and viewing results Simple C++ scripting for maximum speed/flexibility
8
Cellunet NodeCellulate Client
9
Processing GUI Renderer Storage Networking Cellulate ClientCellulate Node Networking Storage
10
Renders simulation results in 3D Can render simulations up to 500 million cells Highly interactive user interface Optimised to display within limitations of single machine
12
Distribute, gather and synchronise regions 26 edges to swap Allocating regions efficiently – Reduce surface area – Load balancing Fault tolerance
13
Current solutions can require >8Gb per run Compression algorithms reduce storage demands to approximately 14% Balances conflicting requirements of compression and speed
14
Provides: System for rule scripting: Processing of a simulation region: - Functions for script definition - Compiling & loading scripts - Updating regions - Updating the shared edges between regions
15
Conway’s Game of Life In Cellulate 1. Any live cell with fewer than two live neighbours dies. 2. Any live cell with more than three live neighbours dies. 3. Any live cell with two or three live neighbours lives, unchanged. 4. Any dead cell with exactly three live neighbours comes to life. if ( numNeighbours == 3 )// 3 & 4 Set("cellalive", true); else if ( numNeighbours == 2 ) // 3 CopyCell(); else// 1 & 2 Set("cellalive", false);
16
Cellulate is now an Open Source project – hosted on SourceForge We hope it will enable new research into Cellular Automata and their applications Project may continue next year with new group
18
http://sf.net/projects/cellulate http://cellulate.net/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.