service oriented architecture for adaptive evolutionary algorithms

Post on 03-Jul-2015

1.726 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

PhD dissertation for the thesis of Pablo García Sánchez "Service Oriented Architecture for Adaptive Evolutionary Algorithms".

TRANSCRIPT

Service Oriented Architecture for Adaptive Evolutionary Algorithms: Implementation and Applications

PhD Dissertation by Pablo García SánchezUniversity of Granada

AdvisorsJesús González PeñalverJuan Julián Merelo GuervósAlberto Prieto Espinosa

16/06/2014

domingo 15 de junio de 2014

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

Real infrastucture

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Real infrastructure

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

domingo 15 de junio de 2014

Classic distribution approaches in EAs

3

domingo 15 de junio de 2014

New trends

4

CC Photo by @draxus

Pool

ClientClient

domingo 15 de junio de 2014

Examples of adaptation in algorithms

• Adaptive Memetic Algorithms:

• Hyper-heuristics.

• Multimemes.

• Co-Evolving MAs.

• Adaptation to hardware.

5

GA SA

SA

LS

TS

Individual...

?

domingo 15 de junio de 2014

Challenges in EA software (Parejo et al. 2012)

• Standardization.

• Interoperability.

• Dynamic and reflexive capabilities.

• High cost on switching from a framework to other.

• Open Science.

6

Algorithm::Evolutionary

MALLBA jMetal

ECJ

DR-E-AMParadiseEOHeuristicLab

METCOjCLEC

gridUFO

domingo 15 de junio de 2014

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Real infrastucture

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

domingo 15 de junio de 2014

Service Oriented Architecture

8

domingo 15 de junio de 2014

Service characteristics

• Differences with Object-Oriented paradigm.

• Discoverable and dynamically bound.

• Self-contained.

• Modular.

• Interoperable (different programming languages).

• Loosely coupled.

• Location transparent.

9

domingo 15 de junio de 2014

Technologies and methodologies for SOA

10

BCM

Specific Ontology Navigation

Content Rendering

Transaction Handling

Business Processes

Collaboration Agreements, MOA

Codelist subsetting Services; Transaction Processing

Communities of Interests- CoI

44

55

66

778899

10 10

11 11

!Copyright (C) OASIS Open 2003-2006. All Rights Reserved.

UMM SOMA

Ali Arsanjani https://www.ibm.com/developerworks/library/ws-soa-design1/

REST Web Services

domingo 15 de junio de 2014

SOA as a solution

• Development

• Integration

• Standardization

• Dynamism

11

SOA (abstract) GRID (infrastructure)

Web Services

Frameworks for EAs

Evolutionary Robotics

Cloud Computing

Globus

domingo 15 de junio de 2014

25

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

Real infrastucture

domingo 15 de junio de 2014

SOEAs

13

BitFlip

Mutation

Binary

Initialization

Fitness Distributor

Evaluation

TPX

Recombination

Roulette

Selection

UPXN Worst Rep.

Replacement

MMDP calculator

Evaluation

MMDP calculator

Evaluation

domingo 15 de junio de 2014

Design issues for SOEAs

• Genericity in EA design (Gagné & Parizeau):

• Representation.

• Fitness.

• Operations.

• Evolutionary model.

• Parameter management.

• Configurable output.

• Restrictions in SOA design (Valipour):

• Dynamic binding.

• Self-contained.

• Location transparency.

14

domingo 15 de junio de 2014

SOA-EA

15

domingo 15 de junio de 2014

Step 1: Identification

• Problems to solve.

• Elements needed.

• Re-utilization.

• Operators.

• Extension points.

• Parameterization.

16

domingo 15 de junio de 2014

Step 2: Specification

• Inputs/Outputs.

• Operations of each services.

• Individual representation.

• Services usage.

• Order of execution.

• Multiple instances.

• Adaptation to machines.

17

domingo 15 de junio de 2014

Specification: Operators

• Flexibility: Recombination can receive more than two individuals.

• Receive interfaces (generic representation).

18

RecombinationList of individuals

