PhD Projects for GTA Applicants - September 2021

For information about the GTA posts and how to apply, click here.

If you apply for one of our Graduate Teaching Assistantships for September 2021 start, you need to name potential PhD supervisors and submit a research proposal as part of your application:

  • Any member of academic staff (Lecturer, Senior Lecturer, Reader, Associate Professor, Professor) in the Department can be your supervisor.
  • Any research topic related to the departmental research themes can be your PhD topic. Strategic directions that are of particular interest are Artificial Intelligence, Computational Modelling, Data Science, and Digitalisation.

Some examples of exciting PhD projects for which supervisors are currently looking for students are:

Information about these PhD projects is provided below. Further projects may still be added. If you apply for a GTA post, you can apply for one of these projects, but you can also propose any other member of academic staff as supervisor and propose any research topic related to the departmental research themes as your PhD topic.

Automated identification of early Alzheimer’s disease in medical images

Supervisors: Prof Huiyu Zhou and Dr Reza Zare

Project information: Click here (PDF)

Deep neural network for computer-aided cancer detection

Main supervisor: Prof Yu-Dong Zhang
Co-supervisor: Prof Thomas Erlebach

Project information: Click here (PDF)

Edge Enhanced AI driven Digital Twins

Supervisor: Prof Ashiq Anjum

This is a collaborative research project between the University of Leicester, BT and Bloc Digital. BT will offer the expertise and data in monitoring large scale infrastructure projects such as 5G deployment and network planning. Bloc Digital will offer expertise in virtual and augmented reality and its use in producing digital twins. University of Leicester will research and develop next generation AI algorithms that can produce automated digital twins in real time from vast amounts of data using HPC and in-memory Clouds.

The ability to visualize a system outcome before it happens is extremely valuable and digital twins enable this to happen using virtual reality models. Using digital twins, engineers can design better products while users can see final products pre-production, ultimately saving everyone time and resources.

Currently it takes weeks and months to produce digital twins because the process is manual and time consuming. This project aims to investigate an automated digital twin model that can learn from engineering as well as infrastructure data models and iteratively evolve as new data and insight become available over time. This will necessitate creation of new AI models and algorithms that can learn from engineering models and map the objects in data sources to virtual reality components with minimum computational cost. This will require building automated mesh creation models, developing correspondence between high and low polygon meshes as well as the development of algorithms for automatic model visual quality assessment. The resulting digital models will be put into practice to generate data that will be a realistic emulation of the experimental environment and will be used to self-learn and optimize the digital twins to represent evolving functionality in the physical world.

These models and algorithms should have the capability to exploit high performance computing for real time model execution for large scale immersive design and analytics. These should also be edge aware so that they can acquire and process data locally. Dynamically integrating data, algorithms & analytics to a VR environment needs piecing hundreds of thousands of objects together and will need careful understanding of geometrical and system models to minimise the computational burden. To overcome this problem, we will use high performance in-memory systems where we can store the components of the models in a distributed shared memory while the algorithms are processing the data for their models. We will need to create an edge enhanced federated learning system where edge deployed digital twins can learn and inference from the data in real time, leading to significant savings in data and time it takes to make decisions.

High-level search methodologies for problem solving

Supervisors: Dr John Drake, Prof Lu Liu, and Prof Edmund K. Burke

Optimisation problems often explore a search space which is too large to enumerate and exhaustively search for an optimal solution. Various heuristics and metaheuristics have been applied successfully to problems of this nature. One drawback of such approaches is the necessity to manually adapt the method used to solve different problem domains or classes of problem. Hyper-heuristics are a class of high-level search techniques which aim to raise the level of generality at which search methods operate. Unlike traditional techniques, a hyper-heuristic operates on a search space of heuristics rather than directly on the search space of solutions. The last decade or so has seen sustained research effort directed at hyper-heuristic methods, much of which is a result of pioneering work done by researchers at Leicester. This project will apply hyper-heuristic methods to real-world combinatorial optimisation problems, seeking to automate the heuristic design process, reducing the time required to develop such methods and the burden on the human involved in the development cycle.

