100 likes | 348 Views
Swarm Intelligence Simulation Using MPI Adam Cox November 3, 2006. Intro - MPI. Message Passing Interface (MPI) Protocol for parallel processing Works within distributed memory system Each machine has own resources MPICH2 implementation Argonne National Laboratory
E N D
Swarm Intelligence Simulation Using MPI Adam Cox November 3, 2006
Intro - MPI • Message Passing Interface (MPI) • Protocol for parallel processing • Works within distributed memory system • Each machine has own resources • MPICH2 implementation • Argonne National Laboratory • Runs on Unix/Linux or Windows clusters • C/C++ or Fortran
Intro - Swarms • Simple agents interacting either directly or through environmental markers • Inspired by biological systems • Bird flocking • Fish schooling • Social insects (ants, bees, etc.) • Many simple agents working together create complex global behavior
Intro – Ant Colony Simulation • Agents interact via environmental cues (pheromones) • Pheromone types include: • Food trails • Attack enemy • Do not enter • “I am the queen”
Problem • Simulation can be very computationally intensive • Thousands or millions of agents within a single colony • Complexity of world • Size • 2D or 3D implementation • Evolving landscape • Complexity of logic • Evolution of agent behavior (genetic algorithms) • Peer teaching
Solution • Run large simulation over multiple processors with MPI • Embarrassingly parallel problem
Implementation • Master node will run the following tasks: • Graphical front end • Written in OpenGL • Allows for interaction with agents (manually place pheromones, squash ants, place/remove blockades, moving agents/objects) • Manage objects within the world • Pass jobs to slave nodes • Slave nodes to run agent logic
Conclusion • Powerful, scalable simulation system • Slightly new twist over old ant colony simulations by implementing attack behaviors • Applications in cooperative robotics (particularly nanorobotics) • Small scale construction • Human health maintenance
References • ai-depot.com • en.wikipedia.org/wiki/Ants • iridia.ulb.ac.be/~ants/ • And many more!