VALACHOVÁ, A. Barvení grafu, klika v grafu, algoritmy a aplikace [online]. Brno: Vysoké učení technické v Brně. Fakulta strojního inženýrství. 2023.
Diplomová práce se zabývá dvěma problémy, barvením grafů a klikou v grafu, které v rozhodovací verzi jsou NP-úplné, a tedy jejich řešení pro velké instance problému je nutné hledat pomocí sofistikovaných heuristických metod, v daném případě se uplatňují zejména deterministické metody, protože stochastické metody generují velký počet nepřípustných řešení a jejich penalizace či aplikace opravných operátorů vede k neúměrnému nárůstu času výpočtu a aproximace optimálního řešení může být od skutečného optima značně vzdálena. V úvodních částech diplomové práce autorka popisuje historii formulace základů teorie grafů. V některých pasážích je však výklad velmi volný, např. pojem eulerovský tah formálně přesně definovaný představuje sled hran, který zahrnuje všechny hrany grafu a každou právě jednou. (K tomu by bylo vhodné ještě blíže specifikovat uzavřené a otevřené eulerovské tahy, pro každý z nich orientovaný a neorientovaný tah, a uvést podmínky pro jejich existenci.)Definice 2.0.1 je nepřesná, prostý graf je graf, v němž každá dvojice vrcholů je propojena nejvýše jednou hranou. Dále hrany mohou být vyjádřeny i smyčkami, kdy počáteční a koncový vrchol je totožný. Ani definice podgrafu není přesná, nestačí říct, že množina vrcholů podgrafů je podmnožinou množiny vrcholů grafu, je nutné, aby bylo splněno, že každá hrana podgrafu spojuje dva vrcholy anebo je smyčkou (např. při vynechání vrcholu incidentního s jedinou hranou, by tato hranu v podgrafu neměla definovaný druhý konec).Na str. 20 je uvedeno: „žiadne dva susedné vrcholy ani uzly“ – vrcholy a uzly jsou dva názvy pro totéž (tj. jde o synonyma). Po zavedení potřebných pojmů se diplomantka zaměřila na časovou složitost algoritmů v obecném vyjádření a poté i pro zkoumané úlohy, které následují pasáže popisující reprezentaci grafu. Kapitola 8 je již věnována přehledu algoritmů vrcholového barvení, kde je uvedena řada algoritmů, se kterými se diplomantka ve výuce nesetkala. Ze stochastických heuristických metod zmiňuje algoritmus zakázaného prohledávání (tabu search), chybí v něm však informace o aspiračním kritériu, a genetický algoritmus. Ve studovaných úlohách se ale velmi dobře uplatňují modely celočíselného programování a jejich implementace v sofistikovaných softwarových nástrojích, jako je GAMS, které i pro „větší“ instance najdou optimální řešení v „přijatelném“ čase. U hledání nejpočetnější kliky grafu je blíže vysvětlen Bron-Kerboschův algoritmus. Implementace vybraných modelů celočíselného programování v GAMSu (barvení grafu na str. 57-58 a klika grafu na str. 62-63), se kterým se studenti ve studiu setkávají okrajově (anebo vůbec), byly v rámci konzultací dodány vedoucím práce, diplomantka však sama implementovala větší počet algoritmů v programovacím jazyku Python. U barvení grafu implementovala DSatur algoritmus, rekurzivní algoritmus nezávislých množin, slepovací algoritmus, genetický algoritmus a backtracking, u kliky v grafu pak Bron-Kerboschův algoritmus a jeho rozšíření s heuristikou. V kapitole 11 jsou algoritmy testovány na reprezentativní množině benchmarků a porovnány, diskutovány byly jejich výhody a nevýhody a také meze použitelnosti z hlediska výpočetního času. V kapitolách 12 a 13 jsou pak představeny četné příklady různorodých aplikací obou studovaných úloh. Závěr: I když v diplomové práci se (zvláště v úvodních partiích) vyskytují terminologické nedostatky, cenná je implementační část, kdy autorka se nespokojila s implementací jediného algoritmu, ale naprogramovala jich větší počet, což umožnilo je také porovnávat a určit, kdy je vhodné ten který použít, proto se přikláním k hodnocení výborně.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění požadavků a cílů zadání | A | ||
Postup a rozsah řešení, adekvátnost použitých metod | A | ||
Vlastní přínos a originalita | B | ||
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry | A | ||
Využitelnost výsledků v praxi nebo teorii | A | ||
Logické uspořádání práce a formální náležitosti | B | ||
Grafická, stylistická úprava a pravopis | A | ||
Práce s literaturou včetně citací | A | ||
Samostatnost studenta při zpracování tématu | B |
Zadání práce bylo splněno. V prvé části práce autorka zavedla základní pojmy a popsala problematiku výpočetní náročnosti. K této části práce mám největší výhrady. Způsob zavádění pojmů je nejednotný – některé pojmy jsou uváděny pomocí definic a některé ne. Některé pojmy jsou použity dříve, než byly vysvětleny, některé pojmy nejsou vysvětleny vůbec. Druhá část práce obsahuje popisy algoritmů barvení vrcholu grafu a hledání kliky, za nimiž následuje popis implementace těchto algoritmů v jazycích Python a GAMS včetně ilustrativních příkladů. V další kapitole jsou na testovacích příkladech porovnány algoritmy barvení. Závěrečná část práce obsahuje přehled zajímavých praktických aplikací barvení grafů a kliky grafu. Práce nemá dobrou strukturu, některé krátké kapitoly měly být začleněny do jiných kapitol. Číslování definic a vět je zbytečně složité. V práci se vyskytují překlepy a nejasné formulace, symboly v textu často nejsou psány kurzívou, objevují se chyby v některých výrazech.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Splnění požadavků a cílů zadání | A | ||
Postup a rozsah řešení, adekvátnost použitých metod | B | ||
Vlastní přínos a originalita | B | ||
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry | B | ||
Využitelnost výsledků v praxi nebo teorii | C | ||
Logické uspořádání práce a formální náležitosti | C | ||
Grafická, stylistická úprava a pravopis | C | ||
Práce s literaturou včetně citací | B |
eVSKP id 149014