Dr. Kathrin Hanauer, B.Sc. M.Sc.
Währinger Straße 29, 1090 Wien
Office hours: by appointment only
I am interested in the design, analysis, and experimental evaluation of fast algorithms and especially in Algorithm Engineering. Algorithm Engineering connects algorithm theory with practice and focuses on the performance of algorithms in real-life scenarios. Besides what is typically considered a “fast” algorithm (one that runs in polynomial time and with a small exponent), my research is also concerned with so-called “intractable” problems with exponential worst-case running time.
Much of my recent work is devoted to dynamic algorithms: The typical, “static” setting is as follows: an algorithm receives some input, does some computations, and returns a solution. If the data changes, it has to recompute everything from scratch. By contrast, a dynamic algorithm can handle the changes to the data itself and only needs to update its solution – which can save a lot of time, especially on huge data sets!
I particularly enjoy working with graphs and graph algorithms. Graphs are a powerful tool for modelling all sorts of relationships and interactions. Depending on the scenario, they may also exhibit very different structure and characteristics, and being aware of this unlocks potential for further improvements of the algorithms that operate on them.
Current and previous research areas (selection):
- network analysis, motif search, and subgraph counting
- algorithms for data center technologies
- reachability problems on directed graphs
- ranking problems, in particular the NP-hard Feedback Arc Set problem
Courses I’m teaching or have taught at the University of Vienna can be found here.
We have many open topics suitable for student thesis both on Bachelor’s and Master’s level. To do your Bachelor’s or Master’s thesis with us, you should have
- a profound understanding of algorithms and data structures,
- joy working and experimenting with them,
- excellent programming skills (usually in C++),
- a certain amount of perseverance ;-) and the ability to think for yourself!
Possible topics and subject areas (to be updated/extended soon):
- Motif Search in Temporal Graphs
- Dynamic Orbit Partition
- Dynamic Algorithms with Non-trivial Update Operations
- Kernelization for Clique Solvers (already reserved)
- Dynamic Subgraph Counting
- Dynamic Graph Algorithms
If you would be interested in a topic or area that is not listed here, feel free to suggest your own topic!
Recently completed topics (@UniVie):
- Jonathan Trummer. Engineering Maximum Common Subgraph Algorithms for Large Graphs. 2021.
- Qi Cheng Hua. Fully Dynamic Detection of Constant-Size Subgraphs. 2021.
- Tabea Reichmann. Update Your Network - Loop Free. 2021.
- Alwin Stockinger. Dynamic All-Pairs Reachability on Partitioned Graphs. 2019.
- Rosa Zimmermann. A Heuristic Algorithm for Graph-Based Surface Segmentation in Volumetric Images. 2018.