List of individuals

Crossover

mother, father son1, son2

domingo 15 de junio de 2014

Specification: Population, Parameters and Fitness

19

Population

- add Individuals - get N Best Individual- get N Worst Individuals- get Size

...

Parameters

- get Parameter- update Parameter- get Parameter Labels

...

Fitness Calculator

List of individualsList of fitnesses

domingo 15 de junio de 2014

Specification of the flow

• Reduce the impact of future changes.

• Example of flow: Evolutionary Algorithm implementation (generic evolutionary model).

• Automatic adaptation and binding of the elements.

• Services for hardware adaptation.

20

BitFlip

Mutation

Binary

Initialization

TPX

Recombination

Roulette

Selection

N Worst Rep.

Replacement

domingo 15 de junio de 2014

Steps 3 and 4: Implementation and deployment

• Local or remote services.

• Interfaces publication.

• Public or private services.

• Dynamism control.

• Overload of messages.

• Technology selection.

• Security, persistence, benchmarking and monitoring.

21

domingo 15 de junio de 2014

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

Real infrastucture

domingo 15 de junio de 2014

• Framework to develop SOEAs.

• Includes well-defined interfaces and implementations.

• Paradigm independent.

• Multiple technologies for distribution and discovery.

• Plug-in based.

• Automatic binding.

• Component-oriented.

OSGiLiath

23

domingo 15 de junio de 2014

Example: Basic GA

24

domingo 15 de junio de 2014

Example: NSGA-2

25

domingo 15 de junio de 2014

Example: Master-slave model

26

domingo 15 de junio de 2014

Example: Island model

27

Island BIsland A

domingo 15 de junio de 2014

Example: Adaptation of operators

28

domingo 15 de junio de 2014

Implementation: Why OSGi?

29

OSGi Web Services

Primary environment Local* Internet

Language Java* Any

Interfaces Java Interface* WSDL

Communication protocol Variable SOAP

Dynamism White-Board Explicit

Client creation Previously known Automatic

Extras Plug-in based WS-Extensions

* (by default)

domingo 15 de junio de 2014

SOA validation experiments

• Experiment 1: OSGi comparison.

• Experiment 2: Adaptive service binding.

• Experiment 3: Distribution and language independence.

• Experiment 4: Development time between frameworks for EAs.

• Algorithm: canonical GA with same parameters.

• Problems: MMDP and OneMax.

• 30 times for configuration.

30

domingo 15 de junio de 2014

OSGi does not add overload

• Experiment 1: Performance using OSGi.

• Comparing the same EA.

• Solving OneMax problem with the same parameters.

• Stop criterion: fixed number of generations.

31

Average solution Average time (s)

OSGiLiath 612.26 ± 6.05 0.19 ± 0.02

OSGiLiath (without OSGi)

613.36 ± 4.50 0.19 ± 0.02

domingo 15 de junio de 2014

Service adaptation improves the results

• Experiment 2: Adaptive service binding.

• Solve the MMDP problem.

• Static version vs. adaptive version.

• Stop criterion: optimum found.

32

Evolutionary Algorithm

Algorithm

List Population

Population

Selector Gatherer

Parent Selector

Asynchronous Enabler Impl

Asynchronous Enabler

N Tournament

Parent Selector

Roulette

Parent Selector

domingo 15 de junio de 2014

Service adaptation improves the results (II)

33

Non!adaptive Adaptive0e

+0

01

e+

07

2e

+0

73

e+

07

4e

+0

7

Configuration

Eva

lua

tion

s

Number of evaluations to solve MMDP problem

domingo 15 de junio de 2014

OSGiLiath is independent of the programming language

• Experiment 3: Integration with other systems.• Language independence: PHP and Java.• Comparing different communication mechanisms: SOAP

and OSGi ECF generic.• Different number of individuals: 250, 500, 1000, 2000.

34

domingo 15 de junio de 2014

OSGi ECF does not add overhead communication

35

500 1000 1500 2000

0.0

0.1

0.2

0.3

0.4

0.5

