Algorithm Engineering2
Algorithm Engineering2
This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.
it 6/2011
Algorithm Engineering
Algorithm Engineering
Algorithms and data structures are at the heart of every is often equally interesting and revealing as the experi-
computer application and thus of decisive importance for ments themselves, needs its own set of techniques, and is
permanently growing areas of engineering, economy, sci- an important interface to software engineering. Further-
ence, and daily life. The searching and ranking algorithms more, it makes little sense to view design and analysis on
in search engines and the pattern matching algorithms the one hand and implementation and experimentation
crucial for reading the human genome are only a few on the other hand as separate activities. Rather, a feedback
spectacular examples how algorithms can change our life. loop of design, analysis, implementation, and experimen-
But how is algorithmic innovation transferred to ap- tation that leads to new design ideas materializes as the
plications? Traditionally, algorithmics used the method- central process of algorithmics.
ology of algorithm theory which stems from mathematics: This cycle is quite similar to the cycle of theory build-
Algorithms are designed using simple models of prob- ing and experimental validation in Popper’s scientific
lem and machine. Main results are provable performance method. We can learn several things from this compar-
guarantees for all possible inputs. This approach often ison. First, this cycle is driven by falsifiable hypotheses
leads to elegant, highly reliable, and timeless solutions validated by experiments – an experiment cannot prove
that can be adapted to many applications. From the a hypothesis but it can support it. However, such support
point of view of algorithm theory, taking up and im- is only meaningful if there are conceivable outcomes of
plementing an algorithmic idea is part of application experiments that prove the hypothesis wrong. Hypothe-
development. Unfortunately, it can be universally ob- ses can come from creative ideas or result from inductive
served that this mode of transferring results is a slow reasoning stemming from previous experiments. Thus we
process. With growing requirements for innovative al- see a fundamental difference to the deductive reasoning
gorithms, this causes growing gaps between theory and predominant in algorithm theory. Experiments have to
practice: Realistic hardware with its parallelism, mem- be reproducible, i. e., other researchers have to be able to
ory hierarchies etc. is diverging from traditional machine repeat an experiment to the extent that they draw the
models. Applications grow more and more complex. At same conclusions or uncover mistakes in the previous
the same time, algorithm theory develops more and more experimental setup.
elaborate algorithms that may contain important ideas There are further aspects of AE as a methodology for
but are usually not directly implementable. Furthermore, algorithmics, outside the main cycle. Design, analysis and
real-world inputs are often far away from the worst case evaluation of algorithms are based on some realistic model
scenarios of the theoretical analysis. In extreme cases, of the problem and the underlying machine. Applications
promising algorithmic approaches are neglected because are coupled to the AE process in many ways. In particular,
a mathematical analysis would be difficult. realistic inputs are important for meaningful experiments.
Since the early 1990s it therefore became more and Application engineering is the process of adapting experi-
more apparent that algorithmics cannot restrict itself to mental implementations to the particular requirements of
theory. So, what else should algorithmicists do? Experi- an application. Since algorithm engineers may not know
ments play a pivotal here. Algorithm engineering (AE) is all the applications for which their algorithms will be
therefore sometimes equated with experimental algorith- used, algorithm libraries of highly tested codes with clear
mics. However, this view is too limited. First of all, to do simple user interfaces are a further important link be-
experiments, you also have to implement algorithms. This tween AE and applications.
This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.
suffices to test or perhaps verify the checker. Making
checking fast implies interesting algorithmic questions
when checking is aided by certificates of correctness com-
puted by the main algorithm.
Delling, Goldberg and Werneck report on techniques
for fast route planning that have developed into a show
piece of AE in the last years – leading to exact route
computation in continental size road networks within
less than a microsecond. Experiments play a pivotal role
here because real world networks have special properties
like a pronounced hierarchy that enormously simplify
the problem compared to the worst case. They also give
an example, where closing the AE cycle and going back
Figure 1 Algorithm engineering as a cycle of design, analysis, imple-
to theory gives additional insights and motivates further
mentation, and experimental evaluation driven by falsifiable hypotheses.
improved algorithms.
The last article by Möhring illustrates the differences in
Figure 1 summarizes the resulting schema for AE as methodology of algorithm engineering in a lab environ-
a methodology for algorithmics. The articles in this spe- ment and in real world applications. The article selects
cial issue have been selected to exemplify the key activity two applications – a project on improving the routing
areas in this diagram. Some of them come from partic- of automated guided vehicles in a container terminal and
ipants in the DFG priority program on algorithm en- a project on improving the coating of coils in a steel com-
gineering (http://www.algorithm-engineering.de/) which pany. The author shows the different aspects of a close
has greatly strengthened AE research in Germany. interaction and collaboration with industrial partners. In
Bader, Ediger, and Kang discuss the challenges coming particular, he gives some insight into his experiences with
from realistic machine models: ever increasing parallelism, “playing this game” and how it can lead to great and un-
deep memory hierarchies, heterogeneous architectures, expected scientific results.
and the need to adapt every single performance critical
application because the free lunch of ever increasing clock
speeds is over.
Real time scheduling used to be an area with import-
ant practical applications but considerable gaps to theory.
Eisenbrand et al. report on the solution of a scheduling
problem arising in the avionics industry where current
Prof. Dr. Peter Sanders
state-of-the-art approaches to tackle the problem are by
far not powerful enough to solve instances of real-world
size. Using the AE paradigm they analyzed the mathemat-
ical properties of the scheduling problem and designed
sophisticated solution methods based on the structural
insights. The result is a model that outperforms current
state-of-the-art approaches by several orders of magni-
tude and solves industrial size real-world instances to Prof. Dr. Dorothea Wagner
optimality.
Manthey and Röglin show how AE can imply in-
teresting new challenges for algorithm analysis beyond Received: July 20, 2011
traditional worst case analysis. They give two interesting
examples how smoothed analysis can fathom the gap be- Prof. Dr. rer. nat. Peter Sanders received his
tween worst case (which is often too pessimistic) and Ph.D. in computer science from Universität Karls-
ruhe, Germany in 1996. After 7 years at the Max-
plain average case analysis (which is usually unrealis- Planck-Institute for Informatics in Saarbrücken
tic). A knapsack algorithm that takes exponential time he returned to Karlsruhe as a full professor in
in the worst case becomes efficient in this model. Simi- 2004. In 2004 he was also awarded the Alcatel SEL
larly, smoothed analysis explains why a well known local Research Prize. He has more than 150 publica-
search algorithm for a facility location problem works tions, mostly on algorithm for large data sets. This
includes parallel algorithms, memory hierarchies,
well in practice. graph algorithms (route planning, graph parti-
The article on certifying algorithms by Mehlhorn et al. tioning etc.), randomized algorithms, full text
explains an effective way to ensure correct results of algo- indices, etc.
rithm implementations. The idea is to check each returned Address: Karlsruhe Institute of Technology, Am
result for correctness using a simple checker. It then Fasanengarten 5, 76137 Karlsruhe, Germany
264
Algorithm Engineering
This article is protected by German copyright law. You may copy and distribute this article for your personal use only. Other use is only allowed with written permission by the copyright holder.
Prof. Dr. rer. nat. Dorothea Wagner obtained tific advisory board of Dagstuhl – Leibniz Center
her diploma and Ph.D. degrees in mathematics for Informatics. Her research interests include
from the RWTH Aachen in 1983 and 1986, re- design and analysis of algorithms and algorithm
spectively, and 1992 the Habilitation degree from engineering, graph algorithms, computational
the TU Berlin. 1994–2003 she was a full profes- geometry and discrete optimization, particularly
sor in Konstanz before she moved to Karlsruhe in applied to transportation systems, network analy-
2003 as a full professor for Informatics. Among sis, data mining and visualization.
other activities she is vice president of the DFG
(Deutsche Forschungsgemeinschaft – German Address: Karlsruhe Institute of Technology, Am
Research Foundation) and speaker of the scien- Fasanengarten 5, 76137 Karlsruhe, Germany
265