Skip to content


Karen Petrie

Dr Karen Petrie

Dr Karen Petrie

Research Fellow

Grants awarded

Constraint Programming as a tool to solve Computational Group Theory Problems

Scheme: Dorothy Hodgkin Fellowship

Organisation: University of Dundee

Dates: Oct 2007-Sep 2011

Value: £331,626.51

Summary: 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: 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 software.

Was this page useful?
Thank you for your feedback
Thank you for your feedback. Please help us improve this page by taking our short survey.