0.6

Number of individuals

Seconds

SOAP

OSGi

domingo 15 de junio de 2014

SOA saves development time

• Experiment 4: Comparison with other frameworks.

• The same algorithm and parameter configuration in different frameworks (solving OneMax).

36

Name Avg. Solution Avg. Time (s) Lines of Code

OSGiLiath 612.26 ± 6.05 0.19 ± 0.02 10

OSGiLiath (without OSGi)

613.36 ± 4.50 0.19 ± 0.02 103

MALLBA 578.76 ± 7.48 0.16 ± 0.01 2073

ECJ 602.76 ± 6.08 1.40 ± 0.03 5

Algorithm::Evo-lutionary

617.60 ± 12.92 7.78 ± 0.29 41

domingo 15 de junio de 2014

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

Real infrastucture

domingo 15 de junio de 2014

Study on parameter adaptation

• There is not a central control node.

• The number of nodes participating is not limited.

• All nodes automatically bind the available distribution services.

• The nodes must stop when the optimum is found.

• Services must be executed in heterogeneous machines with different operating systems and architectures.

38

domingo 15 de junio de 2014

Automatic binding of nodes

39

Replacer

Basic Replacer

Migrator

Migrator Ring Buffer

Remote nodesLocal Node

Migrator

Migrator

...

domingo 15 de junio de 2014

Configurations

• Homogeneous Hardware (HoHa).

• Heterogeneous Hardware (HeHa).

• Homogeneous Size (HoSi): 256 individuals.

• Heterogeneous Size (HeSi): proportional to generations.

• Adaptive Size (AdSi):

40

domingo 15 de junio de 2014

Experimental setting

• Problems to solve: MMDP and OneMax.

• Stop criterion: optimum found.

• Topology: ring.

• Benchmark: number of generations.

• Algorithm: canonical steady-state genetic algorithm.

• The same parameter configuration in all nodes.

• 40 times per configuration.

41

domingo 15 de junio de 2014

Automatic adaptation improves results (MMDP)

42

HoHa (Homogeneous Hardware)

HeHa (Heterogeneous Hardware)

HoSi HeSi AdSi

5e+

02

2e+

03

1e+

04

5e+

04

2e+

05

Configuration

Tim

e (

Hete

rogeneous

Hard

ware

)

HoSi HeSi

5e

+02

2e+

03

1e+

04

5e+

04

Configuration

Tim

e (

Hom

ogen

eous

Hard

ware

)

domingo 15 de junio de 2014

Average population sizes in AdSi solving MMDP

43

HeN1 HeN2 HeN3 HeN4

0200

400

600

800

1000

Node

Popula

tion S

ize

domingo 15 de junio de 2014

Automatic adaptation improves results (OneMax)

44

HoHa (Homogeneous Hardware)

HeHa (Heterogeneous Hardware)

HoSi HeSi

80000

10000

0120000

140000

Configuration

Tim

e (

Hom

ogen

eous

Hard

ware

)

HoSi HeSi AdSi

100000

120000

140000

180000

Configuration

Tim

e (

Hete

rogeneous

Hard

wa

re)

domingo 15 de junio de 2014

Average population sizes in AdSi solving OneMax

45

HeN1 HeN2 HeN3 HeN4

02

00

40

06

00

80

01

00

0

Node

Po

pu

latio

n S

ize

domingo 15 de junio de 2014

Adapting parameters affect all services (MMDP)

46

domingo 15 de junio de 2014

Adapting parameters affect all services (OneMax)

47

domingo 15 de junio de 2014

Adaption improves the results in time

• Adapting online or offline the sub-population size to the computational power of each node yields significantly better results in time.

• The same heterogeneous parameter setting could not improve the results in homogeneous environments.

• The generations in each node is a possible benchmark for parameter setting.

• Changing a parameter can affect all services of the SOEA.

48

domingo 15 de junio de 2014

Heterogeneous and dynamic environments

SOA

SOA-EA

OSGiLiath

Objective 4

Objective 2

Objective 1

Objective 3

Realproblem

Real infrastucture

domingo 15 de junio de 2014

Motivation

• RTS games (Planet Wars).

• Genetic Programming.

• Existing competitive (agents): GeneBot (G) and ExpGenebot (E).

• Different node depth: 3,7, Unlimited.

• Validation of the bots in other maps.

50

domingo 15 de junio de 2014

Planet Wars

51

domingo 15 de junio de 2014

Agent generation

• For each planet execute tree.• Based in decisions and actions.• Dynamic fitness: 5 combats vs

Genebot and ExpGenebot.• Crossover/mutation of

branches/tags and rates.

52

actualMyShipsRatio>0.711

attackWeakestNeutralPlanet(0.3)

attackNearestEnemyPlanet(0.2)

attackEnemyBase(0.91)

myShipsLandedFlyingRatio>0.21

domingo 15 de junio de 2014

Obtained bots are competitive

• Each generated bot with different maximum depth (3, 7 and U) is tested vs. Genebot (G) and Exp-Genebot (E) in 100 maps.

53Percentage of victories Turns to be defeated

3G 7G UG 3E 7E UE

100

200

300

400

500

Configuration

Turn

s to

be

defe

ate

d

3G 7G UG 3E 7E UE

10

20

30

40

50

60

70

Configuration

Perc

enta

ge o

f vi

ctori

es

domingo 15 de junio de 2014

A SOEA obtains competitive bots for RTS games

• A SOEA is used to generate agents for playing Planet Wars RTS game without using human knowledge, using Genetic Programming.

• EA and SOA requirements have been taken into account.

• Obtained bots outperform the one generated by human experts and optimized by a GA.

• Differences in maximum depth.

54

domingo 15 de junio de 2014

Conclusions and outlook

domingo 15 de junio de 2014

Conclusions

• EAs can be successfully migrated to SOA and take advantage in dynamic and heterogeneous scenarios.

• The used SOA technology has a huge impact in several issues.

• SOA not force to use distribution services.

• SOA paradigm can be applied successfully to EAs to facilitate the integration, distribution, dynamism and development in some scenarios.

56

domingo 15 de junio de 2014

Contributions (I)

• The Service Oriented Architecture paradigm has been proposed to create distributed, heterogeneous, dynamic and standards-based environments for Evolutionary Algorithms, as it provides mechanisms for interoperability, integration and dynamic control.

• The requirements to develop EAs in the SOA paradigm have been identified.

• These requirements have been taken into account to propose SOA-EA, a methodology that is able to successfully adapt evolutionary algorithms to distributed, heterogeneous, dynamic, standards-based environments.

• Several steps to design all the elements in an EA have been proposed inside this methodology.

57

domingo 15 de junio de 2014

Contributions (and II)

• The methodology has been validated using a specific SOA technology: OSGi.

• A SOA-based implementation (OSGiLiath) of distributed, dynamic, standards-based evolutionary algorithms has been able to solve efficiently different problems.

• As an application of this methodology, two different parameter adaptation schemes of island-based EAs to heterogeneous hardware have been proposed, and an algorithm to obtain competent bots for RTS games has been obtained.

58

domingo 15 de junio de 2014

Future work

• New research line in automatic adaptation of parameters and operators in dynamic and heterogeneous environments under the SOA paradigm.

• More mechanisms to enable/disable services.

• Different benchmarking services.

• Comparison of communication mechanisms.

• Automatic service composition using other technologies.

• Extend the concept of SOEA to other fields.

• New modules and services to address new problems will be added to OSGiLiath.

59

domingo 15 de junio de 2014

Publications related with this thesis

60

Total First author

Journals 5 2

LNCS 5 5

Other peer-reviewed conferences

4 2

domingo 15 de junio de 2014

Open Science

• OSGiLiath: https://github.com/fergunet/osgiliath

• Thesis development: https://github.com/fergunet/tesis

• Web page: http://www.osgiliath.org

61

domingo 15 de junio de 2014

Thank you very much!

Questions?

domingo 15 de junio de 2014

top related