Informatika - Katedra informatiky na UPOL

Diplomová práce


Zadávání, odevzdávání a obhajoba diplomové práce se řídí dokumenty Pravidla pro zadávání, odevzdávání a obhajoby závěrečných prací a Opatření děkana Přírodovědecké fakulty UP v Olomouci k provedení některých ustanovení Studijního a zkušebního řádu UP v Olomouci a Rigorózního řádu UP v Olomouci.

Témata diplomových prací


Eduard Bartl

Automatické ověřování podpisů
Lukáš Oščádal  |  Určeno pro obory: Všechny

Práce se zabývá problémem ověřování podpisu na základě pouze jednoho dostupného podpisového vzoru. Řešení je založeno na konstrukci kostry podpisu, která je schopna detekovat změny tvaru. K vyhodnocení shody jsou použita fuzzy inferenční pravidla.

Transformace obrazových dat pomocí neuronových sítí (spolupráce s Quadient s.r.o.)
Pavel Kryl  |  Určeno pro obory: Všechny

Diplomant se seznámí s problematikou transformačních algoritmů měnících jednotlivé složky barevných prostorů. Popíše neuronové sítě použitelné pro obrazové transformace. Dále nalezne optimální barevný prostor a navrhne vhodnou neuronovou síť, kterou naprogramuje s využitím některé open-source implementace v .NET (Kotlin). Na závěr provede testy na konkrétních obrazových datech.

Použití metod strojového učení na automatickou segmentaci mikroskopických snímků
Jan Nováček  |  Určeno pro obory: Všechny

Cílem práce je vyzkoušet použití neuronových sítí, případně jiných metod machine learning na automatickou segmentaci mikroskopických snímků, které zachycují jádra živých buněk. Jádra jsou obarvena fluorescenční látkou, ale globální prahování nelze použít kvůli nerovnoměrné intensitě fluorescence a kvůli tendenci buněk vytvářet shluky.

Optimalizace vlastností chemických sloučenin a průzkum chemického prostoru (spolupráce s LF UP)
Dávid Švec  |  Určeno pro obory: Všechny

Cílem je vytvořit automatický systém založený na předpovědi kvantitativních vztahů mezi chemickými strukturami a biologickou aktivitou pomocí QSAR modelu.

Metody strojového učení pro zpracování ekologických dat: rozpoznávání a klasifikace fotografií čolka velkého
Radomír Nádvorník  |  Určeno pro obory: Všechny

Cílem práce je navrhnout vhodný algoritmus na rozpoznávání charakteristických rysů čolka velkého z fotografií pořízených při jeho odchytu. Tyto charakteristiky budou využity při hledání stejných jedinců na různých fotografiích. Výsledná aplikace bude sloužit k určování odhadu velikosti populace pomocí metody zpětného odchytu.

Radim Bělohlávek

Faktorová analýza relačních dat: algoritmy a experimenty
Určeno pro obory: Všechny

Faktorová analýza relačních dat představuje moderní směr výzkumu v oblasti analýzy dat, který je rozvíjen také na katedře informatiky PřF. Cílem diplomové práce je nastudovat a implementovat základní existující algoritmy, provést jejich implementaci, experimentální porovnání a případně navrhnout jejich vylepšení.

Miroslav Kolařík

Kvalitní axiomatické systémy
Určeno pro obory: Všechny

Diplomant vytvoří aplikaci na zjednodušování axiomatických systémů daných identitami. Aplikace bude umět nalézt redundantní axiomy odvozením z ostatních axiomů a tedy bude umět odvozovat dané identity z jiných identit (samozřejmě pokud to čas a paměť dovolí). Aplikace bude dále umět ověřovat nezávislost daných axiomů hledáním modelů splňujících všechny axiomy daného axiomatického systému kromě jednoho. Kroky ověřování aplikace a rovněž modely budou uživateli zpřístupněny v přehledné formě s možností exportu. Diplomant se při vytváření aplikace zaměří také na minimalizování náročnosti výpočetního procesu a pojedná o složitosti výpočtů v závislosti na vstupech.

Kvantové výpočty
Jíří Balun  |  Určeno pro obory: Všechny

