Outline Introduction Evolution Strategies Genetic Algorithm

Slides:



Advertisements
Similar presentations
Logical and Artificial Intelligence in Games Lecture 14
Advertisements

Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Evolutionary Computation (EC)
CSM6120 Introduction to Intelligent Systems Evolutionary and Genetic Algorithms.
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
CHAPTER 9 E VOLUTIONARY C OMPUTATION I : G ENETIC A LGORITHMS Organization of chapter in ISSO –Introduction and history –Coding of  –Standard GA operations.
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
1 Wendy Williams Metaheuristic Algorithms Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and.
Evolutionary Computational Intelligence
Introduction to Genetic Algorithms Yonatan Shichel.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Tutorial 1 Temi avanzati di Intelligenza Artificiale - Lecture 3 Prof. Vincenzo Cutello Department of Mathematics and Computer Science University of Catania.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
CS 447 Advanced Topics in Artificial Intelligence Fall 2002.
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Image Registration of Very Large Images via Genetic Programming Sarit Chicotay Omid E. David Nathan S. Netanyahu CVPR ‘14 Workshop on Registration of Very.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Christoph F. Eick: Applying EC to TSP(n) Example: Applying EC to the TSP Problem  Given: n cities including the cost of getting from on city to the other.
Genetic Algorithms: A Tutorial
Prepared by Barış GÖKÇE 1.  Search Methods  Evolutionary Algorithms (EA)  Characteristics of EAs  Genetic Programming (GP)  Evolutionary Programming.
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
1 An Overview of Evolutionary Computation 조 성 배 연세대학교 컴퓨터과학과.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Genetic algorithms Prof Kang Li
Schemata Theory Chapter 11. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Theory Why Bother with Theory? Might provide performance.
Genetic Algorithms Michael J. Watts
Genetic Algorithms Genetic algorithms imitate a natural optimization process: natural selection in evolution. Developed by John Holland at the University.
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Soft Computing A Gentle introduction Richard P. Simpson.
Coevolution Chapter 6, Essentials of Metaheuristics, 2013 Spring, 2014 Metaheuristics Byung-Hyun Ha R2R3.
15/06/2003NORPIE 2004, Trondheim1 Genetic Optimization of Electric Machines, a State of the Art Study S. E. Skaar, R. Nilssen.
1 Genetic Algorithms and Ant Colony Optimisation.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Edge Assembly Crossover
Genetic Algorithms. 2 Overview Introduction To Genetic Algorithms (GAs) GA Operators and Parameters Genetic Algorithms To Solve The Traveling Salesman.
Optimization by Model Fitting Chapter 9 Luke, Essentials of Metaheuristics, 2011 Byung-Hyun Ha R1.
5. Implementing a GA 4 학습목표 GA 를 사용해 실제 문제를 해결할 때 고려해야 하는 사항에 대해 이해한다 Huge number of choices with little theoretical guidance Implementation issues + sophisticated.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Selection Methods Choosing the individuals in the population that will create offspring for the next generation. Richard P. Simpson.
Selection and Recombination Temi avanzati di Intelligenza Artificiale - Lecture 4 Prof. Vincenzo Cutello Department of Mathematics and Computer Science.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
CAP6938 Neuroevolution and Artificial Embryogeny Evolutionary Comptation Dr. Kenneth Stanley January 23, 2006.
Genetic Algorithms. Solution Search in Problem Space.
Breeding Swarms: A GA/PSO Hybrid 簡明昌 Author and Source Author: Matthew Settles and Terence Soule Source: GECCO 2005, p How to get: (\\nclab.csie.nctu.edu.tw\Repository\Journals-
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Introduction to Genetic Algorithms
Genetic Algorithms.
Dr. Kenneth Stanley September 11, 2006
Evolution Strategies Evolutionary Programming
School of Computer Science & Engineering
Introduction to Genetic Algorithm (GA)
Example: Applying EC to the TSP Problem
CSC 380: Design and Analysis of Algorithms
Advanced Artificial Intelligence Evolutionary Search Algorithm
Example: Applying EC to the TSP Problem
Example: Applying EC to the TSP Problem
GENETIC ALGORITHMS & MACHINE LEARNING
Genetic Algorithms Chapter 3.
A Gentle introduction Richard P. Simpson
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Population Based Metaheuristics
CSC 380: Design and Analysis of Algorithms
Population Methods.
Presentation transcript:

Metaheuristics Byung-Hyun Ha Population Methods Metaheuristics Byung-Hyun Ha R1

Outline Introduction Evolution Strategies Genetic Algorithm Exploitative Variations Differential Evolution Particle Swarm Optimization Summary

Introduction Population-based methods Keeping around a sample of candidate solutions rather than a single candidate solution Candidate solutions affect how other candidates will hill-climb Poor solutions to be rejected and new ones created, by good solutions Solutions to be Tweaked in the direction of the better solutions c.f., different from a parallel hill-climber Stealing concepts from biology Evolutionary Computation, broader concept Evolutionary Algorithm (EA) Generational algorithms e.g., Genetic Algorithm (GA) Steady-state algorithms e.g., Evolution Strategies (ES)

U' = {1, 4} (include item 1 and 4) Introduction Common terms used in Evolutionary Computation Individual and population A candidate solution and set of candidate solutions Genotype or genome An individual’s data structure, as used during breeding Chromosome -- a genotype in the form of a fixed-length vector Gene -- particular slot position in a chromosome Phenotype How the individual operates during fitness assessment 1 genotype U' = {1, 4} (include item 1 and 4) phenotype knapsack problem artificial ant (Ch. 4)

Introduction Common terms used in Evolutionary Computation (cont’d) Child and parent A child is the Tweaked copy of a candidate solution (its parent) Mutation Plain Tweaking (asexual breeding) Crossover or recombination A Tweak which takes two parents (sexual breeding) Fitness and fitness landscape Quality and quality function Selection Picking individuals based on their fitness Breeding Producing children from a population of parents by selection and Tweaking Generation One cycle of fitness assessment, breeding, and population reassembly; or The population produced each such cycle

Introduction Common terms used in Evolutionary Computation (cont’d) ith population 1 parents selection 1 1 1 mutation crossover 1 1 1 1 children 1 1 1 1 ith generation (i + 1)th generation (i + 1)th population

Introduction Abstract form of EA Population initialization Biased to good ones vs. uniform randomness?

Evolution Strategies Truncation selection and mutation only (, ) and ( + ) algorithm

Evolution Strategies (, ) algorithm Effect of parameters (/ children) for each of  selected parents  ( in population) e.g., (5, 20) Evolution Strategy Effect of parameters Size of , size of , degree to which Mutation is performed

Evolution Strategies ( + ) algorithm ( selected parents) + (/ children of each selection)  next population More exploitative than (, ), because parents compete with children

Evolution Strategies Mutation rate, 2 Mutation of vector of real numbers Gaussian Convolution with 2 Controlling exploration and exploitation Specifying mutation rate Static Adaptive Good starting point -- one-fifth rule if more than 1/5 children are fitter than parents: increase 2 else: decrease 2 c.f., degeneracy of Evolution Strategy (1 + 1) -- plain Hill-Climbing (1 + ) -- Steepest Ascent Hill-Climbing (1, ) -- Steepest Ascent Hill-Climbing with Replacement

Genetic Algorithm John Holland, 1970s Originally for fixed-length vectors of boolean values, e.g., 001101001

Genetic Algorithm Mutation (Tweaking) Examples For binary-valued vectors Bit-flip mutation For permutations (Adjaceint) pairwise interchange, insertion, inversion For tour of TSP 2-opt or 3-opt For tree For real-valued vectors Requirements (Talbi, 2009) Ergodicity Validity Locality 2-opt

Genetic Algorithm Crossover Examples One-point Weakness -- Pr(v1 and vl to be broken) > Pr(v1 and v2 to be broken) If v1 and vl simultaneously work for high fitness? Two-point -- treating v1 and vl fairly Uniform -- treating vi and vj fairly

Genetic Algorithm Crossover (cont’d) Convergence by successive crossover of individuals Possibly premature Then, why we use it? Premise of building blocks for high fitness e.g., 1011 of 10110101 c.f., schema theory i.e., linkage between genes for high fitness One- and two-point crossover assuming highly-linked genes are located near to one another Moral Check your problem. ;-)

