For Wednesday Read chapter 10 Prolog Handout 4. Exam 1 Monday Take home due at the exam.

Slides:



Advertisements
Similar presentations
Artificial Intelligence 8. The Resolution Method
Advertisements

Resolution Proof System for First Order Logic
Inference Rules Universal Instantiation Existential Generalization
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Resolution.
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
We have seen that we can use Generalized Modus Ponens (GMP) combined with search to see if a fact is entailed from a Knowledge Base. Unfortunately, there.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
For Friday No reading Homework: –Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants.
Logic Use mathematical deduction to derive new knowledge.
13 Automated Reasoning 13.0 Introduction to Weak Methods in Theorem Proving 13.1 The General Problem Solver and Difference Tables 13.2 Resolution.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Logic CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Resolution in Propositional and First-Order Logic.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
For Friday Finish chapter 10 No homework (get started on program 2)
For Monday Take home exam due Exam 1. For Wednesday Read chapter 10, sections 1-2 Prolog Handout 4.
RESOLUTION: A COMPLETE INFERENCE PROCEDURE. I Then we certainly want to be able to conclude S(A); S(A) is true if S(A) or R(A) is true, and one of those.
Resolution Theorem Prover in First-Order Logic
For Friday Read “lectures” 1-5 of Learn Prolog Now: prolog-now/
COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of Monash University.
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
Formal Logic Proof Methods Direct Proof / Natural Deduction Conditional Proof (Implication Introduction) Reductio ad Absurdum Resolution Refutation.
Inference in FOL Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 9 Spring 2004.
1 Automated Reasoning Introduction to Weak Methods in Theorem Proving 13.1The General Problem Solver and Difference Tables 13.2Resolution Theorem.
Inference and Resolution for Problem Solving
Inference in First Order Logic
Methods of Proof Chapter 7, second half.
Knoweldge Representation & Reasoning
Chapter 3 Propositional Logic
Artificial Intelligence
1 Inference in First Order Logic Some material adopted from notes by Tim Finin, Andreas Geyer-Schulz, and Chuck Dyer.
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Propositional Logic Reasoning correctly computationally Chapter 7 or 8.
INFERENCE IN FIRST-ORDER LOGIC IES 503 ARTIFICIAL INTELLIGENCE İPEK SÜĞÜT.
Logical Inference 3 resolution
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
For Friday Exam 1. For Monday No reading Take home portion of exam due.
Inference in First-Order logic Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
Conjunctive normal form: any formula of the predicate calculus can be transformed into a conjunctive normal form. Def. A formula is said to be in conjunctive.
1 Chapter 8 Inference and Resolution for Problem Solving.
Logical Inference 2 rule based reasoning
Logical Agents Logic Propositional Logic Summary
1 Knowledge Representation. 2 Definitions Knowledge Base Knowledge Base A set of representations of facts about the world. A set of representations of.
For Wednesday No new reading Prolog handout 2 Chapter 9, exercise 4.
For Wednesday Read “lectures” 7-10 of Learn Prolog Now Chapter 9, exs 4 and 6. –6 must be in Horn clause form Prolog Handout 2.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
For Friday No new reading Logic and Resolution Homework.
For Monday Read “lectures” 6,9-12 of Learn Prolog Now: saarland.de/~kris/learn-prolog-now/ saarland.de/~kris/learn-prolog-now/
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Automated Reasoning Early AI explored how to automate several reasoning tasks – these were solved by what we might call weak problem solving methods as.
C. Varela1 Logic Programming (PLP 11) Predicate Calculus, Horn Clauses, Clocksin-Mellish Procedure Carlos Varela Rennselaer Polytechnic Institute November.
For Wednesday Finish reading chapter 10 – can skip chapter 8 No written homework.
For Monday Exam 1 is Monday Takehome due Prolog Handout 3 due.
For Friday No reading Prolog Handout 2. Homework.
For Wednesday No reading Prolog handout 2 Chapter 9, exercise 4.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
For Wednesday No reading Homework: –Chapter 8, exercise 24.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
For Friday No reading Prolog handout 3 Chapter 9, exercises 9-11.
For Wednesday Read “lectures” 7-10 of Learn Prolog Now:
For Monday Read Prolog handout 4 Homework:
For Monday Read chapter 10, sections 1-3 Prolog handout 4
Logic Use mathematical deduction to derive new knowledge.
Artificial Intelligence
Methods of Proof Chapter 7, second half.
RESOLUTION.
Resolution Proof System for First Order Logic
Presentation transcript:

For Wednesday Read chapter 10 Prolog Handout 4

