CSCI 5582 Artificial Intelligence Lecture 11 Jim Martin CSCI 5582 Fall 2006 Today 10/3 Review Model Checking/Wumpus CNF WalkSat

Break Start on FOL CSCI 5582 Fall 2006 Review Propositional logic provides Propositions that have Truth values and Logical connectives that allow a Compositional Semantics and Inference

CSCI 5582 Fall 2006 Models Models are formally structured worlds with respect to which truth can be evaluated. m is a model of a sentence if is true in m M() is the set of all models of

CSCI 5582 Fall 2006 Wumpus world model CSCI 5582 Fall 2006 Wumpus world model CSCI 5582 Fall 2006 Wumpus world model

CSCI 5582 Fall 2006 Wumpus world model CSCI 5582 Fall 2006 Wumpus world model CSCI 5582 Fall 2006 Wumpus world model

CSCI 5582 Fall 2006 Effective propositional inference Two families of efficient algorithms for propositional inference based on model checking: Are used for checking satisfiability Complete backtracking search algorithms DPLL algorithm (Davis, Putnam, Logemann, Loveland) Incomplete local search algorithms

WalkSAT algorithm CSCI 5582 Fall 2006 Conversion to CNF B1,1 (P1,2 P2,1)

Eliminate , replacing with ( )( ). (B1,1 (P1,2 P2,1)) ((P1,2 P2,1) B1,1) Eliminate , replacing with . (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1) Move inwards using de Morgan's rules and doublenegation: (B1,1 P1,2 P2,1) ((P1,2 P2,1) B1,1)

Apply distributivity law ( over ) and flatten: (B1,1 P1,2 P2,1) (P1,2 B1,1) (P2,1 B1,1) CSCI 5582 Fall 2006 The DPLL algorithm Determine if an input propositional logic sentence (in CNF) is satisfiable

by assigning values to variables. 1. Pure symbol heuristic Pure symbol: always appears with the same "sign" in all clauses. e.g., In the three clauses (A B), (B C), (C A), A and B are pure, C is impure. Assign a pure symbol so that their literals are true. 2. Unit clause heuristic Unit clause: only one literal in the clause or only one literal which has not yet received a value. The only literal in a unit clause must be true.

CSCI 5582 Fall 2006 The DPLL algorithm CSCI 5582 Fall 2006 The WalkSAT algorithm Incomplete, local search algorithm. Evaluation function: The min-conflict heuristic of minimizing the number of unsatisfied clauses. Steps are taken in the space of

complete assignments, flipping the truth value of one variable at a time. Balance between greediness and randomness. To avoid local minima CSCI 5582 Fall 2006 The WalkSAT algorithm CSCI 5582 Fall 2006 Break

Quiz 1: Average was 43 CSCI 5582 Fall 2006 Pros and cons of propositional logic Propositional logic is declarative Propositional logic allows partial/disjunctive/negated information (unlike most data structures and databases) Propositional logic is compositional: meaning of B1,1 P1,2 is derived from meaning of B1,1

and of P1,2 Meaning in propositional logic is context-independent (unlike natural language, where meaning depends on context) Propositional logic has very limited expressive power (unlike natural language) E.g., cannot say "pits cause breezes in adjacent squares except by writing one sentence for each square

CSCI 5582 Fall 2006 FOL At a high level FOL allows you to represent objects, properties of objects, and relations among objects Specific domains are modeled by developing knowledge-bases that capture the important parts of the domain (change, auto repair, medicine, time, set theory, etc)

CSCI 5582 Fall 2006 FOL First order logic adds Variables and quantifiers that allow Statements about unknown objects and Statements about classes of objects CSCI 5582 Fall 2006

First-order logic Whereas propositional logic assumes the world contains facts, first-order logic (like natural language) assumes the world contains Objects: people, houses, numbers, colors, baseball games, wars, Relations: red, round, prime, brother of, bigger than, part of, comes between, Functions: father of, best friend, one more than, plus,

CSCI 5582 Fall 2006 Syntax of FOL

Constants Predicates Functions Variables Connectives Equality Quantifiers

KingJohn, 2, ,... Brother, >,... Sqrt, LeftLegOf,... x, y, a, b,... , , , , = , CSCI 5582 Fall 2006 Atomic sentences Atomic sentence = predicate (term1,...,termn)

or term1 = term2 Term = function (term1,...,termn) or constant or variable E.g., Brother(KingJohn, RichardTheLionheart) > (Length(LeftLegOf(Richard)),

Length(LeftLegOf(KingJohn))) CSCI 5582 Fall 2006 Complex sentences Complex sentences are made from atomic sentences using connectives S, S1 S2, S1 S2, S1 S2, S1 S2, E.g. Sibling(KingJohn,Richard) Sibling(Richard,KingJohn)

CSCI 5582 Fall 2006 Truth in first-order logic Sentences are true with respect to a model and an interpretation Model contains objects (domain elements) and relations among them Interpretation specifies referents for constant symbols objects

predicate symbols relations function symbols functional relations An atomic sentence predicate(term1,...,termn) is true iff the objects referred to by term1,...,termn are in the relation referred to by predicate.

CSCI 5582 Fall 2006 Models for FOL: Example CSCI 5582 Fall 2006 Models as Sets Lets populate a domain: {R, J, RLL, JLL, C} Property Predicates

