Lecture 9: More on predicate logic Prof. Julia Hockenmaier - - PowerPoint PPT Presentation

lecture 9 more on predicate logic
SMART_READER_LITE
LIVE PREVIEW

Lecture 9: More on predicate logic Prof. Julia Hockenmaier - - PowerPoint PPT Presentation

CS440/ECE448: Intro to Artificial Intelligence Lecture 9: More on predicate logic Prof. Julia Hockenmaier juliahmr@illinois.edu http://cs.illinois.edu/fa11/cs440 Quick upgrade on quizzes Review:


slide-1
SLIDE 1

Lecture 9:
 More on 
 predicate logic

  • Prof. Julia Hockenmaier

juliahmr@illinois.edu

  • http://cs.illinois.edu/fa11/cs440
  • CS440/ECE448: Intro to Artificial Intelligence
slide-2
SLIDE 2

Quick upgrade on quizzes

slide-3
SLIDE 3

Review:
 syntax of 
 predicate logic

slide-4
SLIDE 4

The building blocks

A (finite) set of variables VAR:
 VAR ={x, y, z,…} A (finite) set of constants CONST:
 CONST ={john, mary, tom,…}

  • For n=1…N :

A (finite) set of n-place function symbols FUNC FUNC1 ={fatherOf, successor,…} A (finite) set of n-place predicate symbols PREDn:
 PRED1 ={student, blue,…} PRED2 ={friend, sisterOf,…}

  • 4
slide-5
SLIDE 5

Putting everything together

Terms: constants (john); variables (x); n-ary function symbols applied to n terms (fatherOf(x))

– Ground terms contain no variables

  • Formulas: n-ary predicate symbols applied to n

terms (likes(x,y)); negated formulas (¬fatherOf(x)); conjunctions, disjunctions or implications of two formulas; quantified formulas

– Ground formulas (= sentences; propositions) 
 contain no free variables – Open formulas contain at least one free variable

  • 5

CS440/ECE448: Intro AI

slide-6
SLIDE 6

Semantics of 
 predicate logic

slide-7
SLIDE 7

Model M=(D,I)

The domain D is a nonempty set of objects: D ={a1, b4, c8,…} The interpretation function I maps:

  • each constant c to an element cI of D: JohnI = a1
  • each n-place function symbol f to an (total) n-ary

function f I Dn →D: fatherOf I(a1) = b4

  • each n-place predicate symbol p to an n-ary

relation pI ⊆Dn : childI ={a1,c8} likesI ={⟨a1, b4⟩, ⟨b4,a1⟩}

7

slide-8
SLIDE 8

Interpretation of variables

A variable assignment v over a domain D is a (partial) function from variables to D.

The assignment v = [a21/x, b13/y] assigns object a21 to the variable x, and object b13 to variable y. We recursively manipulate variable assignments when interpreting quantified formulas. Notation: v[b/z] is just like v, but it also maps z to b. We will make sure that v is undefined for z.

8

slide-9
SLIDE 9

Interpretation of terms

Variables: ⟦x⟧M,g = g(x) defined by the variable assignment Constants: ⟦c⟧M,g = cI 
 defined by the interpretation function Functions: defined by the interpretation function and recursion on the arguments
 ⟦f(t1,….tn) ⟧M,g = f I(⟦t1⟧M,g,…, ⟦tn⟧M,g)

9

slide-10
SLIDE 10

Interpretation of formulas

Atomic formulas:

⟦P(t1,...tn)⟧M,g =true iff ⟨⟦t1⟧M,g,... ⟦tn⟧M,g⟩ ∈ PI

Complex formulas (connectives):

⟦¬ φ⟧M,g =true iff ⟦φ⟧M,g =false ⟦φ ∧ ψ⟧M,g =true iff ⟦φ⟧M,g =true and ⟦ψ⟧M,g =true ⟦φ v ψ⟧M,g =true iff ⟦φ⟧M,g =true or ⟦ψ⟧M,g =true ⟦φ → ψ⟧M,g =true iff ⟦φ⟧M,g =false or ⟦ψ⟧M,g =true

10

CS440/ECE448: Intro AI

slide-11
SLIDE 11

Interpretation of formulas:
 quantifiers

  • Universal quantifier:

⟦∀x φ ⟧M,g =true iff ⟦φ⟧M,g[u/x] =true for all u ∈ D Existential quantifier: ⟦∀x φ ⟧M,g =true iff ⟦φ⟧M,g[u/x] =true for at least one u ∈ D

