Cellular Automata Modeling Environment - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Cellular Automata Modeling Environment

Description:

Tool for distributed parallel computations and study of parallel algorithms ... description and work with arbitrary transition functions (not with only one) ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 39
Provided by: cellulara
Category:

less

Transcript and Presenter's Notes

Title: Cellular Automata Modeling Environment


1
CellularAutomataModelingEnvironment Library
  • Lev Naumov
  • levnaumov_at_mail.ru

2
What Is CAMEL?
  • Environment, which allows to research, visualize
    and solve problems, basing cellular automata
    concept
  • Tool for distributed parallel computations and
    study of parallel algorithms
  • Library, which represents rich toolkit for
    building solutions

3
What Are Cellular Automata?
  • Cellular automata simple models, which are used
    for studying complex systems behavior in
    different fields of science
  • These automata are discrete dynamic systems,
    which work can be completely described in the
    terms of local interactions
  • Cellular systems form common paradigm of parallel
    computations as Turing machines do for the
    consecutive computations

4
What for Cellular Automata Are Applicable?
  • For modeling of processes or distributed systems
    in physics, mathematics, computer sciences,
    chemistry, biology, psychology, meteorology,
    social sciences and other fields of science
  • Cellular automaton is discrete analogue of
    field concept
  • For using as spaces of parallel computations for
    tasks solving

5
Why Cellular Automata?
  • Common and most simple models of parallel
    computations
  • Parallel tasks are urgent and important
  • Throughput of single processor is limited by
    technological causes
  • There are a lot of heavy tasks which can and
    need to be solved using parallel computations
  • There are a lot of tasks which are based on
    space-distributed computer systems

6
Definition of Cellular Automaton
  • Cellular automaton A is a set of four objectsA
    ltG, Z, N, fgt, where
  • G grid, set of cells
  • Z set of possible cells states
  • N set, which describes cells neighborhood
  • f transition function, rules of the automaton
  • ZN1?Z (for automaton, which has cells with
    memory)
  • ZN?Z (for automaton, which has memoryless
    cells)

7
Two-Dimensional Grids
  • Cells that have a common edge with the involved
    are named as main neighbors of the cell (are
    showed with hatching)
  • The set of actual neighbors of the cell a, which
    can be found according to N, is denoted as N(a)

8
Basic Cellular Automata Properties
  • Transition function is to be local
  • System is to be similar for all the cells
  • To avoid side effects grid can use boundary
    conditions
  • Torus
  • Mobius band
  • Constant
  • All cells get their new values simultaneously, at
    the end of the timestep, after all new values
    were calculated for all cells

9
Definition of the Rings
  • Ring is the set of cells. It can be introduced
    for each cell on the grid
  • Let us assume the cell itself to be its cell of
    the zero ring and its nearest neighbors to be the
    cells of first ring of the involved cell
  • For the current cell, its cells of the i-th ring
    are nearest neighbors of members of (i1)-th
    ring, excluding cells of (i1)-th and (i2)-th
    rings

10
Definition of the Rings
  • Formally, if R(a, i) is a set of cells of i-th
    ring of cell a, then if N describes cells
    neighborhood as the set of its nearest neighbors,
    following formula will take place

11
Rings for Grid of Triangles
  • Different rings are showed with hatching or color

12
Rings for Grid of Squares
  • Different rings are showed with hatching or color

13
Rings for Grid of Hexagons
  • Different rings are showed with hatching or color

14
Definition of the Metrics
  • Distance function D(a, b) for retrieving
    remoteness between cells a and b can be denoted
    as follows

It is proved that this function satisfies to all
metrics properties The notion of ring may be
generalized for multi-dimensional grids and the
distance function, given by last formula, will
remain the same
15
The Problem
  • Cellular automaton is specific parallel
    architecture so it needs specific hardware or at
    least software platform
  • Multifunctional environment for solving problems
    with the help of cellular automata will allow to
    use computers as
  • assembly for physical, chemical, biological and
    other experiments (may be very expensive)
  • tool for execution, visualization and analysis of
    parallel computations

16
CAMEL
  • Cellular
  • Automata
  • Modeling
  • Environment
  • Library

Windows-based software, that is desired to be
simple, extensible workspace for complicated
cellular calculations
17
Why CAMEL?
  • Existing products put limitations over automata
    that can be used
  • Majority of existing products do not satisfy
    modern requirements to user interface and do not
    support contemporary technologies
  • Many existing products have complicated languages
    for cellular automata description

18
Advantages of CAMEL
  • Existing products put limitations over automata
    that can be used
  • Majority of existing products do not satisfy
    modern requirements to user interface and do not
    support contemporary technologies
  • Many existing products have complicated languages
    for cellular automata description
  • No limitations at all
  • Handy user interface with the support of useful
    features
  • C or any other language that was developed

19
CAMEL Components
  • Each experiment is controlled and implemented by
    components
  • Components may be used in different combinations
    and add arbitrary functionality
  • Each component declares list of its parameters
    which are used for the tuning
  • Each component is a dynamic link library
  • Components are to be realized using Cellular
    Automata Developing Library (CADLib)

20
CADLib
  • For CADLib User Developer Researcher
  • CADLib presents rich set of instruments for
    components development
  • This is a ? class library for further enlarging
    and reusing
  • It also contains some useful functions, constants
    and macrodefinitions

