Detail předmětu
Grafové algoritmy (v angličtině)
FIT-GALeAk. rok: 2024/2025
Předmět diskutuje různé reprezentace grafů v počítači a grafové algoritmy pro problémy typu prohledávání grafů (do hloubky, do šířky), topologické uspořádání grafů, hledání komponent grafu a silně souvislých komponent, stromy a minimální kostry, nejkratší cesty z jednoho vrcholu do všech ostatních či ze všech vrcholů do všech ostatních, maximální tok a minimální řez, maximální párování v bipartitních grafech, Eulerovské grafy a barvení grafů. U všech algoritmů je kladen důraz na pochopení principu jejich fungování a na studium složitosti navržených algoritmů.
Odkazy
- E-learning/Moodle website of GALe for WS 2024/25
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Nabízen zahraničním studentům
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
Písemná půlsemestrální zkouška, průběžná kontrola a hodnocení projektů, závěrečná semestrální zkouška. Pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 25 body. V opačném případě bude zkouška hodnocena 0 body.
Učební cíle
Schopnost sestrojit algoritmus pro grafový problém a analyzovat jeho časovou a prostorovou složitost.
Doporučená literatura
J. Demel, Grafy, SNTL Praha, 1988. (CS)
J. Demel, Grafy a jejich aplikace, Academia, 2002. (Více o knize) (CS)
J.A. McHugh, Algorithmic Graph Theory, Prentice-Hall, 1990. (EN)
K. Erciyes: Guide to Graph Algorithms (Sequential, Parallel and Distributed). Springer, 2018. (EN)
A. Mitina: Applied Combinatorics with Graph Theory. NEIU, 2019. (EN)
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 3rd edition. MIT Press, 2009. (EN)
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod do problematiky, složitost algoritmu, pojem a reprezentace grafu.
- Prohledávání grafu do šírky a do hloubky, dostupnost vrcholů.
- Topologické uspořádání vrcholů a hran, test acykličnosti grafu.
- Komponenty grafu, silně souvislé komponenty, příklady.
- Stromy, minimální kostry, Jarníkův a Borůvkův algoritmus.
- Růst minimální kostry, Kruskalův algoritmus a Primův algoritmus.
- Nejkratší cesty z jednoho vrcholu do všech ostatních vrcholů, Bellman-Fordův algoritmus, nejkratší cesta z jednoho vrcholu v orientovaných acyklických grafech.
- Dijkstrův algoritmus. Nejkratší cesty ze všech do všech vrcholů.
- Nejkratší cesty a násobení matic, Floyd-Warshallův algoritmus.
- Toky a řezy v sítích, maximální tok, minimální řez, Ford-Fulkersonův algoritmus.
- Párování v bipartitních grafech, maximální párování.
- Barvení grafů.
- Eulerovské grafy a tahy, Hamiltonovské grafy a kružnice.
Projekt
Vyučující / Lektor
Osnova
- Řešení vybraných grafových problémů a prezentace řešení (princip, složitost, implementace, optimalizace).
Elearning