Ing. David Bernhauer, Ph.D.

Theses

Bachelor theses

Platform for AI Agent Competitions

Author
Ondřej Vaniš
Year
2019
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer
Reviewers
Ing. Roman Jelínek
Summary
This thesis focuses on the design and creation of a platform for competing AI agents in turn-based strategy games. The solution is based on the client--server architecture. The code of the AI agent runs client-side and connects to the game server via a network. The course of a game is managed by events sent via the WebSocket protocol. The game server runs in Node.js runtime environment. The functionality of the platform was tested on game Othello. It was shown that Node.js is sufficient solution for managing up to 180 simultaneously connected pairs of agents. A linear dependence of total match time was demonstrated, depending on the number of simultaneous connections for games with constant time complexity for the processing of a single turn. It was also shown that the implemented solution is satisfactory for simple turn-based games.

Statistics of football referees

Author
Josef Šupka
Year
2020
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer
Summary
This thesis focuses on the complete rebuilding of the Rozhodčí PFS project, which is a website offering the visitors statistics concerning football referees and assessors operating in Prague competitions. First the work presents an analysis of the whole subject, followed by a solution proposal which is then implemented and tested. The output is a web application, built with PHP and Symfony framework, that solves both the issues of statistics administration and their presentation to the end users. The system can easily be extended with additional statistics and league levels. It is also planned to be easily transferred to other regions. The result of the thesis is beneficial both for the project administrator, whose administration will be greatly simplified, as well as for the web portal visitors themselves, since the statistics they will gain will be more detailed and more frequently updated.

System for Management of Project Activities

Author
Martin Ouředník
Year
2020
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer
Reviewers
Ing. Filip Glazar
Summary
This work focuses on system for managment of project activities in company based on microservices. It shows how GraphQL is supposed to replace architecture REST and compares their advantages. Then concentrates on properties and technologies of existing solutions for monitoring work activities. Part of the work, considering the nature of contained data and GDPR, is focused on research on security solutions. The main goal of this work is to create functioning prototype of system for managing project activities providing attendance tracking, user management and project administration. Based on requirements and meetings PHP framework Lumen was chosen as the final sulution for the prototype.

Bilingual search in documents

Author
Lukáš Rynt
Year
2022
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
prof. Dr. Ing. Petr Kroha, CSc.
Summary
This thesis is concerned with the research of information retrieval models, state-of-the-art word embedding techniques and their possible use for multilingual retrieval. Modern approaches to multilingual retrieval that build on word embedding techniques usually work with some transformation that converts word representations from one language to another. The aim of this thesis is to investigate a model that does not work with this transformation and instead directly extracts dependencies between translations. A prototype web search engine should then be built on top of this model. The work has met all expectations and the resulting model was able to represent bilingual translations directly without using any transformation. This was achieved using parallel translated European Union documents, which were linked at paragraph level for both languages. The prototype search engine then operated based on the learned word representations derived from this model.

Application WhereIS

Author
Tomáš Heger
Year
2022
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Oldřich Malec
Summary
This thesis focuses on the analysis, design and development of a web-based search and information system called WhereIS, which aims to simplify the search for information about courses, teachers and rooms for students of FIT CTU and to enable students to search for available rooms for studying. The design and implementation of the prototype itself are aimed at three main parts, namely obtaining data from sources, searching over the data (aggregation of results) and easy extensibility of the application. As part of the practical implementation part, a prototype of such a search and information system that meets the requirements for aggregation of results and simple extensibility is developed and tested.

Glossary

Author
Olivie Abigail Franklová
Year
2022
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Vojtěch Vančura
Summary
This work focuses on software for maintenance and sharing knowledge and information. Theoretical part is dedicated to analyse similar software and describe the difference between GraphQL, SOAP and REST. Design of application was created together with whole application, which helps centralizing, linking and keeping knowledge. Application provides API and web interface to manipulate with glossary. Created solution supports creating records and searching in already created records. The solution also supports searching for records in text. New extensions can be created and easily added to the solution described above. For example extensions that will highlight records from glossary in text using colors and adding their definition to text. This extension was also implemented as a function for web source codes.

Dungeon generator

