Genetic Algorithms I N T R O D U C T I O N

Similar documents
Introduction To Genetic Algorithms

The Binary Genetic Algorithm

Alpha Cut based Novel Selection for Genetic Algorithm

Genetic Algorithm. Based on Darwinian Paradigm. Intrinsically a robust search and optimization mechanism. Conceptual Algorithm

College of information technology Department of software

Evolutionary SAT Solver (ESS)

Genetic Algorithms and Sudoku

CHAPTER 6 GENETIC ALGORITHM OPTIMIZED FUZZY CONTROLLED MOBILE ROBOT

A Non-Linear Schema Theorem for Genetic Algorithms

Original Article Efficient Genetic Algorithm on Linear Programming Problem for Fittest Chromosomes

A Fast Computational Genetic Algorithm for Economic Load Dispatch

Genetic Algorithms commonly used selection, replacement, and variation operators Fernando Lobo University of Algarve

A Robust Method for Solving Transcendental Equations

Lab 4: 26 th March Exercise 1: Evolutionary algorithms

A Genetic Algorithm Processor Based on Redundant Binary Numbers (GAPBRBN)

ISSN: ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013

Asexual Versus Sexual Reproduction in Genetic Algorithms 1

Volume 3, Issue 2, February 2015 International Journal of Advance Research in Computer Science and Management Studies

Holland s GA Schema Theorem

Genetic Algorithm Performance with Different Selection Strategies in Solving TSP

Vol. 35, No. 3, Sept 30,2000 ملخص تعتبر الخوارزمات الجينية واحدة من أفضل طرق البحث من ناحية األداء. فبالرغم من أن استخدام هذه الطريقة ال يعطي الحل

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

Modified Version of Roulette Selection for Evolution Algorithms - the Fan Selection

OPTIMIZATION PROBLEM FORMULATION AND SOLUTION TECHNIQUES

CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

Solving Banana (Rosenbrock) Function Based on Fitness Function

GA as a Data Optimization Tool for Predictive Analytics

Genetic algorithms for credit card fraud detection

Genetic Algorithms for Bridge Maintenance Scheduling. Master Thesis

Design of Web Ranking Module using Genetic Algorithm

Model-based Parameter Optimization of an Engine Control Unit using Genetic Algorithms

International Journal of Software and Web Sciences (IJSWS)

Comparison of Major Domination Schemes for Diploid Binary Genetic Algorithms in Dynamic Environments

New Modifications of Selection Operator in Genetic Algorithms for the Traveling Salesman Problem

Selection Procedures for Module Discovery: Exploring Evolutionary Algorithms for Cognitive Science

Improved Multiprocessor Task Scheduling Using Genetic Algorithms

A Basic Guide to Modeling Techniques for All Direct Marketing Challenges

A Review And Evaluations Of Shortest Path Algorithms

A Framework for Genetic Algorithms in Games

Genetic Algorithms. Rule Discovery. Data Mining

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

Evolutionary Detection of Rules for Text Categorization. Application to Spam Filtering

HYBRID GENETIC ALGORITHM PARAMETER EFFECTS FOR OPTIMIZATION OF CONSTRUCTION RESOURCE ALLOCATION PROBLEM. Jin-Lee KIM 1, M. ASCE

Using Adaptive Random Trees (ART) for optimal scorecard segmentation

MATLAB Code APPENDIX II

Cellular Automaton: The Roulette Wheel and the Landscape Effect

CONSTRUCTING PREDICTIVE MODELS TO ASSESS THE IMPORTANCE OF VARIABLES IN EPIDEMIOLOGICAL DATA USING A GENETIC ALGORITHM SYSTEM EMPLOYING DECISION TREES

COMPARISON OF GENETIC OPERATORS ON A GENERAL GENETIC ALGORITHM PACKAGE HUAWEN XU. Master of Science. Shanghai Jiao Tong University.

Evolution by Natural Selection 1

