Genetic Algorithms. Genetic Algorithms

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

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

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

Heuristic Optimisation

Mutations for Permutations

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

Advanced Search Genetic algorithm

Introduction to Genetic Algorithms

Artificial Intelligence Application (Genetic Algorithm)

Genetic Algorithms. Kang Zheng Karl Schober

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

Evolutionary Computation, 2018/2019 Programming assignment 3

GENETIC ALGORITHM with Hands-On exercise

CHAPTER 4 GENETIC ALGORITHM

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?

Evolutionary Computation. Chao Lan

[Premalatha, 4(5): May, 2015] ISSN: (I2OR), Publication Impact Factor: (ISRA), Journal Impact Factor: 2.114

Submit: Your group source code to mooshak

Introduction to Genetic Algorithms. Genetic Algorithms

Artificial Intelligence

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Genetic Algorithms Applied to the Knapsack Problem

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

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

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

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Genetic Algorithm. Dr. Rajesh Kumar

Introduction to Design Optimization: Search Methods

Genetic Algorithms. Chapter 3

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

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

CS:4420 Artificial Intelligence

Planning and Search. Genetic algorithms. Genetic algorithms 1

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Introduction to Design Optimization: Search Methods

Applying genetic algorithm on power system stabilizer for stabilization of power system

CHAPTER 4 FEATURE SELECTION USING GENETIC ALGORITHM

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Genetic Algorithms for Vision and Pattern Recognition

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

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Genetic Algorithms Variations and Implementation Issues

Computational Intelligence

The k-means Algorithm and Genetic Algorithm

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

Using Genetic Algorithms to Solve the Box Stacking Problem

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

Introduction to Evolutionary Computation

Chapter 9: Genetic Algorithms

TechTalk on Artificial Intelligence

Neural Network Weight Selection Using Genetic Algorithms

Chapter 14 The Genetic Algorithm

Comparative Analysis of Genetic Algorithm Implementations

Combinational Circuit Design Using Genetic Algorithms

Genetic Algorithm Based Template Optimization for a Vision System: Obstacle Detection

Information Fusion Dr. B. K. Panigrahi

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

Encoding Techniques in Genetic Algorithms

Genetic Algorithm for Finding Shortest Path in a Network

Grid Scheduling Strategy using GA (GSSGA)

Automatic Generation of Test Case based on GATS Algorithm *

Local Search (Ch )

AI Programming CS S-08 Local Search / Genetic Algorithms

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Biology in Computation: Evolving Intelligent Controllers

Introduction to Optimization

2017 Predictive Analytics Symposium

Genetic Algorithms and Image Search Pavel Mrázek

METAHEURISTICS Genetic Algorithm

A Modified Genetic Algorithm for Process Scheduling in Distributed System

Introduction to Optimization

The Continuous Genetic Algorithm. Universidad de los Andes-CODENSA

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Escaping Local Optima: Genetic Algorithm

Similarity Templates or Schemata. CS 571 Evolutionary Computation

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Optimizing Flow Shop Sequencing Through Simulation Optimization Using Evolutionary Methods

Search Algorithms for Regression Test Suite Minimisation

CHAPTER 5. CHE BASED SoPC FOR EVOLVABLE HARDWARE

Artificial Intelligence

Genetic Algorithm for Seismic Velocity Picking

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

LECTURE 3 ALGORITHM DESIGN PARADIGMS

Preprocessing of Stream Data using Attribute Selection based on Survival of the Fittest

IJMT Volume 2, Issue 3 ISSN:

Using Genetic Algorithms in Integer Programming for Decision Support

Algorithm Design Paradigms

ATI Material Do Not Duplicate ATI Material. www. ATIcourses.com. www. ATIcourses.com

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

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

EXPLORING STYLE EMERGENCE IN ARCHITECTURAL DESIGNS

A Memetic Genetic Program for Knowledge Discovery

Chapter 14 Global Search Algorithms

International Journal of Scientific & Engineering Research Volume 8, Issue 10, October-2017 ISSN

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Heuristic Optimisation

Role of Genetic Algorithm in Routing for Large Network

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

Transcription:

A biological analogy for optimization problems Bit encoding, models as strings Reproduction and mutation -> natural selection Pseudo-code for a simple genetic algorithm

The goal of genetic algorithms (GA): Propagate members of a population through many generations By carefully influencing wedding plans, decide which partner will have kids always keep a whole population (ensemble of models) and try to improve their overall quality evalute each member for fitness, allow only the fittest to have sex the weakest members will die out GA s mimic natural selection (Darwin)

