Diplomová práce pro akademický rok 2024/2025

Kromě níže uvedených témat může student navrhnout vlastní téma. S tímto tématem může oslovit libovolného vyučujícího, přednostně však ty, do jejichž oblastí zájmu navržené téma spadá. Pokud student nebude vědět, jaké téma si vybrat, může kontaktovat zástupce vedoucího katedry pro výuku, který mu s výběr poradí.

Jiří Balun

Kvantové počítání

Vhodné pro studenty programu/specializace: Učitelství Umělá inteligence Obecná informatika

Student si zvolí jedno z témat kvantového počítání (například kvantová teorie informace, kvantové samoopravné kódy, kvantová kryptografie atd.) a toto téma nastuduje a popíše včetně základních algoritmů. V praktické části práce student implementuje a experimentálně ověří vybrané algoritmy v nějakém prostředí, které emuluje kvantový výpočet.

Eduard Bartl

Logické neuronové sítě

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software

Logické neuronové sítě jsou složeny z neuronů, které se chovají stejně jako logická konjunkce nebo disjunkce. Tento nový typ neuronových sítí byl představen v článku Ryan Riegel et al., Logical Neural Networks, arXiv preprint arXiv:2006.13155 publikovaném v roce 2020. Diplomant nastuduje zmíněný článek a bude se zabývat vztahem logických neuronových sítí a fuzzy logiky.

Dilworthův teorém a řešení fuzzy relačních rovnic

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Diplomant se bude zabývat generováním množiny všech řešení fuzzy relačních rovnic s využitím Dilworthova teorému a dalších výsledků extremální teorie množin.

Radim Bělohlávek

Podobnost v binárních datech

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software

Podobnost v binárních datech je zásadní téma, které se objevuje v různých oblastech informatiky a má různorodá použití. Existuje více než 70 způsobů, jak měřit podobnosti binárních dat; první byly navrženy před více než 100 lety. Cílem práce je jednak popsat existující způsoby a jejich vzájemné vztahy, jednak provést experimentální porovnání těchto způsobů a také jejich porovnání s psychologickými daty popisujícími, jak vnímá podobnost člověk. Práce může mít teoretický i experimentální charakter (v závislosti na dohodě studenta a vedoucího).

Relace uspořádání z pohledu fuzzy logiky

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Cílem práce je popsat dosavadní přístupy k tzv. fuzzy uspořádání, popsat vztahy mezi nimi a ve spolupráci s vedoucím práce se dopracovat k novým pozorováním a výsledkům. Práce má teoretický charakter.

Binární data a kognitivní psychologie

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Cílem práce je popsat vybrané metody práce s binárními daty z pohledu poznatků kognitivní psychologie. Konkrétní obsah bude určen po dohodě studenta a vedoucího práce. Příkladem je zabývat se metodami, které v daných binárních dat hledají přirozené lidské pojmy. Práce může mít teoretický, algoritmický i experimentální charakter (v závislosti na dohodě studenta a vedoucího).

Historie informatiky na Univerzitě Palackého v Olomouci

Vhodné pro studenty programu/specializace: Učitelství

Student zpracuje pod vedením vedoucího práce historii informatiky na UP. Vyjde přitom z článku vedoucího práce z roku 2019 a dalších zdrojů dodaných vedoucím práce. Součástí bude přehled o vývoji studijních oborů a plánů, o personálním vývoji, o vývoji technického zabezpečení, zejména dostupné výpočetní techniky. Práci zasadí do kontextu informatických oborů uskutečňovaných na vysokých školách v České republice a Československu.

Petr Jančar

Živost v Petriho sítích

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software

Práce může být zaměřena více na teoretické, či praktické aspekty, podle zaměření studenta. Jednalo by se o přehledové zpracování známých výsledků týkajících se problému (strukturální) živosti Petriho sítí a vytvoření softwarové aplikace umožňující experimentování v této oblasti (či v její vybrané části).

Radek Janoštík

Nástroj pro tvorbu Tool-assisted speedrun pro hru Trackmania 2020

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software

Student naprogramuje nástroj, ve kterém bude možné vytvářet Tool-assisted speedrun (TAS) pro hru Trackmania 2020. Trackmania je deterministická hra - jaké vstupy zadáme, takový bude výsledek. Výsledný nástroj by měl uživateli sloužit k vytvoření programovatelných umělých uživatelských vstupů tak, aby mohl optimalizovat průjezdy danou tratí. Dále by měl poskytovat nástroje pro automatické hledání vhodných kombinací vstupů (hrubá síla, osvědčení vzory, ...)