11

CS440/ECE448: Intro AI

slide-12
SLIDE 12

Satisfaction and entailment

φ is satisfied in M (M ⊨ φ) iff ⟦φ ⟧M,[] =true φ is valid (⊨ φ) iff φ is satisfied in any model. φ entails ψ iff φ→ ψ is valid. 


  • NB: We cannot interpret open formulas 


(i.e. containing free variables)

12

CS440/ECE448: Intro AI

slide-13
SLIDE 13

Using predicate logic

slide-14
SLIDE 14

From English to predicate logic

Birds fly. Some birds fly. There are three people in SC1404. SC1404 is empty. There are exactly three people in SC1404.

slide-15
SLIDE 15

“Birds fly” vs “Some birds fly”

Birds fly: ∀x [Bird(x) ⇒ Flies(x)] ≡ ¬∃x [Bird(x) ∧ ¬Flies(x)] Some birds fly: ∃x [Bird(x) ∧ Flies(x)]


slide-16
SLIDE 16

There are three people in SC1404
 SC1404 is empty.

  • There are three people in 1404:

∃x∃y∃z [person(x) ∧ in(x, SC1404) ∧ person(y) ∧ in(x, SC1404) ∧ person(z) ∧ in(x, SC1404) ∧ x≠y ∧ x≠z ∧ y≠z] SC1404 is empty. ¬∃x [person(x) ∧ in(x, SC1404)]

16

CS440/ECE448: Intro AI

slide-17
SLIDE 17

There are exactly three people in SC1404

∃x∃y∃z [person(x) ∧ in(x, SC1404) ∧ person(y) ∧ in(x, SC1404) ∧ person(z) ∧ in(x, SC1404) ∧ x≠y ∧ x≠z ∧ y≠z ∧ ∀w [(person(w) ∧ in(w, SC1404)) ⟶ (w = x ∨ w = y ∨ w = z)]]

17

CS440/ECE448: Intro AI

slide-18
SLIDE 18

What about….

“Most birds fly.”

  • This cannot be expressed in FOL:

| birdI ∩ flyI | > 0.5 | birdI |

  • 18

CS440/ECE448: Intro AI

slide-19
SLIDE 19

Inference in 
 predicate logic

slide-20
SLIDE 20

Inference in predicate logic

All men are mortal. Socrates is a man. Socrates is mortal. We need a new version of modus ponens:

∀x P(x) ⟶ Q(x)

P(s’) ────────── Q(s’)

  • 20

CS440/ECE448: Intro AI

slide-21
SLIDE 21

FOL is semi-decidable

Can we prove whether A ⊨ B?

  • Case 1: A does entail B.

Any sound & complete inference procedure will terminate (and confirm that A ⊨ B)

  • Case 2: A does not entail B.

No inference procedure is guaranteed to terminate.

slide-22
SLIDE 22

How do we deal with
 quantifiers and variables?

  • Solution 1: Propositionalization

Ground all the variables.

  • Solution 2: Lifted inference

Ground (skolemize) all the existentially quantified variables. All remaining variables are universally quantified. Use unification.

22

CS440/ECE448: Intro AI

slide-23
SLIDE 23

Inference in 
 predicate logic:
 propositionalization

slide-24
SLIDE 24

Grounding variables

θ = {x1/c1, …xn/cn} is a list of substitutions: variable xi is replaced by ground term ci.

  • The function SUBST(θ, ψ) applies the

substitutions in θ to the free variables in formula ψ and returns the result.

  • SUBST({x/a, y/b}, friend(x,y}) = friend(a,b)
  • 24

CS440/ECE448: Intro AI

slide-25
SLIDE 25

A substitution θ is a set of pairings of variables vi with terms ti: 
 θ = {v1/t1, v2/t2, v3/t3, …, vn/ tn}

  • Each variable vi is distinct
  • ti can be any term (variable, constant,

function), as long as it does not contain vi directly or indirectly

  • NB: the order of variables in θ doesnʼt matter

{x/y, y/f(a)} = {y/f(a), x/y} = {x/f(a), y/f(a)}

  • Substitutions
slide-26
SLIDE 26

Are these 
 acceptable substitutions?

{x/y} {x/y, z/F(y)} {x/y, z/F(y), x/A} {x/y, z/F(y), y/A} {x/y, y/F(z), z/G(x)} Yes Yes NO: x appears twice Yes NO: z/F(z) not allowed

slide-27
SLIDE 27

Universal instantiation

