
Security Game with Planning Agents
Ohman, Ľubomír ; Gemrot, Jakub (advisor) ; Hric, Jan (referee)
The goal of the thesis was to create an application for training security guards, containing a configurable artificial burglar. To fulfill these expectation, a 3D application was implemented, containing a 2D editor of security objects. In order to be able to implement the burglar, we analyzed his objectives and designed an algorithm capable of planning his actions and dealing with the multi objective optimization. Finally, we compared the performance of our proposed solution to the state oftheart algorithm to prove that it solved the optimization more efficiently in our case.


Multiagent Path Finding on Ozobots
Krasičenko, Ivan ; Barták, Roman (advisor) ; Hric, Jan (referee)
BAKALÁŘSKÁ PRÁCE Ivan Krasičenko Multiagentní hledání cest na Ozobotech Katedra teoretické informatiky a matematické logiky Vedoucí bakalářské práce: prof. RNDr. Roman Barták, Ph.D. Studijní program: Informatika Studijní obor: Programování a softwarové systémy Praha 2018 Prohlašuji, že jsem tuto bakalářskou práci vypracoval(a) samostatně a výhradně s použitím citovaných pramenů, literatury a dalších odborných zdrojů. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona v platném znění, zejména skutečnost, že Univerzita Karlova má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle §60 odst. 1 autorského zákona. V ........ dne ............ Podpis autora i Chtěl bych poděkovat rodičům, že mě vždy podporovali. Bohu, že mě v tom nenechavá samotného. Učitelem ze školy za jejich trpělivost a přívětivost. Všem spolužákům a spolubydlícím se kterými jsem měl tu čest trávit čas. ii Název práce: Multiagentní hledání cest na Ozobotech Autor: Ivan Krasičenko Katedra: Katedra teoretické informatiky a matematické logiky Vedoucí bakalářské práce: prof. RNDr. Roman Barták, Ph.D., Katedra teoretické informatiky a matematické logiky Abstrakt: Vytvořeni testovacího simulačního prostředí pro multiagentní hledání cest na Ozobotech....


Domain Specific Languages in Functional Programming
Rapavá, Jana ; Hric, Jan (advisor) ; Pilát, Martin (referee)
In Artificial Intelligence, especially in area of constraint programming, it's popular to design various modeling languages which allow solving problems on domain level and by using domain specific abstractions. Techniques known from research on DomainSpecific Languages are often useful in this effort. Functional programming languages offer new tools for designing such languages, particularly DomainSpecific Embedded Languages. This work investigates the advantages and disadvantages of using functional programming for designing and implementing a DomainSpecific Embedded Language for state space search problems.


A Controlled Searching of Game Trees
Vrba, Jan ; Hric, Jan (advisor) ; Majerech, Vladan (referee)
Title: A Controlled Searching of Game Trees Author: Jan Vrba Department: Department of Theoretical Computer Science and Mathematical Logic Supervisor: RNDr. Jan Hric Abstract: MonteCarlo Tree Search is a search algorithm based on random Monte Carlo playouts. Since it was first introduced in 2006, it has been successfully used in several areas. Most notably for the game Go. MCTS is intended mainly for problems with too large a state space to be fully explored in reasonable time. Working with a large state space and the fact that when evaluating a node, it first explores all possible moves leads to large memory complexity. This work explores options a user can use to regulate memory complexity based on the results of previous MonteCarlo playouts. Keywords: MCTS, UCT, BMCTS, RAVE


λcalculus as a Tool for Metaprogramming in C++
Šefl, Vít ; Hric, Jan (advisor) ; Kratochvíl, Miroslav (referee)
The template system of C++ is expressive enough to allow the programmer to write programs which are evaluated during compile time. This can be exploited for example in generic programming. However, these programs are very often hard to write, read and maintain. We introduce a simple translation from lambda calculus into C++ templates and show how it can be used to simplify C++ metaprograms. This variation of lambda calculus is then extended with HindleyMilner type system and various other features (Haskelllike syntax, userdefined data types, tools for interaction with existing C++ template code and so on). We then build a compiler capable of transforming programs written in this language into C++ template metaprograms. Powered by TCPDF (www.tcpdf.org)


Nízkoúrovňový funkcionální programovací jazyk
Kratochvíl, Miroslav ; Bednárek, David (advisor) ; Hric, Jan (referee)
The goal of this thesis is to explore the current possibilities of implementation of compilers of lowlevel functional languages. It is expected to evaluate theoretical possibilities of functional programming languages, possible limitations that arise from the absence of runtime code support in lowlevel environment, and to implement a language compiler that demonstrates some chosen properties. Powered by TCPDF (www.tcpdf.org)


Genetic Algorithms driven by MCTS
Havránek, Štěpán ; Hric, Jan (advisor) ; Moudřík, Josef (referee)
Evolutionary and genetic algorithms are problemsolving methods designed according to a nature inspiration. They are used for solving hard problems that we cannot solve by any efficient specialized algorithm. The Monte Carlo method and its derivation the Monte Carlo Tree Search (MCTS) are based on sampling and are also commonly used for too complex problems, where we are dealing with enormous memory consumption and it is impossible to perform a complete searching. The goal of this thesis is to design a general problem solving method that is built from these two completely different approaches. We explain and implement the new method on one example problem: the Traveling salesman problem (TSP). Second part of this thesis contains various tests and experiments. We compare different settings and parametrizations of our method. The best performing variant is then compared with the classical evolutionary TSP solution or, for example, with greedy algorithms. Our method shows competitive results. The best results were achieved with the cooperation of our method and the classical evolutionary TSP solution. This union shows better results than any of its parts separately, which we find as a great success.


Walks in timedymanic graph model
Beliš, Marek ; Pangrác, Ondřej (advisor) ; Hric, Jan (referee)
Orienteering with moving control points can be represented as a graph model with ranked vertices and oriented edges. The rank of vertex depends on the actual time. Searching for the most optimised walk through this graph is NPcomplete problem which can be in realtime solved only with limiting conditions and using of heuristics. SMIK solver software provides implemented heuristics for searching the best walk in several ways. In the thesis we can find description of the problem and algorithms, programming documentation with description of used methods and comparation of results to the real competition. Powered by TCPDF (www.tcpdf.org)


Automatic lifting of expressions for typed functional languages
Smrž, Roman ; Pudlák, Petr (advisor) ; Hric, Jan (referee)
In typed functional programming there is often the need for combining pure and monadic (or other effectful) computations, but the required lifting must be done manually by the programmer and may result in cluttered code. This thesis explores ways to allow the compiler to perform this task automat ically. Several possible approaches are described, where the final one reduces the task to solving a system of linear diophantine equations. Apart from monads, the described method is also considered for the case of applicative functors as another abstraction to represent effectful operations. 1


Artificial Intelligence for Texas Hold'em Poker
Pilný, Martin ; Pilát, Martin (advisor) ; Hric, Jan (referee)
Although Texas Hold'em is among the most popular poker variants, there are only a few effective ways to replace the human by a computer while playing it. Poker is a game with incomplete information, thus most of the approaches are complicated and they do not provide correct results most of the time. The goal of this work is to describe some of the theoretical approaches and implement some of them. To this end, a poker server and poker AI agents using some of the solutions were implemented. These agents were tested against each other to compare the performance of the different approaches to artificial intelligence in Texas hold'em poker.