GA - terminology in GA a population is considered as a large ensemble of chromosomes (each member, ie model, is described by a long string, like DNA) a chromosome is composed of individual genes (this would correspond to the parameters of our proble the only way individuals are changed is by crossover (the kids of two adults) and some mutation (a random perturbation of the genetic material) Example: crossover Parent 1: 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 Child 1: 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 Parent 2: 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 Child 2: 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 mutation

GA real life Let s make a real life example Human genotypes are Eye color Hair color Skin color height streng th Brain size music ality coordi nation maths Phenotypes of Albert Einstein brown black bright Avg Avg Avg high low mediu m Phenotypes of Sharon Stone green blond e fair Avg Avg Avg high good good Let us not speculate what their baby would look like

What is an individual? The goal of a GA is to find (or better to breed) the best individual from the available genetic pool Best model Examples: In our peaks function, each individual would be described by two numbers, the x and y coordinate A fundamental (but actually not absolutely necessary) aspect of GA s is the coding of an individual into string If you use a Binary representation, it s called bit coding x y Model 1: (3,25) Model 2: (16,97) Model N: (23,45) x y -> 001011 010101 -> 100101 101010 -> 001010 110111 This can of course be carried out for an arbitrary number of parameters (properties)

Lets get (geo)physical A natural example for a string representation for a geophysical inverse problem is our treasure hunt 01010000 010 10010000 0100 00000 0000 Here the actual binary coding would make sense Here 0 would mean sand and 1 would represent gold What if we can to describe a function taking on arbitrary values? Example: We want to invert for a depth dependent velocity model, described by layer thickness d and velocity c Then a model vector m would look like: m = (d 1,v 1, d 2,v 2, d 3,v 3, d 4,v 4, d 5,v 5, d 6,v 6, d n,v n ) and would simply be described by a long bit-string It is your choice how many bits you use for the possible range of values for each parameter

Initial population First step: For illustration we try to find the maximum of the peaks function with only two parameters (x,y) In contrast to simulated annealing we are not working with one model which we perturb, but we work with a model population We decide we work on an initial model size n=20 The initial population was not influenced by the (quality, misfit, probability, etc) function which will be responsible for their future development The model parameters will be (but don t have to be) bit-coded Initial population (white crosses)

Quality, Fitness, Probability Second step: Calculate the quality (misfit, probability, etc) of each individual of the population: x y Quality Model 1: 24 12 012 Model 2: 3 67 024 Model 3: 87 34 045 Model n: 21 56 023 Note that in geophysical inverse problems the calculation of the quality would correspond to the solution of a forward problem and calculation of the data misfit

Order - ranking Third step: Now rank the individuals (models) according to fitness (quality, probability, etc): Rank Model x y Quality 1 18 12 34 081 2 12 45 56 067 3 3 1 56 065 N 7 24 98 001

Ranking Fourth step: Decide how many of the bad models you want to sent to Siberia (eg half) Then reproduction begins with the remaining models Rank Model x y Quality 1 18 12 34 081 2 12 45 56 067 3 3 1 56 065 N/2 5 11 44 058 -> Siberia N

Fitness Fifth step: Go through the remaining n/2 models and find a partner with a probability proportional to its fitness Rank Model x y Quality 1 18 12 34 081 2 12 45 56 067 3 3 1 56 065 N/2 5 11 44 058 Finding a partner for Model 18: 081 067 065 058 Generate a random number between 0 and max A better model will be picked more often

Reproduction Finding a partner for Model 18: 081 067 065 058 It s YOU Model 3 was picked as partner for model 18, now they mate: Model 18 (12,34) -> 001010 101001 Model 3 (1,56) -> 101100 010110 Randomly choose a crossover point, we get the babies: Baby 1: 00101010 0110 -> (24, 56) Baby 2: 10110001 1001 -> (76,87)

Mutation We keep the n/2 best models for the next population and we have n/2 new members, the babies Each baby has an occasional flip of one of its bits with a (usually low) probability Baby 1: 00101010 0110 -> (24, 56) Baby 2: 10110001 1001 -> (76,87) Baby 1: 00111010 0110 -> (13, 56) Baby 2: 10110001 1001 -> (76,87) Just one of the babies underwent mutation and it affected only one of the parameters

Iteration The process of reproduction, crossover and mutation is repeated until either the average fitness (quality, probability, etc) of the population has reached an acceptable value or one of the members (the star) has such incredible quality that you decide he is the winner In principle the average quality of the population should increase with each generation However, this strongly depends on some of the parameters (eg the probability for mutation) and the nature of the fitness (quality, probability) function

Example for peaks

Summary A Genetic algorithm is an optimization method based on the biological analogy of survival of the fittest In contrast to simulated annealing where only one model is perturbed and walked through the model space in genetic algorithms an ensemble of models is always considered Through analogies of genetic reproduction, crossover, mutation the quality of the average population and the individuals is improved over several generations Genetic algorithms can be considered as a special case of the more general evolutionary algorithms