CPSC352 -- Artificial Intelligence -- Fall 2011
Homework #1 -- Due Wednesday, September 28
I. Truth Tables. Do exercises 1 (DeMorgan's laws), 2, 3a from
pages 77ff in Chapter 2 of Luger. For exercise 1,
just do truth tables for both DeMorgan's laws.
II. Proof. Do exercise 3b on page 78. That is, start with the
expression (P → Q) ^ (Q → P) and show by a series of substitutions
that you can derive (P v Q) → (Q ^ P). An example of a valid
substitution that is not shown on page 49 is (~P v Q) = (P → Q).
III. Unification. Do exercise 6 on page 78 of Chapter 2.
IV. Symbolizing Quantified Expressions. Translate each of the
following English sentences into predicate calculus notation using
existential and universal quantifiers where necessary. Use mnemonic abbreviations
letters to symbolize the predicate terms. For example, "All humans
are mortal" should be symbolized as ∀X (human(x) → mortal(x)).
- Ambassadors are always dignified.
- Reporters are present.
- The common cold is never fatal.
- All that glitters is not gold.
- Not every applicant was hired.
- Not any applicant was hired.
- Nothing of importance was said.
- Some children are naughty.
- Only citizens of the US can vote in US elections.
- Diplomats are not always rich.
Some Translation Rules of Thumb
- "All", "any", "always", "no", "never" are usually symoblized with the
universal quantifier.
- "Some", "sometimes" are usually symbolized with the existential quantifier.
- The universal quantifier always requires an implication: →.
- The existential quantifier always requires a conjunction: ^.
- A sufficient condition is always symbolized as the antecedent of
an implication: "If your average is above 90, that is SUFFICIENT to get an A"
- A necessary condition is always symbolized as the consequent of
an implication. Having gas is necessary to start a car: "IF the car
starts, THEN it has gas."
- "Only if" suggests a necessary condition and should be symbolized
as the consequent of an implication: e.g., "The car starts only if it has
gas" means "In order to start it is necessary for the car to have gas". However,
having gas is not a sufficient condition. So it is wrong to say
"If the car has gas then it will start." Instead, this should be symbolized as
"If the car starts, then it has gas": starts(car) → has_gas(car)