Cellular Automata Models Maria Byrne August 10 th 2005 VICBC 1 st Annual Workshop.

Slides:



Advertisements
Similar presentations
Time averages and ensemble averages
Advertisements

10.2 Diffusion and Cellular Automata. Simulating Motion: Cellular Automata If all we have to work with is a grid of cells (spreadsheet), how can we simulate.
Movements of Molecular Motors: Random Walks and Traffic Phenomena Theo Nieuwenhuizen Stefan Klumpp Reinhard Lipowsky.
Overview: A Sampling of Some Recent Computational Modeling Efforts MA354 – Computational Math Modeling.
Game of Life Rules and Games Linh Tran ECE 573. What is Life? Life is just one example of a cellular automaton, which is any system in which rules are.
1 Stefano Redaelli LIntAr - Department of Computer Science - Unversity of Milano-Bicocca Space and Cellular Automata.
Easy Optimization Problems, Relaxation, Local Processing for a single variable.
William Moss Advanced Image Synthesis, Fall 2008.
Cellular Automata (Reading: Chapter 10, Complexity: A Guided Tour)
Return to Eden: How biologically relevant can on- lattice models really be?
Cellular Automata & Molluscan Shells
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
CELLULAR AUTOMATON Presented by Rajini Singh.
CELLULAR AUTOMATA Derek Karssenberg, Utrecht University, the Netherlands LIFE (Conway)
1 MECH 221 FLUID MECHANICS (Fall 06/07) Tutorial 6 FLUID KINETMATICS.
Cellular Automata MATH 800 Fall “Cellular Automata” 588,000 results in 94,600 results in 61,500 results in 2.
An Introduction to Cellular Automata
Joanne Turner 15 Nov 2005 Introduction to Cellular Automata.
1 The Potts model Mike Sinclair. 2 Overview Potts model –Extension of Ising model –Uses interacting spins on a lattice –N-dimensional (spin states > 2)
Cellular Automata Orit Moskovich
Introduction At the heart of the growth of a multi-cellular organism is the process of cellular division… … aka (in computing) self-replication.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
CITS4403 Computational Modelling Fractals. A fractal is a mathematical set that typically displays self-similar patterns. Fractals may be exactly the.
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
The Role of Artificial Life, Cellular Automata and Emergence in the study of Artificial Intelligence Ognen Spiroski CITY Liberal Studies 2005.
Chapter 11: Diffusion. Diffusion Diffusion refers to any process in which a substance or property spreads from one region to another: transfer of heat,
Notes on Modeling with Discrete Particle Systems Audi Byrne July 28 th, 2004 Kenworthy Lab Meeting Deutsch et al.
Indiana GIS Conference, March 7-8, URBAN GROWTH MODELING USING MULTI-TEMPORAL IMAGES AND CELLULAR AUTOMATA – A CASE STUDY OF INDIANAPOLIS SHARAF.
Cellular Automata Models Maria Byrne August 10 th 2005 VICBC 1 st Annual Workshop.
A Quick Look at Cellular Automata Models for Solid Tumor Growth Philip Crooke Department of Mathematics Biomathematics Study Group Vanderbilt Integrative.
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
MA354 Mathematical Modeling T H 2:45 pm– 4:00 pm Dr. Audi Byrne.
1 Cellular Automata and Applications Ajith Abraham Telephone Number: (918) WWW:
Centre for Advanced Spatial Analysis (CASA), UCL, 1-19 Torrington Place, London WC1E 6BT, UK web Talk.
CompuCell3D: A Morphogenesis simulation package
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
CELLULAR AUTOMATA A Presentation By CSC. OUTLINE History One Dimension CA Two Dimension CA Totalistic CA & Conway’s Game of Life Classification of CA.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
Model Iteration Iteration means to repeat a process and is sometimes referred to as looping. In ModelBuilder, you can use iteration to cause the entire.
Myxobacteria are ubiquitous gram-negative social bacteria which move by gliding. They form fruiting bodies in response to starvation. Introducing Myxobacteria.
Cellular Automata. John von Neumann 1903 – 1957 “a Hungarian-American mathematician and polymath who made major contributions to a vast number of fields,
Overview of Other Numerical Methods
Sketch Outline Ising, bio-LGCA and bio-Potts models Potts model general description computational description Examples of ‘energies’ (specifying interactions)
The Science of Complexity J. C. Sprott Department of Physics University of Wisconsin - Madison Presented to the First National Conference on Complexity.
Unifying Dynamical Systems and Complex Networks Theories ~ A Proposal of “Generative Network Automata (GNA)” ~ Unifying Dynamical Systems and Complex Networks.
II. Fruiting Body Formation in Myxobacteria ? Under starvation conditions, Myxobacteria aggregate into huge fruiting bodies. ? Within the fruiting bodies,
Introduction: Lattice Boltzmann Method for Non-fluid Applications Ye Zhao.
Multiscale Modeling of Avascular Tumor Growth Jelena Pjesivac-Grbovic Theoretical Division 7, LANL Ramapo college of New Jersey University of Tennessee,
Cell-based models of morphogenesis in normal and pathogenic development - Continued Maria Audi Byrne September 21 st 2007 Mathbiology and Statistics Seminar.
Cellular Automata Introduction  Cellular Automata originally devised in the late 1940s by Stan Ulam (a mathematician) and John von Neumann.  Originally.
MA354 An Introduction to Math Models (more or less corresponding to 1.0 in your book)
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
Pedro R. Andrade Münster, 2013
제 4 주. Cellular Automata A Brief history of Cellular Automata P. Sarkar, ACM Computing Surveys, vol. 32, no. 1, pp. 80~107, 2000 학습목표 계산도구로서의 Cellular.
1 Cellular Automata What could be the simplest systems capable of wide-ranging or even universal computation? Could it be simpler than a simple cell?
Computational Mechanics of ECAs, and Machine Metrics.
Why use landscape models?  Models allow us to generate and test hypotheses on systems Collect data, construct model based on assumptions, observe behavior.
MA354 Math Modeling Introduction. Outline A. Three Course Objectives 1. Model literacy: understanding a typical model description 2. Model Analysis 3.
Modeling Approaches to Biological Problems
Modelagem Dinâmica com TerraME Aula 5 – Building simple models with TerraME Tiago Garcia de Senna Carneiro (UFOP) Gilberto Câmara (INPE)
Mean Field Methods for Computer and Communication Systems Jean-Yves Le Boudec EPFL Network Science Workshop Hong Kong July
Spatio-Temporal Information for Society Münster, 2014
Hiroki Sayama NECSI Summer School 2008 Week 3: Methods for the Study of Complex Systems Cellular Automata Hiroki Sayama
Monte Carlo methods 10/20/11.
A Stochastic Model of Cell Differentiation
Cellular Automata + Reaction-Diffusion Systems
Cellular Automata.
Spatio-temporal information in society: cellular automata
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Cellular Automata Hiroki Sayama
Computational Mechanics of ECAs, and Machine Metrics
Presentation transcript:

Cellular Automata Models Maria Byrne August 10 th 2005 VICBC 1 st Annual Workshop

Origin, History of Cellular Automata Developed by Stanislaw Ulam, John von Neumann 1940’s Ulam’s lattice network model for crystal growth Von Neumann’s self-replicating systems Popularized by John Conway, 1970’s Game of Life Systematically investigated by Stephen Wolfram, 1980’s 1D “Elementary” Cellular Automata Wolfram’s “A New Kind of Science” in 2002

Properties, Definition of Cellular Automata Discretized Space A regular lattice of “nodes”, “sites”, or “cells” Discretized Time The lattice is a dynamical system updated with “time-steps”. Discretized States For Each Node E.g.; binary states

Discrete Vs Continuous Continuous Approaches (PDEs) Discrete Approaches (lattices)

Properties, Definition of Cellular Automata Universal Rule for Updating Node States Applied to every node identically States at time t+1 are based on states at time t Neighborhood (local) Rule for Updating Node States New node states are determined by nearby states within the “interaction neighborhood” Rules may be deterministic or stochastic

Example of an Elementary CA Wolfram’s Rule #122 One-dimensional, only binary ‘0’ and ‘1’ Initial conditions: (t=0) Simple, Deterministic Update Rule: If exactly one neighbor is ‘1’, become ‘1’. If both neighbors are ‘1’, become ‘0’. States at t=1:

Example of an Elementary CA Wolfram’s Rule #122 As t increases 

Examples of Regular Lattices 1-D Square Triangular Hexagonal

Examples of Interaction Neighborhoods von Neumann Moore Radial Biological Application: C- Signaling in Myxobacteria

Dale Kaiser Neighborhood for a Biological Application: C-Signaling in Myxobacteria

Versatility of CA in Biology Occular dominance in the visual cortex Swindale 1980 Tumor Growth Duchting & Vogelssaenger, 1983; Chodhury et al, 1991; Pjesevic & Jiang 2002 Microtubule Arrays Smith et al, 1984; Hammeroff et al, 1986 Animal Coat Markings Young 1984, Cocho et al, 1987 Cell sorting Bodenstein, 1986; Goel & Thompson 1988, Glazier & Graner 1993 Neural Networks Hoffman 1987 Nerve and muscle, cardiac function Kaplan et al 1988 Cell dispersion Othmer, Dunbar, Alt 1988 Predator Prey Models Dewdney 1988 Immunology Dayan et al, 1988; Sieburgh et al, 1990; DeBoer et al, 1991 Angiogenesis Stokes, 1989; Peirce & Skalak 2003 Cell Differentiation and Mitosis Nijhout et al 1986; Dawkins 1989 Plant Ecology Moloney et al 1991 Honey Bee Combs Camazine 1991 G-protein Activation Mahama et al 1994 Bacteria Growth Ben-Jacob et al 1994

Population dynamics Janecky & Lawniczak 1995 Reaction diffusion Chen, Dawson, Doolen 1995 Actin Filaments Besseau & Geraud-Guille 1995 Animal Herds Mogilner & Edelstein-Keshet 1996 Shell pigmentation Kusch & Markus 1996 Alignment Cook, Deutsch, Mogilner 1997 Fruiting Body Formation of Dicty Maree & Hogeweg 2000 Convergent Extension Zebrafish Zajac, Jones, Glazier 2002 Fruiting Body Formation Myxobacteria Alber, Jiang, Kiskowski, 2004 Limb Chondrogenesis Kiskowski et al, 2004; Chaturvedi et al, 2004 T-cell Synapse Formation Casal, Sumen, Reddy, Alber, Lee, 2005 Cellular Automata Approches to Biological Modeling Ermentrout and Edelstein-Keshet, J. theor. Biol, 1993 Versatility of CA in Biology

Phototaxis during the Slug Stage of Dictyostelium discoideum: a Model Study Marée, Panfilov and Hogeweg Proceedings of the Royal Society of London. Series B. Biological sciences 266 (1999)

Advantages of Cellular Automata Straight-forward implementation. Local rules are intuitive and easy to modify. Transversing length scales: Cells are a natural mesoscopic unit. With modern computational power, 10^3-10^5 cells can be modeled on a PC. Physical Mechanisms easily verified In silico response variables may be the same as for an in vivo experiment. Reflects intrinsic individuality of cells. Unbounded complexity potential.

Example: Self-Organization Emerges from a Population of Equivalent Cells due to Local Individual Interactions Shimkets and Kaiser

Example: Self-Organization Dale Kaiser

Disadvantages of Cellular Automata Analytic analysis of results difficult. Description of ‘average’ behavior difficult. Require large computational resources. Arbitrary limitations Limited directions on a regular lattice Rigid body motion difficult Artifacts and discretization errors.

Example: Lattice Artifacts Round off errors: particles appear and disappear unnaturally. Overly regular structures. Unrealistic periodic behavior over time: “bouncing checkerboard behavior”.

Building a Cellular Automata: Diffusion

