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?

Similar documents
Artificial Intelligence Application (Genetic Algorithm)

Genetic Algorithms. Chapter 3

Pseudo-code for typical EA

Genetic Algorithms Presented by: Faramarz Safi (Ph.D.) Faculty of Computer Engineering Islamic Azad University, Najafabad Branch.

Genetic Algorithms. Kang Zheng Karl Schober

Genetic Algorithms Variations and Implementation Issues

Introduction to Genetic Algorithms

Genetic Algorithms for Vision and Pattern Recognition

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

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

GENETIC ALGORITHM with Hands-On exercise

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Path Planning Optimization Using Genetic Algorithm A Literature Review

CHAPTER 4 GENETIC ALGORITHM

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

AI Programming CS S-08 Local Search / Genetic Algorithms

Chapter 9: Genetic Algorithms

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

Evolutionary Computation Part 2

CHAPTER 4 FEATURE SELECTION USING GENETIC ALGORITHM

Artificial Intelligence

Computational Intelligence

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

Heuristic Optimisation

Introduction to Optimization

A Genetic Algorithm for the Multiple Knapsack Problem in Dynamic Environment

Dr. Stephan Steigele Vorlesung im SS 2008

Optimization of Function by using a New MATLAB based Genetic Algorithm Procedure

METAHEURISTICS Genetic Algorithm

Genetic Algorithm for optimization using MATLAB

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

Submit: Your group source code to mooshak

Introduction to Optimization

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

Using Genetic Algorithms in Integer Programming for Decision Support

Escaping Local Optima: Genetic Algorithm

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

DERIVATIVE-FREE OPTIMIZATION

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

An Introduction to Evolutionary Algorithms

Automata Construct with Genetic Algorithm

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

V.Petridis, S. Kazarlis and A. Papaikonomou

AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENETIC ALGORITHMS

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

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

Grid Scheduling Strategy using GA (GSSGA)

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

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

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Part II. Computational Intelligence Algorithms

CS5401 FS2015 Exam 1 Key

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

Advanced Search Genetic algorithm

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

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

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

CHAPTER 1 at a glance

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Genetic Algorithms. Genetic Algorithms

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Reducing Graphic Conflict In Scale Reduced Maps Using A Genetic Algorithm

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Genetic Algorithm. Dr. Rajesh Kumar

Non-deterministic Search techniques. Emma Hart

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

Information Fusion Dr. B. K. Panigrahi

Usage of of Genetic Algorithm for Lattice Drawing

A Queue-Based Genetic Algorithm (QGA)

Chapter 14 The Genetic Algorithm

Introduction to Evolutionary Computation

Genetic Programming for Multiclass Object Classification

CHAPTER 1 INTRODUCTION

Multi-objective Optimization

Monika Maharishi Dayanand University Rohtak

An Integrated Genetic Algorithm with Clone Operator

An Adaptive Hybrid Genetic-Annealing Approach

Keywords benchmark functions, hybrid genetic algorithms, hill climbing, memetic algorithms.

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

Neural Network Weight Selection Using Genetic Algorithms

Multi-objective Optimization

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

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

Optimization of Benchmark Functions Using Genetic Algorithm

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

ANTICIPATORY VERSUS TRADITIONAL GENETIC ALGORITHM

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Using Genetic Algorithms to Solve the Box Stacking Problem

Similarity Templates or Schemata. CS 571 Evolutionary Computation

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

A THREAD BUILDING BLOCKS BASED PARALLEL GENETIC ALGORITHM

CS:4420 Artificial Intelligence

Genetic.io. Genetic Algorithms in all their shapes and forms! Genetic.io Make something of your big data

Reflector calculation, validation and optimisation using Radiance Krzysztof WANDACHOWICZ

A Decision Support System for Sales Territory Planning using the Genetic Algorithm

Transcription:

Gurjit Randhawa

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? This would be nice! Can it be done?

A blind generate and test algorithm: Repeat Generate a random possible solution Test the solution and see how good it is Until solution is good enough

Generate a set of random solutions Repeat Test each solution in the set (rank them) Remove some bad solutions from set Duplicate some good solutions Make small changes to some of them Until best solution is good enough

After scientists became disillusioned with classical and neoclassical attempts at modeling intelligence, they looked in other directions. Two prominent fields arose, connectionism (neural networking, parallel processing) and evolutionary computing. Developed: in the 1970 s (USA ) Early names: J. Holland, K. DeJong, D. Goldberg Typically applied to: Optimization Problems Special Features: Traditionally emphasizes combining information from good parents (crossover) Many variants, e.g., reproduction models, operators

A Genetic Algorithm (or GA) is a search technique used in computing to find true or approximate solutions to optimization and search problems. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover. Genetic algorithms are search and optimization algorithms based on the mechanics of natural selection and natural genetics [David E. Goldberg].

Individual - Any possible solution Population - Group of all individuals Search Space - All possible solutions to the problem Chromosome - Blueprint for an individual Allele - Possible settings of trait Locus - The position of a gene on the chromosome

