Graham Kendall

Individual Projects (3rd Year Undergraduates)

(Academic Year 2004/05)

Introduction

This page details the third year individual projects that are/have been supervised by Graham Kendall who is a lecturer in the Department of Computer Science at The University of Nottingham. This year, I was assisted by various other people in the supervision of projects, as I was given a Study Leave period. I have indicated who was the supervisor on the individial projects.

This page contains details of projects supervised in the academic year 2004/05.

The main project page can be found here.

Downloadable Dissertations

Some of the projects are available for download, so that you can view them. This facility is for current third year students, being supervised by me, who can use previous dissertations for their own research and also to look at previous dissertations to see how to lay them out etc. (it also saves the inevitable requests I receive asking to see a "good" project from last year, with the risk that I never see it again!).

As such, these files are password protected and, to get the username/password you need to EMAIL me. People outside of the university will not be given access.

In addition, I cannot give access to those students outside of my tutor group. You should approach your own tutor to get copies of previous dissertations they have supervised.

Note : I cannot make the files available in formats other than those already supplied.


3rd Year Projects Supervised in 2004/05

  1. An empirical comparison of evolutionary algorithms applied to the tuning of a chess engine by Daniel Pike (PDF : 891KB)
    Abstract : In 2001, Graham Kendall and Glenn Whitwell of The University of Nottingham proposed an evolutionary approach for the tuning of a chess evaluation function using population dynamics, and achieved some impressive results against a commercial chess program. This report documents the implementation of a program to empirically compare Kendall and Whitwell’s strategy with a selection of historic evolutionary algorithms using the optimisation of the parameters of a chess evaluation function.A review of work in both the evolutionary algorithms and chess fields is performed. A highperformance rotated-bitboard chess engine and several evolutionary algorithms are designed and implemented. Finally, a population of evaluation functions is evolved in a restricted number of iterations by each strategy, and the results compared and statistically analysed. The Kendall- Whitwell algorithm is empirically shown to generate better solutions than a variety of canonical evolutionary strategies and their variants from the initial population.

    This project was supervised by Dr Rong Qu

  2. Interporject: Project Management Portal by Philip Erridge (PDF: 499KB)
    Abstract : The aim of this project is to develop a system that allows groups of people from various sized organisations to have a medium, through which a project can be performed. The system should provide all the tools that allow for the members to be location and time independent, yet have the ability to conduct meetings, share information and communicate without any difficulty or restriction.
    The system is designed to be available on the internet to any group member, regardless of their location or time zone and only requiring them to have access to a computer to access the internet. The system is to be implemented using PHP, MySQL and Macromedia Flash as the languages, and products of choice in producing a system that will fulfil all the needs of a project group.
    The system developed has five main features that allow it to perform in the role of a group management system. These include an intelligent calendar, a mail portal, a forum, a file repository and also a task management system. Together the package was completed and tested within a real organisation environment to allow its potential to be assessed.

    This project was supervised by Dr Rong Qu

  3. Learning to Play Good Poker Using an Evolutionary Algorithm by Ralph Cooper (PDF: 306KB)
    Abstract : Creating a world class computer poker player has been a core goal of many researchers in the field of AI and game playing for the past few years. Creating such a player requires a very complex combination of elements. One of the more important elements is the betting strategy which determines the core decisions of the player to bet, call or fold at given points in the game. Another major element of the player is the opponent model which "learns" how opponents play and uses this information in an attempt to determine the strength of opposing hands. This work will focus on the betting strategy and show how a genetic algorithm can be used to develop a strong strategy allowing the player to compete at a high standard against human players.

    This project was supervised by Dr Glenn Whitwell


  4. Evolving a Blackjack Player to Develop an Optimal Playing Strategy whilst using a Card Counting System by Adam Charles Bond (PDF: 313KB) (Word: 482KB)
    Abstract : Blackjack is a game that has had large amounts of work carried out on it using mathematical probabilities. These techniques have lead enthusiasts to develop optimal playing strategies for nearly every situation a player will come across. This has lead to the creation of card counting systems that can sway the casinos advantage towards the player. The most popular of which being the High-Low count system, first publicised by Thorp (1966) and later refined by Wong (1994).
    In this dissertation a population of random blackjack players are evolved using an evolutionary strategy in the hope that the fittest individual of the population will have the optimal strategy for playing blackjack. The players each use the High-Low card counting system and are modelled by four neural networks that decide when the player should take insurance, split a pair, double down and hit or stand. The neural networks are evolved after each generation and the best player from the trained population is then compared to the strategy defined by Wong (1994).
    The program was initially simulated for 1000 generations and the results showed that all four neural networks were learning as hoped. The problem was however, that the strategy of the best player from the trained population did not match the strategy defined by Wong (1994). As a result the program was then simulated for 10,000 generations and as predicted the players were trained to a more advanced level and had a strategy that was closer to Wong's (1994). The program was further simulated for 1,000,000 generations in an attempt to reminisce the same strategy as Wong (1994), however there were still a few values that differed slightly.
    Overall this investigation proved to be a success and showed that a pool of random Blackjack players using an evolutionary strategy and neural networks can learn how to card count and overcome the Casino's advantage.

    This project was supervised by Dr Glenn Whitwell

  5. Evolving a population of neural networks to play Othello by Matthew Hyde (PDF: 410KB)
    Abstract : There has been much interest in creating programs that are capable of beating humans at certain games. To date, the main research lines have been in poker, chess and checkers. Recently, Chellapilla and Fogel have succeeded in creating an expert checkers program that has no human input into its learning process.
    This project focuses on developing a good Othello playing program using a co-evolutionary genetic process similar to Chellapilla and Fogel’s method. The algorithm evolves a population of neural networks by playing games between them and eliminating the worst players. The neural networks act as evaluation functions by evaluating the board states at the leaf nodes of the game tree after a minimax alpha-beta search from the current board position. Importantly, knowledge of Othello strategy that comes from humans forms no part of the development process, and at the start of the evolution process the population knew only the rules of the game.
    It is shown that not all Chellapilla and Fogel’s methods are applicable to all board games, and the reasons for this are explored. Specifically, it will be shown how changing the way that the board is looked at by the neural network and then running the evolution process again, can increase the speed of learning Othello strategy and the strength of the resulting strategy. This report contains a review of past work in the field, the program design and implementation, and a discussion of the results obtained. It is also questioned whether Chellapilla and Fogel’s claim of no human input is strictly true if the structure of network is chosen by a human before the evolutionary process begins.

    This project was supervised by Jason Atkin

  6. Multi-Project Scheduling with Resource Constraints by Mark Andrew Brown (PDF: 1,163KB) (Word: 1,733KB)
    Abstract : In this report I propose a real world project scheduling problem I have witnessed. I propose a heuristic allocation algorithm and a meta-heuristic Tabu Search to further optimise the heuristic to a wide range of different project scheduling problems within the scope of my model.
    I conduct a literature review on similar work and propose a model. Next I produce a design of a program to solve the model proposed
    I give details of my implementation of such a system and produce a step-by-step breakdown into how I applied the techniques I researched to my program.

    This project was supervised by Jason Atkin

  7. Cricket Tournament Scheduler by Rohaan Akpoor (PDF: 509KB)
    Abstract : In this dissertation I aim to investigate sports fixture scheduling to produce fixture schedules for cricket tournaments with the goal of satisfying all constraints specified in the dissertation. In cricket only a limited number of schedules are created by computer, most are created manually. I will investigate and discuss in detail the work of other researchers in the realm of sport fixture scheduling. I will devise a new method for making different cricket schedules. I will show how my software works by creating a schedule for the Ranji Trophy (2004-2005), which today is done completely by humans. However my focus is not to create a schedule solely for the purpose of scheduling the Ranji Trophy; I am going to make software capable of helping a user, scheduling any cricket tournament i.e. generic software. In other words my software will be a support system for humans to create schedules with predefined constraints. Another valuable feature of my software is that it will also be a database for past schedules created by it with full details provided.

    This project was supervised by Jason Atkin

 

 


EMAIL : gxk@cs.nott.ac.uk          Home page

Last Updated 15th June 2001