Improved Genetic Algorithm: Channel Allocation in Mobile Computing D. P. Vidyarthi School of Computer & Systems Sciences Jawaharlal Nehru University New Delhi 2/6/2018 JNU, New Delhi
Source Article “Improved Genetic Algorithm for Channel Allocation with Channel Borrowing in Mobile Computing”, S. S. Mahapatra, Kousik Roy, Sarthak Banerjee, Deo Prakash Vidyarthi, IEEE Trans. on Mobile Computing , Vol. 5, No. 7, July, 2006. 2/6/2018 JNU, New Delhi
GAs: What Are They • Large Class of problems having no fast algorithms • Any Problem solving can be perceived as a search through a space of potential solutions • Objective is BEST solution • Small Spaces- Exhaustive Methods • Large Spaces- AI techniques • GA is one such technique, Stochastic Algorithms based on natural phenomena Genetic Inheritance Continued…. 2/6/2018 JNU, New Delhi
•Based on Darwin’s Theory “Survival of the fittest” • Example - Rabbits & Foxes •Darwin’s theory of natural selection, bending inheritance mixing like fluids • Mendel- hereditary factors of discrete nature • Morgan- Chromosomes are the carriers of hereditary information • Vocabulary borrowed from natural genetics individuals (genotypes, structures) in a population quite often called strings, chromosomes. 2/6/2018 JNU, New Delhi
• Every gene controls the inheritance of characters. • In contrast with the cell of organism which carries a number of chromosomes (man has 46) chromosomes are made of genes (features, characters, decoders) • Search through population of chromosomes • Objectives- Exploiting the Best solution & Exploring the search space • Each chromosomes represent a potential solution 2/6/2018 JNU, New Delhi
• Hill climbing- exploiting not exploring • Random Search- exploring not exploiting • GA- balance between exploitation & exploration • It provides a multidirectional search by maintaining a population of potential solutions. • Successfully applied to various optimization problems- Wire routing, Scheduling, Adaptive control, Game playing, Cognitive modeling, Transportation problems, TSP, optimal controls, Mobile Communications etc. 2/6/2018 JNU, New Delhi
Evolutionary Algorithms 2/6/2018 JNU, New Delhi
Simple Genetic Algorithm( ) { Population Initialization; Population Evaluation; Until solution converges do { Perform Crossover & Mutation; Evaluate Population; Reproduction; } } 2/6/2018 JNU, New Delhi
Initial Population • The chromosomes in GA population generally take the form of bit strings. – 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 ... 2/6/2018 JNU, New Delhi
GA Operations - Crossover • Choose randomly some crossover point • Copy everything before this point from the first parent • Then copy everything after the crossover point from the other parent. • Crossover probability is fixed. 1 10 010 11 + 1 10 111 01 = 11011111 2/6/2018 JNU, New Delhi
Crossover Crossover site 1-point crossover (used in SGA) n-point crossover Uniform crossover 2/6/2018 JNU, New Delhi
Mutation A chromosome is altered a little bit randomly(e.g. 0 to 1 or 1 to 0). 2/6/2018 JNU, New Delhi
Mutation • Mutation means that the elements of DNA are a bit changed. • Mutation probability is fixed. • Bit inversion - selected bits are inverted 1 1 001001 => 1 0 001001 2/6/2018 JNU, New Delhi
Fitness Function • The GA requires a fitness function that assigns a score to each chromosome in the population. • The fitness function in a GA is the objective function that is to be optimized. • It is used to evaluate search nodes, thus it controls the GA. 2/6/2018 JNU, New Delhi
Chromosome Selection Each individual chromosome (string) is assigned a fitness value by the fitness function. The chromosome is evaluated with this value for survival. The fitness function used to rank the quality of the chromosome. Chromosomes with higher value have a higher probability of contributing one or more offspring in the next generation. 2/6/2018 JNU, New Delhi
Chromosome Selection • Roulette Wheel Selection • Boltzman Selection • Tournament Selection • Rank Selection • Steady State Selection • ….. 2/6/2018 JNU, New Delhi
Selection-Roulette Wheel • Want to maintain an element of randomness but ‘fix’ the selection so that fitter individuals have better odds of being chosen • Assign areas on a number line relative to each individuals fitness • Generate a random number within the range of the number line • Determine which individual occupies that area of the number line • Choose that individual 2/6/2018 JNU, New Delhi
Selection-Roulette Wheel This process can be described by the following algorithm. [Sum] Calculate the sum of all chromosome fitnesses in population - sum S . [Select] Generate random number from the interval (0,S) - r . [Loop] Go through the population and sum the fitnesses from 0 - sum s . When the sum s is greater then r , stop and return the chromosome where you are. Of course, the step 1 is performed only once for each population. 2/6/2018 JNU, New Delhi
Selection-Roulette Wheel 2/6/2018 JNU, New Delhi
An Example: TSP • Must visit in his territory exactly once and return to the starting point • Given the cost of travel between all cities, how should he plan for minimum total cost of his entire tour • Several BB, approximate, heuristic algorithms are available for this • Decide on chromosome: Integer or Binary • If Binary, each cities should be coded as a string of bits. A chromosome string of log n 2 nlog 2 n bits 2/6/2018 JNU, New Delhi
TSP Continues… • A mutation may result in a sequence of cities, which is not a tour • For 20 cities, 5 bits are needed and some sequence may not correspond to a city • Similar problems with Crossover • Clearly we require some repair algorithm • Integer representation is better • Vector v =(i 1 i 2 ..i n ) represents a tour 2/6/2018 JNU, New Delhi
TSP Continues…. • For initialization: Heuristics (few outputs from greedy algorithm) or random permutation • Evaluation is straightforward. • Crossover (e.g. OX operator) • Populations are (1 2 3 4 5 6 7 8 9 10 11 12) & (7 3 1 11 4 12 5 2 10 9 6 8) chosen part (4 5 6 7) • Resulting offspring ( 1 11 12 4 5 6 7 2 10 9 8 3) • The roles of the parents reversed for the next offspring 2/6/2018 JNU, New Delhi
How GA Works: An Example • Maximize the function for 4 decimal places f(x 1 ,x 2 )=21.5+x 1 *sin(4 π x 1 )+x2*sin(20 π x 2 ) Where – 3.0<=x 1 <= 12.1 and 4.1<=x 2 <=5.8 Pop size=20, p c =0.25 and p m =0.01 • The domain of x has length 15.1. Precision implies range [-3.0,12.1] should be divided into 15.1*10000 equal size ranges • 18 bits required 2 17 <151000<2 18 for first part • Similarly 15 bits for second part of chromosome • Total length of a chromosome is 18+15=33 2/6/2018 JNU, New Delhi
• e.g. ( 010001001011010000 111110010100010) • first 18 bits represent 12 . 1 ( 3 . 0 ) (010001001 011010000) * x 1 3 . 0 dec 18 2 1 x 1 =-3.0+4.052426=1.052426 • Similarly x 2 =5.755330 • So (010001001011010000111110010100010) corresponds to (x 1 ,x 2 )=(1.052426,5.755330) • Fitness f(x1,x2)=20.252640 • For population size 20 random population is 2/6/2018 JNU, New Delhi
• V 1 =(100110100000001111111010010100000) • V 2 =(111000100100110111001010100011010) • V 3 =(000010000011001000001010111011101) • V 4 =(100011000101101001111000001110010) • V 5 =(000111011001010011010111111000101) • V 6 =(000101000010010101001010111111011) • v 7 =(001000100000110101111011011111011) • V 8 =(100001100001110100010110101100111) • V 9 =(010000000101100010110000001111100) • V 10 =(000001111000110000011010000111011) 2/6/2018 JNU, New Delhi
• v 11 =(011001111110110101100001101111000) • v 12 =(110100010111101101000101010000000) • v 13 =(111011111010001000110000001000110) • v 14 =(010010011000001010100111100101001) • v 15 =(111011101101110000100011111011110) • v 16 =(110011110000011111100001101001011) • v 17 =(011010111111001111010001101111101) • v 18 =(011101000000001110100111110101101) • v 19 =(000101010011111111110000110001100) • v 20 =(101110010110011110011000101111110) 2/6/2018 JNU, New Delhi
• We evaluate each chromosome eval(v i ) after calculating the fitness from (x 1 ,x 2 ) • eval(v 1 )=26.019600, eval(v 2 )=7.580015, eval(v 3 )=19.526329, eval(v 4 )=17.406725, eval(v 5 )=25.341160, eval(v 6 )=18.100417, eval(v 7 )=16.020812, eval(v 8 )=17.959701, eval(v 9 )=16.127799, eval(v 10 )=21.278435, eval(v 11 )=23.410669, eval(v 12 )=15.011619, eval(v 13 )=27.316702, eval(v 14 )=19.876294, eval(v 15 )=30.060205, eval(v 16 )=23.867227, eval(v 17 )=13.696165, eval(v 18 )=15.414128, eval(v 19 )=20.095903, eval(v 20 )=13.666916 2/6/2018 JNU, New Delhi
Recommend
More recommend