Genetic Algorithm More crossover For real-valued vectors Line recombination Intermediate recombination

Genetic Algorithm More crossover (cont’d) (Talbi, 2009) (convergence?) For permutations Order crossover (OX) Partially mapped crossover (PMX) For tour of TSP Cycle crossover (CX) 1 2 3 4 5 6 7 8 9 1 9 3 4 5 6 2 7 8 8 4 1 5 9 3 6 2 7 8 4 3 5 6 2 7 1 2 3 4 5 6 7 8 9 8 5 3 4 6 2 7 8 4 1 5 9 3 6 2 7 8 9 3 4 5 6 1 2 7 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 3 7 4 2 6 5 8 9 9 3 7 8 2 6 5 1 4 9 3 7 8 2 6 5 1 4 9 2 3 8 5 6 7 1 4

Genetic Algorithm Selection c.f., Evolution Strategy  Truncation Selection Roulette Selection (Fitness-Proportionate Selection) Scheme Let s = i fi , where is the fitness of ith individual. Select ith individual with probability (fi / s) Selection pressure problem How about minimization problems? Just to use fi' = 1/ fi ? Or, if difference of fi and fj is too large?

Genetic Algorithm Selection (cont’d) Stochastic Universal Sampling

Genetic Algorithm Selection (cont’d) Tournament Selection Primary selection technique used for GA Recall selection pressure problem of previous methods. How to scale fitness appropriately? A solution -- non-parametric selection algorithm Tournament size t 1 (random search), very large (Truncation Selection with  = 1) 2 (most popular), ...