Miroslav Kolařík

Využití eliptických křivek v kryptografii – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství Bioinformatika Umělá inteligence Obecná informatika Vývoj software

Diplomant popíše základní principy eliptických křivek a jejich vlastnosti. Také stručně zhodnotí výhody a nevýhody algoritmů založených na eliptických křivkách oproti jiným kryptografickým algoritmům. V praktické části práce implementuje nějaký známý a nějaký vlastní šifrovací algoritmus založený na eliptických křivkách, popíše jejich výhody a nevýhody a porovná je mezi sebou.

Simulátor konečných automatů – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství Bioinformatika Umělá inteligence Obecná informatika Vývoj software

Diplomant vytvoří interaktivní program pro práci s konečnými automaty s omezeným počtem stavů. Program bude umožňovat konečné automaty vytvářet a spouštět pro zadané vstupy, a to i v režimu krokování. Uživatel bude mít možnost přepínat mezi různými typy automatů (např. DKA, NKA) a automaty budou graficky znázorněny v uživatelském rozhraní. Program bude také obsahovat funkcionalitu pro minimalizaci konečných automatů. Automaty bude možné zadávat buď pomocí přechodové funkce, nebo načtením ze souboru. Diplomant se pokusí o implementaci interaktivního zadávání, které uživateli umožní navrhovat automaty manuálně – klikáním přidávat stavy a interaktivně vytvářet přechody mezi nimi. Nakonec se diplomant pokusí k vybraným typům regulárních výrazů sestavit konečný automat, který je akceptuje.

Webová aplikace pro rozpoznávání a analýzu obličejů – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství Bioinformatika Umělá inteligence Obecná informatika Vývoj software

Cílem diplomové práce je vytvořit webovou aplikaci, která umožní rozpoznávání obličejů za účelem určení jejich shody. Webová aplikace bude v jisté míře detekovat z obličeje vlastnosti, jako jsou věk, nálada a pohlaví. Metody pro porovnávání a identifikaci těchto vlastností budou využívat umělou inteligenci. Součástí aplikace bude i vizualizace kroků, které jsou pro procesy rozpoznávání a identifikaci vlastností zapotřebí. Teoretická část práce se bude zabývat popisem problematiky rozpoznávání obličejů. Práce bude rovněž zahrnovat vyhodnocení úspěšnosti webové aplikace. 

Generátor logických her – téma již není volné

Vhodné pro studenty programu/specializace: Učitelství Bioinformatika Umělá inteligence Obecná informatika Vývoj software

Cílem práce je vytvořit desktopovou aplikaci v jazyce Java generující několik logických her, například sudoku, mosty, hry související s bludišti a případně další logické hry. Vygenerované hry budou mít jednoznačné řešení a bude možné si je zahrát na počítači, uložit si je a vytisknout.

Jan Konečný

Výpočet direktní báze pravidel

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Diplomová práce je zaměřená na algoritmy pro výpočet množiny if-then pravidel, která je úplná (úplně popisuje data) a pro ověření platnosti if-then pravidla je potřeba jen jeden průchod touto množinou. Výchozí literatura: Baixeries, Jaume, Victor Codocedo, Mehdi Kaytoue, and Amedeo Napoli. "Three Views on Dependency Covers from an FCA Perspective." In International Conference on Formal Concept Analysis, pp. 78-94. Cham: Springer Nature Switzerland, 2023. Doporučené kurzy: KMI/FKA, KMI/DATA

Pseudointenty ve formální konceptuální analýze ve stupních

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Diplomová práce se bude soustředit na formální konceptuální analýzu ve fuzzy settingu. Konkrétně se práce zaměří na pseudointenty s cílem definovat Duquenne-Guiguesovu bázi v fuzzy kontextu. Nedávno publikovaný článek "On Pseudointents in Fuzzy Formal Concept Analysis." navrhuje alternativní definici pseudo-intentů. Cílem rozkoumat co přináší oproti klasické definici (Bělohlávek, Vychodil), případně navrhnout další alternativu. Též je možné v rámci práce navrhnout algoritmus na enumeracu pseudointetnů ve fuzzy kontextu. Belohlavek, Radim, and Vilem Vychodil. "Attribute dependencies for data with grades I." International Journal of General Systems 45, no. 7-8 (2016): 864-888. Ojeda-Hernández, Manuel, Inma P. Cabrera, Pablo Cordero, and Emilio Muñoz-Velasco. "On Pseudointents in Fuzzy Formal Concept Analysis." In International Conference on Conceptual Structures, pp. 36-40. Cham: Springer Nature Switzerland, 2023. Doporučené kurzy: KMI/FKA, KMI/FUZ

Využití faktorů Booleovských matic v klasifikaci

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

V klasifikaci, zejména v oblastech jako jsou strojové učení a rozpoznávání vzorů, mohou Booleovské matice a jejich faktory hrát klíčovou roli. Faktorizace Booleovských matic může odhalit skryté struktury a vztahy v datech, což umožňuje efektivnější klasifikaci. Diplomová práce se bude zaměřovat právě na průzkum možného využití těchto faktorů v klasifikaci. Výchozí literatura: Belohlavek, R., Outrata, J. and Trnecka, M., 2014. Impact of Boolean factorization as preprocessing methods for classification of Boolean data. Annals of Mathematics and Artificial Intelligence, 72, pp.3-22. Doporučené kurzy: KMI/FKA, KMI/UMIN

Aplikace Galoisových bikonekcí ve formální konceptuální analýze

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika

Diplomová práce se bude zaměřovat na nedávno nově zavedené pojmy Galoisových bikonekcí, které jsou považovány za bilatice analogie klasických Galoisových konekcí mezi svazky. Práce bude zkoumat různé druhy Galoisových bikonekcí s cílem analyzovat, jak se vlastnosti Galoisových bikonekcí mohou uplatnit ve formální konceptuální analýze, kde jsou klasické Galoisový konexe základním stavebním kamenem. Výchozí literatura: Koutras, C.D. and Pitsiladis, G.V., 2021. Galois connections for bilattices. Algebra universalis, 82(3), p.37. Doporučené kurzy: KMI/FKA, KMI/FUZ

Petr Krajča

Programovací jazyk na hranici imperativního a funcionálního programování

Vhodné pro studenty programu/specializace: Vývoj software Počítačové systémy a technologie

Cílem práce je navrhnout programovací jazyk, který bude na úrovni jednotlivých procedur podporovat tradiční imperativní styl programování, přičemž na vyšší úrovni bude vynucovat funkcionální přístup k programování. Tento jazyk by měl být primárně určen pro implementaci mikroslužeb založených na RESTful API.

Forenzní analýza dat z operačního systému postavená na metodách rozkladu binárních matic

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software Počítačové systémy a technologie

Pomocí metod rozkladu binárních matic, kterým se na naší katedře věnujeme, lze odhalovat skryté informace v datech. Záměrem je navrhnout nástroj nebo nástroje, které umožní na základě dat ze souborového systému nebo logů identifikovat podezřelé chování. Tyto nástroje by kromě samotné analýzy dat měly obstárávat přípravu dat do vhodného formátu a prezentaci výsledků uživatelsky přívětivou formou.

Možnosti metaprogramování a rozšiřování jazyka Java

Vhodné pro studenty programu/specializace: Obecná informatika Vývoj software Počítačové systémy a technologie

Existuje několik projektů (např. Lombok, Manifold), které umožňují rozšiřovat jazyk Java. Cílem práce je nastudovat, zdokumentovat a demonstrovat techniky, které tyto projekty používají (anotace, javac plugin) a navrhnout vlastní smysluplná rozšíření pro jazyk Java.

Jan Outrata

Vytěžování dat z informačního systému

Vhodné pro studenty programu/specializace: Vývoj software Počítačové systémy a technologie

Student prozkoumá a následně implementuje možnosti automatizovaného vytěžování dat z univerzitního informačního systému STAG. Výstupem implementovaného software, ideálně v podobě sady skriptů, bude průběžně aktualizovaná vhodně navržená SQL databáze s vybranými údaji ze STAGu. Důraz bude kladen na efektivní návrh databáze a modularitu, snadnou upravitelnost a rozšiřitelnost software, vzhledem k výběru údajů ze STAGu, napojení na něj a vytěžování dat z něj. Využita budou primárně rozhraní STAGu určená pro strojové získávání dat a jejich další zpracování (web services/REST+SOAP API, příp. jiná), z bežného webového uživatelského rozhraní pouze odkazy pro export dat (pro jejich další strojové zpracování).

