Content
Many algorithmic problems on graphs are NP-hard and therefore there is good evidence that no efficient algorithms solving these problems on all graphs exist. Classical examples are
routing problems arising e.g. in integrated circuit layout and design, colouring problems in
scheduling applications or domination problems in facility location.
However, instances to these problems arising in practical applications may have more
”structure“ than general graphs, e.g. instances may be “hierarchical” or “tree-like”. Using this
additional structural information may help in designing efficient algorithms for solving
problems in instances of this form.
A particularly good example are instances which are planar graphs, i.e. graphs that can be
drawn without crossing edges. Planar graphs arise for instance in routing applications, as
many road or train maps are nearly planar. It turns out that if the input instance is planar, or a
tree, then many hard problems become tractable.
In this course we will study methods for solving algorithmic problems on restricted classes of
graphs. The most important cases will be planar graphs and graph classes defined by the
concept of bounded tree-width. We will then extend this to even more general classes of
graphs.
The focus of this lecture is to introduce the structural properties of graphs that can be
employed in the design of efficient algorithms and to present the algorithmic techniques
needed for this.