Distributed Evolutionary Computation Using SOAP and REST Web Services

In this chapter, a high-level comparison of both SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) is made. These are the two main approaches for interfacing to the web with web services. Both approaches are different and present some advantages and disadvantages for interfacing to web services: SOAP is conceptually more difficult (has a steeper learning curve) and more “heavy-weight” than REST, although it lacks of standards support for security. In order to test their efficiency (in time), three experiments have been performed using both technologies: first a basic client-server model implementation to test communications has been implemented; then, a master-slave based genetic algorithm (GA) to solve an optimization problem has been used; and finally, as third experiment, an approach to evolutionary distributed optimization of multilayer perceptrons (MLP) using REST and language Perl has been done. In these experiments, a master-slave based evolutionary algorithm (EA) has been implemented, where slave processes evaluate the costly fitness function (training a MLP to solve a classification problem). As expected, the parallel version of the developed programs obtains similar or better results using much less time than the sequential version, obtaining a good speedup. The results obtained have shown that both SOAP and REST can be used as communication protocol for distributed evolutionary computation, obtaining a good speedup. Results obtained are comparable, and only for large amounts of data (big messages), REST communications take longer than SOAP communications.

[1]  C. J. Kim,et al.  An algorithmic approach for fuzzy inference , 1997, IEEE Trans. Fuzzy Syst..

[2]  Carlos A. Reyes García,et al.  ARGEN + AREPO: Improving the Search Process with Artificial Genetic Engineering , 2005, IWANN.

[3]  Ignacio Rojas,et al.  Statistical analysis of the parameters of a neuro-genetic algorithm , 2002, IEEE Trans. Neural Networks.

[4]  Hans-Paul Schwefel,et al.  Advances in Computational Intelligence , 2003, Natural Computing Series.

[5]  Chandrika Kamath,et al.  Inducing oblique decision trees with evolutionary algorithms , 2003, IEEE Trans. Evol. Comput..

[6]  Mike P. Papazoglou,et al.  Service oriented architectures: approaches, technologies and research issues , 2007, The VLDB Journal.

[7]  Juan-Julián Merelo,et al.  A Perl primer for evolutionary algorithm practitioners , 2010, SEVO.

[8]  Runhe Huang,et al.  Implementing the Genetic Algorithm on Transputer Based Parallel Processing Systems , 1990, PPSN.

[9]  Bernard Zenko,et al.  Is Combining Classifiers Better than Selecting the Best One , 2002, ICML.

[10]  Pedro A. Castillo,et al.  Jeo: a framework for evolving objects in java , 2001 .

[11]  John J. Grefenstette,et al.  Optimization of Control Parameters for Genetic Algorithms , 1986, IEEE Transactions on Systems, Man, and Cybernetics.

[12]  Juan Julián Merelo Guervós,et al.  G-lvq, a Combination of Genetic Algorithms and Lvq , 1995, ICANNGA.

[13]  Alberto Prieto,et al.  Computational intelligence and bioinspired systems , 2007, Neurocomputing.

[14]  Elliotte Rusty Harold XML Bible , 1999 .

[15]  Lutz Prechelt,et al.  PROBEN 1 - a set of benchmarks and benchmarking rules for neural network training algorithms , 1994 .

[16]  Bernard Zenko,et al.  Is Combining Classifiers with Stacking Better than Selecting the Best One? , 2004, Machine Learning.

[17]  Erik T. Ray Learning XML - creating self-describing data , 2001 .

[18]  Dimitrios Gunopulos,et al.  Adaptive metric nearest neighbor classification , 2000, Proceedings IEEE Conference on Computer Vision and Pattern Recognition. CVPR 2000 (Cat. No.PR00662).

[19]  Scott E. Fahlman,et al.  An empirical study of learning speed in back-propagation networks , 1988 .

[20]  Juan Julián Merelo Guervós,et al.  Evolving Multilayer Perceptrons , 2000, Neural Processing Letters.

[21]  J. Roy,et al.  Understanding Web services , 2001 .

[22]  John R. Koza,et al.  Genetic programming 1997 : proceedings of the Second Annual Conference, July 13-16, 1997, Stanford University , 1997 .

[23]  Rory A. Fisher,et al.  THE COMPARISON OF SAMPLES WITH POSSIBLY UNEQUAL VARIANCES , 1939 .

[24]  Reinhard Männer,et al.  Parallel Problem Solving from Nature — PPSN III , 1994, Lecture Notes in Computer Science.

[25]  Reiko Tanese,et al.  Parallel Genetic Algorithms for a Hypercube , 1987, ICGA.

[26]  César Hervás-Martínez,et al.  Multi-objective cooperative coevolution of artificial neural networks (multi-objective cooperative networks) , 2002, Neural Networks.

[27]  César Hervás-Martínez,et al.  Cascade Ensembles , 2005, IWANN.

[28]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[29]  John J. Grefenstette,et al.  A Parallel Genetic Algorithm , 1987, ICGA.

[30]  Juan Julián Merelo Guervós,et al.  A Distributed Service Oriented Framework for Metaheuristics Using a Public Standard , 2010, NICSO.

[31]  Enrique Alba,et al.  Algorithm::Evolutionary, a flexible Perl module for evolutionary computation , 2010, Soft Comput..

[32]  Juan Julián Merelo Guervós,et al.  Implementation Matters: Programming Best Practices for Evolutionary Algorithms , 2011, IWANN.

[33]  Juan Julián Merelo Guervós,et al.  G-Prop: Global optimization of multilayer perceptrons using GAs , 2000, Neurocomputing.

[34]  Chulhyun Kim,et al.  Forecasting time series with genetic fuzzy predictor ensemble , 1997, IEEE Trans. Fuzzy Syst..

[35]  Maarten Keijzer,et al.  Evolving Objects: A General Purpose Evolutionary Computation Library , 2001, Artificial Evolution.

[36]  Vasant Honavar,et al.  Optimization of Classifiers Using Genetic Algorithms , 2001 .

[37]  Rory A. Fisher,et al.  Theory of Statistical Estimation , 1925, Mathematical Proceedings of the Cambridge Philosophical Society.

[38]  Kenneth A. De Jong,et al.  Artificial Evolution , 2021, Lecture Notes in Computer Science.

[39]  Reinhard Männer,et al.  Implementation of Standard Genetic Algorithm on MIMD Machines , 1994, PPSN.

[40]  Germán Terrazas,et al.  Nature Inspired Cooperative Strategies for Optimization, NICSO 2010, May 12-14, 2010, Granada, Spain , 2012, NISCO.

[41]  César Hervás-Martínez,et al.  Cooperative coevolution of artificial neural network ensembles for pattern classification , 2005, IEEE Transactions on Evolutionary Computation.