Implementation Report: Concurrent Genetic Algorithm with Island - - PowerPoint PPT Presentation

implementation report concurrent genetic algorithm with
SMART_READER_LITE
LIVE PREVIEW

Implementation Report: Concurrent Genetic Algorithm with Island - - PowerPoint PPT Presentation

Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work Implementation Report: Concurrent Genetic Algorithm with Island Migration Markus Solbach Laboratory for Active and Attentive Vision Department of


slide-1
SLIDE 1

1/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Implementation Report: Concurrent Genetic Algorithm with Island Migration

Markus Solbach

Laboratory for Active and Attentive Vision Department of Computer Science and Engineering York University, Toronto, Ontario, Canada

November 10, 2015

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-2
SLIDE 2

2/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Overview

Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Figure :

Evolution i.livescience.com (Oct. 5. 15)

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-3
SLIDE 3

3/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Genetic Algorithm revisited

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-4
SLIDE 4

4/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Genetic Algorithm revisited

Generation 0

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-5
SLIDE 5

5/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Genetic Algorithm revisited

Generation n

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-6
SLIDE 6

6/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

VLSI Design Problem

Figure :VLSI Design Problem

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-7
SLIDE 7

7/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

VLSI Design Problem - Traveling Salesman Problem

Problem changed for good reasons: VLSI very little implementation details VLSI faced problems had nothing to do with concurrency TSP well known problem TSP rich implementation details in literature (sequential) TSP able to concentrade more on concurrency

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-8
SLIDE 8

8/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Traveling Salesman Problem

Find a route on a map Requirements:

◮ Visit each City only once ◮ Find shortest path

Complexity (20 city):

◮ O(n!) (Brute Force, WC) ◮ 20! = 2.432902x1018

Figure :TSP Map

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-9
SLIDE 9

9/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Genetic Algorithm Operators

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-10
SLIDE 10

10/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Initialization

Figure :High Level Individual Representation

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-11
SLIDE 11

11/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Mutation

Figure :High Level Mutation Representation

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-12
SLIDE 12

12/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Crossover

Figure :High Level Crossover Representation

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-13
SLIDE 13

13/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Fitness Function

◮ Travelled distance over all city (inverse fitness) ◮ Each City has a location (x, y) ◮ Euclidean distance ◮ Fitness1 = n i=1(xi−1 − xi)2 + (yi−1 − yi)2

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-14
SLIDE 14

14/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Concurrency

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-15
SLIDE 15

15/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Concurrent Random Number Generator

Genetic Algorithms rely heavily on random numbers

◮ Math.random() is not concurrent ◮ Multiple threads use similar or same seeds ◮ ThreadLocalRandom 1 ◮ Generator with an internally generated seed ◮ java.util.concurrent.ThreadLocalRandom

1http://docs.oracle.com/javase/7/docs/api/java/util/

concurrent/ThreadLocalRandom.html

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-16
SLIDE 16

16/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Threads and Islands

Each Thread represents one Island

◮ Genetic Algorithm (GA) Logic ◮ Implements Runnable ◮ Concurrent Execution

= GA’s Island Migration extension

Figure :Simplified UML-Class of CGaimIsland

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-17
SLIDE 17

17/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Threads and Islands

Each Thread represents one Island

◮ Genetic Algorithm (GA) Logic ◮ Implements Runnable ◮ Concurrent Execution

= GA’s Island Migration extension

Figure :Island Migration overview

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-18
SLIDE 18

18/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Threads and Barriers

Barriers2 for synchronization

◮ new CyclicBarrier(# Islands) ◮ Waits that all Islands are ready ◮ Evolution ֒

→ random process

2http://docs.oracle.com/javase/7/docs/api/java/util/

concurrent/CyclicBarrier.html

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-19
SLIDE 19

19/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Island Migration

Sequentially (as proposed) .

◮ Dependens on epoch length ◮ Joins all Threads ◮ Avoids shared memory access ◮ Performs cyclic Migration ◮ Copies Individuals ◮ Java’s array.clone()[i]

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-20
SLIDE 20

20/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Island Migration

Sequentially (as proposed) .

◮ Dependens on epoch length ◮ Joins all Threads ◮ Avoids shared memory access ◮ Performs cyclic Migration ◮ Copies Individuals ◮ Java’s array.clone()[i]

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-21
SLIDE 21

21/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Some Results

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-22
SLIDE 22

22/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Some Results (Island Migration)

Figure :4 Islands - 150 Individuals - 2 Migrants - 70 Generations Epoch (≈ 5 Sec.)

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-23
SLIDE 23

23/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Some Results (Island Migration vs. Sequential)

Figure :100 City - Sequential (150 Individuals) vs. 4 Islands (as before)

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-24
SLIDE 24

24/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Future Work

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration

slide-25
SLIDE 25

25/25 Genetic Algorithm revisited Genetic Algorithm Operators Concurrency Some Results Future Work

Future Work

◮ More tests / Parameter improvements

◮ intel i7 (8 cores x 4GHz) using 8 Islands ◮ 5 times faster than sequential GA on same machine

◮ More debugging

◮ bugs in Migration ◮ lack of .clone() ◮ ...

◮ Execution time differences based on number of Islands

Markus Solbach York University Implementation Report: Concurrent Genetic Algorithm with Island Migration