We can replace a universally quantified variable with any ground term:


  • ∀x ψ(x)

────────── (UI) SUBST({x/a}, ψ) Hence: ∀x (man(x) ⟶ mortal(x)) ────────────── (UI) SUBST({x/s’}, man(x) ⟶ mortal(x)) = man(s’) ⟶ mortal(s’)

27

CS440/ECE448: Intro AI

slide-28
SLIDE 28

Existential instantiation

We can replace a existentially quantified variable with a new ground term:

  • ∃x ψ(x)

────────── (EI) SUBST({x/t}, ψ) Condition: t doesn’t appear in ψ or in any other formula in our KB

Hence: ∃x man(x) ────── (EI) man(c’)

28

CS440/ECE448: Intro AI

slide-29
SLIDE 29

Propositionalization

If we have a finite domain, we can use UI and EI to eliminate all variables.

  • KB: ∀x [(student(x) ∧ inClass(x)) ⟶ sleep(x)]

student(Mary) professor(Julia) Propositionalized KB: 
 (student(Mary) ∧ inClass(Mary)) ⟶ sleep(Mary) (student(Julia) ∧ inClass(Julia)) ⟶ sleep(Julia) etc.

…this is not very efficient....

  • 29

CS440/ECE448: Intro AI

slide-30
SLIDE 30

Propositionalization

If we can reduce A ⊨ B to propositional resolution, A ⊨ B is decidable.

  • We cannot reduce A ⊨ B to propositional

resolution if they contain functions or equality.

  • 30

CS440/ECE448: Intro AI

slide-31
SLIDE 31

Direct (lifted) inference in predicate logic:
 will it work?

slide-32
SLIDE 32

Some fragments of FOL 
 are decidable

  • Can we prove whether A ⊨ B?
  • If both A and B belong to the same

decidable fragment of FOL, 
 any sound and complete inference procedure will terminate 
 (and tell us whether A ⊨ B)

  • 32

CS440/ECE448: Intro AI

slide-33
SLIDE 33

Which fragment of FOL
 does φ belong to?

Every WFF in FOL can be translated to prenex conjunctive normal form.

  • Prenex form:

All quantifiers are at the front of the formula

  • Conjunctive Normal Form:

A conjunction of clauses.

  • Depending on the form of the clauses in the CNF
  • f A, B, A ⊨ B may be decidable.

33

CS440/ECE448: Intro AI

slide-34
SLIDE 34

Prenex normal form

Every well-formed formula in FOL has an equivalent prenex normal form, 
 in which all the quantifiers are at the front.

  • ∀x∃y∃z∀w φ(x,y,z,w)

φ(x,y,z,w) (the ʻmatrixʼ) does not contain any quantifiers.

34

CS440/ECE448: Intro AI

slide-35
SLIDE 35

We can move quantifiers 


  • utside of connectives


 We already saw: ∀xP(x) ∧ ∀yQ(y) ≡ ∀x∀y [P(x) ∧ Q(y)] ∀xP(x) ∨ ∀yQ(y) ≡ ∀x∀y [P(x) ∨ Q(y)] ∃xP(x) ∧ ∃yQ(y) ≡ ∃x∃y [P(x) ∧ Q(y)] ∃xP(x) ∨ ∃yQ(y) ≡ ∃x∃y [P(x) ∨ Q(y)]

  • 35
slide-36
SLIDE 36

Equivalences: 
 alphabetic variants

We can move quantifiers to the front, e.g.: ∃xP(x) ∧ ∃yQ(y) ≡ ∃x∃y [P(x) ∧ Q(y)] but we cannot ʻmergeʼ them: ∃xP(x) ∧ ∃xQ(x) ≢ ∃x [P(x) ∧ Q(y)] To avoid clashes, we first rename bound variables to any other new (unbound) variable: ∃xP(x) ∧ ∃xQ(x) ≡ ∃xP(x) ∧ ∃yQ(y) ∃yQ(y) is an alphabetic variant of ∃xQ(x)

36

CS440/ECE448: Intro AI

slide-37
SLIDE 37

We can move quantifiers 


  • utside of connectives

If x is not free in φ: φ ∧∀x ψ(x) ≡ ∀x[φ ∧ ψ(x)] φ ∧∃x ψ(x) ≡ ∃x[φ ∧ ψ(x)] φ ∨∀x ψ(x) ≡ ∀x[φ ∨ ψ(x)] φ ∨∃x ψ(x) ≡ ∃x[φ ∨ ψ(x)] φ →∀x ψ(x) ≡ ∀x[φ → ψ(x)] φ →∃x ψ(x) ≡ ∃x[φ → ψ(x)]

  • 37