Diplomant nastuduje a popíše podstatné partie kvantového počítání. Textová část práce bude sestávat zejména z těchto poznatků a také pojedná o výhodách a nevýhodách použití kvantového počítání v současnosti. Součástí práce bude emulátor kvantových výpočtů a implementace vybraných algoritmů.

Program na podporu výuky
Tereza Nedjalková  |  Určeno pro obory: Učitelství informatiky pro SŠ

Téma určeno zejména studentům učitelského oboru. Po vzájemné dohodě si diplomant vybere téma úzce související s informatikou, které zpracuje jako interaktivní výukový program (spolu s učebním textem adekvátního rozsahu). Příklady témat: agregační funkce, algebraické struktury, zobecnění svazů, rekurentní rovnice, lineární algebra, atd.

Aplikace pro práci s kongruenčními vlastnostmi variet algeber
Určeno pro obory: Všechny

Diplomant nastuduje základy univerzální algebry, zejména pak partie týkající se kongruenčních vlastností variet algeber a mal'cevovské podmínky. Poté vytvoří aplikaci, která bude algebraikům pomáhat při hledání kongruenčních vlastností variet algeber. U konkrétních příkladů diplomant zkusí ověřit, zda známé termy splňující příslušné mal'cevovské podmínky pro permutabilní, n-permutabilní, distributivní, modulární či aritmetické variety, jsou nejlepší možné, případně určí nové (jednodušší). Diplomant by se mohl pokusit i o případné zjednodušení některých (obecných) mal'cevovských podmínek. Diplomant by měl být také v jisté míře schopen umět nalézat vhodné protipříklady, dokazující, že vybraná varieta nemá danou kongruenční vlastnost a mohl by se pokusit i o vyřešení některých otevřených problémů souvisejících s tématem.

CAPTCHA
Kristián Vraštiak  |  Určeno pro obory: Všechny

Student přehledově popíše, co a k čemu je CAPTCHA. Popíše silné a slabé stránky existujících CAPTCHA, zaměří se i na historii, současný stav a odhadne vývoj CAPTCHA v blízké budoucnosti. Navrhne, kterak CAPTCHA efektivně prolamovat. Poté vymyslí několik vlastních (nových) CAPTCHA a popíše jejich výhody a nevýhody.

Počítačové dokazování
Určeno pro obory: Všechny

Cílem práce je z různých zdrojů samostatně nastudovat problematiku počítačového dokazování. Textová část práce bude sestávat zejména z těchto poznatků. Student přehledově popíše historii a současnost počítačového dokazování, pojedná o výhledech do budoucna a také popíše uplatnění automatického dokazování v praxi. Součástí práce bude i naprogramování jednoduchého automatického dokazovače.

Steganografické šifry
Ondřej Kašpar  |  Určeno pro obory: Všechny

Cílem práce je stručně zmínit historii steganografie, popsat metody digitální steganografie (ukrývání zpráv do textu, obrázků a audiosignálu), vysvětlit základy stegoanalýzy a uvést čtenáře do základů kryptografie. Následně nastudovat a implementovat vybrané steganografické šifry a vytvořit vlastní steganografickou šifru v kombinaci s jinou kryptografickou metodou.

Enigma
Určeno pro obory: Všechny

Student popíše šifrovací stroj Enigma, podrobněji zejména části související s informatikou. Dále se zaměří na popis slabin Enigmy a navrhne jejich odstranění/vylepšení tak, aby vznikla silnější šifra založená na podobných principech jako Enigma. Vylepšení vtělí do uživatelsky přívětivé grafické podoby, kterou bude možno v praxi využívat. V práci bude vysvětlena i problematika generování náhodných a pseudonáhodných čísel a její vliv na kryptologii.

3D tisk
Jan Hamerník  |  Určeno pro obory: Všechny

Cílem práce je navrhnout různé struktury pro zpevnění 3D modelů s většími dutinami. Praktická část práce bude obsahovat program, který na vstupu přijme 3D model a vygeneruje jeho verzi se zpevněnými dutinami podle uživatelova nastavení pro následný 3D tisk. Práce také bude obsahovat praktické otestování navržených struktur a jejich souhrnnou analýzu. Teoretická část se mimo jiné dotkne historie 3D tisku a jeho uplatnění v různých odvětvích.

3D tisk zajímavých matematických modelů
Určeno pro obory: Všechny

Konkrétní podoba zadání vznikne až po dohodě se studentem. V rámci práce je možno využít katederní 3D tiskárnu.

Rozpoznávání proměnných hvězd
Určeno pro obory: Všechny

Cílem práce je rozpoznávání proměnných hvězd z obrázků pořízených CCD kamerou a tvorba jejich světelných křivek.

Jan Konečný

Biclustering binárních dat
Určeno pro obory: Všechny

Student nastuduje problematiku, představí ji v českém jazyce, implementuje a porovná hlavní algoritmy.

Petr Krajča

Verzování zdrojových kódů založené na syntaxi a sémantice jazyka
František Slabý  |  Určeno pro obory: Všechny

Cílem práce je vytvořit systém pro správu zdrojových kódů, který bude využívat znalosti o konkrétním programovacím jazyce k řešení kolizí při slučování. Tyto informace by dále měly být použitelné k automatické tvorbě srozumitelného zápisu o provedených změnách.

Vizualizace výpočtu
Kateřina Měchurová  |  Určeno pro obory: Všechny

Cílem práce je vytvořit rozšíření pro vývojové prostředí Eclipse, které umožní zaznamenávat a uživatelsky srozumitelně zobrazovat průběh výpočtu a stav datových struktur.

Kvantitativní analýza zdrojových kódů
Zbyněk Mlčák  |  Určeno pro obory: Všechny

Cílem práce je vytvořit nástroj, který umožní zpracovávat zdrojové kódy a metadata z veřejných repozitářů (GitHub, GitLab, SourceForge), dotazovat se nad nimi a hledat v nich předem známé vzory. Výstupem práce by měl být rozbor toho, jak se používají jednotlivé konstrukty jazyka, jak se jejich použití mění v čase, jak závisí na typu projektu, jeho rozsahu, počtu programátorů, apod.

Programovací jazyk na hranici imperativního a funcionálního programování
Určeno pro obory: Všechny

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.

Michal Krupka

Lze v Common Lispu napsat rychlý program?
Určeno pro obory: Aplikovaná informatika

Kvalitní implementace Common Lispu obsahují různé nástroje na optimalizaci programu na rychlost. Uvádí se, že v některých případech je možné program optimalizovat tak, že bude stejně rychlý jako ekvivalentní program napsaný v C. Cílem práce je toto tvrzení ověřit. Diplomant nastuduje a popíše možnosti optimalizace programu v Common Lispu a pokusí se je použít na vybrané reálné úkoly. Tyto úkoly současně vyřeší i v C a výsledky porovná. Jako hlavní implementace Common Lispu použije LispWorks a SBCL. V práci bude popsáno, do jaké míry (ve srovnání s programy napsanými v C) a za jakých okolností (pro jaké typy úloh, v jakých implementacích) lze programy napsané v Lispu optimalizovat.

Topologické metody v analýze a zpracování dat
David Kočíř  |  Určeno pro obory: Všechny

Použití topologie je moderním trendem v oblasti zpracování velkých dat. Základní myšlenkou je reprezentovat velkou databázi jako mnohodimenzionální útvar (jako jsou v dimenzi 2 např. kulová plocha, anuloid, Möbiova páska apod.) a z jeho topologických vlastností získat informace o datech. Student se seznámí se základy obecné a algebraické topologie a s literaturou o aplikacích topologie v analýze a zpracování dat. V práci podá souhrn vybraných metod a výsledků v této oblasti s důrazem na původní praktické příklady. Ve spolupráci s vedoucím práce se také pokusí navrhnout nové metody, např. v oblastech zkoumaných na KI (formální konceptuální analýza, fuzzy logika).

Přesné výpočty s reálnými čísly
Určeno pro obory: Informatika

Student nastuduje a v práci shrne současné znalosti o přesné reprezentaci reálných čísel v paměti počítače. Ve spolupráci s vedoucím se pokusí získat nové poznatky. V jazyce Common Lisp naprogramuje základní funkce pro práci s přesně reprezentovanými reálnými čísly, které umožní počítat s reálnými čísly s libovolnou přesností, tj. bez akumulace chyb. V programu využije techniky líného vyhodnocování.

Denotativní sémantika funkcionálních programovacích jazyků
Michal Opálka  |  Určeno pro obory: Informatika

Jedná se o matematickou metodu, která stojí na reprezentaci programů jistými matematickými objekty a z jejich vlastností usuzuje na vlastnosti programů. Funkcionální programovací jazyky, které stojí na typovaném λ-kalkulu, lze takto dobře reprezentovat zejména díky absenci vedlejšího efektu. Jde o výzkumné téma. K pochopení teorie je třeba některých základních poznatků z teorie uspořádaných množin (svazů) a topologie, které diplomant nastuduje a v práci podá. Dále nastuduje a v práci popíše základní poznatky denotativní sémantiky a ve spolupráci s vedoucím se pokusí o nové výsledky.

Taxonomie nad neúplnými daty
Určeno pro obory: Informatika

V taxonomii jde o klasifikaci kategorií nějakých objektů do vhodné struktury, zejména stromové. Používá se např. v biologii ke klasifikaci organismů do biologických kategorií. Jde o stále živý problém v mnoha oblastech. Na naší katedře byla vyvinuta metoda založená na formální konceptuální analýze, která umožňuje navrhnout taxonomii daných objektů pomocí jejich známých atributů. Metoda byla použita k navržení taxonomie zkamenělin belemnitů (Bělohlávek, Košták, Osička). V diplomové práci půjde o rozšíření metody o možnost práce s neúplnou informací (zkamenělina nemusí být kompletně dochovaná, některé atributy jsou proto neznámé). Diplomant na to použije a v práci vysvětlí existující teorii, kterou se v případě potřeby (která pravděpodobně nastane) pokusí ve spolupráci s vedoucím dále rozvinout. Práce bude založená zejména na zpracování konkrétních podkladů; kromě zkamenělin to mohou být např. údaje o některých druzích hmyzu, případně jiné podle zájmu diplomanta. Výsledkem by měly být navržené taxonomie a nové teoretické poznatky.

Tomáš Masopust

Zvol si téma
Určeno pro obory: Všechny

V případě zájmu pracovat pod mým vedením na tématech z oblasti automatů, Petriho sítí, kyber-fyzikálních či diskrtétních systémů mě neváhejte kontaktovat. Téma se vždy najde.

Datalog
Milan Vojáček  |  Určeno pro obory: Všechny

Datalog je deklarativní programovací jazyk, který se často využívá jako dotazovací jazyk v deduktivních databázích. Student se seznámi s jazykam Datalog a se systémem DES (Datalog Education System) a jeho možnostmi využití ve výuce. V práci shrne složitost vyhodnocování dotazů v jazyku Datalog a bude diskutovat různá existující omezení. Dále porovná několik existujících open source implementací Datalogu vzhledem ke zvolenému kritériu, jake je např. rychlost řešení sudoku.

Separovatelnost jazyků
Určeno pro obory: Všechny

Dva jazyky K a L (regulární, bezkontextové, atd.) jsou separovatelné pomocí jazyka z třídy C, jestliže existuje jazyk M v C takový, že K je obsažené v M a M a L jsou disjunktní. Student nastuduje problematiku separovatelnosti jazyků a existující algoritmy pro separovatelnost regulárních jazyků pomocí po částech testovatelných jazyků. Algoritmy naimplementuje a experimentálně porovná.

Petr Osička

SAT Solver
Ivoš Apolenář  |  Určeno pro obory: Všechny

Student se seznámí s principy fungování SAT solverů. Cílem práce je implementovat SAT solver efektivní pro určitý typ instancí, které lze obdržet z instancí problému pokrytí bipartitního grafu biklikami.

Bot pro Starcraft Broodwar
David Kolibáč  |  Určeno pro obory: Všechny

Práce navazuje na diplomovou práce R. Škrabala obhájenou v minulém roce. Cílem práce je rozšírit bota tak, aby byl schopen obstát v konkurenci ostatních botů a lidských hráčů. Práce je náročná na studium literatury i implementačně.

Vyhledávání objektů ve videu
Martina Kukulová  |  Určeno pro obory: Všechny

Cílem diplomové práce je vytvoření systému pro rozpoznání objektů ve videu a jejich označení pomocí metadat. Objekty k vyhledání budou systému předány ve formě fotografií, ten se je pomocí metod umělé inteligence (především strojové učení) naučí, a naučený model poté použije k vyhledávání. Při implementaci lze použít již existující nástroje a knihovny, je ovšem nutné je v práci popsat, zdůvodnit jejich použití a případně porovnat s jinými existujícími nástroji.

Jan Outrata

Systém pro klonování PC
Peter Vaňušanik  |  Určeno pro obory: Všechny

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í (ovšem ne nutné). 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ě.

Visualizace konceptuálních svazů
Určeno pro obory: Všechny

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.

Dokonalý výtah
Určeno pro obory: Všechny

Student vytvoří algoritmus pro řízení výtahu s cílem minimalizace (nejdelšího) času čekání na výtah v patře a zároveň minimalizace času pohybu výtahu. Algoritmus bude v řešení této optimalizační úlohy využívat historii pohybu výtahu. Řešení pro jeden výtah bude poté rozšířeno na dvojici (či obecně n-tici) výtahů vedle sebe. Výstupem práce bude samotný algoritmus, jeho prototypová implementace nevyžadující kromě základních prostředků zvoleného programovacího jazyka žádný další software (např. rozšiřující knihovny nebo moduly jazyka, klasifikační nebo expertní systém apod.) a výsledky experimentů ukazující optimální řízení výtahu.

Prezentace záznamů sportovních aktivit
Denis Lademberger  |  Určeno pro obory: Všechny

Student prozkoumá datové formáty používané k uložení záznamů sportovních aktivit uživatele na zařízeních jako sportovní hodinky, fitness náramky, GPS navigátory, mobilní telefon s příslušnou aplikací apod. (FIT, TCX, GPX, PWX, HRM aj.) a vytvoří software pro přehledné grafické zobrazení dat záznamů, grafů a statistik za zvolené období nad nimi, ze zálohy obsahu celé paměti zařízení (obsahující tedy mj. i soubory se záznamy aktivit). Důležitou vlastností software bude rozpoznání stejných záznamů ze záloh zařízení v různých časech. Prezentace informací ze záznamů bude formou sady provázaných webových stránek nevyžadujících webový server.

Vizualizace Booleovské dekompozice matic
Tomáš Vlk  |  Určeno pro obory: Všechny

Student nastuduje základy Booleovské dekompozice matic a navrhne způsob přehledné a interaktivní vizualizace výsledku dekompozice (množiny faktorů jako Booleovských submatic vstupních dat) i průběhu dosažení výsledku přímo na vstupních datech (Booleovská matice) až středně velkého rozsahu (desetitisíce řádků, stovky sloupců). Tuto vizualizaci pak implementuje do podoby grafické aplikace s možností uložení prezentovaných informací do obrázků pro odborné články. Součástí práce není implementace algoritmů Booleovské dekompozice matic, vstupem implementované aplikace budou výstupy software implementujících algoritmy.

Vilém Vychodil

Experimentální jazyk pro definici fyzických plánů pro PostgreSQL
Určeno pro obory: Všechny

Cílem práce je vytvořit experimentální prefixový programovací jazyk pro definici fyzických plánů pro systém řízení báze dat PostgreSQL. Předpokladem je dobrá znalost programování v C, snaha a ochota porozumět zdrojovým kódům PostgreSQL a rozšířit je.

Překladač Tutorial D do MonetDB MAL
Určeno pro obory: Všechny

Cílem práce je implementovat překladač jazyka Tutorial D do MonetDB Assembly Language (MAL). Práce předpokládá znalost relačního modelu dat, jazyka Tutorial D, vysokou programátorskou úroveň a schopnost zorientovat se ve velkém softwarovém balíku.