Human-Computer Interaction

Project SOMA: Self-Organised Middle-out Abstraction

This call for a thesis or project is open for the following modules:
If you are interested, please get in touch with the primary contact person listed below.


Software agents can be described by their attributes, states and behaviours. They autonomously interact with each other and their virtual environment - merely following reactive behaviours rules or strategically pursuing complex goals. Agent-based models (ABMs) bear numerous benefits: They can directly represent real-world problems, they can be easily adapted and maintained, agents and agent populations can be changed at real-time yielding truly dynamic models, which is also supported by the fact that the interaction topology (who interacts with whom) emerges from the agent definitions and states and is not pre-determined.

In order to increase the order of magnitude of a computable model (have tens or even hundreds of thousands of interactive agents) or to increase the accuracy of its prediction, one needs to identify patterns to accelerate the resulting computations.

In ABM, the aforementioned aspects of topology, behaviours, attributes, and states, are entry points for identifying such patterns. Whatever representation they are encoded in, whichever integration drives their evolution over time - identified patterns allow for predictions which, in turn, allow for pruning the computations, or respectively, for increasing the magnitude or accuracy of the model.

Project Goals

In project SOMA, students are asked to identify their primary modelling focus such as boid swarms, particle swarms, hordes of non-player character warriors, blood clotting platelets, vehicles in a traffic network, cellular automata, etc. (1) An according implementation should validate the model in terms of expected behaviours - depending on the provided data, this would imply the comparison of quantitative outcomes or systematic sensitivity analyses, possibly also considering the introduction or re-implementation of characteristic measures. (2) Next, clustering algorithms (e.g. CURE), motif detection algorithms (e.g. SWIFT), or machine learning algorithms (e.g. EA, ANN, or XCS), should be adapted to identify patterns that emerge from the static data or the dynamic processes during the computation. (3) Finally, the identified patterns need to be used to either provide shortcuts in computations or to simplify the original model measuring. (4) The deviation from the original model, or respectively computation steps, as well as the difference in performance need to be logged, analysed and discussed.

Based on one’s findings, students could continue their works, e.g. in subsequent thesis works or research project modules, to consider checking abstractions’ boundary conditions or forming and managing hierarchical model abstractions. Formalisation and formal analysis of the designed system, efficient hardware ports, or cross-domain validation are alternative beneficial directions of follow-up works.

Contact Persons at the University Würzburg

Prof. Dr. Sebastian von Mammen (Primary Contact Person)
Games Engineering, Universität Würzburg

Legal Information