Example Problem/Solution for HW #2

Problem

This problem is based on an ETS practice problem (see www.ets.org).

There are six professors -- Anderson, Boriello, Chambers, Diorio, Eggers, and Fakeprof -- playing faculty one-on-one ping-pong. Each prof plays each other prof once and only once, and each prof plays exactly one game per week over the course of the five week regular season. The schedule follows these constraints:

Which of these profs must play Boriello second?

  1. Anderson
  2. Chambers
  3. Diorio
  4. Eggers
  5. Fakeprof

Solution

First-order Logic

Let each prof be represented by the first letter of his, her, or its name. Let the relation plays(x, y, z) mean that Professor x (Xavier?) plays Professor y in week z.

Now, I axiomatize the system with the following rules:

To this I add statements describing the given information:

Note that I don't have to fill this out to say things like plays(D,A,1). My axioms will do this for me!

Finally, I need to determine who must play Boriello second. I can do this a couple different ways. I can insert (not plays(?,B,2)) for each prof and see which one makes the KB inconsistent, or I can find a solution to the KB and see which prof plays Boriello in that solution (since the prof must play Boriello, she'll play Boriello in every solution).

I have two predicates: plays and eq. Technically, there are actually two eq predicates: one eq over weeks and one eq over profs. I will allow the eq predicates to be implicit (so this is actually FOL with equality), but in propositional form, I can make these predicates explicit just by spewing out things like:

Translation to CNF

You may use the translator we provide in order to translate from FOL to CNF (note: you do not have to translate first order logic to general propositional and then to CNF form; you can go straight to CNF).

You should follow the instructions and example provided in fol.lsp and sat.lsp to perform the translation and solution of the problem.