Please e-mail john.drake@leicester.ac.uk for further information about this project.

Improved Breast Cancer Diagnosis System based on Deep Neural Network

Main supervisor: Prof Yu-Dong Zhang (School of Informatics)
Co-supervisor: Prof Rajeev Raman (School of Informatics)
Co-supervisor: Dr David Guttery (Leicester Cancer Research Centre)

Project informationClick here (PDF)

Reversing algorithms

SupervisorDr Irek Ulidowski

Reversible computation is a new computation paradigm that extends the standard forwards-only mode of computation with the ability to execute in reverse. In this paradigm one can execute in reverse as naturally as can go forwards. There are prototype reversible programming languages such as Janus, and a reversible version of a concurrent C-like programming language has been proposed. Moreover, we know how to model undoing of computation in Turing machines, process calculi and Petri nets. These recent advances in reversing different formal and practical models of computation have been applied in developing better approaches to, for example, reversible debugging of concurrent programs and in parallel discrete event simulation.

Not much has been done however developing reversible versions of basic algorithms for standard computation tasks, such as sorting or searching. Also, there has been very little research on providing reversible versions of the basic data structures, such as arrays, trees and graphs, and reversible operations on them. More abstractly, it would be interesting and useful to develop in the proposed PhD programme of research a formal notation for writing reversible algorithms. We can take a lead from the programming language Janus, where all the fundamental language constructs, such as assignments, conditional and loop statements, are given in the reversible form. Moreover, we may also use other irreversible constructs in our notation but then we would need to work out the minimal amount memory needed to make such irreversible constructs reversible. We will then define, given an algorithm written in our notation, the inverse algorithm that un-computes the result of the original algorithm.

Once we have a notation for reversible algorithms and a method for generating inverse algorithms, we shall explore their usefulness. We shall find an application area where there exist already algorithms to do a task and algorithms to un-do the task. Consider, for example, lossless compression and decompression of data, and the algorithms for them. Given a compression algorithm, we shall aim to compare its traditional decompression version with a newly developed decompression algorithm using our algorithm notation and algorithm inversion. It would be interesting then to explore space and time complexity of such pairs of algorithms.

Overall, we propose to develop a new notation for reversible algorithms and a method for producing their inverses. We shall then compare some traditional algorithms and their versions written in our notation in terms of space and time complexity.

Please e-mail iu3@leicester.ac.uk for further information about this project.

Reversing concurrent programs for debugging and simulation

SupervisorDr Irek Ulidowski

Reversible computation is a new computation paradigm that extends the standard forwards-only mode of computation with the ability to execute in reverse. In this paradigm one can execute in reverse as naturally as can go forwards. There are prototype reversible programming languages such as Janus, and reversible version of a concurrent C-like programming languages. These recent advances have been applied in developing better approaches to, for example, reversible debugging of concurrent programs and in parallel discrete event simulation.

Reversing a concurrent program, for example a multi-threaded program, can be done in essentially two different ways. A concurrent program can have many different executions which are a result of interleaving independent statements. Different executions can have different outcomes, some correct and some wrong, due to, for example, unintended data races. Usually, it is difficult to find bugs in concurrent programs. The typical method is to undo the steps of a particular execution, where a bug appears, in precisely the inverse order to which they have happened in the forward direction. This method is called backtracking, and James Hoey and Irek Ulidowski have done a lot of work using backtracking at Leicester, and have developed a tool called Ripple (https://scholar.google.com/citations?user=cCmpboIAAAAJ&hl=en).

The aim of this project is to continue the work on reversing concurrent programs using the second method, namely causal-consistent reversibility. In contrast to backtracking, the second method gives us more flexibility in terms of the order in which statements are reversed, thus allowing us to find bugs more quickly.

Overall, this PhD research aims to develop a causal-consistent method for reversing concurrent programs, and to design and develop a software tool for implementing this method.

Please e-mail iu3@leicester.ac.uk for further information about this project.

Share this page: