logics for data and knowledge representation

26
Logics for Data and Knowledge Representation Exercises: Propositional Logic Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese

Upload: gautam

Post on 09-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Logics for Data and Knowledge Representation. Exercises: Propositional Logic. Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese. Outline. Syntax Symbols and formation rules Modeling a problem Semantics Assignments, models Logical implication Reasoning Satisfiability and validity - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Logics for Data and Knowledge Representation

Logics for Data and KnowledgeRepresentation

Exercises: Propositional Logic

Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese

Page 2: Logics for Data and Knowledge Representation

Outline Syntax

Symbols and formation rules Modeling a problem Semantics

Assignments, models Logical implication Reasoning

Satisfiability and validity Some nice problems

2

Page 3: Logics for Data and Knowledge Representation

Symbols in PL

1. Which of the following symbols are used in PL?

⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨

2. Which of the following symbols are in well formed formulas?

⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨

3

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 4: Logics for Data and Knowledge Representation

Symbols in PL (solution)

1. Which of the following symbols are used in PL?

⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨

2. Which of the following symbols are in well formed formulas?

⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨

Remember the BNF grammar:

<Atomic Formula> ::= A | B | ... | P | Q | ... | | ⊥ ⊤

<wff> ::= <Atomic Formula> | ¬<wff> | <wff> ∧ <wff> | <wff> ∨ <wff> | <wff> → <wff> | <wff> ↔ <wff>

4

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 5: Logics for Data and Knowledge Representation

Formation rules Which of the following is not a wff?

1. MonkeyLow ∨ BananaHigh

2. MonkeyLow BananaHigh

3. MonkeyLow BananaHigh

4. MonkeyLow → GetBanana

NUM. 3 IS WRONG!

5

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 6: Logics for Data and Knowledge Representation

Modeling: Bananas

Bananas may differ in many ways. However, there are red and yellow bananas. I like bananas, but I eat only yellow bananas. If I do not eat at least a banana I get crazy.

6

Highlight relevant words, define a PL language and a theory for the problem below.

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 7: Logics for Data and Knowledge Representation

Modeling: Bananas (possible solution)

Bananas may differ in many ways. However, there are red and yellow bananas. I like bananas, but I eat only yellow bananas. If I do not eat at least a banana I get crazy.

7

L = {RedBanana, YellowBanana, EatBanana, GetCrazy}

T = {EatBanana → YellowBanana, EatBanana → GetCrazy}

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 8: Logics for Data and Knowledge Representation

Truth valuations and Truth Tables A truth valuation on a PL language L is a mapping ν that assigns to

each formula P of L a truth value ν(P). A truth table is composed of one column for each input variable and

one (or more) final column for all of the possible results of the logical operation that the table is meant to represent. Each row of the truth table therefore contains one possible assignment of the input variables, and the result of the operation for those values.

8

A B A∧B

T T T

T F F

F T F

F F F

POSSIBLEASSIGNEMENTS

VARIABLESLOGICAL

OPERATION

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 9: Logics for Data and Knowledge Representation

Example Calculate the Truth Table of the following formulas:

(1) A ∧ B; (2) P ∨ Q; (3) X ↔ Y.

9

A B A∧B A∨B A↔B

T T T T T

T F F T F

F T F T F

F F F F T

POSSIBLEASSIGNEMENTS

VARIABLES (1)

(2)

(3)

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 10: Logics for Data and Knowledge Representation

Exercise: Truth Valuations Compute truth valuations for the formulas:

(A∨B)∧¬C

(A∨B)→C

(A∨B→C∨D∨E)∧(¬F↔A)∧(¬F∨G∧¬H∨F)∧(¬I→¬(D∧J))∧(¬J∨¬D∨E)∧F

10

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 11: Logics for Data and Knowledge Representation

Provide the models for the propositions RECALL: a truth valuation ν is a model for a proposition P iff

ν(P) = true

List the models for the following formulas:1. A ∧ ¬B

2. (A ∧ B) ∨ (B ∧ C)

3. A ∨ B → C4. ¬A ↔ B ↔ C

11

A B A ¬ ∧ B

T T F

T F T

F T F

F F F

MODEL

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 12: Logics for Data and Knowledge Representation

Entailment RECALL: ⊨ ψ iff all models satisfying the formulas in also

satisfy ψ

Let A, B, C be propositional sentences.

(a) If A ⊨ B ∧ C, then A ⊨ B or A ⊨ C or both?

(b) What if A ⊨ B ∨ C?

Proof: The only model satisfying ‘B ∧ C’ is ν = {B=T, C=T}.

If ‘A ⊨ B ∧ C’ then ν should be also a model of ‘A’. However, since ν assigns true to B, ν is a model of ‘B’. Similarly, ν is also a model of ‘C’. So, (a) above is true for both.

Assume now that ‘A ⊨ B ∨ C’. A model of ‘B ∨ C’ is ν = {B=T, C=F}.

ν is not a model of ‘C’, therefore A ⊭ C. The other cases are similar.

12

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 13: Logics for Data and Knowledge Representation

Exercise: prove entailment Given that:

P = (A ∨ B ) ∧ (C ∨ D ∨ E)

Q1 = A ∨ B

Q2 = (A ∨ B ∨ C) ∧ ((B ∧ C ∧ D) → E)

Q3 = (A ∨ B) ∧ (D ∨ E)

Does P ⊨ Qi ?

Proof: Let X = A ∨ B, Y = D ∨ E, then we can rewrite:

P = X (¬∧ C ∨ Y); Q1 = X; Q2 = (X ∨ C) ∧ (¬B ¬∨ C ∨ Y); Q3 = X Y∧

P ⊨ Q1 is obvious.

Since ‘X X ⊨ ∨ C’ and ‘(¬ C ∨ Y) ⊨ (¬B ¬∨ C ∨ Y)’, then P ⊨ Q2.

Since ‘Y ⊨ (¬C ∨ Y)’, then Q3 P (and not vice versa).⊨

13

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 14: Logics for Data and Knowledge Representation

Exercise: prove entailment using truth tables Given that:

P = (A ∨ B ) ∧ (C ∨ D ∨ E)

Q1 = A ∨ B

Q2 = (A ∨ B ∨ C) ∧ (B ∧ C ∧ D → E)

Q3 = (A ∨ B) ∧ (D ∨ E)

(1) List all truth assignments such that P ⊨ Qi

(2) Is there any assignment such that P ⊨ Qi for all i?

Solution to (1): First compute the truth tables for all the propositions above. Then, list all rows for which both P and Q i are true.

Solution to (2): Check whether there is any assignment for which all the sentences above are true.

14

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 15: Logics for Data and Knowledge Representation

Logical implication and deduction Deduction (⊢) is the process of inferring new knowledge from

known facts.

Logical implication (→) is a way to include deduction directly in the language. It is an alternative way to implement deduction.

For instance: ¬(A B) → (¬A ¬B) iff ¬(A B) ∨ ∧ ∨ ⊢ (¬A ¬B)∧

We provided some well known tautologies in the theoretical part (e.g. the De Morgan Law above)

15

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 16: Logics for Data and Knowledge Representation

Prove using truth tables, the following deductions

1. Double negative elimination

 P ⊢ P

2. Conjunction introduction / elimination

(a) {P, Q} ⊢ P∧Q; (b) P ∧ Q ⊢ P; (c) P ∧ Q ⊢ Q. Disjunction introduction / elimination 

(a) P ⊢P ∨ Q; (a) Q ⊢ P ∨ Q; (c) {P ∨ Q, P → R, Q → R} ⊢ R

2. Bi-conditional introduction / elimination

(P → Q) ∧ (Q → P) ⊢ (P ↔ Q) 

1. De Morgan

(a) (P ∧ Q) ⊢ P ∨ Q; (b) (P ∨ Q) ⊢ P ∧ Q

16

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 17: Logics for Data and Knowledge Representation

Proofs of the Deduction Rules

P Q ¬¬P P→Q Q→P ¬(P∧Q) ¬P∨¬Q ¬(P∨Q) ¬P∧¬Q

T T T T T F F F F

T F T F T T T F F

F T F T F T T F F

F F F T T T T T T

17

P Q P∧Q P∨Q P↔Q

T T T T T

T F F T F

F T F T F

F F F F T

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 18: Logics for Data and Knowledge Representation

Soundness and Completeness A deductive system is sound if any sentence P that is derivable

from a set Г of sentences is also a logical consequence of that set Г.

A deductive system is complete if every sentence P that is a semantic consequence of a set of sentences Γ can be derived in the deduction system from that set.

A soundness property provides the initial reason for counting a logical system as desirable. The completeness property means that every validity (truth) is provable.

18

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 19: Logics for Data and Knowledge Representation

Prove validity (I) Suppose p, q, r, s are four propositional sentences, is the following

sentence valid?

A = (p → r) (q → s) (∧ ∧ r ∨ s) →(p ∨ q)

A way to prove validity is to show that the proposition entails ⊤. This can be done by applying well known tautologies (e.g. De Morgan). In alternative we can show using truth tables that all the assignments are true.

(p → r) (q → s) (∧ ∧ ¬r ∨ ¬s) → (¬p ∨ ¬q) =

¬((p → r) (q → s) (∧ ∧ ¬r ∨ ¬s)) ∨ ¬p ∨ ¬q =

(p ∧ ¬r) ∨ (q ∧ ¬s) ∨ (r ∧ s) ∨ ¬p ∨ ¬q =

= ⊤

19

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 20: Logics for Data and Knowledge Representation

Prove validity (II)

20

p q r s A

T T T T T

T T T F T

T T F T T

T T F F T

T F T T T

T F T F T

T F F T T

T F F F T

F T T T T

F T T F T

F T F T T

F T F F T

F F T T T

F F T F T

F F F T T

F F F F T

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 21: Logics for Data and Knowledge Representation

Calculus with Tableaux

21

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Γ = {A B, B, A}

B

A B

A

closed

B

A

closed

Γ = {B A, B}

B A

A

closed

B

B

Γ = {(A B), A}

A B

A

closed

B

A

Page 22: Logics for Data and Knowledge Representation

Calculus with Tableaux

22

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Γ = {(A B) (B A), B}

(A B) ( B A)

(A B)

closed

B A

B

A B

A B

B A

closed

Page 23: Logics for Data and Knowledge Representation

Are you ‘Sherlock Holmes’?There was a robbery in which a lot of goods were stolen. The robber(s) left in a truck. It is known that : (1) Nobody else could have been involved other than A, B and C.

(2) C never commits a crime without A's participation.

(3) B does not know how to drive.

Is A innocent or guilty?

Proof: The 3 points above can be translated in PL as follows:(1) θ1 = A B∨ ∨ C;

(2) θ2 = C → A;

(3) θ3 = B → (B ∧ A) ∨ (B ∧ C)

Does {θ1 , θ2 , θ3} ⊨ A ? Yes!

We can prove it by showing that θ1 ∧ θ2 ∧ θ3 → A is a tautology.

23

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 24: Logics for Data and Knowledge Representation

Knights and Knaves A very special island is inhabited only by knights and knaves. Knights

always tell the truth, and knaves always lie.

You meet two inhabitants: Zoey and Mel.

Zoey tells you that Mel is a knave.

Mel says ‘Neither Zoey nor I are knaves’.

Can you determine what are they? (who is a knight and who is a knave?)

Proof: The two sentences above can be translated in PL as follows:

(1) Z → M; (2) M → Z ∧ M.

We can use truth tables to prove that there are two possible situations:

- Both lie (they are both knaves)

- Zoey tells the true (is a Knight) and Mel lies (is a knave)

24

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Page 25: Logics for Data and Knowledge Representation

Recall the DPLL algorithm Input: a proposition P in CNF Output: true if "P satisfiable" or false if "P unsatisfiable"

boolean function DPLL(P) {

if consistent(P) then return true;

if hasEmptyClause(P) then return false;

foreach unit clause C in P do

P = unit-propagate(C, P);

foreach pure-literal L in P do

P = pure-literal-assign(L, P);

L = choose-literal(P);

return DPLL(P L) OR DPLL(P L);

}

25

REVIEW :: REASONING IN PL :: THE DPLL PROCEDURE :: OBSERVTIONS :: CONCLUSIONSSYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL

Consistency Check

Empty Close Test

Unit Propagation

Pure Literal Elimination

Splitting rule

Page 26: Logics for Data and Knowledge Representation

Use DPLL to prove satisfiability

B ¬A (¬C A) (B C)

1. Is it consistent? YES, there are no contradictions

2. Are there any empty clauses? No, go ahead.

3. Assign the right truth value to all literals and simplify the formula:Assign B = T, A = F and then the formula simplifies to ¬C

4. Assign the right value to pure literals:Assign C = F. Done.

5. No need for the splitting rule

The formula is satisfiable at least for the assignment (a model for it): {A = F, B = T, C = F}

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS :: DPLL