Case Study: Genetic Algorithms

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Biologically Inspired Computing: Operators for Evolutionary Algorithms
CS6800 Advanced Theory of Computation
Case Study: Genetic Algorithms GAs are an area of AI research –used to solve search problems with potentially better performance than traditional search.
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Evolutionary Computational Intelligence
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Iterative Improvement Algorithms
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Evolutionary algorithms
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
Genetic algorithms Prof Kang Li
Optimization in Engineering Design Georgia Institute of Technology Systems Realization Laboratory Mixed Integer Problems Most optimization algorithms deal.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Today’s Topics Read –For exam: Chapter 13 of textbook –Not on exam: Sections & Genetic Algorithms (GAs) –Mutation –Crossover –Fitness-proportional.
Learning by Simulating Evolution Artificial Intelligence CSMC February 21, 2002.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
N- Queens Solution with Genetic Algorithm By Mohammad A. Ismael.
Neural Networks And Its Applications By Dr. Surya Chitra.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
Genetic Algorithms An Evolutionary Approach to Problem Solving.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic Algorithm (Knapsack Problem)
Genetic Algorithms 11-Oct-17.
Introduction to Genetic Algorithms
Using GA’s to Solve Problems
Genetic Algorithms.
Evolutionary Algorithms Jim Whitehead
BackTracking CS255.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Introduction to Genetic Algorithm (GA)
Example: Applying EC to the TSP Problem
CS Fall 2016 (Shavlik©), Lecture 12, Week 6
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Chapter 4 Beyond Classical Search
Comparing Genetic Algorithm and Guided Local Search Methods
Genetic Algorithms overview
CS621: Artificial Intelligence
Basics of Genetic Algorithms (MidTerm – only in RED material)
Example: Applying EC to the TSP Problem
Genetic Algorithms: A Tutorial
Example: Applying EC to the TSP Problem
GENETIC ALGORITHMS & MACHINE LEARNING
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
CS Fall 2016 (Shavlik©), Lecture 12, Week 6
Basics of Genetic Algorithms
EE368 Soft Computing Genetic Algorithms.
Boltzmann Machine (BM) (§6.4)
Genetic Algorithms 25-Feb-19.
Searching for solutions: Genetic Algorithms
Genetic Algorithms 26-Apr-19.
Biologically Inspired Computing: Operators for Evolutionary Algorithms
Steady state Selection
Population Based Metaheuristics
Genetic Algorithms: A Tutorial
Population Methods.
Presentation transcript:

Case Study: Genetic Algorithms GAs are an area of AI research used to solve search problems with potentially better performance than traditional search problem also possibly used as a form of learning In an AI search problem, you have a search space search space is the space of possible solutions, for instance in chess, it would be all possible board configurations in design it would be all of the possible components available to build the device along with all the possible ways to configure them often, AI problems require a brute-force search, but sometimes a heuristic is available to help guide the search in chess, we use a function based on the worth of each piece and the strategy of moving them into certain board locations to see if a move is worth pursuing or not in design, we might rate components based on their utility, cost, weight, and their configurations based on how easy it is to get to a component the guided search, known as heuristic search, is still intractable (for n moves, there are 2n board configurations) GAs are an attempt to get around that problem

Search Using Randomness Assume we are searching for the proper values to place into a list (a b c d e f) – each of these represents something meaningful for instance a = number of nails to use, b = number of boards to use, c = number of wall outlets, d = number of windows, etc Assume we have a function that can take a vector (or list) and tell us approximately how good it is I can try to generate all possible combinations of vectors but that is intractable now consider many vectors are probably worthless if I can identify a worthless vector, I probably wouldn’t want to use any variations of that vector similarly, if I find a good but not great vector, I might try variations of it What is a variation? Some minor but random change to the original (a b c d e f) becomes (a b d c e f) or (a’ b c d e f) where a’ is 1 greater or less than a

Inspired by Natural Selection GAs get their names because they are an attempt to mimic the evolutionary process of genetic material Our vector represents a chromosome We start with a population of chromosomes that we will breed The children will be made up of much the same genetic material as their parents (that is, the children’s chromosomes will be very similar to the parents’ chromosomes) but there will be some variations: possible mutations – a particular gene mutates, perhaps for the better, perhaps for the worse possible cross-overs – one child might inherit the genes and another worse genes Now we use natural selection we pick only a subset of children, which are the fittest to survive, and use them to be parents of a new generation to determine the fitness of a child, we need a fitness function We iterate through many generations, hopefully moving our genes towards a solution guided by our fitness function

General Procedure for GAs Unrated Fitness Rated Population Function Population Mutation Selection Operations Function Population of Reproduction Population of Parent Copies Function Parents Starting with a base population of parents, mutate them into children, rate the children with the fitness function, select from the children those to go on to the next generation Notice that they take efforts to make copies, these steps can be skipped if we don’t mind working with the original parents

Requirements We need to be able to express our problem as a vector the vector will be the set of attributes whose values we want to assign or learn consider that we want to make a better chocolate chip cookie, our vector might include the amount of flour, sugar, salt, water and chocolate chips that we will put into our mixture We need a fitness function to evaluate the children for a cookie, we might ask humans to eat the cookies and rate them, this of course means that our evolutionary process is greatly slowed down We need to know how to mutate our parents into new children cross-over, point mutation, inversion We need to know how many children to generate such decisions might dictate how quickly or slowly we reach a solution

Vectors Vectors represent features (attributes) they could be binary values (a, b, c, d, e) where a=fever?, b=soreness?, c=achyeyes? d=runny nose?, e=coughing? we might wish to learn a concept like flu start with (0, 0, 0, 0, 0) (no symptoms) and learn that this is not the flu eventually we may learn that flu can be represented by the vector (1, 1, 1, ?, ?) (? means don’t care what the value is) vectors might store integer values vectors might contain a mixture of values, in which case we have to be careful when doing things like cross-over consider an animal vector (a, b, c, d, e, f) where a=height, b=weight, c=# of legs, d=color, e=shape and f=tail?) elephant=(4’, 2000 lbs, 4, grey, round, y) mouse=(3”, 2 lbs, 4, grey, round, y) dog=(1’, 20 lbs, 4, varies, long, y)

Natural Selection Methods Evolutionary mechanisms are Inversion - moving around features in the vector such as reversing 3 features Point mutation - changing a feature’s value to another value (in binary vectors, simply complementing the bit, in multi-valued vectors, requires random selection of a new value) Crossover – using two parents and swapping portions of their two chromosomes The choice of which mechanism to use is made randomly, and the choice of how/where to apply it is made randomly Natural Selection mechanisms include Fitness Ranking - use a fitness function to select the best available vector (or vectors) and use it (them) Rank Method - use the fitness function but do not select the “best”, use probabilities instead Random Selection - in addition to the top vector(s), some approaches randomly select some number of vectors from the remaining, lesser ranked ones Diversity - determine which vectors are the most diverse from the top ranked one(s) and select it (them)

Choices/Diversity How many vectors should make up the population of one generation? if too low, vectors will be the same or similar to previous generations if too high, computation time may be too long What is the mutation rate? If too low, changes will occur infrequently, if too high, there is no guided search Is mating allowed? Are duplicate vectors allowed? Based on the idea that diversity helps promote survival, it might also be reasonable to select vectors which are most diverse from other selections Select the first vector(s) for the new generation using the rank or fitness method Select the remaining vector(s) by finding one(s) most diverse with those already chosen