At a glance... |
Syllabus |
Models |
Code |
Lecturer
Can you define the following?
- Evolutionary algorithms
- Genetic algorithms
- Genetic programsming
- Evolutionary programs 101
- Mutation
- Can u give examples of GA mutation? of GP mutation?
- Mutation
- Crossover
- Can u give examples of GA crossover? of GP crossover
- Selection
1. Binary domination
1. Pareto frontier (hint a diagram is good here)
- spread
- hypervolume
- Optimizing optimizers
(not examinable)
- Writing models: understanding and representing a domain. Very slow
- Enabling models: getting them running. Not fast
- Running them
- M: Mutation cost: making M mutants
- E: Evaluating M mutants
- If any random variables in the model, then E*20 to E100
- S: Selecting cost: worst case S=M2 comparisons
- G: Generations: G times: mutate, select, crossover, repeat
- Verification cost:
- 20 (say) repeated runs, for many models, for many optimizers
- Techniques (using data mining!)
-
M cost is low. just do it,
- Then feed into some incremental clustering algorithm (mini-batch k-means, Genic: code)
- Then only keep (say) a few examples per cluster, selected randomly,
-
E reductions:
-
In each cluster, find a handful of most different examples and just evaluate those
-
S reduction:
-
YOur M reductions have also reduced your S=M2 effort
-
G remains. consider "near enough is good enough"
-
- Simulated annealing
- When to use SA
- Why random jumps?
- What is the cooling schedule?
- Why slow cooling? (when you jump less and less)
- When to stop
- Aggregation functions
- brittle aggregation functions
For each of the following, can you offer a 3 line code snippet to demo the idea?
- Classes
- Functions
- Decorators
- Static variables, functions
- Scope
- nested scope
- functions
- default params
- variable lists args
- variable dictionary args
- lambda bodies
- list comprehensions
- decorators
Copyright © 2015 Tim Menzies.
This is free and unencumbered software released into the public domain.
For more details, see the license.