18
General Purpose 3D Cellular Automata Modeller

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

Embed Size (px)

Citation preview

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Questions?

• http://sf.net/projects/cellulate• http://cellulate.net/