Separation image
Dr. Odinaldo Rodrigues
Separation line
Separation image
Department of Informatics, King's College London 
Separation image
Separation image

Site map

Separation image Orange pixel Separation image

MSc Projects 2012

I prefer to supervise students in emerging topics or in an area related to my research interests.

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

  1. [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 possible.

    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.

  2. [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

    1. to implement an algorithm to calculate whether a conditional assertion A preferentially follows from a finite set of conditional assertions K
    2. to modify the algorithm such that it can take into account the rationality conditions
    3. 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.

  3. [OR-3] Concept Classification and Ontology Visualisation with Protégé

  4. 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.

    Requirements

    • familiarity with ontologies and logic
    • ability to program in an object-oriented language, preferably JAVA
    • willingness to explore new ideas
  5. [OR-4] Reasoning with OWL

  6. 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.

    Requirements

    • 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
  7. [OR-5] An investigation into ontology merging techniques

  8. 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 application.

    Requirements

    • Familiarity with logical formalisms
    • Programming skills in JAVA, C++, or similar
    • Willingness to explore new concepts

    References

  9. [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 if appropriate.

    Any topic suggestion must consist of a sophisticated application, involving, e.g., location-based services, augmented reality, user profiling, etc.


Separation image
 
Decoration left Decoration right
Orange pixel
This page was last updated in September 2012.