An evolution of a complete program using XML-based grammar denition

A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

Okami Study Guide: Chapter 3 1

SCHEDULING MULTIPROCESSOR TASKS WITH GENETIC ALGORITHMS

The Dynamics of a Genetic Algorithm on a Model Hard Optimization Problem

Evolution, Natural Selection, and Adaptation

Heuristics for the Sorting by Length-Weighted Inversions Problem on Signed Permutations

Practice Questions 1: Evolution

Numerical Research on Distributed Genetic Algorithm with Redundant

Evolution (18%) 11 Items Sample Test Prep Questions

THE INTEGRATED SAFETY/SECURITY SYSTEM OF ACCADEMIA NAZIONALE DEI LINCEI AT CORSINI PALACE IN ROME Fabio Garzia

OPTIMIZED SENSOR NODES BY FAULT NODE RECOVERY ALGORITHM

Summary Genes and Variation Evolution as Genetic Change. Name Class Date

A SURVEY ON GENETIC ALGORITHM FOR INTRUSION DETECTION SYSTEM

Randomly Encryption Using Genetic Algorithm

A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II

Genetic Algorithm Approach for Risk Reduction of Information Security

Genetic programming with regular expressions

ECONOMIC GENERATION AND SCHEDULING OF POWER BY GENETIC ALGORITHM

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

Passive Microwave Remote Sensing for Sea Ice Thickness Retrieval Using Neural Network and Genetic Algorithm

Address for Correspondence

Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Reading, MA:

Principles of Evolution - Origin of Species

AP: LAB 8: THE CHI-SQUARE TEST. Probability, Random Chance, and Genetics

HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE

Stock price prediction using genetic algorithms and evolution strategies

Solving the Vehicle Routing Problem with Genetic Algorithms

Evolutionary Algorithms using Evolutionary Algorithms

A Brief Study of the Nurse Scheduling Problem (NSP)

Biology Notes for exam 5 - Population genetics Ch 13, 14, 15

A New Biological Operator in Genetic Algorithm for Class Scheduling Problem

Genetic Algorithm TOOLBOX. For Use with MATLAB. Andrew Chipperfield Peter Fleming Hartmut Pohlheim Carlos Fonseca. Version 1.2.

Spam Filtering Using Genetic Algorithm: A Deeper Analysis

Non-Uniform Mapping in Binary-Coded Genetic Algorithms

An evolutionary learning spam filter system

FAQs: Gene drives - - What is a gene drive?

New binary representation in Genetic Algorithms for solving TSP by mapping permutations to a list of ordered numbers

Genetic Regular Expressions: a New Way to Detect and Block Spam. Eric Conrad April 2008

Hybrid Evolution of Heterogeneous Neural Networks

D A T A M I N I N G C L A S S I F I C A T I O N

Metodi Numerici per la Bioinformatica

CPO Science and the NGSS

Integer Programming: Algorithms - 3

Towards Heuristic Web Services Composition Using Immune Algorithm

Genetic Algorithm. Tom V. Mathew Assistant Professor, Department of Civil Engineering, Indian Institute of Technology Bombay, Mumbai

Optimization in Strategy Games: Using Genetic Algorithms to Optimize City Development in FreeCiv

Leran Wang and Tom Kazmierski

About the Author. The Role of Artificial Intelligence in Software Engineering. Brief History of AI. Introduction 2/27/2013

GENETIC ALGORITHM FORECASTING FOR TELECOMMUNICATIONS PRODUCTS

Basics of Marker Assisted Selection

Transcription:

Genetic Algorithms I N T R O D U C T I O N

Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime. - Salvatore Mangano Computer Design, May 1995 SEARCH ALGORITHM

WHY GENETIC ALGORITHMS? Directed search algorithms based on the mechanics of biological evolution and biological reproduction Developed by John Holland, University of Michigan (1970 s) To understand the adaptive processes of natural systems To design artificial systems software that retains the robustness of natural systems Provide efficient, effective techniques for optimization and machine learning applications Widely-used today in business, scientific and engineering circles

DEFINITION OF GENETIC ALGORITHMS The genetic algorithm is a probabilistic search algorithm that iteratively transforms a set (called a population) of mathematical objects (typically fixedlength binary character strings), each with an associated fitness value, into a new population of offspring objects using the Darwinian principle of natural selection and using operations that are patterned after naturally occurring genetic operations, such as crossover (sexual recombination) and mutation. [Definition by John Koza, obtained from Powerpoint on a Web site]

COMPONENTS OF A GENETIC ALGORITHM A problem to solve, and Encoding technique Initialization procedure Cost or Fitness function Selection of parents Genetic operators Parameter settings (gene, chromosome) (creation) (environment) (reproduction) (mutation) (practice and art)

SIMPLE GENETIC ALGORITHM { } initialize population; evaluate population; while TerminationCriteriaNotSatisfied { } select parents for reproduction; perform recombination and mutation; evaluate population;

GENETIC ALGORITHM CYCLE GA reproduction children modification parents modified children population deleted members evaluate evaluation discard

REPRESENTING A POPULATION The population size depends on the problem, but population of hundreds or thousands is not uncommon. Small population size is efficient in time, but may not be able to solve a problem. Each element of the population is a chromosome. Chromosomes is an array of: Bit strings (0101... 1100) Real numbers (43.2-33.1... 0.0 89.2) Permutations of element (E11 E3 E7... E1 E15) Lists of rules (R1 R2 R3... R22 R23) Program elements (genetic programming)... any data structure.. Each element of the chromosome is a gene Each gene represents an optimization variable We are performing optimization of a function of many variables.

REPRESENTING A POPULATION: VARIABLES The programmer must decide which variables of the problem are most important. Some analysis may be required to determine which variables among identified ones should be represented. Feature selection algorithms such as Principal Component Analysis (PCA) and others may be used to decide on importance of variables. Most optimization problems also may have constraints on the values a variable may take. So, not every combination of values may be allowed to be in a chromosome. Sometimes, it s possible to convert a constrained variable to an unconstrained one. Sometimes, variables can take values from only a finite set of values.

REPRESENTING A POPULATION: DEPENDENCE AMONG VARIABLES Some variables can be dependent on one another although the nature of the dependence can be difficult to get a handle on. In literature, variable interaction is called epistasis (a biological term for gene interaction). Conclusions from [Haupt and Haupt 2004] When there is little to no epistasis, calculus-based minimum seeking algorithms work best. Genetic algorithms shine when epistasis is medium to high. Pure random search algorithms are best when epistasis is very high.

REPRESENTING A POPULATION: VARIABLE ENCODING In a binary genetic algorithm, we represent the variables in binary. We must convert continuous variables into binary and vice versa. Quantization samples a continuous range of values and categorizes the samples into non-overlapping sub-ranges. The difference between the actual function value and the quantization level is known as the quantization error. We must keep quantization error to a minimum. Best: set a value to the mid-value in a quantization range [Haupt and Haupt 2004].

EVALUATION: FITNESS FUNCTION The evaluator decodes a chromosome and assigns it a fitness measure. The evaluator is the only link between a generic GA and the problem it is solving. The fitness function may be a mathematical function we evaluate, an experiment a chromosome participates in, or even a game that two evolving individuals play. The GA may work with binary encoding, but usually, the evaluation of the fitness function requires us to convert binary encoding to continuous numbers.

DELETION: DISCARDING MEMBERS NATURAL SELECTION The chromosomes are sorted by the value of the fitness function. Natural Selection or Survival of the Fittest: Only the most fit are selected to reproduce; the rest are deleted. In some algorithms, the children are evaluated for fitness as well; the ones that are fit above a certain threshold are used to replace members of the older generation. This is called thresholding. Thresholding: At first only a few chromosomes survive, but in later generations, the percentage of survivors increases.

