m08-fol

Embed Size (px)

Citation preview

  • 8/9/2019 m08-fol

    1/27

    First-Order LogicChapter 8

  • 8/9/2019 m08-fol

    2/27

    Outline

    Why FOL? Syntax and semantics of FOL

    Using FOL Wumpus world in FOL Knowledge engineering in FOL

  • 8/9/2019 m08-fol

    3/27

    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 ofB1,1 P1,2 is derived from meaning ofB1,1 and ofP1,2

    Meaning in propositional logic is context-independent

    (unlike natural language, where meaning depends on context)

    Propositional logic has very limited expressive power

  • 8/9/2019 m08-fol

    4/27

    First-order logic

    Whereas propositional logic assumes theworld 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

  • 8/9/2019 m08-fol

    5/27

    Syntax of FOL: Basic elements

    Constants KingJohn, 2, NUS,... Predicates Brother, >,...

    Functions Sqrt, LeftLegOf,... Variables x, y, a, b,... Connectives , , , ,

    Equality = Quantifiers ,

  • 8/9/2019 m08-fol

    6/27

    Atomic sentences

    Atomic sentence = predicate (term1,...,termn)orterm1 = term2

    Term = function (term1,...,termn)orconstantorvariable

    E.g., Brother(KingJohn,RichardTheLionheart) >

    (Length(LeftLegOf(Richard)),Length(LeftLegOf(KingJohn)))

  • 8/9/2019 m08-fol

    7/27

    Complex sentences

    Complex sentences are made from atomicsentences using connectives

    S, S1 S2, S1 S2, S1 S2, S1 S2,

    E.g. Sibling(KingJohn,Richard) Sibling(Richard,KingJohn)>(1,2) (1,2)>(1,2) >(1,2)

  • 8/9/2019 m08-fol

    8/27

    Truth in first-order logic Sentences are true with respect to a model and an interpretation

    Model contains objects (domain elements) and relations amongthem

    Interpretation specifies referents forconstant symbols objects

    predicate symbols relations

    function symbols functional relations

    An atomic sentencepredicate(term1,...,termn) is trueiff the objects referred to by term1,...,termnare in the relation referred to bypredicate

  • 8/9/2019 m08-fol

    9/27

    Models for FOL: Example

  • 8/9/2019 m08-fol

    10/27

    Universal quantification

    Everyone at NUS is smart:x At(x,NUS) Smart(x)

    x P is true in a model m iffP is true with xbeing eachpossible object in the model

    Roughly speaking, equivalent to the conjunction of

    instantiations ofP

    At(KingJohn,NUS) Smart(KingJohn)

    At(Richard,NUS) Smart(Richard)

  • 8/9/2019 m08-fol

    11/27

    A common mistake to avoid

    Typically, is the main connective with

    Common mistake: using

    as the mainconnective with :x At(x,NUS) Smart(x)means Everyone is at NUS and everyone is smart

  • 8/9/2019 m08-fol

    12/27

    Existential quantification

    Someone at NUS is smart: xAt(x,NUS) Smart(x)$

    x P is true in a model m iffP is true with xbeing some

    possible object in the model

    Roughly speaking, equivalent to the disjunction ofinstantiations ofP

    At(KingJohn,NUS) Smart(KingJohn)

    At(Richard,NUS) Smart(Richard)

    At(NUS,NUS) Smart(NUS)

  • 8/9/2019 m08-fol

    13/27

    Another common mistake to

    avoid Typically, is the main connective with Common mistake: using as the main

    connective with :

    xAt(x,NUS) Smart(x)

    is true if there is anyone who is not at NUS!

  • 8/9/2019 m08-fol

    14/27

    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)

  • 8/9/2019 m08-fol

    15/27

    Equality

    term1 = term2 is true under a given interpretationif and only ifterm1 and term2 refer to the sameobject

    E.g., definition ofSiblingin terms ofParent:

    x,ySibling(x,y) [(x = y) m,f (m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]

  • 8/9/2019 m08-fol

    16/27

    Using FOL

    The kinship domain:

    Brothers are siblings

    x,y Brother(x,y) Sibling(x,y)

    One's mother is one's female parent

    m,c Mother(c) = m (Female(m) Parent(m,c))

  • 8/9/2019 m08-fol

    17/27

    Using FOL

    The set domain:

    s Set(s) (s = {} ) (x,s2 Set(s2) s = {x|s2})

    x,s {x|s} = {} x,s x s s = {x|s} x,s x s [y,s2} (s = {y|s2} (x = y x s2))] s1,s2 s1 s2 (x x s1 x s2) s1,s2 (s1 = s2) (s1 s2 s2 s1)

  • 8/9/2019 m08-fol

    18/27

    Interacting with FOL KBs Suppose a wumpus-world agent is using an FOL KB and perceives a smell

    and a breeze (but no glitter) at t=5:

    Tell(KB,Percept([Smell,Breeze,None],5))Ask(KB,a BestAction(a,5))

    I.e., does the KB entail some best action at t=5?

    Answer: Yes, {a/Shoot} substitution (binding list)

    Given a sentence Sand a substitution , S denotes the result of plugging into S; e.g.,

    S= Smarter(x,y) = {x/Hillary,y/Bill}S = Smarter(Hillary,Bill)

    Ask KB,S returns some/all such that KB

  • 8/9/2019 m08-fol

    19/27

    Knowledge base for the

    wumpus world Perception t,s,b Percept([s,b,Glitter],t) Glitter(t)

    Reflex t Glitter(t) BestAction(Grab,t)

  • 8/9/2019 m08-fol

    20/27

    Deducing hidden properties

    x,y,a,b Adjacent([x,y],[a,b]) [a,b] {[x+1,y], [x-1,y],[x,y+1],[x,y-1]}

    Properties of squares: s,t At(Agent,s,t) Breeze(t) Breezy(s)

    Squares are breezy near a pit:

    Diagnostic rule---infer cause from effects Breezy(s) \Exi{r} Adjacent(r,s) Pit(r)$

  • 8/9/2019 m08-fol

    21/27

    Knowledge engineering in FOL

    1. Identify the task2.2. Assemble the relevant knowledge

    3.3. Decide on a vocabulary of predicates,

    functions, and constants4.4. Encode general knowledge about the domain5.5. Encode a description of the specific problem

    instance

  • 8/9/2019 m08-fol

    22/27

    The electronic circuits domain

    One-bit full adder

  • 8/9/2019 m08-fol

    23/27

    The electronic circuits domain

    1. Identify the task2.

    Does the circuit actually add properly? (circuitverification)

    2. Assemble the relevant knowledge3.

    Composed of wires and gates; Types of gates (AND,

    OR, XOR, NOT) Irrelevant: size, shape, color, cost of gates

    3. Decide on a vocabulary

    4.

  • 8/9/2019 m08-fol

    24/27

    The electronic circuits domain

    4. Encode general knowledge of the domain5.

    t1,t2 Connected(t1, t2) Signal(t1) = Signal(t2)

    t Signal(t) = 1

    Signal(t) = 0 1 0 t1,t2 Connected(t1, t2) Connected(t2, t1)

    g Type(g) = OR Signal(Out(1,g)) = 1 nSignal(In(n,g)) = 1

    g Type(g) = AND Signal(Out(1,g)) = 0 n

    Signal(In(n,g)) = 0

  • 8/9/2019 m08-fol

    25/27

    The electronic circuits domain

    5. Encode the specific problem instance6.

    Type(X1) = XOR Type(X2) = XORType(A1) = AND Type(A2) = ANDType(O1) = OR

    Connected(Out(1,X1),In(1,X2)) Connected(In(1,C1),In(1,X1))Connected(Out(1,X1),In(2,A2)) Connected(In(1,C1),In(1,A1))Connected(Out(1,A2),In(1,O1)) Connected(In(2,C1),In(2,X1))

    Connected(Out(1,A1),In(2,O1)) Connected(In(2,C1),In(2,A1))Connected(Out(1,X2),Out(1,C1)) Connected(In(3,C1),In(2,X2))Connected(Out(1,O1),Out(2,C1)) Connected(In(3,C1),In(1,A2))

  • 8/9/2019 m08-fol

    26/27

    The electronic circuits domain

    6. Pose queries to the inference procedure7.

    What are the possible sets of values of all theterminals for the adder circuit?

    i1,i2,i3,o1,o2 Signal(In(1,C_1)) = i1 Signal(In(2,C1)) =

    i2 Signal(In(3,C1)) = i3 Signal(Out(1,C1)) = o1 Signal(Out(2,C1)) = o2

    7. Debug the knowledge base

  • 8/9/2019 m08-fol

    27/27

    Summary

    First-order logic:

    objects and relations are semantic primitives syntax: constants, functions, predicates,equality, quantifiers

    Increased expressive power: sufficient todefine wumpus world