Author
Illia Brylov
Year
2022
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Radek Richtr, Ph.D.
Summary
Procedural generation techniques are widely used in the game industry. These techniques are utilized in the map creation. This thesis introduces the reader to procedural map generation in video games and describes a relatively new algorithm called Wave Function Collapse, which implements such generating. The author then creates a plugin for generating dungeon maps in the Blender 3D modeling software. The plugin is based on the above mentioned WFC algorithm. The generation outputs are then tested for similarity to the expected results and for compliance with the principles of the WFC algorithm.

Prototype for RPG-based Game

Author
Sergei Abmanzin
Year
2023
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Jan Matoušek
Summary
The purpose of the bachelor's thesis is mainly to implement a prototype of a computer role-playing game. The basic principles of the game are described in the document. The sections also contain a comparison of existing solutions such as The Witcher 3: Wild Hunt, Divinity: Original Sin II and Fallout 4. An important element of the work is a comparison of softwares for creating games. The sections contain a comparison of such game engines as Unity, Unreal Engine and CryEngine. The work concerns the creation of a system of dialogues. The result of the work is a functional prototype of a role-playing game created on the Unreal Engine using the C++ programming language. The resulting game is available as an executable package for the Windows platform.

RTS game with dynamic terrain

Author
Emil Poľák
Year
2023
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Adam Vesecký
Summary
The goal of this thesis is to design a video game containing required elements of realtime strategy games, emelemnts of logistics and option to modify terrain of a game world. On the basis of this design, a game prototype was implemented. Testing of the prototype has shown, that the concept of the realtime strategy game combining dynamic terrain is functional and the elements of the logistics meaningfully complement said systems. Research has shown, that videogame with the similar concept which the designed game has, does not have to exist. Because of that, the designed video game can be unique among other realtime strategy games. The prototype itself will be a basis for further expansion of the game with new game elements.

Application Expiry

Author
Jan Kousalík
Year
2023
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Filip Glazar
Summary
This bachelor thesis focuses on the design and implementation of a prototype web application called Expiry - an application specialized for storing documents digitally, reminding expiring items and ending warranties of consumer goods. The prototype was implemented using the PHP language, the Symfony framework and the Hotwire technology, which is, among other things, thoroughly described in the theoretical part of this thesis. Before the development of the prototype, an analysis of the needs of the potential users of this application and a search of already existing applications that specialize in solving the same problems was carried out. The resulting prototype was deployed to a remote server and subjected to user testing.

GeoJourney WebGallery

Author
Jan Soukup
Year
2024
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Marek Suchánek, Ph.D. et Ph.D.
Summary
This bachelor's thesis focuses on the design and implementation of a prototype web application called GeoJourney - it allows users to interactively browse photos on a map, both through an interactive map and through a presentation that visualizes routes between individual photos. The backend, developed with Laravel, communicates with the React-based frontend via the Inertia.js library. Before designing the prototype, an analysis of existing applications allowing users to browse photos interactively was carried out. The creation of wireframes for application design followed the analysis. The resulting prototype was subjected to user testing using the System Usability Scale method. The testing revealed a few shortcomings in the application prototype, which were subsequently corrected.

ThinkLink - note linking app

Author
Petr Kudrnovský
Year
2025
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. David Šenkýř, Ph.D.
Summary
This bachelor thesis deals with the design and implementation of ThinkLink, a web application that allows the user to efficiently manage digital notes by automatically searching for thematically and content-related notes across the entire collection. The thesis focuses on the selection of specific approaches to finding relevant notes, their extensibility and comparison of their success through user testing. The work also includes a search of existing solutions and an analysis of the needs of users of note taking applications. The resulting prototype application was developed in PHP using the Symfony framework and the PostgreSQL database system. For testing purposes, the prototype application was deployed to a production environment on a remote server, where user testing was conducted to test both the reliability of the individual search methods and the overall usability of the system. The results of the testing provided the basis for evaluating the most appropriate method and further development of the ThinkLink application.

Web bloat analysis

Author
David Kubeš
Year
2025
Type
Bachelor thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Martin Kolárik
Summary
Web bloat refers to the bloating of websites with unnecessary or inefficient elements that negatively affect their performance. This thesis analyzes this phenomenon and proposes possible improvements. The analysis is based on the automated measurement of a sample of websites in various thematic categories, using tools such as the Chrome DevTools Protocol and Google Lighthouse. Aspects evaluated include performance metrics, data transfer volume, HTML code efficiency, ad blocking impact, and the computational demands. Based on the collected data, optimization recommendations are proposed, which are then experimentally validated and evaluated. The applied optimizations improved the measured metrics and overall performance.

