Theoretical Computer Science group

Algorithm Engineering

This term is relatively new,
But without further ado:
Upon being asked to concisely define,
I'm sorry, I have to decline.

Algorithm Engineering focuses on the gap between the purely theoretical analysis of algorithms and the practical run-time performance. Such gaps may arise, e.g., by hiding huge constants in the Big-O-notation; or by using the traditional von Neumann memory/machine model, even though current computers tend to have a deep memory hierarchy (caches, RAM, HDD) with different access speeds. Also, certain analyzed worst-case scenarios may be irrelevant for practical applications, and certain potentially beneficial input properties were not exploited.

Especially – and this is the main research focus of this group – when considering NP-hard optimization problems, it often turns out that by using suitable techniques, computing provable optimal solutions may not be as practically intractable as expected…

For a more in-depth introduction into this growing research field, see, e.g.: