- 49 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Automated Reasoning Systems' - shannon-mcleod

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Automated Reasoning Systems

### Backward Reasoning Resolution

### A deeper study:

### AR for ground Horn clause logic

For first order Predicate Logic

Is F a logical consequence of T ?

AR: general context.- Given is a knowledge base in predicate logic: T

- is a set of formulae in first order logic
- formally also called: a “Theory’’

- Given is also an additional first order formula: F

- Notation: T |=F (T implies F)
- Find reasoning techniques that allow to decide on this for EACH F and T.
- Requirements:
- correctness -- completeness -- efficiency

There CANNOT EXIST AN ALGORITHMthat decides whether T|=F, for any theory T and any formula F.

- There exists a reasoning technique, such that for any theory T and formula F, such that T|=F, the reasoning technique provesT |= F.

- Theorem Church ‘36:

- BUT: semi-decidable !
- Completeness Theorem of Goedel ‘31:

- SO: if F follows from T, then we find a proof, else it is possible that the procedure doesn’t terminate.

The theorems of Church and Goedel are contradicting: We can try to prove F and ~F in parallel, and according to Goedel’s theorem one of these must succeed after a finite time.

Wait a second ...- Wrong !
- Let: T ={smart(Kelly)} en F =strong(Kelly)
- Although strong(Kelly) ~strong(Kelly) is always true, we have:
- neither: {smart(Kelly)} |= strong(Kelly)
- nor: {smart(Kelly)} |= ~strong(Kelly)

AR: general outline (1).

- First we sketch the most generally used approach for automated reasoning in first-order logic:

- The different technical componentswill only be explained in full detail in a second pass (outline (2)).

AR: general outline (2) .

- We study different subsets of predicate logic:

- Horn clause logic
- Clausal logic
- full predicate logic

- In each case we study semi-deciding procedures.
- Each extension requires the introduction of new techniques.

… in a nutshell

- 1) Proof by inconsistency.
- 2) Conversion to clausal form.
- 3) Unification.
- 4) The resolution step.
- 5) (Backward) resolution proofs.

p= parent

f= father

r= rich

q= old

z ~ q(z)

y p(f(y))

x p(x) q(x) r(x)

F

- In this world, is always true ?

u r(f(u))

0) The TASK (example):- Are axioms: describe knowledge about some world.

- How to prove such theorems in general?

- Don’t prove F directly:

u r(f(u))

- NEW TASK:

~ u r(f(u))

z ~ q(z)

y p(f(y))

x p(x) q(x) r(x)

- is inconsistent.

- But add the negation of F to the axioms and prove that this extension is inconsistent.

- the 4 axioms are never true in 1 same interpretation.

Each set of axioms can be transformed into a new set of formulae, that contains only formulae of the form:

xy…zp(…) q(…) …r(…) t(…) s(…) … u(…)

2) Clausal form:= Normalize the formulae to a (more simple) standard form.

- only left; only right
- no ~ ; no

which is inconsistentif and only ifthe original set was inconsistent.

Notice: “x y … z“can be dropped.

z false q(z)

x q(x) r(x) p(x)

Example:- ~ u r(f(u))

- z ~ q(z)

- y p(f(y))

: is already in clausal form: ( P P true)

- x p(x) q(x) r(x)

Ps: usually requires much more work!

- Ex.: x must become: f(A)
- g(x) must become: g(f(A))
- y must become: g(f(A))

p(f(A), g(f(A)))

3) Unification:- Given 2 atomic formulae:

- find their most general common instance.

- Most general unifier (mgu) : x -> f(A)
- y -> g(f(A))

Modus ponens

P Q

P

Q

P Q

~Q

~P

Q P

P true

Q true

Q P

false Q

false P

Resolution

P1 P2 … PnQ1 ... Qm

R1 … Rk P1 S1 … Sl

P2 … Pn R1 … RkQ1 ... Qm S1 … Sl