Více informací

Klonování okna v Linuxu

Vhodné pro studenty programu/specializace: Vývoj software Počítačové systémy a technologie

Student prozkoumá možnosti a implementuje klonování obsahu zvoleného (aktivního) okna libovolné aplikace do dalších (pasivních) oken v reálném čase v grafickém uživatelském rozhraní (GUI) OS Linux, pro okenní systém X i Wayland. Implementace bude umožňovat i video záznam obsahu okna a následné pozdější současné přehrání ve více oknech.

Více informací

Systém pro klonování PC

Vhodné pro studenty programu/specializace: Vývoj software Počítačové systémy a technologie

Předmětem práce je rozšíření, příp. reimplementace, stávajícího systému pro klonování linuxových operačních systémů na počítačích na učebnách katedry informatiky UP. Stávající systém tvoří sada Bash skriptů pro linuxový systém a toto je i preferované řešení. Cílem výsledného řešení je podpora pro klonování i operačních systémů MS Windows, tj. celého počítače, s automatickou konfigurací systémů po vyklonování. Dalšími žádanými vlastnostmi budou klonování více počítačů zároveň, uložení obrazu počítače na server a klonování z něj nebo automatické opakování klonování při chybě.

Více informací

Visualizace konceptuálních svazů

Vhodné pro studenty programu/specializace: Umělá inteligence Obecná informatika Vývoj software

Cílem práce je vytvoření FCA (Formal Concept Analysis) rozšíření grafické aplikace pro visualizaci (Hasseova diagramu) svazů JLatVis napsané v Javě. Rozšíření bude spočívat zejména v zobrazení (fuzzy) konceptuálního svazu (pro výpočet svazu budou využity existující implementace algoritmů). Důraz bude kladen na přehlednost, přizpůsobitelnost a provázanost zobrazení svazu a tabulky vstupních dat. Rozšíření bude zároveň podporovat využití konceptuálních informací ve všech funkcích aplikace, kde to bude mít smysl, např. k vyhledávání a navigaci ve svazu, vyznačení jeho částí atd.

Více informací

Martin Trnečka

Tvorba grafického uživatelského rozhraní pro aplikaci k analýze klinických dat

Vhodné pro studenty programu/specializace: Vývoj software

Cílem této práce je navrhnout a implementovat UI/UX pro aplikaci sloužící k analýze dat z klinických studií tak, aby tento nástroj mohli využívat i vědečtí pracovníci bez znalosti programování. Rozhraní by mělo umožňovat tvorbu workflow, skládajícího se z uživatelem zvolených funkcí (filtry, transformace a korekce dat, statistické metody) s volbou příslušných parametrů. Seznam funkcí by se měl automaticky aktualizovat a umožňovat tak jednoduché přidání nových funkcí, ať už naprogramovaných uživatelem, či z nové verze softwaru. Aplikace by rovněž měla umožňovat zobrazení načtených tabulkových dat a základní vizualizaci výsledků statistických metod. Back-end aplikace je napsán v Pythonu, ale volba preferovaného jazyka pro tvorbu UI je v režii studenta. Kód Python modulu bude možné na vyžádání upravovat pro jeho snadnější napojení na studentem vytvořené UI. Tato práce bude probíhat ve spolupráci s Metabolomickým oddělením IMTM UPOL, jejichž snahou je dostat vytvořený modul mezi vícero vědeckých skupin.

Tomáš Urbanec

Systém pro simulaci algoritmů v distribuovaném systému – téma již není volné

Vhodné pro studenty programu/specializace: Vývoj software

Cílem je navrhnout, popsat a implementovat systém využívající docker pro simulaci algoritmů v distribuovaném systému. Systém by měl být použitelný při výuce distribuovaných systémů. Důležitá je zejména snadná obsluha systému (např. nastavení sítě, přidání nového uzlu, distribuce nového algoritmu k simulaci na uzly, ...) a přehledná vizualizace stavu celého systému, sítě i jednotlivých uzlů. Součástí práce budou také ukázkové příklady použití.