Evolutionary Computation. Chao Lan

Similar documents
Genetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions

Mutations for Permutations

Heuristic Optimisation

Machine Evolution. Machine Evolution. Let s look at. Machine Evolution. Machine Evolution. Machine Evolution. Machine Evolution

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

ADAPTATION OF REPRESENTATION IN GP

CONCEPT FORMATION AND DECISION TREE INDUCTION USING THE GENETIC PROGRAMMING PARADIGM

Geometric Semantic Genetic Programming ~ Theory & Practice ~

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming. Genetic Programming

Genetic Algorithms Variations and Implementation Issues

Genetic Programming Prof. Thomas Bäck Nat Evur ol al ut ic o om nar put y Aling go rg it roup hms Genetic Programming 1

Multi-Objective Optimization Using Genetic Algorithms

A Comparative Study of Linear Encoding in Genetic Programming

Chapter 9: Genetic Algorithms

A More Stable Approach To LISP Tree GP

Introduction to Evolutionary Computation

Genetic Programming. Modern optimization methods 1

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Genetic Algorithms. Kang Zheng Karl Schober

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

Chapter 14 Global Search Algorithms

Genetic Algorithms for Vision and Pattern Recognition

Planning and Search. Genetic algorithms. Genetic algorithms 1

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

JHPCSN: Volume 4, Number 1, 2012, pp. 1-7

GENETIC ALGORITHM with Hands-On exercise

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Genetic Algorithms. Genetic Algorithms

Investigating the Application of Genetic Programming to Function Approximation

Role of Genetic Algorithm in Routing for Large Network

Evolving Evolutionary Algorithms with Patterns

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Comparative Analysis of Genetic Algorithm Implementations

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Optimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Genetic Programming. and its use for learning Concepts in Description Logics

Evolutionary Computation Part 2

METAHEURISTIC. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal.

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

Introduction to Optimization

Genetic Programming of Autonomous Agents. Functional Description and Complete System Block Diagram. Scott O'Dell

MDL-based Genetic Programming for Object Detection

Introduction to Optimization

Multi Expression Programming. Mihai Oltean

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Gen := 0. Create Initial Random Population. Termination Criterion Satisfied? Yes. Evaluate fitness of each individual in population.

The k-means Algorithm and Genetic Algorithm

METAHEURISTICS Genetic Algorithm

Neural Network Weight Selection Using Genetic Algorithms

Optimization of Association Rule Mining through Genetic Algorithm

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

Genetic Programming of Autonomous Agents. Functional Requirements List and Performance Specifi cations. Scott O'Dell

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland

Introduction to Genetic Algorithms. Genetic Algorithms

Outline. CS 6776 Evolutionary Computation. Numerical Optimization. Fitness Function. ,x 2. ) = x 2 1. , x , 5.0 x 1.

A COMPARATIVE STUDY OF FIVE PARALLEL GENETIC ALGORITHMS USING THE TRAVELING SALESMAN PROBLEM

Genetic Programming: A study on Computer Language

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Global Optimization. for practical engineering applications. Harry Lee 4/9/2018 CEE 696

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Clustering Analysis of Simple K Means Algorithm for Various Data Sets in Function Optimization Problem (Fop) of Evolutionary Programming

Using Genetic Algorithms to optimize ACS-TSP

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

A NOVEL APPROACH FOR PRIORTIZATION OF OPTIMIZED TEST CASES

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

The Genetic Algorithm for finding the maxima of single-variable functions

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

The Continuous Genetic Algorithm. Universidad de los Andes-CODENSA

Evolutionary Computation

CHAPTER 4 GENETIC ALGORITHM

Hierarchical Crossover in Genetic Algorithms

A Genetic Programming Approach for Distributed Queries

Advanced Search Genetic algorithm

Introduction to Design Optimization: Search Methods

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

The aims of this tutorial

Escaping Local Optima: Genetic Algorithm

A Genetic Algorithm-Based Approach for Energy- Efficient Clustering of Wireless Sensor Networks

Evolutionary Art with Cartesian Genetic Programming

Solving Traveling Salesman Problem Using Parallel Genetic. Algorithm and Simulated Annealing

Submit: Your group source code to mooshak

Artificial Intelligence Application (Genetic Algorithm)

Introduction to Design Optimization: Search Methods

Introduction to Genetic Algorithms

Exploring Complexity In Science and Technology. Logistics

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

Heuristic Optimisation

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION

Hybrid Adaptive Evolutionary Algorithm Hyper Heuristic

Evolutionary Approaches for Resilient Surveillance Management. Ruidan Li and Errin W. Fulp. U N I V E R S I T Y Department of Computer Science

Transcription:

Evolutionary Computation Chao Lan

Outline Introduction Genetic Algorithm Evolutionary Strategy Genetic Programming

Introduction Evolutionary strategy can jointly optimize multiple variables. - e.g., max f(x 1, x 2,..., x n ) with respect to x 1, x 2,..., x n. - variables can be continuous - applies mutation but not necessarily crossover

(1+1) ES Algorithm (1+1) is the simplest ES algorithm.

(1+1) ES Algorithm (1+1) is the simplest ES algorithm. - one parent generates one offspring per iteration

(1+1) ES Algorithm (1+1) is the simplest ES algorithm. - one parent generates one offspring per iteration - apply Gaussian mutation on every element x i = x i + N(0, σ)

(1+1) ES Algorithm (1+1) is the simplest ES algorithm. - one parent generates one offspring per iteration - apply Gaussian mutation on every element x i = x i + N(0, σ) - intuition: mutation is more likely to be small - σ is called global step size

