In Graph-cut problems, we want to seperate a graph into parts by deleting as few edges or vertices as possible. Cut problems have applications in image segmentation, clustering, network resilence, distributed computing etc. They are also closely related to flow problems in graphs due to the duality between cuts and flows. The most fundamental cut-problem is the min-cut problem where we want to seperate two terminal vertices s and t from each other. This problem is solvable in polynomial time. The max-flow-min-cut theorem is one of the most celebrated results in algorithms research and is used as the core idea in many practical algorithms.
Some of the important generlaizations of the min-cut problem turns out to be NP-hard, and so does their flow counterparts. For example, the multiway cut where we want to seperate k terminals from each other is NP-hard even for k=3. Hence for this problem, we have to turn to approximation algorithms or fixed parameter tractable algorithms. In this course we will look at these two approaches used to tackle multiway cut and also some other NP-hard graph-cut problems such as multi-cut, k-cut etc.