Evolutionary Computation Part 2

Similar documents
Genetic Algorithms. Kang Zheng Karl Schober

Artificial Intelligence Application (Genetic Algorithm)

GENETIC ALGORITHM with Hands-On exercise

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?

Introduction to Genetic Algorithms

CHAPTER 4 GENETIC ALGORITHM

Similarity Templates or Schemata. CS 571 Evolutionary Computation

Introduction to Evolutionary Computation

Genetic Algorithms. Chapter 3

Genetic Algorithms Variations and Implementation Issues

Heuristic Optimisation

The Parallel Software Design Process. Parallel Software Design

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

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

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

Genetic Algorithms and Genetic Programming Lecture 7

Lecture 6: The Building Block Hypothesis. Genetic Algorithms and Genetic Programming Lecture 6. The Schema Theorem Reminder

Computational Intelligence

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

Introduction to Genetic Algorithms. Genetic Algorithms

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

Chapter 9: Genetic Algorithms

Genetic Algorithms for Vision and Pattern Recognition

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Mutations for Permutations

CS5401 FS2015 Exam 1 Key

Evolutionary Computation. Chao Lan

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

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

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

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Introduction to Optimization

Introduction to Optimization

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

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

Usage of of Genetic Algorithm for Lattice Drawing

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

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

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

A Genetic Programming Approach for Distributed Queries

An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid

Advanced Search Genetic algorithm

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

Escaping Local Optima: Genetic Algorithm

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

An Adaption of the Schema Theorem to Various Crossover and Mutation Operators for a Music Segmentation Problem

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Design of a Route Guidance System with Shortest Driving Time Based on Genetic Algorithm

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms

A Modified Genetic Algorithm for Process Scheduling in Distributed System

Path Planning Optimization Using Genetic Algorithm A Literature Review

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

Using Genetic Algorithms in Integer Programming for Decision Support

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

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

AI Programming CS S-08 Local Search / Genetic Algorithms

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

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

Evolutionary Object-Oriented Testing

Automata Construct with Genetic Algorithm

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

Citation for published version (APA): Lankhorst, M. M. (1996). Genetic algorithms in data analysis Groningen: s.n.

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

Chapter 14 Global Search Algorithms

Evolving Efficient Security Systems Under Budget Constraints Using Genetic Algorithms

Neural Network Weight Selection Using Genetic Algorithms

GENETIC ALGORITHM-AIDED ROUTING ON 3D DYNAMIC NETWORKS

A Novel Accurate Genetic Algorithm for Multivariable Systems

Genetic Programming: A study on Computer Language

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

Binary Representations of Integers and the Performance of Selectorecombinative Genetic Algorithms

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

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

CHAPTER 3.4 AND 3.5. Sara Gestrelius

Planning and Search. Genetic algorithms. Genetic algorithms 1

Search Algorithms for Regression Test Suite Minimisation

Solving Traveling Salesman Problem for Large Spaces using Modified Meta- Optimization Genetic Algorithm

DERIVATIVE-FREE OPTIMIZATION

Automated Object-Oriented Software Testing using Genetic Algorithms and Static-Analysis

Genetic Programming for Julia: fast performance and parallel island model implementation

Automatic Selection of GCC Optimization Options Using A Gene Weighted Genetic Algorithm

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Solving Single Machine Scheduling Problem with Maximum Lateness Using a Genetic Algorithm

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

Genetic Algorithms and their Testing

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

Artificial Intelligence

Time Complexity Analysis of the Genetic Algorithm Clustering Method

Mutation in Compressed Encoding in Estimation of Distribution Algorithm

Evolving Genotype to Phenotype Mappings with a Multiple-Chromosome Genetic Algorithm

Evolutionary Computation Algorithms for Cryptanalysis: A Study

The k-means Algorithm and Genetic Algorithm

Automatic Generation of Test Case based on GATS Algorithm *

Evolutionary Art with Cartesian Genetic Programming

Genetic Algorithm for Finding Shortest Path in a Network

A Web-Based Evolutionary Algorithm Demonstration using the Traveling Salesman Problem

Distributed Probabilistic Model-Building Genetic Algorithm

Transcription:

Evolutionary Computation Part 2 CS454, Autumn 2017 Shin Yoo (with some slides borrowed from Seongmin Lee @ COINSE)

Crossover Operators Offsprings inherit genes from their parents, but not in identical forms. Think Mendelian recombination of alleles; since we don t have alleles, we actually recombine the whole genotype.

Crossover Operators (from Bio-inspired Artificial Intelligence: Theories, Methods, and Technologies by Dario Floreano and Claudio Mattiussi)

Mutation Operators This is, usually, the only way new genetic material is introduced into the population; without mutation, all we do is recombining the initial population (which was randomly generated).

Mutation Operator Small, local modifications to genotypes: single bit-flip adding/subtracting small amount to integers swapping two elements in permutations replacing one node in a tree with a different, compatible type

Generational Selection Generational Replacement: the offsprings become the new current population (no parent survives) Elitism: maintain M best individuals from the parents generation (reasons: noisy fitness, too strong mutations, too complicated search space ) Gradual Replacement: replace M worst individuals from the parents generation with M best individuals from the offsprings.

