Mastermind is a simple, but very clever code-breaking board game from the 70s [Wikipedia]. It is a perfect example of abductive reasoning, also called inference to the best explanation. Abduction is a method of (scientific) reasoning in which one chooses the hypothesis that best explains the available evidence. Abduction is the third type of logic inference, in addition to deductive and inductive reasoning. For example, medical doctors perform abduction when diagnosing a disease (hypothesis) given the observable symptoms (evidence). Abductive reasoning can produce false hypotheses, for example, because there might be several diseases producing similar symptoms. Doctors then go through progressively complex tests, successively decreasing the set of possible diseases matching the evidence – in principle very similar to playing Mastermind.
Abduction is a logic formalism – but humans do this rather differently, most likely. The goal of this project is to learn about the abductive reasoning of humans by watching them play Mastermind. Mastermind is a simple domain, game moves are fully observable, and so the behavior should be readily interpretable. We would like to learn how humans perform abductive reasoning it because their implementation of abduction probably includes some tricks and shortcuts that can be transferred to computers to achieve data-efficient, computationally efficient, and generalizable reasoning.
Description of Work
In this thesis you will:
1) extend an existing implementation of Mastermind into a scientific data recording tool – we would like to record many games played by humans, the moves, the timing, possibly annotations by humans regarding their own reasoning process,
2) visualize and analyze human playing data to identify clusters of behavior and regularities in move making,
3) implement the known best solution for game playing as a base line, then design and implement new strategies based on our insights about the data,
4) formulate hypotheses about human abduction and analyze which heuristic knowledge it encodes.
Results from this thesis can have deep scientific implications and will make contributions to robotics and machine learning but also to the study of bounded rationality in psychology. The goal of the thesis should be to produce a scientific publication.
Required skills: Programming skills in C++ or Python, interest in interdisciplinary research, basic knowledge of machine learning algorithms.