MSc Projects 2012
I prefer to supervise students in emerging topics or in
an area related to my
I only supervise projects that help you to improve your overall
design and programming skills and/or stimulate your ability to reason
critically. My project suggestions can be quite demanding and
therefore you need to be willing to work hard if you intend to apply to
any of these projects. However, they give you the possibility of
achieving a very good grade and you will have assistance from me
throughout the project.
I may also be willing to supervise your own project in
another area of computer science provided that
- the project is on an interesting topic and involves more than
basic programming, use of web technologies and/or database systems;
- the project proposal suggests an innovative approach to a problem
in computer science
- you are willing to work hard on it
Below are examples of projects I would prefer not to supervise
- any variation of database applications with a front-end and
involving little critical computer science components
(whether it is standalone or web-based)
- some other variation of well-known applications
widely available elsewhere, whether for traditional or
mobile platforms, e.g., games, diaries, accounting software, etc
Topics suggestions for 2012
[OR-1] Collaborative environment-mapping probes
Imagine a virtual environment with a pre-defined boundary and some internal
objects that need to be mapped by some virtual agents as efficiently as
Your objective is to produce a global map of this environment based
on information collected by the probes which are initially placed randomly in the
environment and have the ability to move about and detect objects and the boundary
in front of them.
You need to map the environment as quickly as possible. For this you can
assume that the probes have limited ability to move (they may run out of
power, for instance).
Part of your project is to research and choose an appropriate simulation environment
such as GridWorld providing basic
functionality and some visualisation of the exploration. The core of your project will
be on the design of efficient mapping strategies and the communication and coordination
aspects between the probes.
[OR-2] Computing the rational closure of a knowledge base
Human reasoning can be seen as a non-monotonic operation in the sense
that the addition of new information may prevent the derivation of conclusions
previously held by an agent.
Precisely defining an operation of this sort is a notoriously
difficult problem, but one can concentrate on desirable inference
properties and analyse the interactions between them. A
preferential consequence relation is an inference
relation that satisfies six well-known such properties.
The basic idea is to have a (conditional) knowledge base K
and provide a procedure/algorithm/method to decide whether a conditional
assertion A "reasonably" follows from K.
In a seminal paper in
1992, Lehmann and Magidor suggested that only some preferential consequence
relations displayed some intuitive reasoning behaviour and they called
these consequence relations rational.
The objectives of this project are
- to implement an algorithm to calculate whether a conditional
assertion A preferentially follows from a finite set of conditional
- to modify the algorithm such that it can take into account the
- to analyse the rationality conditions on the inference relation
from the intuitive point of view, illustrating them with examples
More information can be found here.
[OR-3] Concept Classification and Ontology Visualisation with Protégé
In this project, you will build a small ontology for a domain of your
choice; construct an algorithm for classification of the concepts in your
ontology and interface with Protégé to allow visualization and editing of your ontology.
- familiarity with ontologies and logic
- ability to program in an object-oriented language, preferably JAVA
- willingness to explore new ideas
[OR-4] Reasoning with OWL
In this project, you will investigate how OWL can be used for reasoning
in Internet based applications. You will get acquainted with the
language; understand how it can be used for reasoning; and implement a small
application to demonstrate the concepts.
Some examples of reasoning with OWL are available here.
- Familiarity with first-order logic and knowledge representation with logic.
- Willingness to learn basic OWL constructs.
- Ability to demonstrate some of the techniques via the implementation of a web-based application
[OR-5] An investigation into ontology merging techniques
The process of ontology merging tries to combine different
ontologies into one. This process is important when an ontology is to
be expanded to incorporate the concepts of a neighbouring field.
The objective of this project is to investigate methods for
ontology merging and to demonstrate the techniques with a sample
- Familiarity with logical formalisms
- Programming skills in JAVA, C++, or similar
- Willingness to explore new concepts
[OR-6] A mobile application for Android or iOS (Android preferred)
You need to write to me with the suggestion of a sophisticated application
for android or iOS, which I will review, amend if necessary, and accept
Any topic suggestion must consist of a sophisticated application,
involving, e.g., location-based services, augmented reality, user profiling,