Scotland Yard Ai

Our coursework is to implement the logic and develop an AI to play the board game “Scotland Yard”, a game in which a team of players, as detectives must cooperate and track down a criminal around a board representing streets of London. The objective of our AI is to play as the criminal. We have agreed upon a greedy algorithm approach, to focus primarily on getting as far away from the other detectives. We also have an efficient division of labour. My role is to implement Dijkstra’s path-finding algorithm, to score the distance between possible moves with the locations of other detectives. Meanwhile, my other coursemate worked on other factors of the scoring function.

Besides, we have familiarized ourselves with several design patterns. By using the visitor pattern, we can score different types of moves (could be a single move, double move, or even hidden moves on the board) with different mechanism without changing the source code of the classes. Other patterns such as strategy and iterator pattern have also been used.

Our AI had come third when being competed with humans. I am grateful for the accomplishment we have achieved, and how our knowledge and skills complement each other. Finally, I have learnt to be humble and supportive teammate throughout this collaborative experience.

Avatar
Vincent Wong Yik Ming
Undergraduate

Computer Science student at University of Bristol