21
CADLib
Rich and well structured class hierarchy provides
easy-to-use and powerful toolkit It makes
possible to customize all necessary behavior of
system
22
CAMEL Components
  • Each automaton consists of four components
  • Grid implements visualization of grid and cells
    navigation
  • Datum maintains data storage
  • Metrics provides the relationship of
    neighborhood, distance function and assigns
    coordinates to cells
  • Rules describes computations (initialization,
    iteration and finalization)
  • Other type of components
  • Analyzer allows to keep an eye on definite
    properties of automaton

23
Why Is Separate Metrics Component Needed?
  • It was possible to place necessary functionality
    to the datum component
  • Metrics is separate component because this fact
    gives opportunity to use non-standard coordinate
    systems. For example, generalized coordinates

24
What is Generalized Coordinates?
  • The idea is to enumerate all cells of the grid.
    It must be done without any blanks. Each number
    is to have one and only one corresponding cell
  • There must be the way to find cells nearest
    neighbors. It will be enough to work with any
    neighborhood
  • The method of associating cells with generalized
    coordinates can be different. The main aim is to
    introduce them in the way, which allows to
    retrieve cells neighbors as fast as possible

25
Spiral Generalized Coordinates for Hexagonal Grid
  • Choose any cell as zero cell and then enumerate
    cells in each its ring clockwise
  • There are formulae for retrieving coordinates of
    nearest cells in this metrics

26
Generalized Coordinates for Grid of Triangles
  • After applying spiral generalized coordinates for
    hexagons, each triangles coordinate can be got as
    coordinate of hexagon, multiplied by six and
    added index of triangle inside the hexagon

27
Generalized Coordinates for Grid of Triangles
  • In this metrics there is no need to consider two
    variants of cells orientation separately
  • Tests shows, that this way of introducing of
    generalized coordinates for the grid of triangles
    allows to calculate the nearest neighbor cells
    several times faster than a spiral way for this
    grid. The cause is in
  • complexity of a ring for the grid of triangles
  • recursion which is used for spiral coordinates of
    non-main cells neighbors, but in the grid of
    hexagons all cells neighbors are main

28
Generalized Coordinates Based on Composite
Cubicles
  • Useful for performance optimization
  • as for triangular grid based on hexagonal
    cubicles
  • Allows to introduce coordinates for complicated
    grids
  • as the soccer ball grid

29
Spiral Generalized Coordinates
  • There are formalisms of spiral generalized
    coordinates for all three possible
    two-dimensional grids of regular polygons
  • This concept may be used for multidimensional
    and more complicated grids

30
Generalized Coordinates Disadvantage and
Advantages
  • Main disadvantage of the offered approach is that
    calculations of neighbors are slower than, for
    example, for the Cartesian case
  • Generalized coordinates provide a universal way
    of data storage for different grids
  • Grid may be easily enlarged if it is necessary
  • Serial data is easier to serialize and store
  • Independency from the zero-cells position gives
    the opportunity to move it to the place where it
    would be more useful
  • Generalized coordinates is just a concept, so it
    could be adopted for the definite task

31
Generalized Coordinates for Parallel Computations
  • Cellular automata are the models of parallel
    computations with infinite extent of parallelism.
    Using the generalized coordinates the system with
    infinite extent of parallelism can be emulated
    with the help of several interacting Turing
    machines. A single machine used to work with data
    storage (the tape) and other machines are used
    for neighbors calculations and synchronization

32
Rules Component Functions
  • Other existing projects
  • Rules Transition function
  • Use many languages for transition functions
    description
  • CAMEL
  • Rules component fully describes computations
  • Method of parallelization
  • Computations optimization
  • Transition function
  • Single rules component may represent a parser of
    language for transition functions description and
    work with arbitrary transition functions (not
    with only one)

33
Analysis of Experiment
  • Rules component declares list of values which are
    interesting for the researcher
  • These values are calculated during the iteration
  • Analyzer component allows to study these values
    changing
  • Draw graphs
  • Build reports to file

34
Cellular Automata Properties In CAMEL
  • Transition function is to be local
  • System is to be similar for all the cells
  • To avoid side effects grid can use boundary
    conditions
  • All cells get their new values simultaneously, at
    the end of the timestep, after all new values
    were calculated for all cells
  • Transition function can be not local
  • System can be not similar for all the cells
  • Standard datum components allows to select
    boundary conditions
  • Each cells can get new value just after it was
    calculated

35
CAMEL Features
  • Allows to use arbitrary automata without any
    limitations
  • Has handy rich user interface. Supports
  • Undo-redo functionality
  • Clipboard operations
  • Printing, saving pictures for illustrating
    articles
  • Many many other features
  • Stores data in XML files, that can become
    standard for cellular information interchange
  • Can compress data on the fly using BZip2 algorithm

36
CAMEL Features
  • Has multidocument interface
  • allows to work with several automata
    simultaneously
  • allows to implement automata interactions
  • Has rich toolkit to control, study and analyze
    the experiment
  • Allows to build graphs of computations
    performance
  • Is provided with examples of different
    components, which can be used for users tasks
    solving or as a basis of users components

37
CAMEL Features
  • Allows to perform parallel computations
  • On multiprocessor computer
  • On cluster
  • Allows to arrange clusters
  • In local area network
  • In the Internet
  • Uses novel network Commands Transfer Protocol
    (CTP) for cluster computations
  • Fast, reliable and featureful

38
CAMEL Project
  • Project was announced on International Conference
    on Computational Sciences 2003 (Melbourne
    Saint-Petersburg, June 2003) and attracts
    interest of scientists
  • The work is in progress
Write a Comment
User Comments (0)
About PowerShow.com