University of Dundee
Problems often consist of choices. Making an optimal choice which is compatible
with all other choices made is difficult. Constraint programming (CP) is the branch
of Artificial Intelligence, where computers help us to make these choices.
Constraint programming is a multidisciplinary technology combining computer
science, operational research and mathematics. Constraints arise in design &
configuration, planning & scheduling, diagnosis & testing, and in many other
contexts. CP can solve problems in telecommunication, e-commerce, electronics,
bioinformatics, transportation, network management, supply chain management,
and many other fields. This is why I very much enjoy working within the area of
CP, as it lets me work with scientists from different disciplines on various topics,
which relate to their scientific interests. My research is always very varied; I have
looked at transport scheduling problems, satellite data processing problems and
some problems from mathematics. This means I spend my time solving problems
which other people really care about and I cannot think of a more fulfilling use of
ones time than that.
In the past year I have used this powerful paradigm to create a successful
computer game called Combination. Combination is an application for the iPhone
and iPod touch. It has been on sale internationally through the iTunes store (the
game can be seen at: http://itunes.apple.com/app/combination/id300288142?
mt=8) and received a number of positive reviews.
All the levels of Combination were generated, checked for correctness and rated
for difficulty completely automatically through the use of constraints. We go on to
evaluate this method of creation with the use of a human evaluation. This showed
that fun, immersing computer games can be created with constraint programming.
I am seeking funding to use this new system to help to design educational