Master theses

Hearthstone Battlegrounds Card Game Simulator

Author
Dávid Ruják
Year
2024
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Petr Pauš, Ph.D.
Summary
This thesis focuses on the implementation of a simulation of the popular autobattler game - Hearthstone Battlegrounds. It begins with a brief explanation of the basic concepts of card games, with an emphasis on Hearthstone and Hearthstone Battlegrounds. Following that, there is an explanation of the game mechanics and rules. The subsequent section covers the design and implementation in C++ with the use of Cython. The final part involves performance testing.

MakeAPI

Author
Ondřej Vaniš
Year
2024
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Martin Kolárik
Summary
This thesis focuses on the design and implementation of a web application prototype, MakeAPI, which enables users to transform static HTML web pages into JSON document. The transformed data is made accessible through an API endpoint. The application is implemented in TypeScript language and uses the Next.js framework. The result is a functional prototype that has been deployed locally and tested both manually and automatically. Its basic functionality has been verified. The results also include a description of further possibilities and suggestions for the application's future expansion.

WhereIS - user interface design

Author
Illia Brylov
Year
2024
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Filip Glazar
Summary
This master thesis details the design, implementation, and evaluation of an new user interface for the WhereIS application, aiming to enhance navigation and search functionalities across various systems at the Faculty of Information Technologies of the Czech Technical University in Prague. Employing a User-Centered Design approach, the design phase involved analyzing existing systems and gathering user requirements through questionnaires, building upon the prototype developed by Bc. T. Heger in his bachelor thesis. The interface is implemented using the React library and evaluated through heuristic analysis and usability testing with end users.

WhereIS - search engine

Author
Tomáš Heger
Year
2024
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Filip Glazar
Summary
This thesis deals with improving the search capabilities of an existing prototype of WhereIS application and completing the backend part of the application in order to deploy it into production. The focus of the research is on existing search tools that can be used to improve the search and to highlight problems in the existing prototype. As part of the analysis, the author focuses on the collection and analysis of the requirements received from users. The design and implementation are aimed at integrating the chosen search tool, the user requirements and at improving the deficiencies and fixing the problems found in the original prototype. The resulting application is then unit-tested and simply deployed to the server using Docker containers.

Framework for similarity search of tabular datasets

Author
Olivie Abigail Franklová
Year
2025
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Ondřej Rozinek, Ph.D.
Summary
The purpose of this thesis is to analyze methods for comparing tabular data and design a framework that enables efficient table comparison. The work focuses on defining table similarity based on the similarity of their columns and proposing a modular solution that generates metadata from tables and compares this metadata. As part of the thesis, a framework was implemented in Python, capable of reliably identifying tables with a high degree of similarity. Experimental results demonstrated that the framework can accurately recognize highly similar tables, such as tables that are modifications of original data. The framework has a wide range of applications, such as detecting duplicates in databases, comparing table versions to identify changes, or ensuring data integrity. The thesis is divided into three main parts. The first part explores existing methods and defines key concepts. The second part focuses on the framework's analysis, design and implementation. The third part tests the algorithms through experiments. The framework is a useful tool for working with tabular data and, thanks to its modularity, allows for easy extension with additional comparison methods or specialized tools for handling various types of data structures.

Automatic Meter Reading Device

Author
Adam Švehla
Year
2025
Type
Master thesis
Supervisor
Ing. David Bernhauer, Ph.D.
Reviewers
Ing. Martin Daňhel, Ph.D.
Summary
The aim of this thesis is to design and implement an Automatic Meter Reading device capable of collecting data from various types of utility meters and transmitting it to a central data-collection system for processing. It presents a two-part solution consisting of an optical probe for reading meters, and a gateway device that aggregates data and transmits it over LoRaWAN or Wi-Fi. The devices were developed as custom hardware with accompanying firmware, with emphasis on low-power operation and future extensibility. The system supports receiving Wireless M-Bus messages, reading from meters equipped with wired and optical pulse outputs, mechanical dials, and infrared communication ports, and can be configured locally via NFC. Both device prototypes were tested in laboratory conditions, confirming correct functionality of all key features and demonstrating power consumption suitable for multi-year battery operation. The result is a flexible and extensible smart metering system that serves as a functional prototype and a solid foundation for future refinement, field testing, and eventual deployment.