CS440/ECE448: Intro AI

slide-38
SLIDE 38

We can move quantifiers 


  • utside of negation
  • Not all x are ψ = (At least) one x is not ψ

¬ [∀x ψ(x)] ≡ ∃x[¬ ψ(x)] No x is ψ = All x are not ψ ¬ [∃x ψ(x)] ≡ ∀x [¬ ψ(x)]

  • 38

CS440/ECE448: Intro AI

slide-39
SLIDE 39

Gold medal winners have not played against anybody who beat all other players.

∀x[g(x) → ¬∃y[p(y,x) ∧∀z b(y,z)]]

≡ ∀x[g(x) →∀y ¬ [p(y,x) ∧∀z b(y,z)]] ≡ ∀x[g(x) →∀y[¬ p(y,x) ∨ ¬∀z b(y,z)]] ≡ ∀x[g(x) →∀y[¬ p(y,x) ∨∃z ¬ b(y,z)]] ≡ ∀x∀y [g(x) → [¬ p(y,x) ∨∃z ¬ b(y,z)]] ≡ ∀x∀y [g(x) → ∃z [¬ p(y,x) ∨ ¬ b(y,z)]]

≡ ∀x∀y∃z [g(x) → [¬ p(y,x) ∨ ¬ b(y,z)]]

≡ ∀x∀y∃z [g(x) → [p(y,x) → ¬ b(y,z)]]

= Everybody that a gold medal winner played against has not beaten (=has drawn or lost against) somebody.

  • 39

CS440/ECE448: Intro AI

slide-40
SLIDE 40

Normal forms for FOL

Conjunctive normal form: a conjunction of clauses.
 (φ1∨…∨φn) ∧ …∧ (φ’1∨…∨φ’m)

  • Clause: a disjunction of an arbitrary number of

positive or negative literals. (φ1∨ ¬φ2 ∨ φ3∨ ¬φ4) Literal: a (negated) predicate and its arguments likes(x, John’) ¬likes(John’, motherOf(Mary)) ¬student(x)

40

CS440/ECE448: Intro AI

slide-41
SLIDE 41

Fragments of FOL

Definite clause: exactly one positive literal Facts: ψ Implications: ¬φ1∨…∨ ¬φn ∨ ψ ≡ [(φ1∧…∧φn)→ ψ] Horn clause: at most one positive literal. All definite clauses, plus (resolution) queries: ¬ψ

  • Clauses: arbitrary number of positive literals

All Horn clauses, plus any disjunction, e.g φ ∨ ψ

  • 41

CS440/ECE448: Intro AI

slide-42
SLIDE 42

Inference algorithms for FOL

Forward chaining: Complete for definite clauses.

  • Resolution:

Refutation-complete for CNF. (Resolution will derive a contradiction if a set

  • f sentences is not satsifiable).
  • The resolution of two Horn clauses yields

another Horn clause.

42

CS440/ECE448: Intro AI

slide-43
SLIDE 43

Prerequisites 
 for lifted inference: 
 Skolemization and Unification

slide-44
SLIDE 44

Prerequisites for lifted inference

We cannot interpret open formulas, but we need to deal with quantified variables.

  • Existentially quantified variables:

replace by ground terms (Skolemization)

  • Universally quantified variables:

match with other universally quantified variables or ground terms (unification)

slide-45
SLIDE 45

Existentially quantified variables

If ∀x ∃y R(x,y) is valid in our model, then:
 
 For any way of instantiating x there is a way to instantiate y such that “R” holds between them.

  • Since y can depend on x, we replace all
  • ccurrences of y by a new function of x, F(x). 


We assume F(x) evaluates to the value which makes R(x,F(x)) true. ∀x ∃y R(x,y) is equivalent to ∀x R(x,F(x))

  • 45
slide-46
SLIDE 46

Skolemization: remove existentially quantified variables

Replace any existentially quantified variable ∃x that is in the scope of universally quantified variables ∀y1…∀yn with a new function F(y1,…,yn) (a Skolem function) Replace any existentially quantified variable ∃x that is not in the scope of any universally quantified variables with a new constant c (a Skolem term)

46

CS440/ECE448: Intro AI

slide-47
SLIDE 47

The effect of Skolemization

