Ing. Michal Šoch, Ph.D.

Závěrečné práce

Bakalářské práce

Generátor neorientovaných grafů

Autor
Miroslav Jaroš
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Tato bakalářská práce navrhuje webovou aplikaci pro generování náhodných grafů. V první části popisuje základní termíny teorie grafů a pokročilé algoritmy pro generování náhodných grafů. Následně analyzuje zadání z pohledu softwarového inženýrství a navrhuje vytvoření webové aplikace se serverovou částí vystavující REST rozhraní vytvořenou v programovacím jazyce Go a samostatnou komponentou uživatelského rozhraní implementovanou ve frameworku Angular. Praktická část práce poté kombinuje poznatky jak z teoretické části, tak z analýzy, a aplikuje je ve výsledném řešení. Popisuje jeho základní části a věnuje se důležitým prvkům implementace. Následně vysvětluje použité metody testování, a to na několika úrovních: jak jednotkové tak integrační, a zároveň definuje potřebné manuální testy, které byly vykonány pro zajištění kvality řešení. V závěru popisuje doporučený způsob nasazení, provozní limity a postup údržby aplikace pro zajištění jejího výkonu.

Informační systém pro evidenci potápěčských ponorů pro iOS

Autor
Adam Žďára
Rok
2013
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Tomáš Zahradnický, Ph.D.

Informační systém pro sportovní klub

Autor
Michal Jirka
Rok
2016
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.
Anotace
Hlavní náplní práce je analyzovat a implementovat informační systém pro chod sportovního klubu, který by měl obsahovat některé nové užitečné funkce. V úvodní kapitole je definován samotný pojem informační systém, následuje seznámení s pojmem sportovní klub, základní informace o jeho vedení a managementu. Zároveň byl proveden výzkum formou dotazů na vedoucí sportovních klubů. Z následné analýzy vzešlo několik funkcí, které by uživatelé v tomto systému uvítali. Celý systém je postaven na PHP frameworku Nette, který je v teoretické části také představen, stejně jako další využité technologie. V závěru jsou popsány nedokonalosti systému, návrh na jejich další vylepšení a výsledky testování aplikace. V příloze se nachází zdrojové kódy implementace.

Model Prahy pro Microsft Flight Simulator X

Autor
Lukáš Kakos
Rok
2014
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jiří Daněček

Zásuvné moduly pro aplikaci Ninja Trader

Autor
Jiří Kovačič
Rok
2014
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.

Systém na evidenci zakázek

Autor
Jan Hoffman
Rok
2013
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.

Aplikace na podporu kondičního cvičení

Autor
Jan Kubálek
Rok
2012
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.

Potápěčský logbook

Autor
Jan Žák
Rok
2012
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.

Porovnání vícevláknových implementací

Autor
Jan Nyklíček
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Tato práce popisuje implementaci sekvenční aplikace řešící problém batohu 0-1 v jazyce C++ a následnou paralelizaci pomocí Posix vláken, C++ vláken, a OpenMP. Výsledné tři vícevláknové aplikace analyzuje z hlediska náročnosti na implementaci a dosaženého zrychlení na vícejádrovém systému.

Simulace 2D proudění tepla na technologii CUDA

Autor
Radek Drholecký
Rok
2013
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.

Informační systém pro evidenci potápěčských ponorů pro OS Android

Autor
Jakub Majdl
Rok
2013
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.

Aplikace svátky pro iPhone

Autor
Jan Vyvadil
Rok
2012
Typ
Bakalářská práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jakub Hladík

Diplomové práce

Heuristické přístupy při řešení NP-těžkých úloh

