CSC 4510 Machine Learning

Similar documents
Lecture 9 Evolutionary Computation: Genetic algorithms

Intelligens Számítási Módszerek Genetikus algoritmusok, gradiens mentes optimálási módszerek

Chapter 8: Introduction to Evolutionary Computation

GENETIC ALGORITHM FOR CELL DESIGN UNDER SINGLE AND MULTIPLE PERIODS

Local Search & Optimization

Fundamentals of Genetic Algorithms

Evolutionary Computation

Genetic Algorithms: Basic Principles and Applications

Evolutionary computation

Genetic Algorithms & Modeling

Genetic Algorithm for Solving the Economic Load Dispatch

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Genetic Algorithm. Outline

Evolutionary Computation. DEIS-Cesena Alma Mater Studiorum Università di Bologna Cesena (Italia)

Local Search & Optimization

Lecture 15: Genetic Algorithms

Geometric Semantic Genetic Programming (GSGP): theory-laden design of variation operators

Computational statistics

Search. Search is a key component of intelligent problem solving. Get closer to the goal if time is not enough

Evolutionary Functional Link Interval Type-2 Fuzzy Neural System for Exchange Rate Prediction

The Role of Crossover in Genetic Algorithms to Solve Optimization of a Function Problem Falih Hassan

The European Applied Business Research Conference Rothenburg, Germany 2002

Department of Mathematics, Graphic Era University, Dehradun, Uttarakhand, India

Optimal Operation of Large Power System by GA Method

DETECTING THE FAULT FROM SPECTROGRAMS BY USING GENETIC ALGORITHM TECHNIQUES

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

Determination of Optimal Tightened Normal Tightened Plan Using a Genetic Algorithm

Crossover Techniques in GAs

Efficiency Improvement of PM Disc Motor Using Genetic Algorithm

Geometric Semantic Genetic Programming (GSGP): theory-laden design of semantic mutation operators

Data Warehousing & Data Mining

22c:145 Artificial Intelligence

Evolutionary computation

Evolutionary computation in high-energy physics

Genetic Algorithms. Donald Richards Penn State University

how should the GA proceed?

Lecture 22. Introduction to Genetic Algorithms

The Story So Far... The central problem of this course: Smartness( X ) arg max X. Possibly with some constraints on X.

Moving Average Rules to Find. Confusion Matrix. CC283 Intelligent Problem Solving 05/11/2010. Edward Tsang (all rights reserved) 1

Development. biologically-inspired computing. lecture 16. Informatics luis rocha x x x. Syntactic Operations. biologically Inspired computing

Meiosis. What is meiosis? How is it different from mitosis? Stages Genetic Variation

CC283 Intelligent Problem Solving 28/10/2013

Interplanetary Trajectory Optimization using a Genetic Algorithm

Artificial Intelligence Methods (G5BAIM) - Examination

COMBINATION OF TAGUCHI METHOD AND ARTIFICIAL INTELLIGENCE TECHNIQUES FOR THE OPTIMAL DESIGN OF FLAT-PLATE COLLECTORS

A GA Mechanism for Optimizing the Design of attribute-double-sampling-plan

A.I.: Beyond Classical Search

Artificial Intelligence (AI) Common AI Methods. Training. Signals to Perceptrons. Artificial Neural Networks (ANN) Artificial Intelligence

Approximating the step change point of the process fraction nonconforming using genetic algorithm to optimize the likelihood function

Parallel Genetic Algorithms

LOCAL SEARCH. Today. Reading AIMA Chapter , Goals Local search algorithms. Introduce adversarial search 1/31/14

Metaheuristics and Local Search

Lecture 5: Linear Genetic Programming

Chapter 4 Beyond Classical Search 4.1 Local search algorithms and optimization problems

Genetic Algorithms. Seth Bacon. 4/25/2005 Seth Bacon 1

Evolutionary Computation: introduction

Local Search and Optimization

OPTIMIZED RESOURCE IN SATELLITE NETWORK BASED ON GENETIC ALGORITHM. Received June 2011; revised December 2011

CS 380: ARTIFICIAL INTELLIGENCE

