Genetic Algorithms and Applications of Genetic Algorithms in

  • Slides: 24
Download presentation
Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni Artificial Intelligence

Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni Artificial Intelligence

Search Strategies in AI l l Searching is a very important application area of

Search Strategies in AI l l Searching is a very important application area of artificial intelligence. Common search strategies – – – 2 depth first search breadth first search best first search hill climbing simulated annealing genetic algorithms Artificial Intelligence

Outline l l l l 3 Introduction and historical background Biological background Stages in

Outline l l l l 3 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

Introduction and Historical Background l l 4 GAs are part of evolutionary computing introduced

Introduction and Historical Background l l 4 GAs are part of evolutionary computing introduced by I. Rechenberg in the 1960 s. GAs were invented by John Holland in 1975. GAs are based on Darwin’s principle of evolution and survival of the fittest. GA is a biased sampling search technique. Artificial Intelligence

Outline l l l l 5 Introduction and historical background Biological background Stages in

Outline l l l l 5 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

Biological Background 6 Artificial Intelligence

Biological Background 6 Artificial Intelligence

Biological Background (cont. . . ) l 7 Crossover, mutation Artificial Intelligence

Biological Background (cont. . . ) l 7 Crossover, mutation Artificial Intelligence

Outline l l l l 8 Introduction and historical background Biological background Stages in

Outline l l l l 8 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

GA Stage 1 – Initialization l Randomly initialize some number of individual solutions to

GA Stage 1 – Initialization l Randomly initialize some number of individual solutions to form an initial population Create initial population of chromosomes Evaluate fitness of each chromosome in the population Terminate cond. ? Y Output the best solution found N Perform crossover/ mutation to create new generation 9 Artificial Intelligence

GA Stage 2 – Evaluation and Selection l Evaluate the fitness value of each

GA Stage 2 – Evaluation and Selection l Evaluate the fitness value of each chromosome. Create initial population of chromosomes Evaluate fitness of each chromosome in the population Terminate cond. ? Y Output the best solution found N Perform crossover/ mutation to create new generation 10 Artificial Intelligence

GA Stage 3 – Check Termination l The algorithm terminates when some predetermined termination

GA Stage 3 – Check Termination l The algorithm terminates when some predetermined termination condition is reached. Create initial population of chromosomes Evaluate fitness of each chromosome in the population Terminate cond. ? Y Output the best solution found N Perform crossover/ mutation to create new generation 11 Artificial Intelligence

GA Stage 4 – Reproduction l Perform crossover and mutation to generate a new

GA Stage 4 – Reproduction l Perform crossover and mutation to generate a new population from the current chromosomes. Create initial population of chromosomes Evaluate fitness of each chromosome in the population Terminate cond. ? Y Output the best solution found N Perform crossover/ mutation to create new generation 12 Artificial Intelligence

GA Stage 5 – Output Solution l Output the best solution found during the

GA Stage 5 – Output Solution l Output the best solution found during the algorithm. Create initial population of chromosomes Evaluate fitness of each chromosome in the population Terminate cond. ? Y Output the best solution found N Perform crossover/ mutation to create new generation 13 Artificial Intelligence

Outline l l l l 14 Introduction and historical background Biological background Stages in

Outline l l l l 14 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

Phase Ordering Problem l l l 15 Optimizing compilers apply several optimization phases to

Phase Ordering Problem l l l 15 Optimizing compilers apply several optimization phases to improve the performance of applications. Optimization phases interact with each other. Determining the best order of applying optimization phases has been a long standing problem in compilers. Artificial Intelligence

Addressing the Phase Ordering Problem l Most researchers consider exhaustive enumeration infeasible – –

Addressing the Phase Ordering Problem l Most researchers consider exhaustive enumeration infeasible – – l Heuristics are used to search only a small portion of the optimization phase order space – 16 largest optimization sequence length in our experiments was 32 15 phases for an optimization sequence length of 32 would result in 1532 evaluations! random search, genetic algorithms etc. Artificial Intelligence

Outline l l l l 17 Introduction and historical background Biological background Stages in

Outline l l l l 17 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

GA Stage 1 – Initialization a e a b c d c f e

GA Stage 1 – Initialization a e a b c d c f e d a c e a f f c e population 1 18 Artificial Intelligence

GA Stage 2 – Evaluation and Selection 88 20 95 a e a b

GA Stage 2 – Evaluation and Selection 88 20 95 a e a b c d c f e d a c e a f f c e population 1 19 Artificial Intelligence

GA Stage 3 – Check Termination l Terminating conditions – – – 20 the

GA Stage 3 – Check Termination l Terminating conditions – – – 20 the desired performance is reached specified number of generations have elapsed time constraint for genetic algorithm exceeded Artificial Intelligence

GA Stage 4 – Reproduction 21 l Crossover - 20% sequences in each generation

GA Stage 4 – Reproduction 21 l Crossover - 20% sequences in each generation replaced l Mutation - phases in each sequence replaced with a low probability Artificial Intelligence

Outline l l l l 22 Introduction and historical background Biological background Stages in

Outline l l l l 22 Introduction and historical background Biological background Stages in a genetic algorithm Phase ordering problem in compilers Applying GA to address phase ordering Other GA applications Conclusions Artificial Intelligence

Other GA Applications l l l 23 Designing electronic circuits Designing of aircrafts Routing

Other GA Applications l l l 23 Designing electronic circuits Designing of aircrafts Routing in circuit switched telecommunication networks Genetic algorithm applied to robot trajectory design and many more. . Artificial Intelligence

Conclusion l l l 24 Genetic algorithm are a class of heuristic biased sampling

Conclusion l l l 24 Genetic algorithm are a class of heuristic biased sampling approach to searching large spaces. Described steps during a genetic algorithm Presented detailed application of genetic algorithm to phase ordering problem in compilers. Artificial Intelligence