MA015 Graph Algorithms

Fakulta informatiky
podzim 2016
Rozsah
2/1. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k.
Vyučující
doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Frédéric Dupont Dupuis, Ph.D. (cvičící)
Mgr. Bc. Tomáš Janík (cvičící)
prof. RNDr. Petr Hliněný, Ph.D. (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 16:00–17:50 D2
  • Rozvrh seminárních/paralelních skupin:
MA015/01: každé sudé úterý 16:00–17:50 C525, J. Obdržálek
MA015/02: každé liché úterý 16:00–17:50 C525, J. Obdržálek
MA015/03: každý sudý pátek 10:00–11:50 C525, F. Dupont Dupuis
MA015/04: každý lichý pátek 10:00–11:50 C525, F. Dupont Dupuis
Předpoklady
MB005 Základy matematiky ||( MB101 Lineární modely && MB102 Dif. a integrální počet )||( MB201 Lineární modely B && MB102 Dif. a integrální počet )||( MB101 Lineární modely && MB202 Dif. a integrální počet B )||( MB201 Lineární modely B && MB202 Dif. a integrální počet B )||( PřF:M1120 Diskrétní matematika )||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), ...
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
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.
Osnova
  • 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.
Literatura
    doporučená literatura
  • MAREŠ, Martin. Krajinou grafových algoritmů. Pracovní verze. ITI, 2015. URL info
  • CORMEN, Thomas H., Charles Eric LEISERSON a Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1990, xi, 1028. ISBN 0262031418. info
Výukové metody
Lecture 2 hrs/week plus 2hr tutorial each other week.
Metody hodnocení
Written exam. To obtain A or B students also have to pass the second, oral part of the exam.
Vyučovací jazyk
Angličtina
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024.