Using Evolutionary Techniques to Hunt for Snakes and Coils

Genetic Algorithm: introduction

V. Evolutionary Computing. Read Flake, ch. 20. Genetic Algorithms. Part 5A: Genetic Algorithms 4/10/17. A. Genetic Algorithms

CSC 421: Algorithm Design & Analysis. Spring 2018

INVARIANT SUBSETS OF THE SEARCH SPACE AND THE UNIVERSALITY OF A GENERALIZED GENETIC ALGORITHM

Evolutionary Design I

Artificial Intelligence Methods (G5BAIM) - Examination

Metaheuristics and Local Search. Discrete optimization problems. Solution approaches

The Genetic Algorithm is Useful to Fitting Input Probability Distributions for Simulation Models

Structure Design of Neural Networks Using Genetic Algorithms

Available online at ScienceDirect. Procedia Computer Science 20 (2013 ) 90 95

Representation and Hidden Bias II: Eliminating Defining Length Bias in Genetic Search via Shuffle Crossover

CHAPTER 3 FEATURE EXTRACTION USING GENETIC ALGORITHM BASED PRINCIPAL COMPONENT ANALYSIS

Stochastic Search: Part 2. Genetic Algorithms. Vincent A. Cicirello. Robotics Institute. Carnegie Mellon University

Evolutionary Algorithms

Local search algorithms. Chapter 4, Sections 3 4 1

Bounded Approximation Algorithms

DISTRIBUTION SYSTEM OPTIMISATION

V. Evolutionary Computing. Read Flake, ch. 20. Assumptions. Genetic Algorithms. Fitness-Biased Selection. Outline of Simplified GA

TUTORIAL: HYPER-HEURISTICS AND COMPUTATIONAL INTELLIGENCE

Scaling Up. So far, we have considered methods that systematically explore the full search space, possibly using principled pruning (A* etc.).

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

ARTIFICIAL NEURAL NETWORK WITH HYBRID TAGUCHI-GENETIC ALGORITHM FOR NONLINEAR MIMO MODEL OF MACHINING PROCESSES

Genetic Learning of Firms in a Competitive Market

Local and Stochastic Search

Local Beam Search. CS 331: Artificial Intelligence Local Search II. Local Beam Search Example. Local Beam Search Example. Local Beam Search Example

IV. Evolutionary Computing. Read Flake, ch. 20. Assumptions. Genetic Algorithms. Fitness-Biased Selection. Outline of Simplified GA

Adaptive Generalized Crowding for Genetic Algorithms

Haploid & diploid recombination and their evolutionary impact

Design Formulation and Optimum Load Carrying Capacity of Hydrodynamic Journal Bearing By using Genetic

António Manso Luís Correia

Computational intelligence methods

Binary Particle Swarm Optimization with Crossover Operation for Discrete Optimization

Koza s Algorithm. Choose a set of possible functions and terminals for the program.

Crossover Gene Selection by Spatial Location

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

Incremental Stochastic Gradient Descent

Genetic-Algorithm-Based Optimisation for Exothermic Batch Process

AN EVOLUTIONARY ALGORITHM TO ESTIMATE UNKNOWN HEAT FLUX IN A ONE- DIMENSIONAL INVERSE HEAT CONDUCTION PROBLEM

Introduction to Evolutionary Computation

CHAPTER 4 INTRODUCTION TO DISCRETE VARIABLE OPTIMIZATION

Transcription:

