Final-year projects give students an opportunity to plan, research and present independent work.
The project unit is an important part of our Mathematics courses and it forms one quarter of the final year study. The unit gives students an opportunity to carry out an independent piece of work and develop their project planning and research skills. As well as a final dissertation, students also produce a poster to summarise their work and give an oral presentation of their findings.
A wide range of topics is offered, covering a variety of mathematical applications as shown in the list below, and a selection of student posters from 2016 can be found here.
These are a selection of projects undertaken by students in the 2015-2016 academic year.
Procedural Generation in Games: Creating a Non-Scripted Character Behaviour System
Sean Shortreed, BSc (Hons) Computer Games Technology
This project aimed to create ‘believable’ non-player character (NPC) artificial intelligence (AI). In many games, NPC AI is crucial to players’ in-game experience, and the current generation of video games often overlook simple improvements to NPCs that could improve their realism. The project’s specific focus was NPC scheduling and relationships, and used an artificial neural network (ANN) based solution to create dynamic, non-predictable, rational task choices. Two games were developed in parallel, one using a simple stochastic AI solution, and the second using the novel ANN solution. When playing the game with the ANN solution, players felt the NPCs seemed more realistic, and thus their stated enjoyment in playing the game increased. However, the evaluation highlighted the importance of how feedback from the NPCs to the player can greatly affect the way the NPC’s AI is perceived.
Comparison between Genetic and Traditional Heuristic Algorithms used to address the Travelling Salesman Problem
Michael Piccoli, BSc (Hons) Computer Science
Michael received the three star prize for best overall performance in the 2015 cohort.
The aim of this project was to use the Travelling Salesman Problem (TSP) to explore the implementation and use of genetic algorithms (GA). The TSP is a problem that falls into the class of NP-complete problems: ones for which optimal solutions are known, but the time that it would take to apply these solutions is prohibitively long. As such, alternate sub-optimal approximations must be used. The project involved the implementation of two traditional heuristic approaches to the TSP, the implementation of a range of variants of GA, and a sophisticated user interface to support this. The development of the product required extensive research of both the TSP and GA, which led to a detailed literature review in the project report. The implementation allowed a detailed comparison of the different algorithms (including variants of GA). This was a challenging project, allowing the development of deep insights into this subfield of AI.
Craig Massey, BSc (Hons) Computer Science
The specification for this project required the design and implementation of a simulation world facilitating the reproduction and evolution of its artificial life forms, henceforth referred to as Animats; the evolution of said animats was to be achieved using a solution derived from genetic algorithms. The end goal of the system is to obtain a representation of ecological stability of these pseudo-life forms in terms of consumption, predation, reproduction and deterioration. In order to achieve such an ecology the behaviors and attributes of the Animats should vary to all niche requirements analogous to trophic levels in Animal ecologies.
Developing and 3D stereoscopic game
Yasser Mahmood, BSc (Hons) Computer Games Technology
This project involved the development of a game which should be played in active 3D stereoscopic vision. It involved the consideration of the history and current status of 3D stereoscopic display technologies and of their contribution to the immersive nature of a game. The full design, implementation, testing and evaluation game life-cycle is then pursued to produce versions of the game capable of being played on standard PC and Xbox, as well as stereoscopic PC and box hardware.
Implementing the vehicle routing problem using Java Servlets
Michael Jones, BSc (Hons) Computing
The distribution of goods by road has always been a fundamental part of the fuelling of the UK's retail economy. With changing shopping habits and the evolution of the Internet, shopping powered growth in the home delivery market, effective and economical Route Planning was required. However, with multiple delivery locations comes multiple Route Planning options, these are factorial in scale. This rapid growth in problem size makes the Vehicle Routing problem extremely difficult to solve optimally, as exact solutions are quickly restricted by time and heuristic-based solutions are required to overcome this.
This project had taken the Clarke & Wright Savings Algorithm and implemented it using the Java Servlet technology to produce a modern internet accessible solution to Vehicle Route Planning. While the solution does not claim to produce the optimal Route for the user, itdoes present the user with a quickly formed usable Route option, that on average is only 15% from the best solution.
Natural language interface for databases
BSc (Hons) Software Engineering:
(Software Engineering students undertake a group project.)
Many applications require the use of a database to store and gather information. To manipulate a database, the user must have expert knowledge of a database language such the Structured Query Language (SQL). Users without this expert knowledge will not have the specific skill set that is required to manipulate a database, therefore relying on database experts. This leads to the use of Natural Language Interfaces to Databases (NLIDB), which enables a user to retrieve results from a database via the use of natural language. Much research has been conducted in this area, with many different approaches to the creation of a NLIDB. However, the use of a NLIDB is still unpopular, suggesting that recent approaches have had minimal success.
A Conversational Agent (CA) is a computer program that converses with a user through means of natural language. Significant amounts of research have been conducted into the use of Conversational Agents as the Natural Language Interfaces to Databases (CA-NLIDB), but many of the approaches have been constricted. This project involved the development of a CA-NLIDB that overcomes many of the limitations of previous approaches.