Presentation is loading. Please wait.

Presentation is loading. Please wait.

First-Order Logic Chapter 8 (not 8.1). Outline Why FOL? Why FOL? Syntax and semantics of FOL Syntax and semantics of FOL Using FOL Using FOL Wumpus world.

Similar presentations


Presentation on theme: "First-Order Logic Chapter 8 (not 8.1). Outline Why FOL? Why FOL? Syntax and semantics of FOL Syntax and semantics of FOL Using FOL Using FOL Wumpus world."— Presentation transcript:

1 First-Order Logic Chapter 8 (not 8.1)

2 Outline Why FOL? Why FOL? Syntax and semantics of FOL Syntax and semantics of FOL Using FOL Using FOL Wumpus world in FOL Wumpus world in FOL Knowledge engineering in FOL Knowledge engineering in FOL

3 Pros and cons of propositional logic Propositional logic is declarative Propositional logic is declarative Propositional logic allows partial/disjunctive/negated information Propositional logic allows partial/disjunctive/negated information (unlike most data structures and databases) (unlike most data structures and databases) Propositional logic is compositional Propositional logic is compositional meaning of B 1,1  P 1,2 is derived from meaning of B 1,1 and of P 1,2 meaning of B 1,1  P 1,2 is derived from meaning of B 1,1 and of P 1,2 Meaning in propositional logic is context-independent Meaning in propositional logic is context-independent (unlike natural language, where meaning depends on context) (unlike natural language, where meaning depends on context)  Propositional logic has very limited expressive power (unlike natural language) (unlike natural language) E.g., cannot say "pits cause breezes in adjacent squares“ E.g., cannot say "pits cause breezes in adjacent squares“ except by writing one sentence for each square except by writing one sentence for each square

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

5 Syntax of FOL: Basic elements ConstantsKingJohn, 2, Udel,... ConstantsKingJohn, 2, Udel,... PredicatesBrother, >,... PredicatesBrother, >,... FunctionsSqrt, LeftLegOf,... FunctionsSqrt, LeftLegOf,... Variablesx, y, a, b,... Variablesx, y, a, b,... Connectives , , , ,  Connectives , , , ,  Equality= Equality= Quantifiers ,  Quantifiers , 

6 Atomic sentences Atomic sentence = predicate (term 1,...,term n ) or term 1 = term 2 or term 1 = term 2 Term = constant or variable or variable or function (term 1,...,term n ) or function (term 1,...,term n ) E.g., Brother(KingJohn,RichardTheLionheart), (Length(LeftLegOf(Richard)), Length(LeftLegOf(KingJohn))) E.g., Brother(KingJohn,RichardTheLionheart), (Length(LeftLegOf(Richard)), Length(LeftLegOf(KingJohn))) Married(mother(mother(mary)), father(mother(mary))) Married(mother(mother(mary)), father(mother(mary)))

7 Representing Some Sentences John likes Mary. John likes Mary. Bill hit John. Bill hit John. Florida is a state. Florida is a state. The product of a and b is c. The product of a and b is c. 2+3=7. 2+3=7. Tweety is yellow. Tweety is yellow.

8 Complex sentences Complex sentences are made from atomic sentences using connectives Complex sentences are made from atomic sentences using connectives  S, S 1  S 2, S 1  S 2, S 1  S 2, S 1  S 2, E.g. Sibling(KingJohn,Richard)  Sibling(Richard,KingJohn) >(1,2)  ≤ (1,2) >(1,2)  ≤ (1,2) >(1,2)   >(1,2) >(1,2)   >(1,2)

9 Truth in first-order logic Sentences are true with respect to a model and an interpretation Sentences are true with respect to a model and an interpretation Model contains objects (domain elements) and relations among them Model contains objects (domain elements) and relations among them Interpretation specifies referents for Interpretation specifies referents for constant symbols → objects predicate symbols → relations function symbols →functional relations An atomic sentence predicate(term 1,...,term n ) is true An atomic sentence predicate(term 1,...,term n ) is true iff the objects referred to by term 1,...,term n are in the relation referred to by predicate

10 Models for FOL: Example

11 Universal quantification   Everyone at UDel is smart:  x At(x,UDel)  Smart(x)  x P is true in a model m iff P is true with x being each possible object in the model  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 x Roughly speaking, equivalent to the conjunction of instantiations of x At(KingJohn,UDel)  Smart(KingJohn)  At(Richard,UDel)  Smart(Richard)  At(NUS,UDel)  Smart(NUS) ...

