Problem 1 (4 points):
Read Chapter 8 of the textbook. Drawing from the text and outside material (articles or websites) describe in your own words the differences between the following formal languages: high-level programming languages, first-order logic, temporal logic, probability theory, and fuzzy logic.
Note that I did not ask for definitions of these terms, but descriptions of the differences between them. The differences between FOL, temporal logic, probability theory, and fuzzy logic are easy to see given a description of each. Everyone that caught on to the fact that I was asking for the differences did a fairly good job of explaining the differences between them. Very good answers also related high-level programming languages with the rest in terms of procedural (programming languages) versus descriptive, the separation of knowledge from the methods used to manipulate it, and the ability (probability, fuzzy logic) versus inability (programming languages) to deal with partial information.
Problem 2 (6 points): [due to a problem with Part D one could earn up to 7 out of 6 points on this problem]
Part A:
Part B:
Part C: Proving that Shakey will eventually crash.
Translating into first-order logic:
Converting into CNF (prior to removing quantifiers):
Completing the CNF conversion for 1 requires a process called skolemization which creates a new function f(x) that gives the correct assignment for y given a specific value of x. Let f(Shakey) return a constant object G. By 1 we can assume that such an object exists and that it is a sensor, i.e. Sensor(G) is true.
After removing the quantifiers we have the following facts in CVF form:
To prove that Shakey crashes, i.e. WillCrash(Shakey), assert ¬ WillCrash(Shakey)
Proof by contradiction using resolution:
| 7. | ¬ Sensor(G) ∨ Has(Shakey,G) | Unify 1,4 |
| 8. | ¬ Sensor(G) ∨ Perfect(G) ∨ ¬ Has(Shakey,G) ∨ WillCrash(Shakey) | Unify 3,4,5 |
| 9. | ¬ Perfect(G) | Unify 1,5 |
| 10. | Has(Shakey,G) | Resolution 7,5 |
| 11. | Perfect(G) ∨ ¬ Has(Shakey,G) ∨ WillCrash(Shakey) | Resolution 8,5 |
| 12. | ¬ Has(Shakey,G) ∨ WillCrash(Shakey) | Resolution 9,11 |
| 13. | WillCrash(Shakey) | Resolution 10,12 |
Note that at this point fact 6, our contradiction, has not been used and WillCrash(Shakey) has been proven. If we were not proving by contradiction, we would be done now. The contradiction proof requires one more step:
| 14. | NULL | Resolution 13,6 |
Part D: This question was flawed. You could not prove that there is a bird that does not fly using the facts that I gave you. As a result everyone got one point for this problem. Those that attempted the proof (did some of the actual resolution proof, beyond conversion into CNF) got 2 points.