Software.. Mathematica C, C++ Fortran Matlab

1. Creating The Lattice Space is a matrix corresponding to a square lattice: Matlab: M=zeros(4,4);

2. Adding A Cell 2. A cell is an “occupied node” where matrix values are non-zero. Matlab: M(2,3) = 1;

3. Adding Different Cell Types Different cells can be modeled as different matrix values. M(2,2)=2; M(2,3)=2; M(3,3)=2; M(4,3)=2;

4. Choosing Random Cell Directions Diffusion of a cell is modeled by moving the cell in a random direction at each time-step. For each cell, choose a random number between 0 and 4: 0 => rest 1 => right 2 => up 3 => left 4 => down Matlab: direction=fix (rand(1,1)*5)-1;

5. Move each cell in the chosen direction. Cells move by updating the lattice. Example: Moving a Cell to the Right Matlab: M(2,3)=0; M(2,4)=1;

Diffusion: Technical Detail How to handle cells which would move off the lattice? Reflection: cells must choose another direction. Periodic boundary conditions: cells leave and enter the other side of the lattice. Zero flux conditions: a cell may move off the lattice, but another cell appears at random at another boundary pixel

Cell Diffusion

Slower diffusion is modeled by adding an increased probability that the cell rests during a timestep. Fast: P(resting)=0 Slow: P(resting)=.9 Matlab: if rand(1,1) > P(resting) direction = fix (rand(1,1)*4); end

Application: Modeling FRAP “Fluorescent Recovery After Photobleaching” Modeling the diffusion of fluorescent molecules and “photobleaching” a region of the lattice to look at fluorescence recovery. 1. Fluorescent molecules diffuse on the lattice. 2. All molecules in Region A are “photobleached” (state changes from ‘1’ to ‘0’). 3. Recovery: remaining flourescent molecules diffuse into Region A randomly.

Application: Modeling FRAP Modeling the diffusion of fluorescent molecules and “photobleaching” a region of the lattice to look at fluorescence recovery.

Building a Cellular Automata: Diffusion and Growth

For simplicity, assume there is only one cell type. Then, a non-zero state can refer to the age of the cell, rather than the cell type.

Modeling a Particle Timer (1)A new cell is represented by a node state “1”. (2) At each time-step, the cell’s state is increased by 1. Matlab: M = (M>0).*(M+1); Biologically motivated variation: The cell state increases only if there is enough oxygen. (3) When the cell’s state reaches ‘10’, the cell is ready to divide, and will divide if there is room to do so.

1.Define Initial Conditions: Create a Lattice with Cells with Timers Initial conditions: cells are added to a 50x50 lattice with random positions at density.1 and random timer states between 1 and 10. Matlab: M=(rand(50,50)<.1)*fix(rand(50,50)*10);

Initial conditions Yellow: Timer =1 Cyan: 1<Timer<10 Blue: Timer >= 10

2. Define Local Rules: Cells Diffuse and Cells Age At each time-step, cells diffuse by moving in a random direction. At each time-step, cell timers are increased by 1. If a cell timer is ‘10’, and if there is an unoccupied node adjacent: A new cell is created in a random adjacent unoccupied node with state ‘1’. The cell’s timer is reset from ‘10’ to ‘1’.

4. Modeling an oxygen source Oxygen is modeled as a point source: Every time-step, 5 units of oxygen are added to the center of the lattice. Every time-step, units of oxygen diffuse.

Point Oxygen Source

5. Update Local Rules: Cells Diffuse and Cells Age/Grow Only If There is Enough Oxygen At each time-step, cells diffuse by moving in a random direction. At each time-step, cell timers are increased by 1 if oxygen is present. If a cell timer is ‘10’, and if there is an unoccupied node adjacent: A new cell is created in a random adjacent unoccupied node with state ‘1’. The cell’s timer is reset from ‘10’ to ‘1’.