10: Gene(c Algorithms CSC 4510 Machine Learning Dr. Mary Angela Papalaskari Department of CompuBng Sciences Villanova University Course website: www.csc.villanova.edu/~map/4510/ Slides of this presenta(on are adapted from Negnevitsky Ar(ficial intelligence (course textbook) CSC 4510 M.A. Papalaskari Villanova University 1 Negnevitsky, Pearson Education, 2005 1

Genetic Algorithm example http://www.youtube.com/watch?v=f5g8kn4j_o&feature=relmfu

Evolutionary Computation: Genetic algorithms Introduction, or can evolution be intelligent? Simulation of natural evolution Genetic algorithms Case study: maintenance scheduling with genetic algorithms Summary Negnevitsky, Pearson Education, 2005 3

Can evolution be intelligent? Intelligence can be defined as the capability of a system to adapt its behaviour to ever-changing environment. According to Alan Turing, the form or appearance of a system is irrelevant to its intelligence. Evolutionary computation simulates evolution on a computer. The result of such a simulation is a series of optimisation algorithms, usually based on a simple set of rules. Optimisation iteratively improves the quality of solutions until an optimal, or at least feasible, solution is found. Negnevitsky, Pearson Education, 2005 4

The evolutionary approach is based on computational models of natural selection and genetics. We call them evolutionary computation, an umbrella term that combines genetic algorithms, evolution strategies and genetic programming. Negnevitsky, Pearson Education, 2005 5

Simulation of natural evolution All methods of evolutionary computation simulate natural evolution by creating a population of individuals, evaluating their fitness, generating a new population through genetic operations, and repeating this process a number of times. We will start with Genetic Algorithms (GAs) as most of the other evolutionary algorithms can be viewed as variations of genetic algorithms. Negnevitsky, Pearson Education, 2005 6

Genetic Algorithms In the early 1970s, John Holland introduced the concept of genetic algorithms. His aim was to make computers do what nature does. Holland was concerned with algorithms that manipulate strings of binary digits. Each artificial chromosomes consists of a number of genes, and each gene is represented by 0 or 1: 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 Negnevitsky, Pearson Education, 2005 7

Nature has an ability to adapt and learn without being told what to do. In other words, nature finds good chromosomes blindly. GAs do the same. Two mechanisms link a GA to the problem it is solving: encoding and evaluation. The GA uses a measure of fitness of individual chromosomes to carry out reproduction. As reproduction takes place, the crossover operator exchanges parts of two single chromosomes, and the mutation operator changes the gene value in some randomly chosen location of the chromosome. Negnevitsky, Pearson Education, 2005 8

Basic genetic algorithms Step 1: Represent the problem variable domain as a chromosome of a fixed length, choose the size of a chromosome population N, the crossover probability p c and the mutation probability p m. Step 2: Define a fitness function to measure the performance, or fitness, of an individual chromosome in the problem domain. The fitness function establishes the basis for selecting chromosomes that will be mated during reproduction. Negnevitsky, Pearson Education, 2005 9

Step 3: Randomly generate an initial population of chromosomes of size N: x 1, x 2,..., x N Step 4: Calculate the fitness of each individual chromosome: f (x 1 ), f (x 2 ),..., f (x N ) Step 5: Select a pair of chromosomes for mating from the current population. Parent chromosomes are selected with a probability related to their fitness. Negnevitsky, Pearson Education, 2005 10

Step 6: Create a pair of offspring chromosomes by applying the genetic operators - crossover and mutation. Step 7: Place the created offspring chromosomes in the new population. Step 8: Repeat Step 5 until the size of the new chromosome population becomes equal to the size of the initial population, N. Step 9: Replace the initial (parent) chromosome population with the new (offspring) population. Step 10: Go to Step 4, and repeat the process until the termination criterion is satisfied. Negnevitsky, Pearson Education, 2005 11

Genetic algorithms GA represents an iterative process. Each iteration is called a generation. A typical number of generations for a simple GA can range from 50 to over 500. The entire set of generations is called a run. Because GAs use a stochastic search method, the fitness of a population may remain stable for a number of generations before a superior chromosome appears. A common practice is to terminate a GA after a specified number of generations and then examine the best chromosomes in the population. If no satisfactory solution is found, the GA is restarted. Negnevitsky, Pearson Education, 2005 12

Genetic algorithms: case study A simple example will help us to understand how a GA works. Let us find the maximum value of the function (15x - x 2 ) where parameter x varies between 0 and 15. For simplicity, we may assume that x takes only integer values. Thus, chromosomes can be built with only four genes: Integer Binary code Integer Binary code Integer Binary code 1 0 0 0 1 6 0 1 1 0 11 1 0 1 1 2 0 0 1 0 7 0 1 1 1 12 1 1 0 0 3 0 0 1 1 8 1 0 0 0 13 1 1 0 1 4 0 1 0 0 9 1 0 0 1 14 1 1 1 0 5 0 1 0 1 10 1 0 1 0 15 1 1 1 1 Negnevitsky, Pearson Education, 2005 13

Suppose that the size of the chromosome population N is 6, the crossover probability p c equals 0.7, and the mutation probability p m equals 0.001. The fitness function in our example is defined by f(x) = 15 x x 2 Negnevitsky, Pearson Education, 2005 14

The fitness function and chromosome locations Chromosome label Chromosome string Decoded integer Chromosome fitness Fitness ratio, % f(x) 60 50 X1 1 1 0 0 12 36 16.5 X2 0 1 0 0 4 44 20.2 X3 0 0 0 1 1 14 6.4 X4 1 1 1 0 14 14 6.4 X5 0 1 1 1 7 56 25.7 X6 1 0 0 1 9 54 24.8 60 50 40 40 30 30 20 20 10 10 0 0 5 10 15 x (a) Chromosome initial locations. 0 0 5 10 15 x (b) Chromosome final locations. Negnevitsky, Pearson Education, 2005 15

In natural selection, only the fittest species can survive, breed, and thereby pass their genes on to the next generation. GAs use a similar approach, but unlike nature, the size of the chromosome population remains unchanged from one generation to the next. The last column in Table shows the ratio of the individual chromosome s fitness to the population s total fitness. This ratio determines the chromosome s chance of being selected for mating. The chromosome s average fitness improves from one generation to the next. Negnevitsky, Pearson Education, 2005 16

Roulette wheel selection The most commonly used chromosome selection techniques is the roulette wheel selection. 75.2 100 0 49.5 43.1 36.7 X1: 16.5% X2: 20.2% X3: 6.4% X4: 6.4% X5: 25.3% X6: 24.8% Negnevitsky, Pearson Education, 2005 17

Crossover operator In our example, we have an initial population of 6 chromosomes. Thus, to establish the same population in the next generation, the roulette wheel would be spun six times. Once a pair of parent chromosomes is selected, the crossover operator is applied. Negnevitsky, Pearson Education, 2005 18

First, the crossover operator randomly chooses a crossover point where two parent chromosomes break, and then exchanges the chromosome parts after that point. As a result, two new offspring are created. If a pair of chromosomes does not cross over, then the chromosome cloning takes place, and the offspring are created as exact copies of each parent. Negnevitsky, Pearson Education, 2005 19

Crossover X6 i 1 0 0 1 00 0 0 1 0 X2 i X1 i 01 0 1 1 1 1 1 1 0 0 1 X5 i X2 i 0 1 0 0 0 1 1 1 X5 i Negnevitsky, Pearson Education, 2005 20

Mutation operator Mutation represents a change in the gene. Mutation is a background operator. Its role is to provide a guarantee that the search algorithm is not trapped on a local optimum. The mutation operator flips a randomly selected gene in a chromosome. The mutation probability is quite small in nature, and is kept low for GAs, typically in the range between 0.001 and 0.01. Negnevitsky, Pearson Education, 2005 21

X6' i 1 0 0 0 X2' i 0 1 0 01 Mutation X1' i 01 1 1 1 1 1 X1" i X5' i 0 1 10 10 X2 i 0 1 0 0 1 0 X2" i X5 i 0 1 1 1 Negnevitsky, Pearson Education, 2005 22

The genetic algorithm cycle X1 i Generation i 1 1 0 0 f = 36 X2 i 0 1 0 0 f = 44 X3 i 0 0 0 1 f = 14 X4 i 1 1 1 0 f = 14 X5 i 0 1 1 1 f = 56 X6 i 1 0 0 1 f = 54 X1 i+1 Generation (i + 1) 1 0 0 0 f = 56 X2 i+1 0 1 0 1 f = 50 X3 i+1 1 0 1 1 f = 44 X4 i+1 0 1 0 0 f = 44 X5 i+1 0 1 1 0 f = 54 X6 i+1 0 1 1 1 f = 56 Crossover X6 i 1 0 0 1 0 0 0 0 1 0 X2 i X1 i 01 0 1 1 1 1 1 1 0 0 X5 i X2 i 0 1 0 0 0 1 1 1 X5 i X6' i 1 0 0 0 X2' i 0 1 0 01 X1' i 01 1 1 X5' i 0 1 10 10 X2 i 0 1 0 Mutation 1 1 1 X1" i 0 1 0 X2" i X5 i 0 1 1 1 Negnevitsky, Pearson Education, 2005 23

Genetic algorithms: case study Suppose it is desired to find the maximum of the peak function of two variables: f ( x, y) = (1 x) 2 where parameters x and y vary between -3 and 3. The first step is to represent the problem variables as a chromosome - parameters x and y as a concatenated binary string: 2 2 x ( y+ 1) 3 3 x y e ( x x y ) e 2 2 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 x y Negnevitsky, Pearson Education, 2005 24

We also choose the size of the chromosome population, for instance 6, and randomly generate an initial population. The next step is to calculate the fitness of each chromosome. This is done in two stages. First, a chromosome, that is a string of 16 bits, is partitioned into two 8-bit strings: 1 0 0 0 1 0 1 0 and 0 0 1 1 1 0 1 1 Then these strings are converted from binary (base 2) to decimal (base 10): 7 6 5 4 3 2 1 0 2 = 1 2 + 0 2 + 0 2 + 0 2 + 1 2 + 0 2 + 1 2 + 0 2 (138) 10 ( 10001010) = and 7 6 5 4 3 2 1 0 2 = 0 2 + 0 2 + 1 2 + 1 2 + 1 2 + 0 2 + 1 2 + 1 2 (59) 10 ( 00111011) = Negnevitsky, Pearson Education, 2005 25

Now the range of integers that can be handled by 8-bits, that is the range from 0 to (2 8-1), is mapped to the actual range of parameters x and y, that is the range from -3 to 3: 6 = 256 1 0.0235294 To obtain the actual values of x and y, we multiply their decimal values by 0.0235294 and subtract 3 from the results: x = ( 138) 10 0.0235294 3 = 0.2470588 and y = ( 59) 10 0.0235294 3 = 1.6117647 Negnevitsky, Pearson Education, 2005 26

Using decoded values of x and y as inputs in the mathematical function, the GA calculates the fitness of each chromosome. To find the maximum of the peak function, we will use crossover with the probability equal to 0.7 and mutation with the probability equal to 0.001. As we mentioned earlier, a common practice in GAs is to specify the number of generations. Suppose the desired number of generations is 100. That is, the GA will create 100 generations of 6 chromosomes before stopping. Negnevitsky, Pearson Education, 2005 27

Chromosome locations on the surface of the peak function: initial population Negnevitsky, Pearson Education, 2005 28

Chromosome locations on the surface of the peak function: first generation Negnevitsky, Pearson Education, 2005 29

Chromosome locations on the surface of the peak function: local maximum Negnevitsky, Pearson Education, 2005 30

Chromosome locations on the surface of the peak function: global maximum Negnevitsky, Pearson Education, 2005 31

Performance graphs for 100 generations of 6 chromosomes: local maximum 0.7 p c = 0.7, p m = 0.001 0.6 0.5 F i t n e s s 0.4 0.3 0.2 0.1 0 Best Average -0.1 0 10 20 30 40 50 G e n e r a t i o n s 60 70 80 90 100 Negnevitsky, Pearson Education, 2005 32

Performance graphs for 100 generations of 6 chromosomes: global maximum 1.8 p c = 0.7, p m = 0.01 1.6 1.4 F i t n e s s 1.2 1.0 0.8 0.6 0.4 Best Average 0.2 0 10 20 30 40 50 G e n e r a t i o n s 60 70 80 90 100 Negnevitsky, Pearson Education, 2005 33

Performance graphs for 20 generations of 60 chromosomes 1.8 p c = 0.7, p m = 0.001 1.6 1.4 F i t n e s s 1.2 1.0 0.8 0.6 0.4 Best Average 0.2 0 2 46 8 10 G e n e r a t i o n s 12 14 16 18 20 Negnevitsky, Pearson Education, 2005 34

Steps in the GA development 1. Specify the problem, define constraints and optimum criteria; 2. Represent the problem domain as a chromosome; 3. Define a fitness function to evaluate the chromosome performance; 4. Construct the genetic operators; 5. Run the GA and tune its parameters. Negnevitsky, Pearson Education, 2005 35

Case study: maintenance scheduling Maintenance scheduling problems are usually solved using a combination of search techniques and heuristics. These problems are complex and difficult to solve. They are NP-complete and cannot be solved by combinatorial search techniques. Scheduling involves competition for limited resources, and is complicated by a great number of badly formalised constraints. Negnevitsky, Pearson Education, 2005 36

Case study Scheduling of 7 units in 4 equal intervals The problem constraints: The maximum loads expected during four intervals are 80, 90, 65 and 70 MW; Maintenance of any unit starts at the beginning of an interval and finishes at the end of the same or adjacent interval. The maintenance cannot be aborted or finished earlier than scheduled; The net reserve of the power system must be greater or equal to zero at any interval. The optimum criterion is the maximum of the net reserve at any maintenance period. Negnevitsky, Pearson Education, 2005 37

Performance graphs and the best maintenance schedules created in a population of 20 chromosomes 15 N = 20, p c = 0.7, p m = 0.001 F i t n e s s 10 5 0-5 -10 0 M W 150 120 90 60 N e t r e s e r v e s: 15 35 35 25 Unit 2 Unit 2 Unit 1 Unit 4 Unit 7 Unit 1 Unit 6 Unit 3 Unit 5 Best Average 5 10 15 20 25 30 35 40 45 50 G e n e r a t i o n s 30 0 1 2 3 4 T i m e i n t e r v a l (a) 50 generations Negnevitsky, Pearson Education, 2005 38

Performance graphs and the best maintenance schedules created in a population of 20 chromosomes 20 N = 20, p c = 0.7, p m = 0.001 F i t n e s s 10 0 Be st Average -10 0 10 20 30 40 50 60 70 80 90 100 G e n e r a t i o n s 150 120 90 60 N e t r e s e r v e s : 40 25 20 25 Unit 1 Unit 7 Unit 1 Unit 2 Unit 2 Unit 3 Unit 6 Unit 4 Unit 5 30 0 12 34 T i m e i n t e r v a l (b) 100 generations Negnevitsky, Pearson Education, 2005 39

Performance graphs and the best maintenance schedules created in a population of 100 chromosomes 30 N = 100, p c = 0.7, p m = 0.001 F i t n e s s 20 10 0 Best Average -10 0 10 20 30 40 50 60 70 80 90 100 G e n e r a t i o n s 150 120 90 60 30 0 N e t r e s e r v e s: 35 25 25 25 Unit 3 Unit 1 12 34 T i m e i n t e r v a l (a) Mutation rate is 0.001 Negnevitsky, Pearson Education, 2005 40 Unit 1 Unit 2 Unit 5 Unit 7 Unit 4 Unit 6

Performance graphs and the best maintenance schedules created in a population of 100 chromosomes F i t n e s s 30 20 10 0-10 150 120 90 60 30 N e t r e s e r v e s : 25 25 30 30 Unit 1 Unit 6 Unit 7 N = 100, c = 0.7, m = 0.01-20 0 10 20 30 40 50 60 70 80 90 100 G e n e r a t i o n s Unit 1 Unit 2 Unit 2 Unit 4 Best Average Unit 3 Unit 5 0 1 2 3 4 T i m e i n t e r v a l (b) Mutation rate is 0.01 Negnevitsky, Pearson Education, 2005 41

Problem: n-queens Put n queens on an n n board with no two queens on the same row, column, or diagonal Negnevitsky, Pearson Education, 2005 42

8-queens problem Please define the encode method and the fitness function for GA Negnevitsky, Pearson Education, 2005 43

Genetic algorithms Fitness function: number of non-attacking pairs of queens (min = 0, max = 8 7/2 = 28) 24/(24+23+20+11) = 31% 23/(24+23+20+11) = 29% etc Negnevitsky, Pearson Education, 2005 44

Genetic algorithms Negnevitsky, Pearson Education, 2005 45