4) The resolution step- Proposition logic:

r(z) p(B,z)

r(f(A)) q(g(B))

mgu(p(x,f(A)),p(B,z)) =

x-> B

z-> f(A)

De resolutie step (2):- Predicate logic:
- Example:

= mgu applied tor(z) q(g(x))

Clauses on which resolution is performed

must not have any variables in common.

select 2 of them, for which resolution is possible

AND inconsistency of the original set

AND that F was implied by T

5) Resolution proofs:- In order to prove a set of clauses inconsistent:

- apply resolution and add the result to the set
- if you obtain the clause false : STOP !

This means inconsistency of the last set

false r(f(u))

x -> f(u)

q(f(u)) p(f(u))

false q(z)

z -> f(u)

false p(f(u))

p(f(y))

y -> u

false

Example:So: inconsistent !

Modus ponens

Horn Logic

Unification

Clausal Logic

Resolution

Full Predicate Logic

Normalization

All formulae in T are of the form:

- x1 … xk A B1 B2 … Bn

- where A, B1, B2,…,Bn are atoms.
- An atom is a formula of the form p(t1,…,tm), with p a predicate symbol and t1,…,tm terms.
- Horn clause formulae are universally quantified over all variables that occur in them.
- B1,…,Bn are called body-atoms of the Horn clause; A is the head of the Horn clause.
- n may be 0: in this case we say that the Horn clause is a fact.

In Horn clause logic, we limit ourselves to prove formulae F of the form:

- where B1, B2, …, Bn are again atoms.

x1 … xk B1 B2 … Bn

Wich kind of formulaecan we prove?- All variables are existentially quantified !

A very simple example:

- Bosmans is a showmaster (1)
- Showmasters are rich (2)
- Rich people have big houses (3)
- Big houses need a lot of maintenance (4)

- Goal: automatically deduce that Bosmans’ house needs a lot of maintenance.

Representation in Horn logica:

- Bosmans is a showmaster (1)
- Showmasters are rich (2)
- Rich people have big houses (3)
- Big houses need a lot of maintenance (4)
- To prove:

showmaster(Bosmans)

p rich(p) showmaster(p)

p big(house(p)) rich(p)

p lot_maint(house(p)) big(house(p))

Lot_maint(house(Bosmans))

Backward reasoning proof procedures based on generalized Modus Ponens

So, for now: Horn clauses without variables:

- Example:

showmaster(Bosmans)

rich(Bosmans) showmaster(Bosmans)

big(house(Bosmans)) rich(Bosmans)

lot_maint(house(Bosmans)) big(house(Bosmans))

- Prove:

lot_maint(house(Bosman))

Restricting to groundHorn clauses:3 applications of modus ponens:

showm(Bos)

rich(Bos) showm(Bos)

rich(Bos)

big(house(Bos)) rich(Bos)

big(house(Bos))

lot_maint(house(Bos)) big(house(Bos))

lot_maint(house(Bos))

- gives the desired conclusion.

B

A B

For any interpretation making both B and A B true(= any model of {B , A B} )

A

Modus ponens in AR:A is also true in this interpretation (see truth tables)

- Problem: how to organize this into a procedure which is also complete(for ground Horn clauses)?

Let T be a theory and F a formula.

T implies Fif and only if T {~F} is inconsistent.

Inconsistency:- A theory T is inconsistent if it has NO model.

- Proof:

T implies F iff Each model of T makes F true

iff Each model of T makes ~F false

iffT {~F} has no model

iffT {~F} is inconsistent

The extended example:

showm(Bos)

belg(Bos)

european(Bos) belg(Bos)

rich(Bos) showm(Bos) european(Bos)

big(house(Bos)) rich(Bos)

lot_maint(house(Bos)) big(house(Bos))

~ lot_maint(house(Bos))

- is inconsistent.

- Problem: this is NOT a Horn clause theory !?

We introduce a new predicate symbol:

false