DELETION: DISCARDING MEMBERS NATURAL SELECTION In other algorithms, a specific fraction f of the original generation is allowed to mate Deciding on how many chromosomes to keep so that they can mate is somewhat arbitrary. Letting only a few chromosomes survive to the next generation limits the available genes in the offspring. Keeping too many chromosomes allows bad performers a chance to contribute their traits to the next generation.

REPRODUCTION: FINDING PARENTS There are various ways to find partner chromosomes to mate: Top to Bottom Pairing: Start at the top of the sorted (by fitness) list of chromosomes and pair the chromosomes two at a time, chromosome i and i+1 are paired. Simple, but doesn t resemble nature. Random Pairing: Use a uniform random number generator to select chromosomes to mate from the ones who qualify based on fitness.

REPRODUCTION: FINDING PARENTS There are various ways to find partner chromosomes to mate: Roulette Wheel Pairing: Assign probabilities to the chromosomes in the mating pool proportional to their fitness (or inversely proportional to cost). A chromosome with the highest fitness has the highest probability of mating while the one with the lowest fitness has the lowest probability of mating. Rank Weighting: Use the rank of the chromosome in the sorted list to determine its probability of mating. It s easy to program. What should we do when a chromosome is chosen to mate with itself? A) Let it mate, B) Don t allow it to mate, but randomly pick another one, C) Pick another chromosome with the same weighting technique. Cost Weighting: Use the fitness of the chromosome to calculate its probability of mating.

REPRODUCTION: FINDING PARENTS There are various ways to find partner chromosomes to mate: Tournament Selection: This closely mimics mating competition in nature. Randomly pick a small subset (2 or 3, say) of chromosomes from the mating pool, and the chromosome with the highest fitness in this subset becomes a parent. The tournament repeats for every parent. Tournament selection works for large populations since sorting becomes expensive. Roulette wheel and tournament selection are most common.

REPRODUCTION: MATING CROSSOVER OR RECOMBINATION P1 (0 1 1 0 1 0 0 0) P2 (1 1 0 1 1 0 1 0) (0 1 1 1 1 0 1 0) C1 (1 1 0 0 1 0 0 0) C2 Crossover is a critical feature of genetic algorithms: It greatly accelerates search early in evolution of a population. It leads to (usually) effective combination of schemata (sub-solutions on different chromosomes). The crossover point or kinetochore is chosen randomly. The above uses a single-point crossover. We can have several crossover points in large chromosome populations.

MUTATION: CHROMOSOME MODIFICATION Random mutations are performed on a certain percentage of chromosomes. Mutation is the second way, after recombination, that allows a GA to explore a fitness (or cost) surface. Mutation can introduce traits that are not present in the original population. Mutation keeps the GA for converging too fast before sampling the entire fitness (cost) surface.

MUTATION: CHROMOSOME MODIFICATION A single point mutation changes a 1 to a 0 and vice versa. Before: (1 0 1 1 0 1 1 0) After: (0 1 1 0 0 1 1 0) Before: (1.38-69.4 326.44 0.1) After: (1.38-67.5 326.44 0.1 Mutation points are randomly selected allowing random jumps over the fitness (cost) surface. They cause movement in the search space, local or global. Restores lost information to the population.

MUTATION: CHROMOSOME MODIFICATION Increasing the number of mutations increases the algorithms freedom to search outside the current region of variable space. High number of mutations may also distract the GA from converging onto a solution quickly. Elitism: Generally we do not allow mutations on chromosomes that have high fitness. These are called elite solutions and are not modified. Why waste a perfectly good solution?

CONVERGENCE Repeat the selection, reproduction, mutation process for a number of generations. Stop when an acceptable solution is reached or a certain number of iterations have been performed. After a while, if we continue for long, all the chromosomes and associated fitnesses (costs) will become the same if it were not for mutations. At this point, we should stop. Keep track of populations statistics such as mean and maximum fitness, possibly other statistics for large populations.