Genetic Algorithms and Applications of Genetic Algorithms in Compilers - PowerPoint PPT Presentation

Loading...

PPT – Genetic Algorithms and Applications of Genetic Algorithms in Compilers PowerPoint presentation | free to download - id: 9f5aa-MzFlM



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Genetic Algorithms and Applications of Genetic Algorithms in Compilers

Description:

Genetic algorithm are a class of heuristic biased sampling approach to searching ... Described steps during a genetic algorithm ... – PowerPoint PPT presentation

Number of Views:723
Avg rating:3.0/5.0
Slides: 25
Provided by: pras78
Learn more at: http://www.ittc.ku.edu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Genetic Algorithms and Applications of Genetic Algorithms in Compilers


1
Genetic Algorithms and Applications of Genetic
Algorithms in Compilers
  • Prasad A. Kulkarni

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

3
Outline
  • 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

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

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

6
Biological Background
7
Biological Background (cont...)
  • Crossover, mutation

8
Outline
  • 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

9
GA Stage 1 Initialization
  • Randomly initialize some number of individual
    solutions to form an initial population

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

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

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

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

Create initial population of chromosomes
Output the best solution found
Evaluate fitness of each chromosome in the
population
Y
Terminate cond. ?
N
Perform crossover/ mutation to create new
generation
14
Outline
  • 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

15
Phase Ordering Problem
  • 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.

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

17
Outline
  • 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

18
GA Stage 1 Initialization
a
e
a
b
c
d
c
f
e
d
a
c
e
a
f
f
c
e
population1
19
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
population1
20
GA Stage 3 Check Termination
  • Terminating conditions
  • the desired performance is reached
  • specified number of generations have elapsed
  • time constraint for genetic algorithm exceeded

21
GA Stage 4 Reproduction
  • Crossover - 20 sequences in each generation
    replaced
  • Mutation - phases in each sequence replaced with
    a low probability

22
Outline
  • 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

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

24
Conclusion
  • 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.
About PowerShow.com