Refutation proofs:the “false” predicate- We agree that false has the truth value ‘false’ under every interpretation.
- Imagine that we defined false as : false p ~p for some predicate p

In the Horn logic setting F has the form:

x1 … xm B1 B2 … Bn

“definite” goals:- So what is the form of ~F?

- ~(x1 … xm B1 B2 … Bn)
- x1 … xm ~(B1 B2 … Bn)
- x1 … xm false ~(B1 B2 … Bn)
- x1 … xm false B1 B2 … Bn

A ~B A B

- Observe: ~F is again a Horn clause !!

The extended theory (to be proven inconsistent) now is:

showm(Bos)

belg(Bos)

european(Bos) belg(Bos)

rich(Bos) showm(Bos) european(Bos)

big(house(Bos)) rich(Bos)

lot_maint(house(Bos)) big(house(Bos))

false lot_maint(house(Bos))

Back to the example- a ground Horn clause theory !

Bi C1 C2 … Cm

A B1 B2 … C1 C2 … Cm … Bn

Modus ponensgeneralized:- Ordinary Modus ponens is the special case with:
- n = i = 1 and m =0
- Correctness: via truth tables

lot_maint(house(Bos)) big(house(Bos))

false big(house(Bos))

big(house(Bos)) rich(Bos)

Some backward reasoning steps in the example:- and so on ...

false big(house(Bos))

false rich(Bos)

Convert F into a definite goal:

false B1 B2 … Bi … Bn

- until: is deduced.

false

we have proven inconsistency ofT {~F}

The backward procedure:the idea- Apply generalized modus ponens to the body-atoms Bi of the goal, using the Horn clauses of T

- Then: a false formula ia a consequence of T {~F}

Goal := false B1 B2 … Bn;

Repeat

Select someBiatom from the body of Goal

Select some clauseBi C1 C2 … CmfromT

ReplaceBiin the body of Goal byC1 C2 … Cm

UntilGoal = false or no more Selections possible

Backwards procedure- On top of this you need to apply backtracking over the selected clauses and the selected body atoms.
- If the algorithm stops because it has tried all these alternatives: F was not implied!

Back to the example

Step 0: Goal :=false lot_maint(house(Bos))

select: lot_maint(house(Bos)) big(house(Bos))

Step 1: Goal :=false big(house(Bos))

select: big(house(Bos)) rich(Bos)

Step 2: Goal :=false rich(Bos)

select: rich(Bos) showm(Bos) european(Bos)

Step 3: Goal :=false showm(Bos) european(Bos)

select:showm(Bos)

Step 4: Goal :=false european(Bos)

select:european(Bos) belg(Bos)

Step 5: Goal :=false belg(Bos)

select: belg(Bos)

Step 6: Goal :=false

q t

q s

r n

r o

s

o

n

Another example (propositional)- Prove: p
- Observe: non-determinism on both atom selection and on clause selection !
- we only illustrate the clause selection here

false t r

false s r

false r

false n

false o

false

false

Search tree traversed bythe backward procedurefalse p

p q r

q t

q s

r n

r o

s

o

n

The backwardprocedure is efficient

- The proof is goal directed towards the theorem.
- no exploration of irrelevant rules
- Different search methodescan be used to traverse this search tree.
- Atom-selection may influence efficiency too:
- ex.: by detecting a failing branch sooner
- but has no impact on whether or not we find a solution

(in case there are only finitely many ground Horn clauses)

(1)

false p

false

(1)

false p

(1)

……

Completeness:- Example:

false p

p p(1)

p (2)

- Possible derivations:

false p

- Is only complete if the search tree is traversed using a complete search method.

showm(Bos) showm_Bos

big(house(Bos)) big_house_Bos

Representation-power of ground Horn clauses- Is a subset of propositional logic.

- In general, more expressive logics are needed.
- Essence: with variables, one formula may be equivalent to a very large number of propositional formulae.

Download Presentation

Connecting to Server..