12 A common mistake to avoid Typically,  is the main connective with  Common mistake: using  as the main connective with  : Common mistake: using  as the main connective with  :  x At(x,UDel)  Smart(x) means “Everyone is at Udel and everyone is smart”

13 Existential quantification   Someone at Udel is smart:  x At(x,UDel)  Smart(x)  x P is true in a model m iff P is true with x being some possible object in the model  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 Roughly speaking, equivalent to the disjunction of instantiations of P At(KingJohn,UDel)  Smart(KingJohn)  At(Richard,UDel)  Smart(Richard)  At(NUS,UDel)  Smart(NUS) ...

14 Another common mistake to avoid Typically,  is the main connective with  Typically,  is the main connective with  Common mistake: using  as the main connective with  : Common mistake: using  as the main connective with  :  x At(x,UDel)  Smart(x) is true if there is anyone who is not at UDel!

15 Properties of quantifiers  x  y is the same as  y  x  x  y is the same as  y  x  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 is not the same as  y  x  x  y Loves(x,y)  x  y Loves(x,y) “There is a person who loves everyone in the world” “There is a person who loves everyone in the world”  y  x Loves(x,y)  y  x Loves(x,y) “Everyone in the world is loved by at least one person” “Everyone in the world is loved by at least one person” Quantifier duality: each can be expressed using the other Quantifier duality: each can be expressed using the other  x Likes(x,IceCream)  x  Likes(x,IceCream)  x Likes(x,IceCream)  x  Likes(x,IceCream)  x Likes(x,Broccoli)  x  Likes(x,Broccoli)  x Likes(x,Broccoli)  x  Likes(x,Broccoli)

16 Equality term 1 = term 2 is true under a given interpretation if and only if term 1 and term 2 refer to the same object term 1 = term 2 is true under a given interpretation if and only if term 1 and term 2 refer to the same object E.g., definition of Sibling in terms of Parent: E.g., definition of Sibling in terms of Parent:  x,y Sibling(x,y)  [  (x = y)   m,f  (m = f)  Parent(m,x)  Parent(f,x)  Parent(m,y)  Parent(f,y)]

17 Using FOL The kinship domain: Brothers are siblings Brothers are siblings  x,y Brother(x,y)  Sibling(x,y) One's mother is one's female parent One's mother is one's female parent  m,c Mother(c) = m  (Female(m)  Parent(m,c)) “Sibling” is symmetric “Sibling” is symmetric  x,y Sibling(x,y)  Sibling(y,x)

18 Using FOL The set domain:  s Set(s)  (s = {} )  (  x,s 2 Set(s 2 )  s = {x|s 2 })  s Set(s)  (s = {} )  (  x,s 2 Set(s 2 )  s = {x|s 2 })  x,s {x|s} = {}  x,s {x|s} = {}  x,s x  s  s = {x|s}  x,s x  s  s = {x|s}  x,s x  s  [  y,s 2 } (s = {y|s 2 }  (x = y  x  s 2 ))]  x,s x  s  [  y,s 2 } (s = {y|s 2 }  (x = y  x  s 2 ))]  s 1,s 2 s 1  s 2  (  x x  s 1  x  s 2 )  s 1,s 2 s 1  s 2  (  x x  s 1  x  s 2 )  s 1,s 2 (s 1 = s 2 )  (s 1  s 2  s 2  s 1 )  s 1,s 2 (s 1 = s 2 )  (s 1  s 2  s 2  s 1 )  x,s 1,s 2 x  (s 1  s 2 )  (x  s 1  x  s 2 )  x,s 1,s 2 x  (s 1  s 2 )  (x  s 1  x  s 2 )  x,s 1,s 2 x  (s 1  s 2 )  (x  s 1  x  s 2 )  x,s 1,s 2 x  (s 1  s 2 )  (x  s 1  x  s 2 )

19 Knowledge engineering in FOL 1. Identify the task 2. Assemble the relevant knowledge 3. Decide on a vocabulary of predicates, functions, and constants 4. Encode general knowledge about the domain 5. Encode a description of the specific problem instance 6. Pose queries to the inference procedure and get answers 7. Debug the knowledge base

20 Summary First-order logic: First-order logic: objects and relations are semantic primitives objects and relations are semantic primitives syntax: constants, functions, predicates, equality, quantifiers syntax: constants, functions, predicates, equality, quantifiers Increased expressive power: sufficient to define wumpus world Increased expressive power: sufficient to define wumpus world


Download ppt "First-Order Logic Chapter 8 (not 8.1). Outline Why FOL? Why FOL? Syntax and semantics of FOL Syntax and semantics of FOL Using FOL Using FOL Wumpus world."

Similar presentations


Ads by Google