AE1APS Algorithmic Problem Solving John Drake Invariants – Chapter 2 River Crossing – Chapter 3 Logic Puzzles – Chapter 5 (13) ◦ Knights and Knaves ◦ Portia’s Casket Matchstick Games - Chapter 4 Sum Games – Chapter 4 Induction – Chapter 6 Tower of Hanoi – Chapter 8 Conjunction: X ∧ Y (AND) Disjunction: X ∨ Y (OR) Negation (or complement): ¬X (NOT) Inequivalence: ≢ (DIFFERENT) Implication: X ⇒ Y, (X implies Y) Boolean expressions are either true or false. Boolean valued expressions are called propositions. “it is sunny” is an atomic Boolean expression. “it is sunny and warm” is non atomic as it can be broken down into two expressions. We are concerned with the rules for manipulating Boolean expressions. = or ≡ ? In which order should x = y = z be processed? As an example, if x = true, y = false and z = false. If read continually - true = false = false evaluates to false However if read associatively – (x = y) = z or x = (y = z) it will evaluate to true To remove this confusion we use ≡ to indicate that an expression should be considered associatively. The property of associativity is very powerful! Negation: [¬ x ≡ x ≡ false] p.106 Inequivalance: x ≢ y or ¬(x ≡ y) p.113 [¬(x ≡ y) ≡ x ≡ ¬y ] Equality is a binary relation. It is a function with a range of Boolean values true and false. Equality is reflexive: [x ≡ x] It is symmetric: [x ≡ y is the same as y ≡ x] It is transitive: [x ≡ y and y ≡ z implies z ≡ x] It is associative: [(x ≡ y) ≡ z is the same as x ≡ (y ≡ z) ] It is substitutive: [x ≡ (y ≡ z) can be replaced by (y ≡ z) ≡ (y ≡ z) ] Given a pair of natives, what question would you ask one to discover if the other is a knight? I’m a Knight I’m a Knight If A is the proposition: “person A is a knight" and suppose the native makes a statement S. We can infer that A is true is the same as S is true. That is, A≡S If native A is asked a yes/no question Q then the response to the question is: A≡Q Let R be the desired response when we ask question Q: i.e. R ≡ (A ≡ Q) R ≡ (A ≡ Q) A – The statement “A is a knight” Q – The response to a given question R – The desired response from the native R ≡ (A ≡ Q) A – The statement “A is a knight” ◦ We can ask Q – The response to a given question ◦ What we are trying to find R – The desired response from the native ◦ “Is B a knight?” – we will call this proposition B So, B ≡ (A ≡ Q) A and B are statements, Q is the question to be asked As equality is associative B ≡ (A ≡ Q) becomes (B ≡ A) ≡ Q As equality is symmetric (B ≡ A) ≡ Q becomes Q ≡ (A ≡ B) So we ask the native is (A ≡ B)? “Is the statement of your being a knight equivalent to the statement of B being a knight” In Shakespeare's Merchant of Venice, Portia had three caskets: gold, silver and lead. Inside one of these caskets Portia had put her portrait and on each was an inscription. Portia explained to her suitor that each inscription could be either true or false but on the basis of the inscriptions he was to choose the casket containing the portrait. If he succeeded he could marry her. Here we will consider a simpler variant of this problem using only two caskets Suppose there are two caskets, gold and silver, into one of which Portia placed her portrait. The inscriptions are: ◦ Gold: The portrait is not in here. ◦ Silver: Exactly one of these inscriptions is true. Which casket contains the portrait? Let pg stand for “the portrait is in the gold casket“ Let ps stand for “the portrait is in the silver casket“ Let ig stand for “the inscription on the gold casket is true" and let is stand for “the inscription on the silver casket is true“ What do we know? If the inscription on the gold casket is true then the portrait is in the silver casket i.e. ig ≡ ps As there is only one portrait pg and ps cannot both be true i.e. pg ≢ ps The inscriptions are: Gold: The portrait is not in here. Silver: Exactly one of these inscriptions is true. What do we know? For one statement to be true ig ≡ ¬is So for is to be true this condition must hold i.e. is ≡ (ig ≡ ¬is) The inscriptions are: Gold: The portrait is not in here. Silver: Exactly one of these inscriptions is true. This leaves us with three statements to help us decide which casket the portrait is in. (ig ≡ ¬pg) ∧ (pg ≢ ps) ∧ (is ≡ ig ≡ ¬is) The inscriptions are: Gold: The portrait is not in here. Silver: Exactly one of these inscriptions is true. (ig ≡ ps) ∧ (pg ≢ ps) ∧ (is ≡ ig ≡ ¬is) Using the definition of negation and inequivalance (ig ≡ ps) ∧ (pg ≡ ps ≡ false) ∧ (is ≡ ig ≡ is ≡ false) Using reflexivity of equality [( is ≡ is) ≡ true] (ig ≡ ps) ∧ (pg ≡ ps ≡ false) ∧ (ig ≡ false) Equality is substitutive, then use reflexivity (false ≡ ps) ∧ (pg ≡ true) ∧ (ig ≡ false) What can we deduce? ps is false pg is true ig is false So the portrait is in the Gold casket Note: we know nothing about the inscription on the Silver casket Please e-mail me with any questions or problems you are having Tutorial session this afternoon at 1pm Hopefully extra slots start next week John.drake@nottingham.edu.cn