Detail předmětu
Grafové algoritmy
FIT-GALAk. 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ů, komponenty grafů a silně souvislé komponenty, 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í principů a na studium složitosti navržených algoritmů.
Proč je předmět vyučován
Student si v první části přednášek zopakuje důležité algoritmy na systematické prohledávání grafů včetně ukázek toho, jak se u algoritmů dokazuje korektnost. Dále se postupuje k náročnějším algoritmům na hledání nejkratších cest a dalších pokročilejších vlastností zadaného grafu. Vždy je kladen důraz na pochopení principu algoritmu a detailní diskuzi případné implementace (včetně vhodný datových struktur a jejich časově/prostorových složitostí). Kromě samotných grafových algoritmů se student zlepší ve schopnosti formálně popisovat algoritmy a odhadovat jejich složitost. V rámci projektu si vyzkouší modifikaci, implementaci a experimentování s některými vybranými grafovými algoritmy.
Odkazy
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
- Půlsemestrální písemná zkouška (max. 15 bodů)
- Hodnocený projekt (max. 25 bod)
- Závěrečná písemná zkouška (max. 60 bodů)
- 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.
Pokud v průběhu semestru student onemocní nebo se vyskytne jiná překážka ve studiu, je třeba tuto překážku řádně ohlásit a doložit. Pak k ní lze přihlédnout a přizpůsobit jí hodnocení:
- U projektu může student požádat příslušného učitele o přiměřené prodloužení termínu pro odevzdání.
- Pokud se student nemohl zúčastnit půlsemestrální zkoušky, může přednášejícího požádat, aby body za půlsemestrální zkoušku byly odvozeny od bodového zisku u prvního termínu zkoušky, kterého se zúčastní.
Učební cíle
Schopnost sestrojit algoritmus pro grafový problém a analyzovat jeho časovou a prostorovou složitost.
Doporučená literatura
J.A. McHugh, Algorithmic Graph Theory, Prentice-Hall, 1990.
K. Erciyes: Guide to Graph Algorithms (Sequential, Parallel and Discributed). Springer, 2018.
A. Mitina: Applied Combinatorics with Graph Theory. NEIU, 2019.
Text přednášek v elektronické podobě. (CS)
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, MIT Press, 3. vydání, 1312 s., 2009. (CS)
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
- Program MITAI magisterský navazující
specializace NGRI , 0 ročník, zimní semestr, volitelný
specializace NADE , 0 ročník, zimní semestr, volitelný
specializace NISD , 0 ročník, zimní semestr, volitelný
specializace NMAT , 0 ročník, zimní semestr, povinný
specializace NSEC , 0 ročník, zimní semestr, volitelný
specializace NISY do 2020/21 , 0 ročník, zimní semestr, volitelný
specializace NNET , 0 ročník, zimní semestr, povinný
specializace NMAL , 0 ročník, zimní semestr, volitelný
specializace NCPS , 0 ročník, zimní semestr, volitelný
specializace NHPC , 0 ročník, zimní semestr, volitelný
specializace NVER , 0 ročník, zimní semestr, volitelný
specializace NIDE , 0 ročník, zimní semestr, volitelný
specializace NISY , 0 ročník, zimní semestr, volitelný
specializace NEMB do 2023/24 , 0 ročník, zimní semestr, volitelný
specializace NSPE , 0 ročník, zimní semestr, volitelný
specializace NEMB , 0 ročník, zimní semestr, volitelný
specializace NBIO , 0 ročník, zimní semestr, volitelný
specializace NSEN , 0 ročník, zimní semestr, volitelný
specializace NVIZ , 0 ročník, zimní semestr, volitelný
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, algoritmy Kruskala a Prima.
- Nejkratší cesty z jednoho vrcholu, Bellman-Fordův algoritmus, nejkratší cesta z jednoho vrcholu v orientovaných acyklických grafech.
- Dijkstrův algoritmus. Nejkratší cesty ze 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ů, chromatický polynom.
- Eulerovské grafy a tahy, problém čínského pošťáka, Hamiltonovské kružnice a cykly.
Projekt
Vyučující / Lektor
Osnova
- Řešení vybraných grafových problémů a prezentace řešení (princip, složitost, implementace, optimalizace).
Elearning