Graph Algorithms (WT 2023/24)

Dr. George Skretas

Graphs play a central role in the world of algorithms. For example, navigation devices use an algorithm to compute shortest paths on a graph to answer a route query. Many planning and assignment problems can also be easily modeled as problems on graphs. In principle, it is true that a great many problems can be thought of as graph problems, so designing efficient algorithms for such problems is an important subfield of theoretical computer science.

In this lecture we will enter the world of graph algorithms. On the one hand, we will learn about important algorithmic problem classes on graphs and efficient algorithms to solve them. Among other things, we will look at finding shortest paths, flows, cuts, separators, and matchings in graphs. Algorithms for these problems have a wide variety of applications, making them an important and useful tool for any algorithmicist. On the other hand, we will also study how constraints on the graphs at hand affect the complexity of the problems and their algorithmic solution. For example, many algorithmic problems are more efficiently solvable on trees and planar graphs (i.e., graphs that can be embedded in the plane without intersection) than on general graphs. We will also explore some properties of graphs that we can exploit specifically for designing efficient algorithms. For example, trees and planar graphs have small separators (sets of nodes whose removal causes the graphs to decompose into multiple context components), which helps design efficient divide & conquer algorithms.

The goal of the lecture is the development and training of a structured approach to algorithmic problems on graphs. In doing so, we will jointly develop efficient graph algorithms with appropriate data structures, prove their correctness, and analyze their resource requirements (runtime and memory). In addition, the lecture will highlight special graph classes and other important concepts in graph theory and their impact on the world of algorithms.


Applications of BFS/DFS

Date: October 23, 2023
Language: English
Duration: 01:14:45

Maximum Flows

Date: November 6, 2023
Language: English
Duration: 00:00:00

Maximum Flows - Tuning of Ford-Fulkerson

Date: November 9, 2023
Language: English
Duration: 00:39:18

Maximum Flows Using PUSH-RELABEL

Date: November 13, 2023
Language: English
Duration: 01:08:57

Flow with costs

Date: November 20, 2023
Language: English
Duration: 01:22:07

Flows, Cuts and the Gomory Hu-Tree

Date: November 23, 2023
Language: English
Duration: 01:09:26

Minimum Cuts Algorithm by Stoer and Wagner

Date: November 27, 2023
Language: English
Duration: 00:56:43

Minimum Cuts Randomized Algorithms

Date: November 30, 2023
Language: English
Duration: 00:45:50