FI:MA015 Graph Algorithms - Course Information
MA015 Graph AlgorithmsFaculty of Informatics
- Extent and Intensity
- 2/1. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium).
- doc. Mgr. Jan Obdržálek, PhD. (lecturer)
Mgr. Bc. Tomáš Janík (seminar tutor)
RNDr. Bc. Dominik Velan (seminar tutor)
prof. RNDr. Petr Hliněný, Ph.D. (assistant)
- Guaranteed by
- prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science - Faculty of Informatics
Supplier department: Department of Computer Science - Faculty of Informatics
- Mon 17. 9. to Mon 10. 12. Mon 16:00–17:50 D3
- Timetable of Seminar Groups:
MA015/01: Mon 17. 9. to Mon 10. 12. each even Monday 10:00–11:50 A319, D. Velan
MA015/02: Mon 17. 9. to Mon 10. 12. each odd Monday 10:00–11:50 A319, D. Velan
MA015/03: each even Thursday 12:00–13:50 A320, J. Obdržálek
MA015/04: each odd Thursday 12:00–13:50 A320, J. Obdržálek
- MB005 Foundations of mathematics ||( MB101 Linear models && MB102 Calculus )||( MB201 Linear models B && MB102 Calculus )||( MB101 Linear models && MB202 Calculus B )||( MB201 Linear models B && MB202 Calculus B )||( PřF:M1120 Discrete Mathematics )|| PROGRAM ( N - IN )|| PROGRAM ( N - AP )
Knowledge of basic graph algorithms, to the extent covered by the course IV003 Algorithms and Data Structures II. Specifically, students should already understand the following datastructures and algorithms: Graphs searching: DFS, BFS. Network flows: Ford-Fulkerson, Golderg (push-relabel). Minimum spanning trees: Boruvka, Jarnik (Prim), Kruskal. Shortest paths: Bellman-Ford, Dijkstra. Datastructures: heaps (incl. Fibonacci), disjoint set (union-find), ...
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 24 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students will under know and understand important graph algorithms beyond the reach of standard algorithms and data structures courses. Covered algorithms span most of the important application areas of graphs algorithms. The students also should be able to choose an algorithm best suited for a given task, modifying it when necessary, and estimate its complexity.
- Minimum Spanning Trees. Quick overview of basic algorithms (Kruskal, Jarník [Prim], Borůvka) and their modifications. Advanced algorithms: Fredman-Tarjan, Gabow et al. Randomized algorithms: Karger-Klein-Tarjan. Arborescenses of directed graphs, Edmond's branching algorithm.
- Flows in Networks. Revision - Ford-Fulkerson. Edmonds-Karp, Dinic's algorithm (and its variants), MPM (three Indians) algorithm. Modifications for restricted networks.
- Minimum Cuts in Undirected Graphs. All pairs flows/cuts: Gomory-Hu trees. Global minimum cut: node identification algorithm (Nagamochi-Ibaraki), random algorithms (Karger, Karger-Stein)
- Matchings in General Graphs. Basic algorithm using augmenting paths. Perfect matchings: Edmond's blossom algorithm. Maximum matchings.
- Graph Isomorphism. Colour refinement. Individualisation-refinement algorithms. Tractable classes of graphs.
- Dynamic Algorithms for Hard Problems. Dynamic programming on trees and circular-arc graphs. Tree-width; dynamic programming on tree-decompositions.
- Branching and Kernelization Algorithms for Hard Problems. Bounded search trees. Kernelization.
- Teaching methods
- Lecture 2 hrs/week plus 2hr tutorial each other week.
- Assessment methods
- Written exam. To obtain A or B students also have to pass the second, oral part of the exam.
- Language of instruction
- Further Comments
- Study Materials
The course is taught annually.