Propositional Logic / Clue

Part 1: Getting started with propositional logic

Part 1 (both the offline and the computational parts) should be done individually. You can share ideas with others, but the work that you submit should ultimately be written up and programmed yourself.

Read sections 1 through 7 of this handout on the Clue project. In section 7 of the handout, do exercise 2. Solve via resolution and turn in on paper or with an electronic document (that's part 1a), and solve with SATSolver.py and turn in your code (that's part 1b). SATSolver.py will only work on your own machine if you appropriately compile and install zchaff, for which you'll need a C++ compiler. If you want to try to do this, find more instructions here.

Part 2: Clue assignment, initial clauses

Check out the Clue game board that I've left in CMC 307. Stop in with friends (they don't have to be in the class) and play a game. Read section 8 of the clue handout. Complete code for the initialClauses function in clueReasoner.py. Turn in the entire clueReasoner.py file.

Part 3: Clue assignment, hand, suggest, and accuse

Complete code for the hand, suggest, and accuse functions in clueReasoner.py. Turn in the entire clueReasoner.py file.