Winter 2024/2025

Algorithmentheorie

Wintersemester 2024/25, 3 SWS, 4,5 CP
03-BE-699.11 (03-IBGT-AT), Link zu StudIP

Algorithmen bilden eine der wichtigsten Grundlagen der Informatik. Anschaulich beschreibt ein Algorithmus eine Vorgehensweise um ein Problem zu lösen. Somit bilden Algorithmen eine Grundlage der Programmierung, sind aber unabhängig von der konkreten Programmiersprache und Umsetzung. Algorithmen sind so vielfältig wie ihre Anwendungen, darum ist es umso wichtiger die fundamentalen Prinzipien des effizienten Algorithmenentwurfs und in den wichtigsten Problembereichen die grundlegenden Lösungsverfahren zu kennen.

Die Vorlesung hat zum Ziel diese fundamentalen Prinzipien des Algorithmenentwurfs zu vermitteln. Die Prinzipien werden anhand klassischer Algorithmen für wichtige Probleme illustriert und eingeübt. Auf der theoretischen Seite werden die Grundlagen abstrakter Maschinenmodelle, formale Korrektheitsbeweise und Laufzeitanalyse vermittelt. Das erworbene Wissen ermöglicht es den Studierenden für ein gegebenes algorithmisches Problem verschiedene Lösungsansätze bezüglich ihrer Effizienz zu beurteilen, den am besten geeigneten Ansatz zur Lösung auszuwählen und seine Korrektheit zu beweisen.

• Algorithmenparadigmen: Greedy, Divide-and-Conquer, Dynamische Programmierung
• Sortierverfahren
• Grundlegende Begriffe der Graphentheorie
• Graphenprobleme: Kürzeste-Wege, minimale aufspannende Bäume, maximale Netzwerkflüsse

Dozentin:  Prof. Dr. Nicole Megow

Algorithms and Uncertainty

Wintersemester 2024/25, 6 or 9CP
03-IMAT-AU (03-ME-602.99c), StudIP

A key assumption of many powerful optimization methods is that all the data is fully accessible from the beginning.

However, from the point of view of many real-world applications (e.g., in logistics, production or project planning, cloud computing, etc.) this assumption is simply not true. Large data centers allocate resources to tasks without knowledge of exact execution times or energy requirements; transit times in networks are often uncertain; or, parameters such as bandwidth, demands or energy consumption are highly fluctuating. The current trend of data collection and data-driven applications often amplifies this phenomenon. As the amount of available data is increasing tremendously due to internet technology, cloud systems and sharing markets, modern algorithms are expected to be highly adaptive and learn and benefit from the dynamically changing mass of data. 

In the above examples, our knowledge of the current data is only partial or based on historical estimates. The class Algorithms and Uncertainty will teach students about the most common models of such uncertain data and how to design and analyze efficient algorithms in these models.

Specifically, we will cover the theory of online optimization, where the input arrives without any prior information (such as network packets arriving to a router) and also needs to be processed immediately, before the next piece of input arrives. This model is best suited for analyzing critical networking and scheduling systems where devices and algorithms must perform well even in the worst-case scenario.

In the cases where previous history can be used to model the upcoming data, we often employ robust optimization or stochastic optimization. In robust optimization, the aim is to optimize the worst-case of all possible realizations of the input data. Hence, this model is rather conservative. In stochastic optimization however, the algorithms work with the assumption that data is drawn from some probability distribution known ahead of time and typically the goal is to optimize the expected value.

Dozentin:  Prof. Dr. Nicole Megow

Format: lectures twice a week with integrated, interactive exercise sessions (6 CP), and an additional seminar style course work (+3 Extra CP)

Examination: individual oral exam; as admission to the oral exam it is mandatory to present solutions in the exercise session at least twice during the term.