From UBC Wiki

Authors: Cowan C, Erika Stansbury(r3t8)

What is the problem? Keeping track of clue is traditionally done using a pad of paper and pencil, however if you are trying to guesstimate based on what other players ask about, for instance if a player asks about a character, weapon and room to another player, you would want to write down something to help narrow down your possible choices faster. This is very hard with a pad of paper with just a bunch of small boxes,

What is the something extra? Getting the program to try and calculate the possible answer not only based on what you have discovered for yourself but also to use possible information to calculate which is the most probable solution, using percentages. Another feature would be to make it so it could suggest something to guess next.

What did we learn from doing this? We weren't able to complete all of our goals. We hit a major roadblock trying to do this in a logical programming language because we were essentially trying to do functional programming in a logical programming software. The problem is for statistics and variable saving there isn't really a good way to do that in prolog. It's mostly just finding workarounds that get you to the goal you want. Data manipulation isn't that easy using prolog. It ended up being a lot of predicate calls to perform math and combining together terms and retracting and asserting terms into our knowledge base. We both felt this could be done faster and easier in racket or even java.