When asked what I’m working on, I’m always having some difficulties to explain it. Where to start explaining? How far to go into detail? And how to explain at all without pen and paper??
But it’s an exciting area of research and actually not that complicated. So I had the idea to develop this little game.It doesn’t explain what I am working on, but i believe it helps giving an introduction to the research area.
Optimization is to find a set of parameters that yield the best value on a given function, with regard to some criteria or constraints.
In school mathematics usually this function is known and optimization can be done by calculating at what position the derivative of the function is zero.
But if the function is not known, we have to evaluate the function for a set of parameters and find the best position empirically.
Hands on ‘sequential parameter optimization’
This is what this game is all about. You have to search for the point with the best possible function value by klicking into the the white area. The position you choose, correspond to the parameters to evaluate. By clicking you evaluate these parameters on the objective function. As result you get a point indicating the quality of the chosen parameters by it’s color. The best possible value is red. But you have to carefully choose where to evaluate the function, since you’re restricted to a limited budget of 30 klicks. The game ends immediately if you hit a value of 99.5 or above.
After finishing you can have a look at the actual function landscape you were searching, or start over and play again. But of course, the function landscape will be chosen randomly each time ];->
Recapitulation
Did you find the best position within the budget? Did you follow any strategy? Did you think about where to klick first? Did you make assumptions about the function-landscape? – Like ‘an orange value is surely closer to red than blue’?
I bet you could surely answer some – if not all – of these questions with yes 🙂 And so you somehow handled already some of the problems you also have to face when you try to build a program that does all these things automatically.
To sum it all up: In computer based sequential parameter optimization (as I am working on) you have to sequentially evaluate the function for different parameters to find the best parameters. You follow special strategies about where to place the first evaluations so that you learn as much as possible about the function with as little as possible function evaluations. You try to learn something about the underlying function-landscape from every single evaluation. And you make assumptions about the function-landscape to help you find the best possible parameters.
There is certainly more to it, and I could easily go into more detail. But this post was to give a basic idea about the topic, more would surely go beyond the constraints of this post. But I will surely take this thread up again and go into more detail, sooner or later. 🙂