- Supervised Dissertations
- Dissertations as a Student
Direct PhD Supervision
- Rohin Callum Percy Gillgallon (2023-)
- Samuel Buzz Appleby (2022-)
BSc and MSc Supervision
- Simone Alicia Noble (PGT) - “Adapting Principles of Conflict-Based Search for Multi-Agent Pathfinding in Videogames” - 2023
- Yaojun Gao (PGT) - “Frequent sub-graph mining for temporal graphs” [Demo,Codebase] - 2023
- Junlin Luo (PGT). “Event-driven parallel hierarchical state machines for video games and the re-planning in running time” [Demo,Codebase] - 2022
- Wiktor Zegadło (UG). “Exploring the Potential of General Semi-Structured Model for Managing and Querying Data” [Codebase, Dataset]- 2023
- Samuel R. Coleman (UG). “Procedurally Generating Urban Environments for Video Games” [Demo]- 2023
- Oliver R. Fox (UG). “Learning Navigation on Procedurally Generated Cities: A Reinforcement Learning Perspective” [Demo, Codebase] - 2022
- Dovydas Šimoliūnas (UG). “Finding and Resolving Network Inconsistencies in Multiplayer Games” [Codebase] - 2022
- Samuel Buzz Appleby (UG). “Develop an AI Agent Using Goal Oriented Action Planning that can Demonstrate Effective Solution Finding in Distinct World Environments” - 2020
Dissertations as a Student
(PhD) A new Nested Graph Model for Data Integration
Despite graph data gained increasing interest in several fields, no data model suitable for both querying and integrating differently structured graph and (semi)structured data has been currently conceived. The lack of operators allowing combinations of (multiple) graphs in current graph query languages (graph joins), and on graph data structure allowing neither data integration nor nested multidimensional representations (graph nesting) are a possible motivation. In order to make such data integration possible, this thesis proposes a novel model (General Semistructured data Model) allowing the representation of both graphs and arbitrarily nested contents (e.g., one node can be contained by more than just one parent node), thus allowing the definition of a nested graph model, where both vertices and edges may include (overlapping) graphs. We provide two graph joins algorithms (Graph Conjunctive Equijoin Algorithm and Graph Conjunctive Less-equal Algorithm) and one graph nesting algorithm (Two HOp Separated Patterns). Their evaluation on top of our secondary memory representation showed the inefficiency of existing query languages’ query plan on top of their respective data models (relational, graph and document-oriented). In all three algorithms, the enhancement was possible by using an adjacency list graph representation, thus reducing the cost of joining the vertices with their respective outgoing (or ingoing) edges, and by associating hash values to both vertices and edges. As a secondary outcome of this thesis, a general data integration scenario is provided where both graph data and other semistructured and structured data could be represented and integrated into the General Semistructured data Model. A new query language outlines the feasibility of this approach (General Semistructured Query Language) over the former data model, also allowing to express both graph joins and graph nestings. This language is also capable of representing both traversal and data manipulation operators.
Please see the GitHub LaTeX repo for the latest typofix and misprints.
(MSc) Hypergraph Mining for Social Networks
Nowadays, more and more data is collected in large amounts, such that the need of studying it both efficiently and profitably is arising; we want to acheive new and significant informations that weren’t known before the analysis. At this time many graph mining algorithms have been developed, but an algebra that could systematically define how to generalize such operations is missing. In order to propel the development of a such automatic analysis of an algebra, We propose for the first time (to the best of my knowledge) some primitive operators that may be the prelude to the systematical definition of a hypergraph algebra in this regard.
(BSc) Pjproject su Android: uno scontro su più livelli
(Translated from Italian) The steadily increasing use of computerized mobile devices pushes every developer to wonder what their practical applications might be. Consequently, knowing their potential and technical characteristics, the developer wonders if such devices can run the same programs they use daily without the need (and the desire) to reinvent the wheel. This desire, driven by practical necessity, guides such developer to choose development systems allowing them to investigate the problems and deepen their accredited solutions: For this reason, the “development platforms” that are gradually establishing themselves (if not already consolidating) are constituted from GNU / Linux and Android operating system. The second poses attractive prospects, as Android both adopts a customary fork of the Linux kernel while gaining momentum on the business world. Nevertheless, Android’s developers imposed on their system some architectural limitations: these can be leveraged by hackers - see device rooting - which, by knowing the weaknesses of GNU/Linux systems, might easily overcome some security restrictions. These still allow the enthusiast to learn more about the GNU / Linux world by analyzing the architectural differences between the two systems.