general purpose 3d cellular automata modeller. a regular lattice of cells, each obeying the same set...
TRANSCRIPT
![Page 1: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/1.jpg)
General Purpose 3D Cellular Automata Modeller
![Page 2: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/2.jpg)
What are Cellular Automata?
• 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
![Page 3: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/3.jpg)
Applications for Cellulate
• Biological Models• Fluid Pressure and Movement Models• Image Processing• Chemical Reactions• Others
![Page 4: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/4.jpg)
• 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
Our Customer
![Page 5: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/5.jpg)
Existing Software
• Many only 2D• Many did not support multiple cell variables• Most only simulated variations of the Game of
Life• None were distributed
![Page 6: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/6.jpg)
Project Goal
“To create a general purpose simulator for three dimensional cellular automata”
![Page 7: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/7.jpg)
Features
• 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
![Page 8: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/8.jpg)
Design Concept
Cellunet NodeCellulate Client
![Page 9: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/9.jpg)
Project Architecture
Processing
GUI
Renderer
Storage
Networking
Cellulate Client Cellulate Node
Networking
Storage
![Page 10: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/10.jpg)
Renderer
• 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
![Page 11: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/11.jpg)
Renderer LOD Design
![Page 12: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/12.jpg)
Networking
• Distribute, gather and synchronise regions• 26 edges to swap• Allocating regions efficiently– Reduce surface area– Load balancing
• Fault tolerance
![Page 13: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/13.jpg)
Data Storage
• Current solutions can require >8Gb per run• Compression algorithms reduce storage
demands to approximately 14%• Balances conflicting requirements of
compression and speed
![Page 14: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/14.jpg)
Simulation Processing
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
![Page 15: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/15.jpg)
Simulation Processing
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);
![Page 16: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/16.jpg)
Conclusions
• 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
![Page 17: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/17.jpg)
Demonstration
![Page 18: General Purpose 3D Cellular Automata Modeller. A Regular Lattice of Cells, each obeying the same set of rules Simple rules for individual cells can produce](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649db45503460f94aa4351/html5/thumbnails/18.jpg)
Questions?
• http://sf.net/projects/cellulate• http://cellulate.net/