Defining Spatial and Temporal Scales Ways of defining the temporal scale: (1)Spatial scale combined with known diffusion rates often describe temporal scale. Example: A cell moves ‘y’ micrometers per second. If a simulation cell moves 1 node per time-step, and if a node is ‘x’ micrometers in width, then one time-step is x/y seconds. (2) Comparing time-evolution of pattern in simulation with that of experiment. If a pattern takes x hours to evolve in experiment, and y time-steps to evolve in silico, then y time-steps := x hours. (3) Intrinsic temporal scale: cell or molecule timer. If a cell timer counts ‘x’ time-steps corresponding to a cell cycle of ‘y’ hours, then one time-step corresponds to y/x hours.

Defining Spatial and Temporal Scales Ways of defining the spatial scale: (1)One node corresponds to one cell area. (2) If there is a natural temporal scale (e.g., a cell cycle described by a timer of ‘x’ time-steps), then the spatial scale can be calculated by comparing the diffusion rates of the cell in experiment and in silico.

Defining Spatial and Temporal Scales Once the spatial and temporal scales are defined: (1)All time scales on the lattice are made equivalent. (e.g., if oxygen diffusion 100 times faster than a cell, and oxygen diffuses 1 node per time-step, then a cell diffuses.01 nodes per time-step) (2) All spatial scales on the lattice are made equivalent. ( unless it is reasonable to approximate objects as points)

Example: A Tumor Model Based on Diffusion and Growth Model of Düchting & Vogelsaenger, 1981 Diffusion of cells and nutrients Cell divisions based on cell cycle Two cell types: normal and fast growth Cell death (necrosis) based on cell cycle 40x40x40 3D lattice

Types of CA Models Lattice Gases (LGCA) Bio-LGCA Pott’s Model Hybrid Models

LGCA Cells/particles are modeled as points. The cell state corresponds to the cell “channel”, or orientation. Important exclusion rule: only one cell per channel (all cells at the same node have different orientations) Computationally efficient updating with a 2-step transition rule at every time-step: (1) Interaction step: Cells are assigned new velocities. (e.g., collisions, alignment, birth, death.) (2) Transport step: All cells are transported simultaneously along velocity channels. Examples: Ideal fluids and gases (Hardy, de Passis, Pomeau 1976) Rippling and aggregation in myxobacteria Application: large numbers of uniformly interacting particles

Biological LGCA Coined by Edelstein-Keshet and Ermentrout, 1990 May relax exclusion principle or include novel modeling elements

Pott’s Model Cells are modeled as several lattice pixels with an area or volume. Generalization of the Ising model since each cell has a unique “spin”. At each time-step, a cell pixel may change spin and become part of another cell or become part of the ECM. Examples: Sorting of biological cells via cell-cell adhesion (Glazier and Graner, 1993) Morphogenesis in Dicty (Maree et al, 2000) Zebrafish convergent extension (Zajac et al, 2002) Limb morphogenesis (Chaturvedi et al, 2004)

Jiang and Pjesevic

Hybrid Models While CA are fully discrete, a hybrid model may contain continuous elements. Coupled map lattices: continuous states E.g., finite difference and finite element methods Interacting particle systems: time is continuous Coupled differential equations: continuous state and time Very commonly, a CA interacts with a continuously- defined field (chemotactic gradient, etc)

Example: A Tumor Model Based on Diffusion and Growth with 2 Continuous Fields Model of Dormann & Deutsch, 2002 Model components similar to that of Düchting and Vogelsaenger, 1983: Cell divisions based on cell cycle Added stochastic transitions Added cell density and nutrient dependence Two cell types: normal and fast growth Cell death (necrosis) based on cell cycle Two continuous fields: Diffusing chemotactic field secreted by necrotic cells attracts cancer cells Diffusing nutrient field 200x200 2D lattice Results in layered tumor structure.

(a) The tumor is cut in half and recovers. (b) Cell adhesion is lowered and tumor expands. (c) Necrosis rate is increased by 1000%, tumor survives.

Thanks very much! Cellular Automata or MATLAB questions? Excellent CA tutorial: PhD thesis of Sabine Dormann, “Pattern Formation in CA models”