Algorithms

Algorithms

An algorithm is a systematic method for solving a problem (usually using a computer). Algorithmics is the study of algorithms: the design of algorithms, the analysis of algorithms, and the investigation of when problems cannot have efficient algorithms. The group in Algorithmics at SDU has research interests concentrated within data structures, online algorithms, bioinformatics, cheminformatics, cryptography, constraint-solving, graph algorithms, and combinatorial optimization.
The group’s research is all either directly practically motivated or aimed at facilitating the development of better algorithms for practical problems – it is theory with a practical focus. The group’s interests are in efficient algorithms, as well as in quality improvements of approximative solutions to computationally hard problems, many of which have important industrial variants.

People

Jørgen Bang-Jensen Professor
Joan Boyar Associate Professor
Marco Chiarandini Associate Professor
Rolf Fagerberg Associate Professor
Lene Monrad Favrholdt Associate Professor
Kim Skak Larsen Professor
Daniel Merkle Associate Professor
Peter Schneider-Kamp Assistant Professor

Group Leader

Joan Boyar

Bachelor Courses

Algorithms and data structures; combinatorics, probability, and randomized algorithms; algorithms and complexity; introduction to linear and integer programming; computability. (Many other courses are taught by the computer science group at IMADA, including programming A & B; operating systems; databases, etc.)

Graduate Courses and Independent Studies

Cryptology; advanced data structures; graph algorithms with practical applications; multicriteria optimization and sensitivity analysis; scheduling, time-tabling, and routing; on-line algorithms; I/O effective algorithms and data structures; combinatorial optimization 1, 2 & 3; algorithms for web-indexing and searching; string algorithms; introduction to machine learning; modeling and solving constrained optimization problems; parallel programming; bioinformatics. (Other courses taught by the computer science group include programming for computer games 1, 2, 3, & 4.)

Bachelor Projects

Most computer science students choose a compiler project for the bachelor project. Other possibilities in the past have included various topics in algorithmics.

Master Projects

Some sample recent projects have been:
Minimizing the number of XOR gates in circuits computing linear forms
Attacks on and combining cryptographic hash functions
The online Dial-a-Ride problem
Course timetabling at the Faculty of Science of SDU
Long term unit commitment with heating constraints
Approximation algorithms for optimal certificates for graph connectivity
Algorithms for finding well-balanced pairs of edge-disjoint spanning trees in weighted graphs
Approximation of newer variants of the knapsack problem
Analyzing the quality of online bin packing algorithms
Online and offline coloring of interval graphs
Space complexity of external-memory three-sided range search
Computer-aided generation of building instructions for LEGO models
GPU-based rendering of terrains
Ray tracing on IBM’s cell processor
A dynamic and kinetic data structure for convex hull
Theoretical and experimental analysis of new paging algorithms
Patterns in chemical reaction networks
Barrier trees for continuous fitness landscapes
Inferring genomic rearrangements based on common intervals

PhD Students

The group currently has 9 PhD students, coming from Germany, India, Italy, and Denmark. The group’s former PhD students are currently employed many places, including permanent research (in all cases but one, faculty) positions at Aarhus University; AT&T Labs; Royal Holloway, University of London; University of Calgary; (and two have returned to) University of Southern Denmark.