Autor
Tomáš Petříček
Rok
2023
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.
Anotace
Cílem práce je nalézt téměř optimální konfiguraci pro algoritmickou obchodní strategii za pomocí heuristik v rozumně krátkém čase. Čtenář je nejprve seznámen se třídami složitosti a heuristickými metodami, včetně těch použitých v praktické části: simulované ochlazování, genetický algoritmus a tabu prohledávání. Následuje popis algoritmického obchodování a fází, které lze automatizovat. Znalosti z obou těchto oborů jsou dány dohromady v sekci zaměřené na zpětné testování. Cílem zpětného testování je otestovat obchodní strategii na historických tržních datech, aby bylo možné provést úpravy a najít vhodnou konfiguraci předtím, něž je použita pro skutečné testování. Nalezení vhodné konfigurace je NP-těžký problém, nicméně lze použít heuristiky pro jeho nalezení v rozumném čase. Za účelem dosažení větší flexibility a rychlosti byl vytvořen vlastní framework napsaný v C++20. Historická simulace byla inspirována platformou TradingView a proces obchodování burzou Binance. Byly použity moderní prvky C++, jako jsou koncepty a korutiny. Důraz byl kladen na efektivní využití funkcí jazyka a prostředků počítače. Kromě heuristiky byl implementován také algoritmus hrubé síly, který byl paralelizován pomocí OpenMP k dosažení vyšší rychlosti. Heuristiky byly implementovány tak, aby byly flexibilní a snadno použitelné, proto byly použity návrhové vzory jako pozorovatel a strategie. Průběh a výsledky shromážděné během optimalizace byly uloženy do souborů ve formátu JSON a CSV, aby mohly být později zpracovány pomocí vědeckých balíčků jazyka Python. Framework byl unit testován před provedením experimentálního vyhodnocení. Pro experimenty byly použity minutové svíčky 10 různých kryptoměn. Nejprve byl vybrán vyhledávací prostor s rozumnými konfiguracemi a velikostí. Nejlepší konfigurace byly nalezeny pomocí algoritmu hrubé síly. Následně byly provedeny white-box a black-box testy pomocí heuristických přístupů a výsledky porovnány s optimálními. Heuristické přístupy jsou schopny najít téměř optimální konfigurace během několika minut namísto hodin nebo dokonce dnů pomocí i nejoptimalizovanějšího algoritmu hrubé síly.

Paralelní výpočet pravděpodobnosti výhry ve hře poker Texas Holdem

Autor
Tomáš Apeltauer
Rok
2015
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Tato diplomová práce si klade za cíl navrhnout a implementovat aplikaci, která uživateli umožní výpočet pravděpodobnosti výhry v pokeru Texas hold'em. Její přesnost bude 99% a rychlost odezvy bude menší než 1 sekunda. V textu se čtenář seznámí s programovacím jazykem Erlang a jeho využitím v oblasti paralelních algoritmů.

Simulátor paralelních vnořovacích algoritmů

Autor
Ivo Kolář
Rok
2017
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Následující text se zabývá problematikou paralelních vnořovacích algoritmů. Popisuje nejprve teoreticky různé sítě, které se do sebe dají vnořovat a následně i vnořovací algoritmy, které zachovávají co nejlepší vlastnosti daných sítí. Součástí této práce je i program, který vybrané algoritmy dokáže nasimulovat ve 3D animaci. Celá tato práce bude sloužit jako výuková pomůcka pro studenty předmětu Paralelní algoritmy a systémy.

Podpora automatické správy virtualizačního kontejneru Solaris Zones na platformě Solaris

Autor
Tomáš Šimáček
Rok
2018
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.
Anotace
Tato diplomová práce se zabývá problematikou automatické správy virtualizačního kontejneru Solaris Zones na platformě Solaris. Její součástí je podrobný popis tohoto virtualizačního kontejneru a také porovnání běžně využívaných virtualizačních technik. Praktická část této práce je zaměřena na návrh a implementaci nástroje, který podporuje automatickou správu Solaris Zones. Nástroj klade důraz na možnost automatického vytváření zón pomocí šablon, které umožňují předem definovat jejich vlastnosti. Součástí implementace jsou také automatizované procesy zálohy, obnovy nebo migrace zón, které je možné provádět na lokálních i vzdálených serverech.

Simulátor paralelních třídících algoritmů

Autor
Van Nhan Nguyen
Rok
2022
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Diplomová práce zahrnuje návrh a vývoj jednostránkové webové aplikace, která simuluje vybrané (Odd-Even Sort, Shear Sort) paralelní řadící algoritmy. Aplikace je vyvinuta ve frameworku Vuetify, využívající Three.js knihovnu pro 3D animace.

Simulátor paralelních řadících algoritmů v prostředí webového prohlížeče

Autor
Petr Plechatý
Rok
2017
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Práce se zabývá analýzou, návrhem a implementací aplikace pro webový prohlížeč, která simuluje běh některých paralelních radících algoritmu. Implementace je napsána v Reactu a využívá moderní technologie pro vývoj single-page aplikací.

Platforma pro algoritmické obchodování

Autor
Jan Kirchner
Rok
2019
Typ
Diplomová práce
Vedoucí
Ing. Michal Šoch, Ph.D.
Oponenti
Ing. Jan Trdlička, Ph.D.
Anotace
Tato diplomová práce se zabývá analýzou, návrhem a implementací platformy sloužící pro správu strategií operujících na kryptoměnových trzích a hodnocením jejich vývoje. Kromě poskytnutí sjednoceného rozhraní pro obchodování na několika burzách nabídne aplikace různorodé datové zdroje a také možnost testovat programy na historických datech, nebo za pomoci simulovaných prostředků. Pro vývoj byly použity především technologie .NET, React a Docker pro následné nasazení v kontejnerech.