
Evolutionary Computation Evolutionary Computation Swarm Intelligence and Particle Swarm Optimisation Shan He School for Computational Science University of Birmingham Modules 02411 and 22313: EC Evolutionary Computation Outline Outline of Topics Swarm behaviour BOID model Particle Swarm Optimiser Evolutionary Computation Swarm behaviour What is Swarm in nature? Picture from NY Times Evolutionary Computation Swarm behaviour What is Swarm in nature? I Starlings swarm in Rome I Sardine school Evolutionary Computation Swarm behaviour What is Swarm Intelligence? I General definition: Collective behaviour of decentralized, self-organized natural or artificial systems I Self-organized system: an initially disordered system, but some form of global order or coordination will arise out of the local interactions between its components I A swarm intelligence system typically consists of simple agents interacting with each other and their environment following simple rules I Emergence: global order or coordination emerges from these simple interacting rules Evolutionary Computation Swarm behaviour Why swarm? I There is no clear, unique explanation to the evolution of swarm behaviour. I Some possible explanations: I Better defence, e.g., early warning, confuse predator I Better foraging efficiency I Saving energy, e.g., wile geese fly in formation (wedge or skein) I Outcomes of natural selection Evolutionary Computation Swarm behaviour What is Swarm Intelligence in CS? I In CS, we define Swarm Intelligence as \a multi-agent system that has self-organized behaviour that shows some intelligent behaviour." I Two main research fields: I Swarm Intelligence algorithms: a variety of novel algorithms inspired by natural swarm system: I Ant colony optimisation: a SI algorithm inspired by ants' behaviour, useful to solve combinatorial optimisation problems, such as finding better paths through graphs. I Particle Swarm Optimisation I Swarm Robotics: design coordination of multirobot systems which consist of large numbers of mostly simple physical robots. I Goes beyond distributed system, aims to promote scalability, e.g., controlling a large number of robots I http://www.swarmanoid.org/ Evolutionary Computation BOID model BOID I Invented In 1986 by Craig Reynolds to simulate coordinated animal motion such as bird flocks and fish schools. I Winner of technical Oscar: 1997 Sci-Tech Awards from Academy of Motion Pictures and Science I Each individual of the model is called boid which is manoeuvred by three simple predefined behaviours: Evolutionary Computation BOID model Separation I Separation: Steer to avoid crowding local neighbour Evolutionary Computation BOID model Alignment I Alignment: steer towards the average heading of local neighbour Evolutionary Computation BOID model Cohesion I Cohesion: steer to move toward the average position of local neighbour Evolutionary Computation BOID model Demonstration I BOID models have been used in many films I One famous example Batman Returns (1992): BOID was used to create bat swarms and "army" of penguins marching through the streets of Gotham City I Amazing BOID model I Made with Cinder I If you want to learn Cinder to create your own model: Tutorial from Robert Hodgin Evolutionary Computation Particle Swarm Optimiser Particle Swarm Optimiser (PSO) I Invented by Kennedy and Eberhart 1995 I Inspired by bird flocking and fish schooling, more precisely, BIOD I Simple rules for searching global optima I Primarily for real-valued optimisation problems I Simpler but sometimes better than GAs Evolutionary Computation Particle Swarm Optimiser PSO: detailed algorithm I Can be seen as a swarm of particles flying in the search space to find the optimal solution. I Each particle is a solution to the problem, represented by t position Xi in the search space t+1 I Each particle also has a velocity Vi , used to update its position I The variation operator consists of only two equations: t+1 t t t Vi = !Vi + c1r1(Pi − Xi ) + c2r1(Pg − Xi ) (1) t+1 t t+1 Xi = Xi + Vi (2) Pi is the best previous position of the ith particle; Pg is the global best position of the swarm; ! 2 (0; 1] is inertia weigh; c1 and c2 are constants, or so-called learning factors; r1 and r2 are random number in the range of (0; 1) Evolutionary Computation Particle Swarm Optimiser Generic PSO Algorithm X0 := generate an initial population of M particles (solutions) P0 := X0 terminationflag := false t := 0 Evaluate the fitness of each particle in X0. while (terminationflag != true) t Select the best particle Pg from X based on their fitness. For i = 1 : M t t If Xi is better than Pi then Pi := Xi ; // Update Pi t+1 Calculate Vi according equation (1) t+1 Update Xi according equation (2) End For Evaluate the fitness of each particle in Xt+1. t := t + 1 If a termination criterion is met: terminationflag := true Output Pg Evolutionary Computation Particle Swarm Optimiser PSO: algorithm illustration I The search direction of PSO is determined by: I The autobiographical memory, which remembers the best previous position of each individual Pi in the swarm I The publicized knowledge, which is the best solution Pg currently found by the population Evolutionary Computation Particle Swarm Optimiser PSO: practical issues I One key problem faced by EC researcher is how to choose appropriate operators and parameters I PSO: Plug-and-play optimisation algorithm I Only 3 parameters, all not very sensitive I ! can be a linearly decreasing value - better local search I Download my source code at here, you can visualise how PSO find optima..
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages17 Page
-
File Size-