Programming for Swarm CS655 Course Project Weilin Zhong.

24
Programming for Swarm CS655 Course Project Weilin Zhong

Transcript of Programming for Swarm CS655 Course Project Weilin Zhong.

Page 1: Programming for Swarm CS655 Course Project Weilin Zhong.

Programming for Swarm

CS655 Course ProjectWeilin Zhong

Page 2: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Swarm Computing Models

The developments in micro-fabrication and nanotechnology will enable the inexpensive manufacturing of massive numbers of tiny computing elements

It will become possible to build new computing

models, which incorporate large numbers of small computing elements

Page 3: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Swarm Computing Examples

Intelligent and responsive environment Multi-agent system Amorphous computing medium

Page 4: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Swarm Computing Models

System characteristics: Myriad numbers of elements. Decentralized control. Autonomous members behave with simple rules based on local

information, interacting with neighbors within a small radius. Members collaborate to achieve sophisticated global behaviors. Unreliable elements with limited power and resource connected

in irregular way.Challenge to traditional programming models. How to achieve complex global behaviors from locally

information and interaction without individually programming each member?

System must be adaptive and self-organized.

Page 5: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Learn From the Nature

Social Insects Nest Building

Wasp Nets

Ant Forage

Page 6: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

What Can We Learn?

Swarm Intelligence lies on its interaction network Direct Interaction

A member interacts with its neighbors

Indirection Interaction A member interacts indirectly with other

members by changing the common environment they live.

Page 7: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Programming for Swarm

StarLogo GPL – Growing Point Language

Page 8: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo

StarLogo A Programming language and environment of decentralized multi-

agent systems. StarLogo System consists of Turtles and Patches Turtles are the moving agents Patches compose the environment where the turtles live Turtles can change the state of the patches they visit All turtles and patches are running in parallel

Page 9: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo Data Type

Booleans(true, false), Lists, Numbers, and Strings. Variable

Building-in State Variables of turtles and patches Xcor, ycor,color,heading,breed,shown?, pendown?

Global Variablesturtles own [variables]

patches own [variables] Local Variables

Let [:j 0]

Procedureto procedure-nameList of Commands ; no separator needed output something ; exits and returns something

end

Page 10: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo

Control Flow if , ifelse, case loop, every, repeat, do [list of commands] forever ignore

Primitives Turtle Commands

forward, bk, die Patch Commands

diffuse, diffuse4, nsum, nsum4 Observer Commands

ca, crt, setc, setpcask-turtles, ask-patches,

Page 11: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo

Ant Forage Model Observe Procedures

Setup the nest, foods, generate antsInitial ants and patches

Turtle ProceduresLook-for-food, find-food,return-to-nest, find-nest

Patches Proceduresdiffuse, evaporate

Page 12: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo

Ant Forage Model

Page 13: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo Advantage

Programmable Modeling Environment for Decentralized Multi-agent System with Massive Parallel support

Suitable for biology life simulation, traffic, economic and ecology models

Limitations Patches are regular coordinated spatial lattice Patches have limited computational capabilities and weak

influence to its neighborhood Problems with the language

Limited number of Data Types Parameters only passed by value No patches command center

Page 14: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Growing Point Language

Amorphous Computing Medium is a system of irregularly placed, identically programmed,

asynchronous, locally interacting computational particles GPL(Growing Point Language)

is a language to program amorphous computing medium to generate highly complex and prespecified patterns

A CMOS Circuit layout obtained from a small program encoding about 17

computational states

Page 15: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Growing Point Language

Botanical Metaphor - Growing Points and Tropisms Growing Point is a lotus of activity which can propagate its

activities to its neighbors A growing point move according to its tropism, which is specified

in terms of differences in pheromone levels in its neighborhood A growing point can “deposit” material and “secrete” pheromone

when it visits a particle The path of growing point is the collection of particles it have

visited, expressing by the materials it has deposited on those particles.

Theorem Amorphous media can be programmed to draw any prespecified

planar graph

Page 16: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

Growing Point Language

Primitive Datatypes Materials

markers to indicate where growing points have previously visited

can be associated with a color can be sensed by a growing points to make growth decision

Pheromone exists to guide the movement of growing point radially symmetric about the source and monotonic decreasing

in the distance from the source

Tropism Expressions

Page 17: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

GPL – A-to-B segment

(define-growing-point (A-to-B)

(material A-material)

(size 0)

(tropism (ortho+ B-pheromone))

(for-each-step

(when ((sensing? B-material)

(terminate))

(default

(propagate)))))

(define-growing-point (B-point) (material B-material) (size 0) (for-each-step (secrete+ 10 B-pheromone)))

(color ((B-material) "red") ((A-material) "yellow"))

(with-locations (a b) (at a (start-growing-point A-to-B)) (at b (start-growing-point B-point)))

Page 18: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

GPL – A-to-B Segment

Page 19: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

GPL

Advantages Irregular and coordinate free domain Strict locality Identically Programmed member Particles compose the environment Suitable for responsive environment and improved

materials Facilitate the analysis of programs

Page 20: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

GPL -- Limitations and Improvement

Dynamic Problem Limitation

Static Particles Static Materials and Pheromone Static Model---- lack of emergence, can only generated prespecified

patterns Improvement

Mobile particles Changeable Material labeling and Pheromone Evaporation

Model Dynamic and Real-time Model

Page 21: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

GPL – Limitation and Improvement

Reliability Issues Extremely Friendly Environment Reliable Communication System

Problems and Solutions Communication Error

– Error recoverable encoding, retransmission Unreliable Particles

– Neighborhood backups Malicious Particles

-- Redundant Computation and agreement in neighborhood

Page 22: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo and GPL

Similarity Decentralized system consisting large number of

members Autonomous members achieve complex global

behaviors from local interaction Massive Parallel Model Object Oriented

Shortcomings No consideration of security and survivability Performance

Page 23: Programming for Swarm CS655 Course Project Weilin Zhong.

April 24 2001 CS655 Project Weilin Zhong

StarLogo and GPL

StarLogo Multi-agent System Mobile agents and

static env Regularly discrete

and coordinated spatial system

Dynamic and adaptive models

GPL Amorphous Computing

Medium Static particles Irregular coordinated

free domain

Static Models

Page 24: Programming for Swarm CS655 Course Project Weilin Zhong.

Summary