A very simplistic twenty questions computer player.
Currently in a very early alpha state. Known bugs. Not particularly robust.
Known bugs:
How it works: The computer player uses formal concept analysis to construct a model of the world in terms of objects. For each object it stores yes/no questions where a human has said the question is true for the object. The full model is a concept (Galois) lattice (example) which is explored, choosing yes/no questions to ask the human "opponent". The next question is chosen from those not already asked or eliminated such that it is expected that it is equally likely that the user will answer yes or no, thus halving the search space for each question. Once the computer player reaches a "dead end" it does not immediately conclude; instead it enters a learning-phase strategy and deliberately asks "stupid" questions to try and build a more complete picture of the object that the opponent is thinking of.
Weaknesses: