Skip to content

Latest commit

 

History

History
91 lines (74 loc) · 3.15 KB

REVIEW1.md

File metadata and controls

91 lines (74 loc) · 3.15 KB


At a glance... | Syllabus | Models | Code | Lecturer

Review1: Week of Aug 25

Theory

Can you define the following?

  1. Evolutionary algorithms
    1. Genetic algorithms
    2. Genetic programsming
  2. Evolutionary programs 101
    1. Mutation
      1. Can u give examples of GA mutation? of GP mutation?
  3. Crossover
    1. Can u give examples of GA crossover? of GP crossover
  4. Selection 1. Binary domination 1. Pareto frontier (hint a diagram is good here)
    1. spread
    2. hypervolume

  1. Optimizing optimizers (not examinable)
    1. Writing models: understanding and representing a domain. Very slow
    2. Enabling models: getting them running. Not fast
    3. Running them
      1. M: Mutation cost: making M mutants
      2. E: Evaluating M mutants
        1. If any random variables in the model, then E*20 to E100
      3. S: Selecting cost: worst case S=M2 comparisons
      4. G: Generations: G times: mutate, select, crossover, repeat
    4. Verification cost:
      1. 20 (say) repeated runs, for many models, for many optimizers
    5. Techniques (using data mining!)
      1. M cost is low. just do it,

        1. Then feed into some incremental clustering algorithm (mini-batch k-means, Genic: code)
        2. Then only keep (say) a few examples per cluster, selected randomly,
      2. E reductions:

      3. In each cluster, find a handful of most different examples and just evaluate those

      4. S reduction:

      5. YOur M reductions have also reduced your S=M2 effort

      6. G remains. consider "near enough is good enough"


  1. Simulated annealing
    1. When to use SA
    2. Why random jumps?
    3. What is the cooling schedule?
      1. Why slow cooling? (when you jump less and less)
    4. When to stop
    5. Aggregation functions
      1. brittle aggregation functions

Practice

For each of the following, can you offer a 3 line code snippet to demo the idea?

  1. Classes
  2. Functions
  3. Decorators
  4. Static variables, functions
  5. Scope
  6. nested scope
  7. functions
  8. default params
  9. variable lists args
  10. variable dictionary args
  11. lambda bodies
  12. list comprehensions
  13. decorators

Copyright © 2015 Tim Menzies. This is free and unencumbered software released into the public domain.
For more details, see the license.