evolutionary algorithms
play

Evolutionary Algorithms To use evolutionary algorithms your must: - PDF document

Evolutionary Algorithms To use evolutionary algorithms your must: Fitness Define your problem Define your genotype Identify your phenotype Define the genotype -> phenotype translation Define crossover and mutation


  1. Evolutionary Algorithms  To use evolutionary algorithms your must: Fitness  Define your problem  Define your genotype  Identify your phenotype  Define the genotype -> phenotype translation  Define crossover and mutation operators  Define fitness  Determine selection criteria  Set population parameters Fitness Fitness  Fitness will guide convergence fitness Individual  Solution will only be as good as the ability of your fitness to define a good solution. Phenotype Genotype  Can be simple (optimization) or complex output (result of simulation). parameters problem Fitness Fitness and Bad Genomes Fitness and Bad Genomes  Dealing with bad genomes  Fitness penalties  Total Rejection  Fitness(x) = f(x) - p(x)  Genetic Repair  Fitness(x) = f(x) * p(x)  fix in genetic mapping  Genetic operators  F(x) = evaluation  Fitness Penalties.  P(x) = penalty.  For yes/no solutions. 1

  2. Fitness and Bad Genomes Fitness and Bad genomes  Guidelines for determining penalties [Gen,  Guidelines for determining penalties: Cheng]:  Good penalty functions can be constructed  Penalties which are functions of the distance from from two quantities, the maximum repair feasibility are better performers than those which cost and the average repair cost. are merely functions of the number of violated  When penalty often underestimates the constraints repair cost, then the search may not find a  For a problem having few constraints and few full solution . solutions, penalties which are solely functions of the number of violated constraints are not likely to  Essentially, the penalty is a measure of find solutions. distance to area of feasible solutions. Fitness Scaling Fitness Scaling  Instead of using absolute fitness, f(x),  Motivation: define a function F(x) and use:  In early generations, “super-individuals”  F(f(x)) as fitness in selection process: may dominate selection, slowing down progress.  Typical scaling functions:  Linear: F(x) = ax + b  At later generations, if diversity is low,  Power: F(x) = x a competition is minimized.  Exponential: F(x) = exp (-bx) Selection and Fitness Selection and Fitness  Take home messages:  In choosing a selection scheme  Lots of selection / fitness options  Overlapping or non-overlapping?  Which is best still under debate  Selection mechanism for parents  Selection mechanisms for survival  Most appropriate mechanism problem dependent.  Determine rates for crossover / mutation.  You will have opportunity to experiment for your particular problem.  Adjust fitness to assure proper balance  Questions. 2

  3. Interactive Evolutionary Fitness Computation  Subjective evaluation  Evolutionary Algorithm that relies on human evaluation as part of the fitness  Artistic  Aesthetic  Human Intuition  For a good survey, see [Takagi 2001] Interactive Evolutionary Interactive Evolutionary Computation Computing  Evaluation performed on output, not  Mapping of psychological space towards phenotype a goal: Interactive Evolutionary Computing Genetic Textures  Karl Sims [Sims91] applied genetic  Mapping of psychological space towards programming to images a goal:  Images coded by a symbolic function of  Ways to approach this: (x,y), location of pixels in an image  Model psychological processes (AI)  Color at each pixel determined by  Parameterize psychological space evaluating function.  Ask a human. 3

  4. Evolutionary Algorithms Genetic Textures  Problem:  To use evolutionary algorithms your must:  Define your problem  Create a program that will produce  Define your genotype interesting texture  Identify your phenotype  Define the genotype -> phenotype translation  Define crossover and mutation operators  Basic genetic programming  Define fitness  Phenotype: Program (LISP)  Determine selection criteria  Genotype: parse tree.  Set population parameters Genetic Textures Genetic Textures  Function Set:  Arithmetic (+, -, *, /)  Math functions (sin, cos, min, max, abs, etc)  LISP Control statement (If, then, else)  Color functions (hsv-to-rgb)  Vector functions (dot, cross, etc)  Noise functions (bw-noise, color-noise)  Image processing (blur, warp, grad, filter)  Terminal set  X, Y, constants (vector and scalar) [Sims91] Genetic Textures Genetic Texture  Mutation  Other Mutations  Add random value to scalar value crossover mutation  Increase/decrease length of a vector Before crossover Before mutation After crossover After mutation 4

  5. Genetic Texture Genetic Texture  Fitness  Determined by the user  At each “generation”, the user is presented with a collection of generated textures  The user chooses the one he/she likes the best.  The chosen textures are mutated to create textures in next generation. [Sims91] Genetic Texture Genetic textures (sin (+ (- (grad-direction (blur (if (hsv- to-rgb (warped-color-noise #(0.57 0.73 0.92) (/ 1.85 (warped-color-noise x y 0.02 3.08)) 0.11 2.4)) #(0.54 0.73 0.59) #(1.06 0.82 0.06)) 3.1) 1.46 5.9) (hsv- to-rgb (warped-color-noise y (/ 4.5 (warped-color-noise y (/ x y) 2.4 2.4)) 0.02 2.4))) x)) [Sims91] Genetic texture Genetic Textures  Animation  Also implemented as a museum installation  Add time to the terminal set  Visitors judged “fitness” by choosing their  3D Solid Textures favorite genetically created images  Add z to the terminal set.  http://www.genarts.com/karl/genetic- images.html  Example: Primordial Dance 5

  6. Genetic textures Genetic creatures  Galápagos  Take home messages:  Goal is to produce programs  Goal is to match target based on “psychological space” of the artist.  Fitness performed on evaluation of solution http: //www.genarts.com/galapagos/index.html by humans. Applications of IEC Lighting Design  Computer  [Takagi2001] references approx 250 Graphics lighting different applications of IEC: settings to  Areas ranging from art to database to produce “decent speech processing to geophysics. lighting”  Let me give a quick sampling Music Hearing Aid Fitting  Produce melody and rhythm.  Set the parameters of a hearing aid for most effective use for a particular user  GENJAM 6

  7. Media based content retrival Art education  Media selection based on user  Teach artistic sense. preference.  Questions. Challenges in IEC Addressing the Challenges  Main challenge  Use discrete fitness values for  Human fatigue -- must minimize evaluation  Related Challenges  Use 5-6 levels of evaluation rather than  Use small population size. 100 (to reduce fatigue)  How to evaluate time variant individuals.  Can add quantization noise to evaluation  Most IEC applications do not need too  Studies show that this is effective for 10-20 many generations to converge. generations. Addressing the challenges Addressing the challenges  Prediction of fitness values  Interface for Dynamic Tasks  Evolve a large population  Fatigue is especially problematic when evaluating audio.  Present only a small fraction of the population for evaluation  Variety in sound samples presented  Display interface allowing user control of when  Choice of who to present based on an aux to play. fitness prediction function.  But not too much user choice of what to play.  Best n or representative from a cluster.  Tournament comparison is less tiresome.  Real time evaluation (GenJam) 7

  8. Addressing the challenges Addressing the challenges  Acceleration of EC convergence  Combination of IEC and non-IEC  Choose selection mechanisms that speed  E.g. use IEC and present to user every convergence. 100th generation. Addressing the challenges IEC  Take home messages:  Active  Fitness based on psychological parameters / Intervention human preference  Visualized EC  Uses human evaluation as part of fitness  Must overcome human fatigue in evaluation.  Really good survey paper!  Questions? 8

Recommend


More recommend