Stopping Criterion Deciding one can be hard: these are stochastic algorithms, and you don t know what the global optimum is. In reality, one of the following two: Fixed number of fitness evaluations, or When a good enough solution has been found

Parameters One weakness of GAs: many parameters to tune, no fixed guideline. Population Size Crossover Rate (usually high, we do want to crossover) Mutation rate (usually low: e.g. 1/N for 1 bit flip for each bit of length N bit string) Elitism: the proportion of parent generation to preserve

Initial Population Evaluate Fitness of Population Select Fitter Individuals as Parents Stopping Criterion Met Create Offsprings from Parents Form Next Generation of Population Mutate Offsprings

Why (or when) does it work? Not much theoretic foundation. Schema Theory (John Holland, 1975): given genotypes of k symbols with length l, the schemata set is {s 0,,s k, *} where * means don t care. There are (k+1) l schemas. Intuitively, schemas can be thought of as non-consecutive building blocks to the solution. Holland mathematically proved that selective reproduction allows exponentially increasing number of samples of schemas with better-than-average fitness, and exponentially decreasing number of schemas with lower-than-average fitness.

Schema : Hyper place in the search space.

Schema : Hyper place in the search space. 11### # : The don t care symbol.

Schema : Hyper place in the search space. 11### # : The don t care symbol.

Instances : All strings meeting this criterion. 11###

Instances : All strings meeting this criterion. 11000

Instances : All strings meeting this criterion. 11111

Fitness of a schema : Mean fitness of all string instances. 11###

Global optimisation : Highest fitness schema with zero don t care symbols. 11###

Holland showed that the analysis of GA behavior was far simpler if carried out in terms of schemata.

Holland showed that the analysis of GA behavior was far simpler if carried out in terms of schemata. Aggregation : Rather than model the evolution of all possible strings, group together in some way and model the evolution of the aggregated variables.

Two features to describe schemata. H=1##0#1#0

Order of schemata : Number of positions in the schemata that do not have the don t care sign. H=1##0#1#0

Defining length of schemata : Distance between the outermost defined position (which equals the number of possible crossover points between them). H=1##0#1#0

Standard genetic algorithm (SGA) Fitness proportionate parent selection, One-point crossover (1X), Bitwise mutation, Generational survivor selection

Schema Theorem E(m(H, t + 1)) m(h, t)f(h) a t (1 p) p = l (H) 1 p c + o(h)p m m(h, t): number of instances of schema H at generation t at: average fitness of population at t l: length of chromosomes o(h): order of H, δ(h): defining length of H pc: crossover rate, pm: mutation rate

Case Study: Search-Based Software Testing Traditionally, GAs have been very popular with researchers: it appears fancy :) Is it really grounded on facts? Harman and McMinn (2007) compared the performance of HC and GA for automated test data generation for branch coverage for C programs. bibclean, eurocheck, gimp, space, spice, tiff

Comparison of HC and GA There are branches that can only be covered by HC and GA respectively. Branches easier for GA: bibclean, especially in functions check_isbn() and check_issn(). Why? Proportion of branches covered by different algorithms (Harman & McMinn, 2007)

Schema Theory in Work Registration group identifiers have primarily been allocated within the 978 prefix element. The singledigit group identifiers within the 978 prefix element are: 0 or 1 for English-speaking countries; 2 for Frenchspeaking countries; 3 for German-speaking countries; 4 for Japan; 5 for Russian-speaking countries; and 7 for People's Republic of China. An example 5-digit group identifier is 99936, for Bhutan. The allocated group IDs are: 0 5, 600 621, 7, 80 94, 950 989, 9926 9989, and 99901 99976. (from Wikipedia entry for ISBN)

Schema Theory in Work Once a small schema is formed (e.g., 9*), it can be used as a building block for a larger schema (e.g. 99*). Crossover allows assembly of different building blocks. This is also called Building Block Hypothesis: GAs work best for problems with building block structure in their solutions.

Computational Complexity!!?@#?!@#!!??!? Can only be considered in relation to a specific problem; often, analysis is done to problems with well defined structure, using probabilistic approach.

Population Diversity Just like biodiversity, population diversity is important for GA. Even solutions with worst fitness may still contain valuable schemas. Various auxiliary mechanisms have been developed to preserve and promote population diversity.

Island GA Let multiple populations evolve in separation; every now and then, move individuals between islands. The Island Model Genetic Algorithm: On Separability, Population Size and Convergence, Darrell Whitley, Soraya Rana, Robert B. Heckendorn, Journal of Computing and Information Technology, Vol. 7 (1999), pp. 33-47

Orthogonal Exploration Determine the direction of evolution; forcefully replace worst solutions with generated solutions that explore orthogonal direction. Orthogonal exploration of the search space in evolutionary test case generation, F. M. Kifetew, A. Panichella, A. De Lucia, R. Oliveto, and P. Tonella, in Proceedings of the 2013 International Symposium on Software Testing and Analysis, ISSTA 2013

Real Applications GA is a BIG toolbox, full of specialised operators, representation, and other assorted tricks. Just like any other AI technique, the more domain knowledge you have, the better your optimisation will be.

Summary Understand the framework of Darwinian evolution. Optimisation using evolution works, based on: Selection pressure Schema theory (one possible explanation) Understand various genetic operators. Understand the importance of population diversity.