From Stochastic Search to Programming by Optimisation: My Quest for Automating the Design of High-Performance Algorithms
Holger H. Hoos
14 October 2014, 14h30 - 14 October 2014, 15h30
Salle/Bat : 1/DIG-Moulon
Contact :
Activités de recherche :
Résumé :
In this talk, I will give a broad overview of the research my group and I have been doing in recent years in the broad area of studying and designing high-performance algorithms for a broad range of challenging computational problems. I will explain how, starting from my PhD work on stochastic local search methods, we found ways to turn the craft of building effective algorithms for problems such as SAT and TSP into a principled engineering effort, and how as a result, we are now in a much better position to not only solve these problems more effectively, but also to gain scientific insights into the algorithms as well as the problems they solve. Not too surprisingly, the combination of ideas from machine learning and optimisation, but also fundamental concepts of statistics play a major role in the approaches we have developped. In particular, I will motivate and outline, in broad strokes, our work on performance modelling, algorithm selection, algorithm configuration, algorithm scheduling and parallel algorithm portfolios.
I will then introduce Programming by Optimisation (PbO), a paradigm for the development of high-performance software that is based on the idea of avoiding premature decisions at the design stage, and instead to use general-purpose algorithm selection and configuration techniques to make those decisions such that performance is optimised for specific use contexts. I will explain how PbO leverages the previously mentioned generic algorithm design techniques to fundamentally change the way we build high-performance software.
Finally, I will share with you some ideas on how the PbO paradigm can be made accessible to a broader range of software and system designers, and how it can be expanded to become even more powerful and useful. This includes ideas from transfer- and meta-learning, dynamic parameter control as well as next-generation profiling and debugging techniques.
Throughout this presentation, I will also attempt to pass on to you some lessons I have learned over the years - insights that would have likely saved me quite a bit of time and sleep, had I had them earlier during my quest for better ways to solve challenging computational and research problems.
Pour en savoir plus :