Saads Perfektewelt
🐞

Simulated annealing for kids

As of today and to the best of my knowledge, there are no articles that explain simulated annealing (Kirkpatrick et al., 1983) for those outside the loop. The terminology used in explaining the algorithm may be rough and intimidating at first. One cheap attempt nowadays to simplify the explanation of any concept is to go online and ask people to explain it to you as if you are 5 years old. As of yet. I personally have never tried this approach, so I can't review how effective it is.

We live in an age of accessibility, and I believe that simplify what is hard is the best proof that shows if you are capable of handling the topic or not.

Picture this: Imagine that just opened up a business and that you are looking for workers to maintain your cash flow. Consider that you are fresh into the world, by this time, your trust and naivety are still green. With that said, you will receive people with different backgrounds and different skill levels. Your trust levels are on top, and you will pretty much accept who steps at your doors. As your business keeps growing, you will at some point want to replace your current workers with some that satisfy your greedy needs, your current workers will set a bar, and as you keep encountering new people, your standards will rise and your trust goes lower, making you less naive and less accepting of those who might help you reach higher skies, despite their low profiles. At some point your trust in humanity will vanish, and your job offers will contain elements that are humanly impossible to achieve, unless the job applicants meet your conditions, you will receive no new servants, and this will keep on until you become the N°1 in the globe. Greed is good!

Naturally this algorithm is an analogy to metallurgy. It can be used to solve various problems where exploring a mathematical function is time consuming, most of these problems are of combinatorial nature (Traveling salesman problem, Job-shop scheduling..etc..). For a number of itterations, the algorithm attempts to explore solutions until it stops improving the objective function. Provided you have an objective function with high number of finite points, you can execute the algorithm and hopefully find the global minima, or maxima.

I know pseudo-codes look scary so I made this small diagram, sadly the standalone tikz does not support special shapes; the blue rectangles depict decisions, while the green and orange blocks are reserved for the termination and processes respectively.

Figure: Simulated annealing for kids

I know for certain that adults would comprehend this diagram, I do however think that actual kids might not enjoy it, I just hope that they do not turn out to be greedy in their future.

References

S. Kirkpatrick et al.; 1983 ;Optimization by Simulated Annealing. Science220,671-680(1983).DOI:10.1126/science.220.4598.671