41
The Evolution of Evolutionary Computation Xin Yao CERCIA, School of Computer Science, University of Birmingham, UK http://www.cercia.ac.uk

The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

The Evolution of Evolutionary Computation

Xin Yao CERCIA, School of Computer Science, University of Birmingham, UK

http://www.cercia.ac.uk

Page 2: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

What Is Evolutionary Computation

  It is the study of computational systems which use ideas and get inspirations from natural evolution.

  Evolutionary computation (EC) techniques can be used in optimisation, learning and creative design.

  EC techniques do not require rich domain knowledge to use. However, domain knowledge can be incorporated into EC techniques.

Page 3: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Characteristics of Evolutionary Computation

  Flexible: applicable to different problems

  Robust: can deal with noise and uncertainty

  Adaptive: can deal with dynamic environments

  Autonomous: without human intervention

  Decentralised: without a central authority

Page 4: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Outline of This Talk

 Heuristic Optimisation   Data Mining and Machine Learning

Page 5: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study I: Modelling

Page 6: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Discovering `New’ Physical Laws in Astrophysics --- Modelling Radial Brightness Distributions in

Elliptical Galaxies

  Empirical laws are widely used in astrophysics.

  However, as the observational data increase, some of these laws do not seem to describe the data very well.

  Can we discover new empirical laws that describe the data better?

Page 7: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Monochromatic (Negative) Images of Galaxies

A typical elliptical galaxy A typical spiral galaxy

bulge disk

Page 8: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Current Approach

  Select a functional form in advance Drawbacks: ad hoc, difficult to determine and may only suit a

smaller number of profiles

  Apply fitting algorithms to find suitable parameters for the function. Usually adopt the non-linear reduced c2 minimization

Drawbacks: difficult to set initial values and easily trapped in local minima

No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.

χ2 =

where Iobs(i) is the individual observed profile value, Imodel(i) is the value calculated from the fitting function, υ is the number of degrees of freedom, and δ is the standard deviation of the data.

Page 9: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Our Evolutionary Approach

(1) Find functional forms using GP (Genetic Programming) :   A data-driven process without assuming a functional form in

advance   A bottom up process which suits modelling a large number of

galaxy profiles without any prior knowledge of them (2) Fit parameters in the form found using FEP (Fast

Evolutionary Programming):   Not sensitive to initial setting values   More likely to find global minima

J. Li, X. Yao, C. Frayn, H. G. Khosroshahi, S. Raychaudhury, ``An Evolutionary Approach to Modeling Radial Brightness Distributions in Elliptical Galaxies,'' Proc. of the 8th International Conference on Parallel Problem Solving from Nature (PPSN VIII), Lecture Notes in Computer Science, Vol. 3242, pp.591-601, Springer, September 2004.

Page 10: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study in Astrophysics = Real-world Problems?

Yet another mad professor? …

Case Study II: Modelling

Page 11: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Determining Unified Creep Damage Constitutive Equations in Aluminium Alloy Modelling

  Creep behaviours of different materials are often described by physically based unified creep damage constitutive equations.

  Such equations are extremely complex.   They often contain undecided constants

(parameters).   Traditional approaches are unable to find good

near optima for these parameters.   Evolutionary algorithms (EAs) have been shown

to be very effective.

Page 12: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Example Equations

Page 13: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Model with Evolved Parameters by IFEP

Page 14: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Evolutionary Parameter Calibration and Optimisation

 Classical evolutionary programming (CEP), fast EP (FEP) and improved fast EP (IFEP) can be used to find parameters in a complex and non-differentiable space.

B. Li, J. Lin and X. Yao, “A novel evolutionary algorithm for determining unified creep damage constitutive equations,” International Journal of Mechanical Sciences, 44 (2002) 987–1002.

Page 15: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Impact

  Have been used by Corus / Tata Corus since 2001.

Page 16: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Constraint Handling

 Real-world problems have many constraints, e.g., linear, nonlinear, equality, inequality, …

Page 17: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

An Example

  Stochastic ranking: is a constraint handling method that can be used with any evolutionary optimisation algorithms

  T. P. Runarsson and X. Yao, “Stochastic Ranking for Constrained Evolutionary Optimization,” IEEE Transactions on Evolutionary Computation, 4(3):284-294, September 2000.

  T. Runarsson and X. Yao, “Search Bias in Constrained Evolutionary Optimization,” IEEE Transactions on Systems, Man, and Cybernetics, Part C, 35(2):233-243, May 2005.

Page 18: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Impact

  It’s used so often that people made it a C library so that everyone can use easily:   Xinglai Ji 1 and Ying Xu 2, “libSRES: a C library for stochastic

ranking evolution strategy for parameter estimation” Bioinformatics, 22(1):124-126, 2006.   1Computational Biology Institute, Oak Ridge National Laboratory Oak

Ridge, TN 37831, USA 2Department of Biochemistry and Molecular Biology and Institute of Bioinformatics, University of Georgia Athens, GA 30602-7229, USA

  Also in civil, mechanical, electrical and electronic engineering.

Page 19: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Real World Is Complex

 Real world is complex and changes all the time.   E.g., customers make new orders or cancel existing

orders all the time. How can I optimise my objectives?

Page 20: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study III: Dynamic Optimisation

Page 21: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Gritter Routing

  Optimisation Problem: -  Multiple trucks, multiple

depots, -  different capacities -  Routing constraints -  Dynamic

H. Handa, L. Chapman and Xin Yao, ``Robust route optimisation for gritting/salting trucks: A CERCIA experience,'' IEEE Computational Intelligence Magazine, 1(1):6-9, February 2006.

Page 22: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Optimised Routing

Page 23: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study IV: Multi-objective Optimisation

Page 24: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Patented Multi-objective Design

  Patent:   X. Yao and T. Schnier, “HARDWARE DESIGN USING

EVOLUTION ALGORITHMS,” European Patent EP1388123. Held by Ericsson (formerly Marconi).

  Papers:   T. Schnier, X. Yao and P. Liu, “Digital filter design

using multiple pareto fronts,” Soft Computing, 8(5):332-343, April 2004.

  S. Salcedo-Sanz, F. Cruz-Rold\'an, C. Heneghan and X. Yao, “Evolutionary Design of Digital Filters with Application to Sub-band Coding and Data Transmission,” IEEE Transactions on Signal Processing, 55(4):1193-1203, April 2007.

Page 25: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Not Just Hardware Engineering

  K. Praditwong, M. Harman and X. Yao, “Software Module Clustering as a Multi-Objective Search Problem,” IEEE Transactions on Software Engineering, accepted in August 2009.

  Z. Wang, K. Tang and X. Yao, “Multi-objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems,” IEEE Transactions on Reliability, 59(3):563-575, September 2010.

Page 26: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Outline

  Adaptive Optimisation

  Data Mining and Machine Learning

Page 27: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Supervised Learning

  Given a set of historical data, we want to build (learn) the best model that can predict the future for new input data.

  Challenges:   Noise   Concept drift over time   Multi-objectives (cheap and high-quality)  …

Page 28: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Links Between EC and Learning

Use the whole population as a learner:   X. Yao and Y. Liu, “Making use of population

information in evolutionary artificial neural networks,” IEEE Trans. on Systems, Man, and Cybernetics, Part B: Cybernetics, 28(3):417-425, June 1998.

Page 29: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study V: Ensemble Learning

Page 30: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Negative Correlation Learning

  Negative Correlation Learning is an ensemble learning algorithm:   Paper:

  Y. Liu and X. Yao, ``Ensemble learning via negative correlation,'' Neural Networks, 12(10):1399-1404, December 1999.

  Patent:   Xin Yao, Gavin Brown, Bernhard Sendhoff and

Heiko Wersing, “Exploiting ensemble diversity for automatic feature extraction,” European Patent EP1378855. (Held by Honda).

Page 31: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Multi-objective Learning

  Learning with multi-objectives:   H. Chen and X. Yao, ``Multiobjective Neural Network

Ensembles based on Regularized Negative Correlation Learning,'' IEEE Transactions on Knowledge and Data Engineering, 22(12):1738-1751, December 2010.

  A. Chandra and X. Yao, “Ensemble learning using multi-objective evolutionary algorithms,” Journal of Mathematical Modelling and Algorithms, 5(4):417-445, December 2006.

Page 32: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Case Study VI: Online Learning with Concept Drift

Page 33: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

We Are Getting New Data All the Time …

  L. L. Minku, A. White and X. Yao, ``The Impact of Diversity on On-line Ensemble Learning in the Presence of Concept Drift,'' IEEE Transactions on Knowledge and Data Engineering, 22(5):730-742, May 2010.

  F. L. Minku, H. Inoue and X. Yao, ``Negative correlation in incremental learning,'' Natural Computing, 8(2):289-320, June 2009.

Page 34: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Many Other Applications

  What I have described here are a tiny set of applications that we have done or are doing.

  http://www.cercia.ac.uk

Page 35: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Only Applications?

  Basque Center for Applied

Mathematics�

Page 36: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Some Mathematical Challenges�

  Why, when and how do evolutionary algorithms work?

  How does an evolutionary algorithm scale?   What is the relationship between the

computation time and the problem size?

Page 37: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Computational Time Complexity Analysis

  T. Chen, K. Tang, G. Chen and X. Yao, ``Analysis of Computational Time of Simple Estimation of Distribution Algorithms,'' IEEE Transactions on Evolutionary Computation, 14(1):1-22, February 2010.

  T. Chen, J. He, G. Chen and X. Yao, ``Choosing Selection Pressure for Wide-gap Problems,'' Theoretical Computer Science, 411(6):926-934, February 2010.

  T. Chen, J. He, G. Sun, G. Chen and X. Yao, ``A New Approach to Analyzing Average Time Complexity of Population-based Evolutionary Algorithms on Unimodal Problems,'' IEEE Transactions on Systems, Man, and Cybernetics: Part B, 39(5):1092-1106, October 2009.

Page 38: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Complexity Analysis in One Slide

  Model an EA using a stochastic process, e.g., a supermartingal, where each state in the space is a population.

  Use drift analysis to bound the computation time of finding the global optimum

J. He and X. Yao, ``Towards an analytic framework for analysing the computation time of evolutionary algorithms,'' Artificial Intelligence, 145(1-2):59-97, April 2003.

J. He and X. Yao, ``Drift Analysis and Average Time Complexity of Evolutionary Algorithms,'' Artificial Intelligence, 127(1):57-85, March 2001.

Page 39: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Drift Analysis as a General Framework

  Define a distance function d(x) to measure the distance between a population x and the optimal solution.

  Estimate the one-step mean drift of population ξ(t) towards the optimal solution:   E [ d(ξ(t) - ξ(t+1)) ]

  Derive some properties of the sequence, e.g., the first hitting time, convergence, convergence rate, etc., through the mean drift.

  For example,   FirstHittingTime = InitialDistance/OneStepDrift

Page 40: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Occasional Surprises

  Large populations might not help!   J. He and X. Yao, ``From an Individual to a Population: An

Analysis of the First Hitting Time of Population-Based Evolutionary Algorithms,'' IEEE Transactions on Evolutionary Computation, 6(5):495-511, October 2002.

  T. Chen, K. Tang, G. Chen and X. Yao, “A Large Population Size Can Be Unhelpful in Evolutionary Algorithms,” Theoretical Computer Science, accepted on 8/2/2011.�

Page 41: The Evolution of Evolutionary Computation · 2011-02-18 · What Is Evolutionary Computation It is the study of computational systems which use ideas and get inspirations from natural

Conclusions

  Evolutionary computation has both interesting applications and challenging theories.

  If you have things you want to improve, there might be opportunities for optimisation.

  If you have lots of data and are unsure of what to do, there might be opportunities for ML/DM.