Exam 1 Monday Take home due at the exam

Try It reverse(List,ReversedList) evenlength(List) oddlength(List)

The Anonymous Variable Some variables only appear once in a rule Have no relationship with anything else Can use _ for each such variable

Arithmetic in Prolog Basic arithmetic operators are provided for by built-in procedures: +, -, *, /, mod, // Note carefully: ?- X = X = ?- X is X = 3

Arithmetic Comparison Comparison operators: > = =< (note the order: NOT <=) =:=(equal values) =\=(not equal values)

Arithmetic Examples Retrieving people born : ?- born(Name, Year), Year >= 1950, Year =< Difference between = and =:= ? =:= yes ? = no ?- 1 + A = B + 2. A = 2 B = 1

Length of a List Definition of length/2 length([], 0). length([_ | Tail], N) :- length(Tail, N1), N is 1 + N1. Note: all loops must be implemented via recursion

Counting Loops Definition of sum/3 sum(Begin, End, Sum) :- sum(Begin, End, Begin, Sum). sum(X, X, Y, Y). sum(Begin, End, Sum1, Sum) :- Begin < End, Next is Begin + 1, Sum2 is Sum1 + Next, sum(Next, End, Sum2, Sum).

The Cut (!) A way to prevent backtracking. Used to simplify and to improve efficiency.

Negation Can’t say something is NOT true Use a closed world assumption Not simply means “I can’t prove that it is true”

Dynamic Predicates A way to write self-modifying code, in essence. Typically just storing data using Prolog’s built-in predicate database. Dynamic predicates must be declared as such.

Using Dynamic Predicates assert and variants retract –Fails if there is no clause to retract retractall –Doesn’t fail if no clauses

Resolution Propositional version. {a  b, ¬b  c} |- a  c OR {¬a  b, b  c} |- ¬a  c Reasoning by cases OR transitivity of implication First­order form –For two literals p j and q k in two clauses p 1 ... p j...  p m q 1 ... q k...  q n such that  =UNIFY(p j, ¬q k ), derive SUBST( , p 1 ...p j­1  p j+1...  p m  q 1 ...q k­1 q k+1...  q n )

Implication form Can also be viewed in implicational form where all negated literals are in a conjunctive antecedent and all positive literals in a disjunctive conclusion. ¬p 1 ...  ¬p m  q 1 ...  q n  p 1 ...  p m  q 1 ...  q n

Conjunctive Normal Form (CNF) For resolution to apply, all sentences must be in conjunctive normal form, a conjunction of disjunctions of literals (a 1 ...  a m )  (b 1 ...  b n ) .....  (x 1 ...  x v ) Representable by a set of clauses (disjunctions of literals) Also representable as a set of implications (INF).

Example Initial CNF INF P(x)  Q(x) ¬P(x)  Q(x) P(x)  Q(x) ¬P(x)  R(x) P(x)  R(x) True  P(x)  R(x) Q(x)  S(x) ¬Q(x)  S(x) Q(x)  S(x) R(x)  S(x) ¬R(x)  S(x) R(x)  S(x)

Resolution Proofs INF (CNF) is more expressive than Horn clauses. Resolution is simply a generalization of modus ponens. As with modus ponens, chains of resolution steps can be used to construct proofs. Factoring removes redundant literals from clauses –S(A)  S(A) -> S(A)

Sample Proof P(w)  Q(w) Q(y)  S(y) {y/w} P(w)  S(w) True  P(x)  R(x) {w/x} True  S(x)  R(x) R(z)  S(z) {x/A, z/A} True  S(A)

Refutation Proofs Unfortunately, resolution proofs in this form are still incomplete. For example, it cannot prove any tautology (e.g. P  ¬P) from the empty KB since there are no clauses to resolve. Therefore, use proof by contradiction (refutation, reductio ad absurdum). Assume the negation of the theorem P and try to derive a contradiction (False, the empty clause). –(KB  ¬P  False)  KB  P

Sample Proof P(w)  Q(w) Q(y)  S(y) {y/w} P(w)  S(w) True  P(x)  R(x) {w/x} True  S(x)  R(x) R(z)  S(z) {z/x} S(A)  False True  S(x) {x/A} False

Resolution Theorem Proving Convert sentences in the KB to CNF (clausal form) Take the negation of the proposed theorem (query), convert it to CNF, and add it to the KB. Repeatedly apply the resolution rule to derive new clauses. If the empty clause (False) is eventually derived, stop and conclude that the proposed theorem is true.

