SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET
GA Quick Overview Developed: USA in the 1970’s Early names: J. Holland, K. DeJong, D. Goldberg Typically applied to: – discrete optimization Attributed features: – not too fast – good heuristic for combinatorial problems Special Features: – Traditionally emphasizes combining information from good parents (crossover) – many variants, e.g., reproduction models, operators 10/3/2015Dr.N.Uma Maheswari, PSNACET2
Search Space Initialization Initially many individual solutions are randomly generated to form an initial population, covering the entire range of possible solutions (the search space) Each point in the search space represents one possible solution marked by its value( fitness) Selection A proportion of the existing population is selected to bread a new bread of generation. 10/3/2015 Dr.N.Uma Maheswari, PSNACET 3
Search Space cont… Reproduction Generate a second generation population of solutions from those selected through genetic operators: crossover and mutation. Termination A solution is found that satisfies minimum criteria Fixed number of generations found Allocated budget (computation, time/money) reached The highest ranking solution’s fitness is reaching or has reached 10/3/2015Dr.N.Uma Maheswari, PSNACET4
Classes of Search Techniques 10/3/2015Dr.N.Uma Maheswari, PSNACET5
Genetics Chromosome All Living organisms consists of cells. In each cell there is a same set of Chromosomes. Chromosomes are strings of DNA and consists of genes, blocks of DNA. Each gene encodes a trait, for example color of eyes. Possible settings for a trait (e.g. blue, brown) are called alleles. Each gene has its own position in the chromosome. This position is called locus. 10/3/2015Dr.N.Uma Maheswari, PSNACET6
Genetics Cont… Reproduction During reproduction, recombination (or crossover) occurs first. Genes from parents combine to form a whole new chromosome. The newly created offspring can then be mutated. The changes are mainly caused by errors in copying genes from parents. The fitness of an organism is measure by success of the organism in its life (survival) 10/3/2015Dr.N.Uma Maheswari, PSNACET7
Principle Of Natural Selection “Select The Best, Discard The Rest” Two important elements required for any problem before a genetic algorithm can be used for a solution are: Method for representing a solution (encoding) ex: string of bits, numbers, character Method for measuring the quality of any proposed solution, using fitness function ex: Determining total weight 10/3/2015Dr.N.Uma Maheswari, PSNACET8
GA Elements 10/3/2015Dr.N.Uma Maheswari, PSNACET9
Nature Vs Computer - Mapping NatureComputer Population Individual Fitness Chromosome Gene Reproduction Set of solutions. Solution to a problem. Quality of a solution. Encoding for a Solution. Part of the encoding of a solution. Crossover 10/3/2015Dr.N.Uma Maheswari, PSNACET10
10/3/2015Dr.N.Uma Maheswari, PSNACET11
Genetic algorithms Holland’s original GA is now known as the simple genetic algorithm (SGA) Other GAs use different: – Representations – Mutations – Crossovers – Selection mechanisms 10/3/2015Dr.N.Uma Maheswari, PSNACET12
Fitness function Quantifies the optimality of a solution (that is, a chromosome): that particular chromosome may be ranked against all the other chromosomes A fitness value is assigned to each solution depending on how close it actually is to solving the problem. Ideal fitness function correlates closely to goal + quickly computable. For instance, knapsack problem Fitness Function = Total value of the things in the knapsack 10/3/2015Dr.N.Uma Maheswari, PSNACET13
Encoding Encoding of chromosomes is one of the problems, when you are starting to solve problem with GA. Encoding very depends on the problem. Binary Encoding: In binary encoding every chromosome is a string of bits, 0 or 1. A B /3/2015Dr.N.Uma Maheswari, PSNACET14
Encoding contd… Permutation Encoding: In permutation encoding, every chromosome is a string of numbers, which represents number in a sequence. Eg:Chrom A: Real Value Encoding: In value encoding, every chromosome is a string of some values. Values can be anything connected to problem, form numbers, real numbers or chars to some complicated objects. eg: Chromosome A: Tree Encoding: In tree encoding every chromosome is a tree of some objects, such as functions or commands in programming language. 10/3/2015Dr.N.Uma Maheswari, PSNACET15
Recombination Main idea: "Select The Best, Discard The Rest”. The process that chooses solutions to be preserved and allowed to reproduce and selects which ones must to die out. The main goal of the recombination operator is to emphasize the good solutions and eliminate the bad solutions in a population ( while keeping the population size constant ) 10/3/2015Dr.N.Uma Maheswari, PSNACET16
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 SGA operators: Selection fitness(A) = 3 fitness(B) = 1 fitness(C) = 2 A C 1/6 = 17% 3/6 = 50% B 2/6 = 33% 10/3/2015
An example after Goldberg ‘89 (1) Simple problem: max x 2 over {0,1,…,31} GA approach: – Representation: binary code, e.g 13 – Population size: 4 – 1-point xover, bitwise mutation – Roulette wheel selection – Random initialisation We show one generational cycle done by hand
So, how to select the best? Roulette Selection Rank Selection Steady State Selection Tournament Selection
Roulette wheel selection Main idea: the fitter is the solution with the most chances to be chosen HOW IT WORKS ?
x 2 example: selection
X 2 example: crossover
X 2 example: mutation
Crossover- Many genetic algorithms use strings of binary symbols for chromosomes, as in our Knapsack example, to represent solutions. Crossover means choosing a random position in the string (say, after 2 digits) and exchanging the segments either to the right or to the left of this point with another string partitioned similarly to produce two new off spring. 10/3/2015Dr.N.Uma Maheswari, PSNACET25 Crossover
Cross Over-Single-site
Crossover methods Single Point Crossover- A random point is chosen on the individual chromosomes (strings) and the genetic material is exchanged at this point. 10/3/2015Dr.N.Uma Maheswari, PSNACET27
Uniform Crossover using Mask
Two Dimensional Crossover-Matrix Crossover
GA Cycle
Outline of the Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness] Evaluate the fitness f(x) of each chromosome x in the population 3.[New population] Create a new population by repeating following steps until the new population is complete 10/3/2015Dr.N.Uma Maheswari, PSNACET32
4.[Selection] Select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected) The idea is to choose the better parents. 5.[Crossover] With a crossover probability cross over the parents to form a new offspring (children). If no crossover was performed, offspring is an exact copy of parents. 6.[Mutation] With a mutation probability mutate new offspring at each locus (position in chromosome). 10/3/2015Dr.N.Uma Maheswari, PSNACET33
7.[Accepting] Place new offspring in a new population 8.[Replace] Use new generated population for a further run of algorithm 9.[Test] If the end condition is satisfied, stop, and return the best solution in current population 10.[Loop] Go to step 2 10/3/2015Dr.N.Uma Maheswari, PSNACET34
Flow Diagram of the Genetic Algorithm Process 10/3/2015Dr.N.Uma Maheswari, PSNACET35 Describe Problem Generate Initial Solutions Test: is initial solution good enough? Stop Select parents to reproduce Apply crossover process and create a set of offspring Apply random mutation Step 1 Step 2 Step 3 Step 4 Step 5 Yes No
10/3/2015Dr.N.Uma Maheswari, PSNACET38