Summer 2021

Theoretische Informatik 2

(03-BA-601.02, 03-IBGT-THI2, Sebastian Siebertz und Mario Grobler)

Vorlesung

ECTS: 6

 

Die Vorlesungen finden online asynchron statt.

Übungstermine:
wöchentlich Di 10:00 - 12:00 Übung Online
wöchentlich Di 12:00 - 14:00 Übung Online
wöchentlich Di 14:00 - 16:00 Übung Online
wöchentlich Mi 10:00 - 12:00 Übung Online
wöchentlich Mi 12:00 - 14:00 Übung Online
wöchentlich Mi 14:00 - 16:00 Übung Online
wöchentlich Do 10:00 - 12:00 Übung Online

 

Die Theoretische Informatik beschäftigt sich auf systematische Weise und unter Verwendung mathematischer Mittel mit zentralen Fragen der Informatik. Sie besteht aus zahlreichen Teildisziplinen, von denen in dieser Vorlesung hauptsächlich die Theorie der Berechenbarkeit und die Komplexitätstheorie behandelt werden. In der Theorie der Berechenbarkeit geht es um die Definition abstrakter Modelle von Berechnung und um die fundamentale Frage, welche Probleme prinzipiell berechenbar sind und welche nicht. Eine zentrale Rolle spielen dabei Turingmaschinen als elementares Berechnungsmodell, das aber dennoch äquivalent zu komplexeren und praxisnäheren Modellen wie modernen Programmiersprachen ist. Die Komplexitätstheorie betrachtet zusätzlich die zur Berechnung verwendeten Ressourcen wie Laufzeit und Speicherplatz. Eine zentrale Frage ist dann, welche Probleme mit vertretbarem Aufwand berechenbar sind, wobei "vertretbarer Aufwand" meist mit "polynomieller Zeit" gleichgesetzt wird. Zusätzlich zu den erwähnten Themen werden wir auch einige in Theoretische Informatik 1 offen gebliebene Fragen aus dem Gebiet der formalen Sprachen klären.

Parametrisierte Komplexität

(03-ME-602.22, 03-IMAT-PK, Sebastian Siebertz und Nikolas Mählmann)

Vorlesung
ECTS: 6

Termine:
wöchentlich Mo 12:00 - 14:00 Vorlesung online
wöchentlich Mi 10:00 - 12:00 Übung Online

 

Die parametrisierte Komplexitätstheorie ist ein relativ junges Teilgebiet der theoretischen Informatik. In der klassischen Komplexitätstheorie werden Laufzeiten von Algorithmen bezüglich der Eingabelänge n gemessen. In der parametrisierten Komplexitätstheorie wird eine feinere Analyse angewendet und Laufzeiten bezüglich einem oder mehreren zusätzlichen Parametern beschrieben. So können in vielen Fällen Algorithmen entwickelt werden, die selbst für NP-schwere Probleme auf Instanzen mit kleinen Parametern effizient sind. Insbesondere sind Instanzen, die in der Praxis auftreten, häufig strukturell einfach. Die parametrisierte Komplexitätstheorie kann in diesen Fällen erklären, warum NP-schwere Probleme in der Praxis häufig schnell gelöst werden können. In dieser Vorlesung lernen wir viele Techniken zum Entwurf effizienter parametrisierter Algorithmen kennen. 

 

Inhalte. 

1. Motivation

2. FPT und XP

3. Kernelization und Äquivalenz zu FPT

4. Crown Decompositions und Vertex Cover

5. Sunflower Lemma und Hitting sets

6. Lineare Programmierung für Vertex Cover

7. Bounded Search Trees

8. Feedback Vertex Set

9. Above Guarantee Parameterizations

10. Iterative Kompression und Odd Cycle Transversal

11. Dynamische Programmierung über Baumzerlegungen

(11b. Color Coding)

12. Beyond FPT: die W-Hierarchie

13. Die Exponential Time Hypothesis (ETH) in der parametrisierten Welt

14. FPT und Approximation

Databases, graphs and algorithms

(03-IMVT-DGA, Alexandre Vigny)

In this lecture, we will explore algorithms that answer queries over databases and finite graphs.
While is it not possible to create efficient algorithms that can answer any query on any database, we will focus on classes of "simple" families of queries and databases.

A first part of the lecture will be devoted to restricted notions of queries like Conjunctive Queries (CQ) and Acyclique Conjunctive Queries (ACQ) and how they yield efficient algorithms.
On a second part, we will look at restricted classes of databases that also enable efficient algorithms.
Finally, we will study more complex tasks like counting solutions and enumerating sets of solutions.

 

Seminar Parameterized Complexity

(Sebastian Siebertz, Alexandre Vigny, Mario Grobler, Nikolas Mählmann)

Seminar
ECTS: 3

Termine:
wöchentlich Di 10:00 - 12:00 Seminar online

 

Sprache: Englisch

 

Parameterised complexity theory is a relatively young branch of theoretical computer science. In classical complexity theory, running times of algorithms are measured with respect to the input length n. In parameterised complexity theory, a finer analysis is applied and running times are measured with respect to one or more additional parameters. In many cases, we can develop algorithms for NP-hard problems that are efficient on instances with small parameters. In particular, instances that arise in practice are often structurally simple. In these cases, parameterised complexity theory can explain why NP-hard problems can often be solved quickly in practice. In this seminar the participants we will learn and present advanced techniques for designing efficient parameterised algorithms.