(1+1) ES Algorithm (1+1) is the simplest ES algorithm. - one parent generates one offspring per iteration - apply Gaussian mutation on every element x i = x i + N(0, σ) - intuition: mutation is more likely to be small - σ is called global step size - σ can be adaptive by the 1/5-rule

The 1/5-Rule In x i = x i + N(0, σ), σ can be adaptive by the 1/5-rule. Let p s be the probability of mutation success (estimated after k interactions), let c [0.8,1], the 1/5-rule says - if p s > 1/5, then σ = σ / c - if p s < 1/5, then σ = σ * c - if p s = 1/5, then σ = σ There are, of course, more sophisticated methods to update p m.

The 1/5-Rule In x i = x i + N(0, σ), σ can be adaptive by the 1/5-rule. Let p s be the probability of mutation success (estimated after k interactions), let c [0.8,1], the 1/5-rule says - if p s > 1/5, then σ = σ / c - if p s < 1/5, then σ = σ * c - if p s = 1/5, then σ = σ Q: what is the rationale of this design?

The 1/5-Rule In x i = x i + N(0, σ), σ can be adaptive by the 1/5-rule. Let p s be the probability of mutation success (estimated after k interactions), let c [0.8,1], the 1/5-rule says - if p s > 1/5, then σ = σ / c - if p s < 1/5, then σ = σ * c - if p s = 1/5, then σ = σ Q: what is the rationale of this design? Q: when should we update p s?

More General ES Algorithm Start with multiple parents in population. Parents are selected for recombination. Recombined solutions are mutated. More fitted solutions survive.

Recombination To generate offspring (z 1, z 2,, z n ) from parents (x 1, x 2,, x n ) and (y 1, y 2,, y n ). 1. Local Intermediary: fix parents and get z i = ( x i + y i ) / 2

Recombination To generate offspring (z 1, z 2,, z n ) from parents (x 1, x 2,, x n ) and (y 1, y 2,, y n ). 1. Local Intermediary: fix parents and get z i = ( x i + y i ) / 2 2. Global Intermediary: for each i, pick up two parents and get z i = ( x i + y i ) / 2

Recombination To generate offspring (z 1, z 2,, z n ) from parents (x 1, x 2,, x n ) and (y 1, y 2,, y n ). 1. Local Intermediary: fix parents and get z i = ( x i + y i ) / 2 2. Global Intermediary: for each i, pick up two parents and get z i = ( x i + y i ) / 2 3. Local Discrete: fix parents and get z i = x i or y i (randomly)

Recombination To generate offspring (z 1, z 2,, z n ) from parents (x 1, x 2,, x n ) and (y 1, y 2,, y n ). 1. Local Intermediary: fix parents and get z i = ( x i + y i ) / 2 2. Global Intermediary: for each i, pick up two parents and get z i = ( x i + y i ) / 2 3. Local Discrete: fix parents and get z i = x i or y i 4. Global Discrete: for each i, pick up two parents and get z i = x i or y i (randomly)

Back to (1+1) Q: how can we add recombination in (1+1)?

Outline Introduction Genetic Algorithm Evolutionary Strategy Genetic Programming

Introduction Genetic programming evolves computer program. It is based on the fact that any computer program is a sequence of operations applied to values. Different programming languages may include different types of statements and operations, and have different syntactic restrictions. We will focus on LISP. An operation is also called a function; a value is also called an argument.

LISP List Processor is one of the oldest high-level programming languages used in AI. - great for symbolic AI Its basic data structures are atoms and lists. - atom is the smallest indivisible element - list is an object composed of atoms and/or other lists

LISP List Processor is one of the oldest high-level programming languages used in AI. - great for symbolic AI Its basic data structures are atoms and lists. - atom is the smallest indivisible element - list is an object composed of atoms and/or other lists (- (*AB) C) which is operation (A*B)-C

LISP List Processor is one of the oldest high-level programming languages used in AI. - great for symbolic AI Its basic data structures are atoms and lists. - atom is the smallest indivisible element - list is an object composed of atoms and/or other lists (- (*AB) C) which is operation (A*B)-C Q: what are the atoms, what are the lists?

LISP List Processor is one of the oldest high-level programming languages used in AI. - great for symbolic AI Its basic data structures are atoms and lists. - atom is the smallest indivisible element - list is an object composed of atoms and/or other lists (- (*AB) C) which is operation (A*B)-C - both atoms and lists are symbolic expressions or S-expression

Tree Representation of S-Expression Any S-expression can be represented as a tree.

Tree Representation of S-Expression Any S-expression can be represented as a tree. function terminal

Tree Representation of S-Expression Any S-expression can be represented as a tree. function we can evolve the tree to generate new expression! terminal

Example: Pythagorean Theorem We want to find an S-expression that represents the Pythagorean Theorem.

Basically, we want to evolve the tree...

Q: How to design fitness function?

Fitness Function fitness = absolute difference between two formulas over multiple fitness cases Values of a, b are chosen randomly over a broad range.

Q: How to design crossover?

Crossover

Crossover

Q: Will this crossover work?

Q: How to design mutation?

Mutation: Example 1

Mutation: Example 1

Q: Will these mutations work? * sqrt

Will these mutations work? a +

The GP Algorithm GP is similar to GA except 1. best-so-far always survives 2. cloning/crossover/mutation

Simulation Result Population size is 500.

Remarks GP is great for symbolic AI problem. No need to design chromosome as GA. Not provably scalable to complex problems.