Person = {R, J} Crown = {C} King = {J} Relational Predicates Brother = { , } OnHead = {} Functional Predicates LeftLeg = {, } CSCI 5582 Fall 2006

Quantifiers Allows us to express properties of collections of objects instead of enumerating objects by name Universal: for all Existential: there exists CSCI 5582 Fall 2006 Universal quantification

Everyone at CU is smart: x At(x, CU) Smart(x) x P is true in a model m iff P is true with x being each possible object in the model Roughly speaking, equivalent to the conjunction of instantiations of P At(KingJohn,CU) Smart(KingJohn) At(Richard,CU) Smart(Richard) At(Ralphie,CU) Smart(Ralphie) ... CSCI 5582 Fall 2006

Existential quantification Someone at CU is smart: x At(x, CU) Smart(x) x P is true in a model m iff P is true with x being some possible object in the model Roughly speaking, equivalent to the disjunction of instantiations of P At(KingJohn,CU) Smart(KingJohn) At(Richard,CU) Smart(Richard)

At(Ralphie, CU) Smart(VUB) ... CSCI 5582 Fall 2006 Properties of quantifiers x y is the same as y x x y is the same as y x x y is not the same as y x x y Loves(x,y)

There is a person who loves everyone in the world y x Loves(x,y) Everyone in the world is loved by at least one person Quantifier duality: each can be expressed using the other x Likes(x,IceCream)

x Likes(x,IceCream) x Likes(x,Broccoli) x Likes(x,Broccoli) CSCI 5582 Fall 2006 Variables A big part of using FOL involves keeping track of all the variables while reasoning. Substitution lists are the means used to track the value, or binding,

of variables as processing proceeds. {var/ term, var/ term, var/ term...} CSCI 5582 Fall 2006 Examples Cat ( Felix) xCat ( x) Annoying ( x) {x / Felix} Cat ( Felix) Annoying ( Felix) CSCI 5582 Fall 2006

Examples x, yNear ( x, y ) Near ( y, x) {x / McCoy, y / ChemE} Near ( McCoy, ChemE ) Near (ChemE , McCoy ) CSCI 5582 Fall 2006 Inference Inference in FOL involves showing that some sentence is true, given a current

knowledge-base, by exploiting the semantics of FOL to create a new knowledge-base that contains the sentence in which we are interested. CSCI 5582 Fall 2006 Inference Methods Proof as Generic Search Proof by Modus Ponens Forward Chaining Backward Chaining

Resolution Model Checking CSCI 5582 Fall 2006 Generic Search States are snapshots of the KB Operators are the rules of inference Goal test is finding the sentence youre seeking I.e. Goal states are KBs that

contain the sentence (or sentences) youre seeking CSCI 5582 Fall 2006 Example Hare (Harry ) Harry is a hare Tom is a Tortoise (Tom ) tortoise Hares outrun x, yHare ( x) Tortoise ( y ) Outruns ( x, y )

tortoises Harry outruns Tom? CSCI 5582 Fall 2006 Tom and Harry And introduction Harry ( Hare ) Tortoise (Tom ) Universal elimination Hare ( Harry ) Tortoise (Tom ) Outruns( Harry, Tom )

Modus ponens Outruns ( Harry, Tom ) CSCI 5582 Fall 2006 Whats wrong? The branching factor caused by the number of operators is huge Its a blind (undirected) search

CSCI 5582 Fall 2006 So So a reasonable method needs to control the branching factor and find a way to guide the search Focus on the first one first CSCI 5582 Fall 2006

Forward Chaining When a new fact p is added to the KB For each rule such that p unifies with part of the premise If all the other premises are known Then add consequent to the KB This is a data-driven method. CSCI 5582 Fall 2006 Backward Chaining

When a query q is asked If a matching q is found return substitution list Else For each rule q whose consequent matches q, attempt to prove each antecedent by backward chaining This is a goal-directed method. And its the basis for Prolog. CSCI 5582 Fall 2006

Backward Chaining 1.Tortoise ( x) Slug ( y ) Faster ( x, y ) 2.Slimy ( z ) Creeps ( z ) Slug ( z ) 3.Tortoise (Tom ) 4.Slimy ( Steve) 5.Creeps ( Steve) Is Tom faster than someone? CSCI 5582 Fall 2006 Notes Backward chaining is not

abduction; we are not inferring antecedents from consequents. The fact that you cant prove something by these methods doesnt mean its false. It just means you cant prove it. CSCI 5582 Fall 2006 Resolution Modus ponens is not complete. I.e. there are things we

should be able to prove true that we cant by using Modus ponens alone. Used appropriately, resolution is complete. CSCI 5582 Fall 2006 Resolution Example P( x) Q( x) P ( x) R( x) Q( x) S ( x)

R( x) S ( x) CSCI 5582 Fall 2006 Resolution Example Convert to Normal Form 1.P ( w) Q( w) 2.P ( x) R( x) 3.Q( y ) S ( y ) 4.R( z ) S ( z )

Resolve 1 and 3 5.P ( w) S ( w) Resolve 2 and 5 6 .R ( x ) S ( x ) Resolve 4 and 6 7.S ( z ) CSCI 5582 Fall 2006