Broadly speaking, they can be summarised like this:
first 50 lines of code:
– read in some data
middle 3000 lines of code:
– do some utterly fantastic things with that data
last 100 lines of code:
– analyse the results and print things out
In about half my programs, the input data describes some
optimisation problem that needs to be solved (e.g. find the
best schedule of activities to get these jobs done in
a factory, or find the best collection of parameters to
make this telecomms network give the best quality of
service), and the “utterly fantastic thing” will be an
evolutionary algorithm — that is, a technique that
evolves solutions to problems, just like we have
evolved from the primordial soup.
Comments