Field of research
Efficient algorithms and data structures are the basis of all nontrivial computer applications. Algorithmics – the systematic development of efficient algorithms – is therefore crucial for transforming technological potential into applications that are important for technology, business, science, and our daily lives. Our group particularly focuses on the "basic toolbox" of methods that are needed in many applications, e.g., sorting, index data structures, route planning in graphs, or partitioning graphs. The group also develops open source software for solving such problems and uses its know-how to solve selected concrete application problems.
At first glance, it is surprising that despite decades of research there are still open problems within the basic toolbox. There are two reasons for this. On the one hand, in the last years we are facing an explosive growth of data sets that can only be handled using increasingly complex parallel hardware. This also implies additional basic toolbox problems like load balancing or communication algorithms. On the other hand, a huge gap between theory and practice has emerged. Theoreticians develop sophisticated solutions with strong performance guarantees for simplified settings, but all too often ignore implementability or the realities of applications and modern hardware. For their part, practitioners often ignore theoretical insights and methods and thus arrive at ad-hoc solutions without any discernible performance guarantees. Therefore, the methodology of algorithm engineering is central for our group which helps to overcome the above challenges by integrating modeling, design, analysis, implementation, and experimental evaluation.