Detail předmětu
Grafové algoritmy
GAL Ak. rok 2024/2025 zimní semestr 5 kreditů
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
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Bodové hodnocení
- 60 bodů závěrečná zkouška (písemná část)
- 15 bodů půlsemestrální test (písemná část)
- 25 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Cíle předmětu
Seznámit se s grafy a grafovými algoritmy včetně jejich složitostí.
Schopnost sestrojit algoritmus pro grafový problém a analyzovat jeho časovou a prostorovou složitost.
Požadované prerekvizitní znalosti a dovednosti
Základní znalost diskrétní matematiky a schopnost algoritmického myšlení.
Literatura studijní
- Text přednášek v elektronické podobě.
- T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, MIT Press, 3. vydání, 1312 s., 2009.
- J. Demel, Grafy a jejich aplikace, Academia, 2002. (Více o knize)
- 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.
Osnova přednášek
- Ú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.
Osnova ostatní - projekty, práce
- Řešení vybraných grafových problémů a prezentace řešení (princip, složitost, implementace, optimalizace).
Průběžná kontrola studia
- 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í.
Rozvrh
Den | Typ | Týdny | Místn. | Od | Do | Kapacita | PSK | Skup | Info |
---|---|---|---|---|---|---|---|---|---|
Út | zkouška | 2025-01-07 | E104 | 10:00 | 12:50 | GAL: 1. termín | |||
St | zkouška | 2025-01-29 | E105 | 09:00 | 11:50 | GAL: 3. termín | |||
St | zkouška | 2024-12-18 | E104 | 10:00 | 12:30 | GAL: Předtermín | |||
Pá | zkouška | 2025-01-17 | A112 | 11:00 | 13:50 | GAL: 2. termín | |||
Pá | zkouška | 2024-11-15 | D0207 | 12:00 | 14:30 | GAL: Půlsemestrální zkouška (D0207!!!) | |||
Pá | přednáška | výuky | L314 | 12:00 | 14:50 | 30 | 1MIT 2MIT | NMAT NNET xx | Křivka |
Zařazení předmětu ve studijních plánech