improved genetic algorithm channel allocation in mobile
play

Improved Genetic Algorithm: Channel Allocation in Mobile Computing - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. •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

  5. • 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

  6. • 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

  7. Evolutionary Algorithms 2/6/2018 JNU, New Delhi

  8. Simple Genetic Algorithm( ) { Population Initialization; Population Evaluation; Until solution converges do { Perform Crossover & Mutation; Evaluate Population; Reproduction; } } 2/6/2018 JNU, New Delhi

  9. 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

  10. 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

  11. Crossover Crossover site 1-point crossover (used in SGA) n-point crossover Uniform crossover 2/6/2018 JNU, New Delhi

  12. Mutation A chromosome is altered a little bit randomly(e.g. 0 to 1 or 1 to 0). 2/6/2018 JNU, New Delhi

  13. 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

  14. 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

  15. 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

  16. Chromosome Selection • Roulette Wheel Selection • Boltzman Selection • Tournament Selection • Rank Selection • Steady State Selection • ….. 2/6/2018 JNU, New Delhi

  17. 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

  18. 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

  19. Selection-Roulette Wheel 2/6/2018 JNU, New Delhi

  20. 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

  21. 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

  22. 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

  23. 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

  24. • 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

  25. • 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

  26. • 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

  27. • 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