The evolution usually starts from a population of randomly generated individuals and happens in generations. In each generation, the fitness of every individual in the population is evaluated, multiple individuals are selected from the current population (based on their fitness), and modified (recombined and possibly mutated) to form a new population

The new population is then used in the next iteration of the algorithm. Commonly, the algorithm terminates when either maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population. If the algorithm has terminated due to a maximum number of generations, a satisfactory solution may or may not have been reached.

Holland s Original GA is known as Simple Genetic Algorithm(SGA), which use following parameters. Other variants use different parameter combinations. Representation Crossover Mutation Parent selection Survivor selection Speciality Binary strings N-point Bitwise bit-flipping with fixed probability Fitness-Proportionate All children replace parents Emphasis on crossover

1. Select parents for the mating pool (size of mating pool = population size) 2. Shuffle the mating pool 3. For each consecutive pair apply crossover with probability p c, otherwise copy parents 4. For each offspring apply mutation (bit-flip with probability p m independently for each bit) 5. Replace the whole population with the resulting offspring

Has been subject of many (early) studies still often used as benchmark for novel GAs Shows many shortcomings, e.g. Representation is too restrictive Mutation & crossovers only applicable for bit-string & integer representations Selection mechanism sensitive for converging populations with close fitness values Generational population model can be improved with explicit survivor selection

Binary Integers Floating point variables Character Representation String Representation Hybrid Representation

Suitable for many problems e.g. 0/1 Knapsack Problem etc. 01010101110 Where each bit represent different object 0 represent inclusion of object and 1 represent discarding an object or vice versa Objective is to maximize profit keeping capacity constraint in mind.

Some problems naturally have integer variables, e.g. process/job scheduling N-point / uniform crossover operators work Extend bit-flipping mutation to make creep i.e. more likely to move to similar value Random choice

Many problems occur as real valued problems, e.g. knapsack problem 0.3 1.0 1.0 0.0 Here fraction values are also allowed.

Suitable for problems where solutions can be represented in form of Character Strings e.g. Prisoners Dilemma cddcsd where c represent Cooperate and d represent Deny

Categorical Representation of solutions e.g. pink red pink blue

Best suitable alternative for multi objective functions Multiple constraints can be shown together e.g. in Protein Engineering, Medical Sciences, Biology A0.3 B0.2

Roulette Wheel Selection Stochastic Universal Sampling Sigma Scaling Keeps selection pressure (degree to which highly fit individuals are allowed many offspring) constant throughout the run An individual's expected value is a function of its fitness Rank Selection

Tournament Selection Boltzmann Selection similar to simulated annealing the ratio of expected values of individuals ranked i and i+1 will be the same whether their absolute fitness differences are high or low Elitism Steady-State Selection

Main idea: better individuals get higher chance Chances proportional to fitness Implementation: roulette wheel technique» Assign to each individual a part of the roulette wheel» Spin the wheel n times to select n individuals A 3/6 = 50% 1/6 = 17% B C 2/6 = 33% fitness(a) = 3 fitness(b) = 1 fitness(c) = 2

Performance with 1 Point Crossover depends on the order that variables occur in the representation more likely to keep together genes that are near each other Can never keep together genes from opposite ends of string This is known as Positional Bias Can be exploited if we know about the structure of our problem, but this is not usually the case

Choose a random point on the two parents Split parents at this crossover point Create children by exchanging tails P c typically in range (0.6, 0.9)

Choose n random crossover points Split along those points Glue parts, alternating between parents Generalisation of 1 point (still some positional bias)

Assign 'heads' to one parent, 'tails' to the other Flip a coin for each gene of the first child Make an inverse copy of the gene for the second child Inheritance is independent of position

Alter each gene independently with a probability p m p m is called the mutation rate and can be chosen based upon different conditions e.g. 1/pop_size or 1/ chromosome_length Typically In Nature : 0.0001 Practical Implementation: 0.4-0.6

Decade long debate: which one is better / necessary / main-background Answer (at least, rather wide agreement): it depends on the problem, but in general, it is good to have both

Exploration: Discovering promising areas in the search space, i.e. gaining information on the problem Exploitation: Optimising within a promising area, i.e. using information There is co-operation AND competition between them Crossover is explorative, it makes a big jump to an area somewhere in between two (parent) areas Mutation is exploitative, it creates random small diversions, thereby staying near (in the area of ) the parent

Only crossover can combine information from two parents Only mutation can introduce new information (alleles) Crossover does not change the allele frequencies of the population To hit the optimum you often need a lucky mutation

Simple problem: Max x 2 over {0,1,,31} GA approach: Representation: binary code, e.g. 01101 13 Population size: 4 Single Point Crossover, Bitwise Mutation Roulette Wheel Selection Random initialization We show one generational cycle done by hand

GA s are algorithms inspired from nature Very useful in search and optimization problems Can reduce computation time to great extent Does not guarantee optimal solution, but may provide optimal or near optimal solution quite efficiently Good for handling optimization problems with large data.