Exploitative Variations Trend in new algorithms -- more exploitative! Elitism Similar to ( + ) Injecting directly fittest individuals (elites) of previous population into the next Preventing possible premature convergence Increasing mutation and crossover noise Weakening selection pressure Reducing number of elites Steady-State Genetic Algorithm Updating population, incrementally Introducing a few children (possibly one or two) Give death to the same number of selected individuals Preventing premature convergence Selecting individuals randomly for death + Approaches in Elitism c.f., Generation Gap Algorithms -- using large value of new children

Exploitative Variations Tree-Style Genetic Programming Pipeline Hybrid Evolutionary and Hill-Climbing Algorithms Revising and replacing each individual with some hill-climbing Adjusting degree of exploitation -- t A.k.a. memetic algorithms

Exploitative Variations Scatter Search with Path Relinking Combining exploitative mechanisms (hybrid methods, steady-state evolution) explicit attempt to force diversity (exploration) Schema Initial population Seeds provided + random individuals that are very different from one another and from the seeds Applying hill-climbing to each seed Loop Selecting some very fit individuals and some very diverse individuals (much less than population) Generating new seeds by crossover Path Relinking, here Add new ones to population after applying hill-climb Required -- measure of diversity Then, how to generate diverse individuals?

Exploitative Variations Scatter Search with Path Relinking (cont’d) Path Relinking Original path (solid) and one possible relinked path (dotted)

Differential Evolution Mutation by vector addition and subtraction Working in metric vector spaces (booleans, metric integer spaces, reals) Generating children For each parent i, Selecting randomly individuals, a, b, c Generating child by crossover of i and a + (b – c) Survival selection Child is thrown away if it is worse than parent Adaptive but not much global Determining the size of mutation largely based on current variance in the population Children are entirely based on the existing parents

Particle Swarm Optimization Idea based on swarming and flocking behaviors in animals maintaining a single static population Tweaking in response to new discoveries about the space Particle representation Location x, velocity v = x(t) – x(t–1) where x(t) is location at time t c.f., working in multidimensional metric (usually real-valued) spaces Update of location x, x+, x! -- best of x, best of any of informant of x, best of anyone, so far v  v + b(x* – x) + c(x+ – x) + d(x! – x) x  x + v c.f., candidate is mutated towards the best discovered solutions so far. Effect of parameters

Summary Population methods Mutation and crossover Selection Resampling techniques (EA) and directed mutation (PSO) Generational algorithms and steady-state algorithms Mutation and crossover Chromosomes in real- and boolean-valued vectors, permutations, tours Selection Roulette-wheel with fitness scaling and tournament Adaptive mutation algorithm Particle Swarm Optimization