Exploring Clue (Cluedo) with a SAT solver
Switch branches/tags
Nothing to show
Clone or download
Sean Bowman
Sean Bowman initial commit
Latest commit aed6084 Jul 23, 2016
Failed to load latest commit information.
README.md initial commit Jul 23, 2016
clue.py initial commit Jul 23, 2016
game.py initial commit Jul 23, 2016
prop.py initial commit Jul 23, 2016
smartplay.txt initial commit Jul 23, 2016


Clue, SAT, knowledge games

This is a little experiment with knowledge games like Clue. It started life as a "clue assistant" to help me beat my friends and neighbors at the game, but evolved into a platform for learning more about the game itself. It may or may not still be usable as a clue assistant, although it certainly isn't hard to use the ideas herein to make a mighty fine one.

See the post at http://seanbowman.me/blog/clue-sat-logic for more information.

Install, Build, Run

The only dependency other than Python 2.7 ish is CryptoMiniSat. Install that and it should just work. The file clue.py contains a main function that has the computer play itself with a small variety of settings (number of players, number of games, etc.)

What did humanity learn?

Probably not much, but smartplay.txt contains a game in which a player wins by observing that another player passes (instead of making an accusation) at the end of their turn. That was a smart play! This scenario answers a question of van Ditmarsch in "The description of game actions in Cluedo." Answering variations on that question was one impetus for writing the program you're looking at.