∀x ∀y ∃w ∀z Q(x, y, w, z, G(w, x)) is equivalent to ∀x ∀y ∀z Q(x, y, P(x, y), z, G(P(x, y), x)) where P is the Skolem function for w. NB: the Skolem function is a function, 
 so this is not decidable anymore.

  • 47

CS440/ECE448: Intro AI

slide-48
SLIDE 48

Modus ponens

With propositionalization:

∀x human(x) ⟶ mortal(x) human(s’)

─────────────── (UI) human(s’) ⟶ mortal(s’) ──────────────────────── (MP) mortal(s’)

  • How can we match human(s’) and


∀x human(x) ⟶ mortal(x) directly?

48

CS440/ECE448: Intro AI

slide-49
SLIDE 49

A substitution θ is a set of pairings of variables vi with terms ti: 
 θ = {v1/t1, v2/t2, v3/t3, …, vn/ tn}

  • Each variable vi is distinct
  • ti can be any term (variable, constant,

function), as long as it does not contain vi directly or indirectly

  • NB: the order of variables in θ doesnʼt matter

{x/y, y/f(a)} = {y/f(a), x/y} = {x/f(a), y/f(a)}

  • Substitutions
slide-50
SLIDE 50

Unification

Two sentences φ and ψ unify to σ
 (UNIFY(φ, ψ) = σ)
 if σ is a substitution such that 
 SUBST(σ,φ) = SUBST (σ,ψ). Example:

UNIFY(like(x, M’), like(C’,y)) ={x/C’, y/M’}

slide-51
SLIDE 51

Unification

A set of sentences φ1,…φn unify to σ if for all i≠j: SUBST(σ,φi) = SUBST (σ, φj). σ is the unifier of φ1,…φn SUBST(σ,φi) is a unification instance.

slide-52
SLIDE 52

Standardizing apart

Unification is not well-behaved if φ and ψ contain the same variable:

  • UNIFY(like(x, M’), like(C’,x)): fail.

We need to standardize φ and ψ apart 
 (rename this variable in one term):

  • UNIFY(like(x, M’), like(C’,y)) = {x/C’, y/M’}

to yield like(C’,M’)

  • 52

CS440/ECE448: Intro AI

slide-53
SLIDE 53

Do these unify?


(Single lower case letters are variables)

UNIFY(P(x,y,z), P(w, w, Fred)) σ = {x=Fred, y=Fred, z=Fred, w=Fred} Equivalently: σ’ = {x=Fred, w=y, z=Fred , y=x} Both yield P(Fred,Fred,Fred)

slide-54
SLIDE 54

Are there others?

UNIFY(P(x,y,z), P(w, w, Fred)) σ = {x=Mary, y=Mary, z=Fred, w=Mary} Equivalently: σ’ = {x=Mary, w=y, z=Fred , y=x} Both yield P(Mary, Mary, Fred)

slide-55
SLIDE 55

Most General Unifier (MGU)

σ is the most general unifier (MGU) of φ and ψ 
 if it imposes the fewest constraints.
 


The MGU of φ and ψ is unique. 


(modulo alphabetic variants, i.e. different variable names)


 Applying the MGU to an expression yields a most general unification instance.

We often define UNIFY(φ, ψ) to return MGU(φ, ψ)

slide-56
SLIDE 56

What is the MGU?

MGU(P(x,y,z), P(w,w,Fred)) σ ={x=w, y=w, z=Fred} yields P(w,w,Fred) Equivalently, σ ={x=u, y=u, w=u, z=Fred} yields the alphabetic variant P(u,u,Fred)

slide-57
SLIDE 57

What is the MGU?

MGU( m(Ann, x, Bob), m(Ann, x, Bob) ): m(Ann, x, Bob) MGU( m(Ann, x, Bob), m(y, x, Chuck) ): fail. MGU( m(Ann, x, Bob), m(y, x, Father-of(Chuck) ): fail. MGU( p(w, w, Fred) , p(x, y, y) ): p(Fred, Fred, Fred) MGU( q(r, r), q(x, F(x)) ): fail MGU( r(g(x,Bob),y, y), r(z,g(Fred,w),z) ): r(g(x,Bob), g(Fred,w), g(Fred(w)))

slide-58
SLIDE 58

To conclude…

slide-59
SLIDE 59

Todayʼs key concepts

Semantics of first-order logic:

Models for FOL


  • Inference with first-order logic:

Propositionalization 
 (Universal elimination and existential elimination)


  • Dealing with variables:

prenex normal form, unification and skolemization

  • To do: read Ch.9.1-3
  • 59

CS440/ECE448: Intro AI