Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Parallelization of a Swarm Intelligence System Iman Eshraghi School of Computer Science University of Ottawa, Ottawa, Canada <ieshr007@uottawa.ca> COMP 5704 Project Presentation Contents Introduction Problem Statement Related work ABC Algorithm Methodology Parallelization Results Conclusion References COMP 5704 Project Presentation Introduction Swarm Intelligence Artificial / Natural Systems - Agents - Boids COMP 5704 Project Presentation Introduction SI concepts: self organizing Feedback Interaction labor division Simultaneous task performance Response to the environment COMP 5704 Project Presentation Introduction Optimization (problems – algorithms) :: discrete variables -> combinatorial optimization problems :: continuous variable -> multimodal problems,.. Ackley’s Mulitmodal Function COMP 5704 Project Presentation Introduction Optimization (algorithms) • Heuristic vs. Meta-heuristic COMP 5704 Project Presentation Introduction Meta-heuristic Optimization Techniques COMP 5704 Project Presentation Problem Statement - Hyphothesis • Metaheuristic optimization technique of choice not optimal - Goal • Optimizing the metaheuristic optimization technique • Presenting a parallel version of the algorithm for shared memory architecture COMP 5704 Project Presentation Related Work Parallelization of the algorithm by assigning different threads to separate swarms Parallelization strategies for a distributed memory multiprocessor architecture under the Message Passing Interface (MPI) CUDA-based Bees Algorithm called CUBA COMP 5704 Project Presentation ABC - Proposed by Dervis Karaboga in 2005 Why ABC? Applications: o Artificial networks o Graph Theory o TSP o Leaf-constrained Spanning Trees o Power loss Minimization in Distributed networks … COMP 5704 Project Presentation ABC Definitions: Food Source • Bees • Employed • Unemployed Scouts Onlookers • Dancing Area COMP 5704 Project Presentation ABC Algorithm (pseudo-code) COMP 5704 Project Presentation ABC Movement of Onlookers: • • Movement of Scouts: • COMP 5704 Project Presentation Methodology Theory COMP 5704 Project Presentation Parallelization Matlab Parallel Computing Toolbox COMP 5704 Project Presentation Parallelization Flynn's taxonomy Single instruction stream Multiple instruction streams Single data stream SISD MISD Multiple data streams SIMD MIMD Single program SPMD SPMD (Single Program Multiple Data) COMP 5704 Project Presentation Multiple programs MPMD Parallelization spmd numlabs labindex labSend(data, workerId) labReceive(workerId) COMP 5704 Project Presentation Parallelization An spmd program needs workers to cooperate on the program -matlabpool open local 4 The client and the workers share a single program in which some commands are delimited within blocks opening with spmd and closing with end. The client executes commands up to the first spmd block, when it pauses, the workers execute the code in the block. Once they finish, the client resumes execution. COMP 5704 Project Presentation Parallelization spmd SNp=SourceNum/numlabs; a = ( labindex - 1 ) *SNp+1; b =SNp* labindex; S_p_food=food(a:b); [min_value,index]=min([S_p_food.fit]); BestSource=S_p_food(index);%Global food . . Employed Search Step Onlooker Search Step Scout Search Step . . end COMP 5704 Project Presentation Results Comparison Serial: Parallel: COMP 5704 Project Presentation Results Serial Parallel COMP 5704 Project Presentation Results Speed up => 120.98 / 63.15 = 1.9 x COMP 5704 Project Presentation Conclusion The applied parallelization technique for ABC algorithm has lead to speed up. The quality of results are not necessarily improved or the opposite in this technique. Future Work: Extending the Algorithm on the Cluster through Matlab Distributed Computing Server COMP 5704 Project Presentation References • Harikrishna Narasimhan. Parallel artifcial bee colony (pabc) algorithm. 2009 World Congress on Nature & Biologically Inspired Computing (NaBIC), 2009. • Fahad S. Abu-Mouti and Mohamed E. El-Hawary. Overview of artifcial bee colony (abc) algorithm and its applications. 2012 IEEE International Systems Conference SysCon2012, Mar 2012. • Guo-Heng Luo, Sheng-Kai Huang, Yue-Shan Chang, and Shyan-Ming Yuan. A parallel bees algorithm implementation on GPU. Journal of Systems Architecture, 60(3):271-279, Mar 2014. • Dusan Ramljakb Milica Selmicc & Dusan Teodorovicc Tatjana Davidovica, Tatjana Jak-sica. Parallelization strategies for bee colony optimization based on message passing communication protocol. Optimization, 62(8):1113-1142, Aug 2013. • Matlab, Mathworks: http://www.mathworks.com/products/parallel-computing , http://www.mathworks.com/help/distcomp/index.html • Wikipedia:https://en.wikipedia.org/wiki/Flynn%27s_taxonomy#MPMD_.28Mult iple_programs.2C_multiple_data_streams.29 COMP 5704 Project Presentation Questions Q 1: What are some of the difference between heuristic and metaheuristic algorithms? Q 2: Can you name some of the algorithms in each of the above-mentioned categories? Q 3: Can we predict whether parallelization of optimization algorithms will achieve a speed up? COMP 5704 Project Presentation