Conversion to Clausal Form Eliminate implications and biconditionals by rewriting them. p  q -> ¬p  q p  q ­> (¬p  q)  (p  ¬q) Move ¬ inward to only be a part of literals by using deMorgan's laws and quantifier rules. ¬(p  q) -> ¬p  ¬q ¬(p  q) -> ¬p  ¬q ¬  x p ->  x ¬p ¬  x p ->  x ¬p ¬¬p -> p

Conversion continued Standardize variables to avoid use of the same variable name by two different quantifiers.  x P(x)   x P(x) ->  x 1 P(x 1 )  x 2 P(x 2 ) Move quantifiers left while maintaining order. Renaming above guarantees this is a truth­preserving transformation.  x 1 P(x 1 )  x 2 P(x 2 ) ->  x 1  x 2 (P(x 1 )  P(x 2 ))

Conversion continued Skolemize: Remove existential quantifiers by replacing each existentially quantified variable with a Skolem constant or Skolem function as appropriate. –If an existential variable is not within the scope of any universally quantified variable, then replace every instance of the variable with the same unique constant that does not appear anywhere else.  x (P(x)  Q(x)) -> P(C 1 )  Q(C 1 ) –If it is within the scope of n universally quantified variables, then replace it with a unique n­ary function over these universally quantified variables.  x 1  x 2 (P(x 1 )  P(x 2 )) ->  x 1 (P(x 1 )  P(f 1 (x 1 )))  x(Person(x)   y(Heart(y)  Has(x,y))) ->  x(Person(x)  Heart(HeartOf(x))  Has(x,HeartOf(x))) –Afterwards, all variables can be assumed to be universally quantified, so remove all quantifiers.

Conversion continued Distribute  over  to convert to conjunctions of clauses (a  b)  c -> (a  c)  (b  c) (a  b)  (c  d) -> (a  c)  (b  c)  (a  d)  (b  d) –Can exponentially expand size of sentence. Flatten nested conjunctions and disjunctions to get final CNF (a  b)  c -> (a  b  c) (a  b)  c -> (a  b  c) Convert clauses to implications if desired for readability (¬a  ¬b  c  d) -> a  b  c  d

Sample Clause Conversion  x((Prof(x)  Student(x))   y(Class(y)  Has(x,y))   y(Book(y)  Has(x,y))))  x(¬(Prof(x)  Student(x))   y(Class(y)  Has(x,y))   y(Book(y)  Has(x,y))))  x((¬Prof(x)  ¬Student(x))  (  y(Class(y)  Has(x,y))   y(Book(y)  Has(x,y))))  x((¬Prof(x)  ¬Student(x))  (  y(Class(y)  Has(x,y))   z(Book(z)  Has(x,z))))  x  y  z((¬Prof(x)  ¬Student(x))  ((Class(y)  Has(x,y))  (Book(z)  Has(x,z)))) (¬Prof(x)  ¬Student(x))  (Class(f(x))  Has(x,f(x))  Book(g(x))  Has(x,g(x))))

Clause Conversion (¬Prof(x)  ¬Student(x))  (Class(f(x))  Has(x,f(x))  Book(g(x))  Has(x,g(x)))) (¬Prof(x)  Class(f(x)))  (¬Prof(x)  Has(x,f(x)))  (¬Prof(x)  Book(g(x)))  (¬Prof(x)  Has(x,g(x)))  (¬Student(x)  Class(f(x)))  (¬Student(x)  Has(x,f(x)))  (¬Student(x)  Book(g(x)))  (¬Student(x)  Has(x,g(x))))

Sample Resolution Problem Jack owns a dog. Every dog owner is an animal lover. No animal lover kills an animal. Either Jack or Curiosity killed Tuna the cat. Did Curiosity kill the cat?

In Logic Form A)  x Dog(x)  Owns(Jack,x) B)  x (  y Dog(y)  Owns(x,y))  AnimalLover(x)) C)  x AnimalLover(x)  (  y Animal(y)  ¬Kills(x,y)) D) Kills(Jack,Tuna)  Kills(Cursiosity,Tuna) E) Cat(Tuna) F)  x(Cat(x)  Animal(x)) Query: Kills(Curiosity,Tuna)

In Normal Form A1) Dog(D) A2) Owns(Jack,D) B) Dog(y)  Owns(x,y)  AnimalLover(x) C) AnimalLover(x)  Animal(y)  Kills(x,y)  False D) Kills(Jack,Tuna)  Kills(Curiosity,Tuna) E) Cat(Tuna) F) Cat(x)  Animal(x) Query: Kills(Curiosity,Tuna)  False

Resolution Proof