1 Inference in First Order Logic CS 171/271 (Chapter 9) Some text and images in these slides were...

Post on 18-Jan-2016

213 views 0 download

Tags:

Transcript of 1 Inference in First Order Logic CS 171/271 (Chapter 9) Some text and images in these slides were...

1

Inference in First Order Logic

CS 171/271(Chapter 9)

Some text and images in these slides were drawn fromRussel & Norvig’s published material

2

Inference Algorithms Reduction to Propositional

Inference Lifting and Unification Chaining Resolution

3

Propositionalization Strategy: convert KB to

propositional logic and then use PL inference

Ground atomic sentences become propositional symbols

What about the quantifiers?

4

Example KB in FOL:

x King(x) Greedy(x) Evil(x) King(John) Greedy(John) Brother(Richard,John)

The last 3 sentences can be symbols in PL

Apply Universal Instantiation to the first sentence

5

Universal Instantiation UI says that from a universally quantified

sentence, we can infer any sentence obtained by substituting a ground term for the variable

Back to Example From: x King(x) Greedy(x) Evil(x) To:

King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) …

6

Issue with UI Ground terms: all symbols that refer to

objects as well as function applications (recall that function applications return objects)

For example, suppose Father is a function: Father(John) and Father(Richard) are also

objects/ground terms But so are Father(Father(John)) and

Father(Father(Father(John))) Infinitely many ground terms/instantiations

7

Existential Instantiation Whenever there is a sentence, x P,

introduce a new object symbol called the skolem constant and then add the unquantified sentence P, substituting the variable with that constant

Example: From: x Crown(x) OnHead(x, John) To: Crown(Cnew) OnHead(Cnew, John)

8

Substitution UI and EI apply substitutions A substitution is represented by a variable

v and a ground term g; {v/g} Can have sets of these pairs if there are more

variables involved Let be a sentence (possibly containing v) SUBST( {v/g}, ) stands for the

sentence that applies the substitution to

9

UI and EI Defined UI:

v α ___ for any ground term g SUBST({v/g}, α)

EI: v α ___ for some constant symbol

k not SUBST({v/k}, α) yet in the knowledge base

10

Back to Propositionalization Given a KB in FOL, convert KB to PL by

1. applying UI and EI to quantified sentences2. converting atomic sentences to symbols

If there are no functions (Datalog KB), UI application does not result in infinitely many sentences

Regular PL Inference can now be carried out without problems

What if there are functions?

11

Dealing with Infinitely Many Ground Terms Can set a depth-limit for ground terms

Depth specifies levels of function nesting allowed

Carry out reduction and inference process for depth 1, then 2, then 3, …

Stop when entailment can be concluded This works if there is such a proof, but goes

into an endless loop if there is not The strategy is complete The entailment problem in this sense is

semidecidable

12

Inefficiencies in Propositionalization An inordinate number of irrelevant

sentences may be generated, resulting from UI

This motivates generating only those sentences that are important in entailment

13

Example Suppose KB contains:

x King(x) Greedy(x) Evil(x) y Greedy(y) King(John)

Suppose we want to conclude Evil(John) Because of the existence of objects

other than John (such as Richard) and the existence of functions, UI will generate many sentences

14

Example, continued It is sufficient to generate:

King(John) Greedy(John) Evil(John) Greedy(John)

Which is just: SUBST( {x/John}, King(x) Greedy(x) Evil(x) ) SUBST( {y/John}, Greedy(y) )

Applying the substitution matches the Premises: King(x) Greedy(x) With other sentences in the KB:

Greedy(y), King(John)

15

Lifted Modus Ponens Lifting: Raising propositional inference

rules to first order logic Example: Generalized Modus Ponens

If there is a substitution θ, such thatSUBST(θ, pi) = SUBST(θ, pi’) for all i, then

p1', p2', … , pn’, ( p1 p2 … pn q)_______________________________________________________________________________

SUBST(θ,q) In our example, = {x/John, y/John}

16

Unification Process that makes logical

expressions identical Goal: match the premises of

implications so that conclusions can be derived

UNIFY algorithm takes two sentences and returns a unifier (substitution) if it exists

17

Unification Algorithm

18

Unification Algorithm

19

About UNIFY UNIFY returns a Most General

Unifier (MGU) There are efficiency issues with

OCCUR-CHECK function May need to standardize apart:

rename variables to avoid name clashes

Unification is a key component of all first-order algorithms

20

What’s Next? Forward and backward chaining

algorithms for FOL that use unification

Resolution-based theorem proving systems