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

Modeling of properties of chemical compounds based on graphical representation of molecular structure and deep learning algorithms

Práce bude vznikat v součinnosti s Ústavem molekulární a translační medicíny Lékařské fakulty Univerzity Palackého v Olomouci. Podrobné informace budou sděleny na osobní schůzce.

Automatické ověřování podpisů  |  Lukáš Oščádal

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.

Radim Bělohlávek

Faktorová analýza relačních dat: algoritmy a experimenty

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í.

Lenka Carr-Motyčková

Výukový simulátor distribuovaných algoritmů  |  Petr Hrbek

Prostudujte simulátor DAJ, který je v současnosti používaný Vytvořte simulátor, který bude podporovat synchronní i asynchronní prostředí. Doplňte jej grafickým rozhraním. Implementujte vzorové úlohy.

Miroslav Kolařík

Nový expertní systém v PROLOGu  |  Milan Vojáček

Diplomant se naučí programovací jazyk PROLOG a seznámí se s expertními systémy. Poté v PROLOGu naprogramuje vlastní (originální) expertní systém vhodného rozsahu. V textové části diplomant pojedná o PROLOGu, o expertních systémech a zejména pak o nově vytvořeném expertním systému (včetně jeho výhod a nevýhod).

Kvantová kryptografie

Cílem diplomové práce je z různých zdrojů samostatně nastudovat vše podstatné o kvantové kryptografii. 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é kryptografie v současnosti. Značná část textu bude věnována algoritmům, včetně algoritmů používaných v praxi.

Program na podporu výuky

Téma určeno 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, ...

Aplikace pro práci s kongruenčními vlastnostmi variet algeber

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.

Zaheslování souboru zvukem  |  Roman Vyjídáček

Cílem diplomové práce je vytvořit aplikaci sloužící k zaheslovaní souboru pomocí zvuku či hlasu. K rozpoznání a analýze zvukové stopy bude použito fuzzy logiky a neuronových sítí. Program zaznamená určitou zvukovou stopu a analyzuje a porovná ji s uloženou stopou. Soubor bude odemčen, pokud budou zvukové stopy dostatečně podobné. Součástí práce bude také otestování aplikace alespoň na 15 reálných uživatelích. K implementaci bude použit jazyk Java. Textová část bude obsahovat popis výhod a nevýhod použitých metod pro analýzu hlasu, možnosti vývoje pro platformu Java a také shrnutí výsledků testování aplikace na reálných uživatelích.

Jan Konečný

Detekce komunit v grafech

Petr Krajča

Jazyk pro programování GPGPU  |  Martin Hořava

Cílem práce je navrhnout programovací jazyk vyšší úrovně, který umožní snažší programování GPGPU. Mělo by se jednat o jazyk, který bude stavět na technologích jako CUDA a OpenCL, ale bude zjednodušovat zadávání programů pro paralelní běh a současně zjednoduší práci s pamětí.

Programovací jazyk pro distribuované výpočty  |  Peter Vaňušanik

Cílem práce je navrhnout programovací jazyk a jeho běhové prostředí, které umožní efektivní tvorbu a běh programů v distribuovaném systému.

Optimalizace v dynamicky typovaných jazycích

Diplomant nastuduje vybrané optimalizace pro dynamicky typované jazyky a implementuje interpretr/překladač zvoleného jazyka využívající tyto optimalizace.

„Inteligentní“ editor pro jazyk Java

Cílem práce je navrhnout editor (vývojové prostředí) pro jazyk Java, který umožní programátorovi soustředit se na samotnou tvorbu programu tím, že jej odstíní od psaní zbytečného kódu. Editor by měl být schopen automaticky doplňovat části kódu, které jsou zjevné, a zároveň by měl být schopen skrývat tyto části kódu tak, aby nerušily při programování.

Verzování zdrojových kódů založené na syntaxi a sémantice jazyka

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.

Michal Krupka

Lze v Common Lispu napsat rychlý program?

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.

Predikce neznámých hodnot v datech  |  Jiří Balun

Student nastuduje a popíše vybrané metody predikce neznámých hodnot v datech s důrazem na tabulková data. Pokusí se modifikovat existující nebo vyvinout nové metody pomocí klasické a fuzzy formální konceptuální analýzy. Jedná se o výzkumné téma. Pod tabulkovými daty si lze představit jakoukoli tabulku (např. z databáze) s binárními nebo odstupňovanými hodnotami. Predikce (odhadování) neznámých hodnot může být např. základem doporučovacího systému, pokud hodnoty znamenají uživatelské preference v nějaké oblasti. (Například pokud data obsahují divácké hodnocení shlédnutých filmů, může systém na základě analogie s podobnými filmy a podobnými diváky odhadnout, zda se divákovi bude líbit film, který zatím neviděl.)

Topologické metody v analýze a zpracování dat

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řibližná minimalizace fuzzy automatů

Fuzzy automaty představují rozšíření klasických konečných automatů. Narozdíl od klasických automatů je možné u fuzzy automatů uvažovat minimalizaci, vedoucí k automatu, rozpoznávajícímu nikoli tentýž, ale podobný jazyk. Přípustná míra podobnosti (maximální chyba) je předepsána uživatelem. Přibližnou minimalizaci lze chápat jako ztrátovou kompresi, která za cenu přijatelné chyby vede k větší redukci velikosti. Jedná se o nové výzkumné téma. Student nastuduje dostupnou literaturu a pak se ve spolupráci s vedoucím pokusí o původní výsledky.

Přesné výpočty s reálnými čísly

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ů

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

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.

Petr Osička

Bot pro Starcraft Broodwar  |  David Kolibáč

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ě.

Jan Outrata

Visualizace konceptuálních svazů

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.

Metoda na kreslení svazů a uspořádaných množin

Diplomant nastuduje aktuální poznatky z výzkumu a existující implementace metody na kreslení svazů a uspořádaných množin vyvinuté na katedře informatiky. Cílem práce je potom navrhnout způsob implementace metody, který umožní její co nejsnadnější další vylepšování, a následně implementace aktuální podoby metody, včetně případně navržených vylepšení, tímto způsobem (formou konzolové aplikace). Součástí práce bude také experimentální vyhodnocení úspěšnosti metody v porovnání s ručně ideálně nakreslenými svazy a uspořádanými množinami.

Dokonalý výtah  |  Lukáš Vrajík

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.

Martin Trnečka

Prolomení CAPTCHA

Student vytvoří nástroj, který bude schopen prolomit CAPTCHA zabezpečení.

Vilém Vychodil

Rozpoznávání diagramů uspořádaných množin  |  František Veselý

Cílem práce je navrhnout algoritmy pro strojové rozpoznávání diagramů uspořádaných množin, zejména svazů, na základě bitmapových předloh. Práce by měla obsahovat návrh algoritmů, jejich implementaci, a experimentální ověření efektivity.

Experimentální jazyk pro definici fyzických plánů pro PostgreSQL

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

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.