Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.sti-innsbruck.at © Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at Intelligent Systems Predicate Logic.

Similar presentations


Presentation on theme: "Www.sti-innsbruck.at © Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at Intelligent Systems Predicate Logic."— Presentation transcript:

1 www.sti-innsbruck.at © Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at Intelligent Systems Predicate Logic

2 www.sti-innsbruck.at 2 Overview Why Predicate Logic / First Order Logic? Syntax of First Order Logic Semantics of First Order Logic Using FOL Knowledge engineering in FOL

3 www.sti-innsbruck.at 3 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 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 –(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

4 www.sti-innsbruck.at 4 First-order logic Propositional logic assumes the world contains facts that are either true or false. 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, … One to one mapping

5 www.sti-innsbruck.at Relations Some relations are properties: –They state some fact about a single object: Round(ball), Prime(7). Some relations are n-ary relations: –State facts about two or more objects: Married(John,Mary), Largerthan(3,2). Some relations are functions: –Their value is another object: Plus(2,3), Father(Dan).

6 www.sti-innsbruck.at 6 Introduction to Artificial Intelligence 2005 – Axel Polleres Syntax of FOL: Basic elements ConstantsKingJohn, 2, UIBK,... Predicate symbolsBrother, >,... Function symbolsSqrt, LeftLegOf,... Variablesx, y, a, b,... Connectives , , , ,  Equality= Quantifiers , 

7 www.sti-innsbruck.at 7 Introduction to Artificial Intelligence 2005 – Axel Polleres Atomic sentences Atomic sentence =predicate (term 1,...,term n ) or term 1 = term 2 term =function (term 1,...,term n ) or constant or variable E.g., Brother(KingJohn,RichardTheLionheart) (Length(LeftLegOf(Richard)) = Length(LeftLegOf(KingJohn))) Functions can be viewed as complex names for constants Equality is a special predicate with a fixed sematnics

8 www.sti-innsbruck.at Atomic sentences Sentences in logic state facts that are true or false. Properties and n-ary relations do just that: –LargerThan(2,3) (means 2>3) is false. –Brother(Mary,Pete) is false. Functions do not state facts and form no sentence: –Brother(Pete) refers to the object John (his brother) and is neither true nor false. Brother(Pete, Brother(Pete)) is true. 8 Binary relationFunction

9 www.sti-innsbruck.at 9 Complex sentences Complex sentences are made from atomic sentences using connectives (just like in propositional logic)  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)

10 www.sti-innsbruck.at Complex sentences 10 binary relation function property objects connectives

11 www.sti-innsbruck.at 11 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 →functions 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

12 www.sti-innsbruck.at 12 Models for FOL: Example

13 www.sti-innsbruck.at 13 Truth in the example

14 www.sti-innsbruck.at 14 Models in FOL Enumerating models is not a good idea Nonentailment is even undecidable, i.e. cannot be computed  !

15 www.sti-innsbruck.at Quantification Round (ball) is true or false because we give it a single argument (ball). We can be much more flexible if we allow variables which can take on values in a domain. e.g. reals x, all persons P, etc. To construct logical sentences we need a quantifier to make it true or false. 15

16 www.sti-innsbruck.at Quantification Is the following true or false? To make it true or false we use For all real x, x>2 implies x>3.There exists some real x which square is minus 1.

17 www.sti-innsbruck.at 17 Universal quantification  E.g: "Everyone at UIBK is smart“:  x At(x,UIBK)  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, UIBK)  Smart(KingJohn)  At(Richard, UIBK)  Smart(Richard)  At(UIBK, UIBK)  Smart(UIBK) ...

18 www.sti-innsbruck.at 18 A common mistake to avoid Typically,  is the main connective with  Common mistake: using  as the main connective with  :  x At(x,UIBK)  Smart(x) means “Everyone is at UIBK and everyone is smart” Correct:  x At(x,UIBK)  Smart(x) As you can see many axioms can be written as rules!

19 www.sti-innsbruck.at 19 Existential quantification  "Someone at UIBK is smart":  x At(x,UIBK)  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,UIBK)  Smart(KingJohn)  At(Richard,UIBK)  Smart(Richard)  At(UIBK,UIBK)  Smart(UIBK) ...

20 www.sti-innsbruck.at 20 Another common mistake to avoid Typically,  is the main connective with  Common mistake: using  as the main connective with  :  x At(x,UIBK)  Smart(x) is true if there is anyone who is not at UIBK! Usually used in Queries: "Is there someone in UIBK who is smart?" Correct:  x At(x,UIBK)  Smart(x )

21 www.sti-innsbruck.at Nested Quantifiers Combinations of universal and existential quantification are possible: Which is which?:Everyone is the father of someone. Everyone has everyone as a father There is a person who has everyone as a father. There is a person who has a father There is a person who is the father of everyone. Everyone has a father. Binary relation: “x is a father of y”.

22 www.sti-innsbruck.at 22 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)

23 www.sti-innsbruck.at De Morgan’s Law for Quantifiers De Morgan’s Rule Generalized De Morgan’s Rule Rule is simple: If you bring a negation inside a disjunction or a conjunction, always switch between them (or  and, and  or). Equality symbol: Father(John)=Henry. This relates two objects.

24 www.sti-innsbruck.at 24 Introduction to Artificial Intelligence 2005 – Axel Polleres 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 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)]

25 www.sti-innsbruck.at Using FOL We want to TELL things to the KB, –e.g. TELL(KB, ) We also want to ASK things to the KB, –e.g. ASK(KB, ) The KB should return the list of x’s for which Person(x) is true: {x/John,x/Richard,...}

26 www.sti-innsbruck.at 26 Using FOL The family 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)) “Sibling” is symmetric  x,y Sibling(x,y)  Sibling(y,x) Attention! Mother is a function symbol here, whereas female and parent are predicate symbols!

27 www.sti-innsbruck.at Using Fol More complex example: 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 ) ∀ x, s1,s2 x ∈ (s1 ∩ s2) ⇔ (x ∈ s1 ∧ x ∈ s2 ) ∀ x, s1,s2 x ∈ (s1 ∪ s2) ⇔ (x ∈ s1 ∨ x ∈ s2) 27

28 www.sti-innsbruck.at 28 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

29 www.sti-innsbruck.at 29 Example: The electronic circuits domain One-bit full adder

30 www.sti-innsbruck.at 30 Example: The electronic circuits domain 1.Identify the task –Does the circuit actually add properly? (circuit verification) 2.Assemble the relevant knowledge –Composed of wires and gates; Types of gates (AND, OR, XOR, NOT) –Irrelevant: size, shape, color, cost of gates 3.Decide on a vocabulary/encoding –Alternatives: Type(X 1 ) = XOR Type(X 1, XOR) XOR(X 1 ) …

31 www.sti-innsbruck.at 31 Example: The electronic circuits domain 4.Encode general knowledge of the domain  t 1,t 2 Connected(t 1, t 2 )  Signal(t 1 ) = Signal(t 2 )  t Signal(t) = 1  Signal(t) = 0 1 ≠ 0  t 1,t 2 Connected(t 1, t 2 )  Connected(t 2, t 1 )  g Type(g) = OR  (Signal(Out(1,g)) = 1   n Signal(In(n,g)) = 1)  g Type(g) = AND  (Signal(Out(1,g)) = 0   n Signal(In(n,g)) = 0)  g Type(g) = XOR  (Signal(Out(1,g)) = 1  Signal(In(1,g)) ≠ Signal(In(2,g)))  g Type(g) = NOT  Signal(Out(1,g)) ≠ Signal(In(1,g))

32 www.sti-innsbruck.at 32 Example: The electronic circuits domain 5.Encode the specific problem instance Type(X 1 ) = XOR Type(X 2 ) = XOR Type(A 1 ) = AND Type(A 2 ) = AND Type(O 1 ) = OR Connected(Out(1,X 1 ),In(1,X 2 ))Connected(In(1,C 1 ),In(1,X 1 )) Connected(Out(1,X 1 ),In(2,A 2 ))Connected(In(1,C 1 ),In(1,A 1 )) Connected(Out(1,A 2 ),In(1,O 1 )) Connected(In(2,C 1 ),In(2,X 1 )) Connected(Out(1,A 1 ),In(2,O 1 )) Connected(In(2,C 1 ),In(2,A 1 )) Connected(Out(1,X 2 ),Out(1,C 1 )) Connected(In(3,C 1 ),In(2,X 2 )) Connected(Out(1,O 1 ),Out(2,C 1 )) Connected(In(3,C 1 ),In(1,A 2 ))

33 www.sti-innsbruck.at 33 Example: The electronic circuits domain 6.Pose queries to the inference procedure –What are the possible sets of values of all the terminals for the adder circuit? –  i 1,i 2,i 3,o 1,o 2 Signal( In(1,C 1 ) ) = i 1  Signal( In(2,C 1 ) ) = i 2  Signal( In(3,C 1 ) ) = i 3  Signal( Out(1,C 1 ) ) = o 1  Signal( Out(2,C 1 ) ) = o 2 7.Debug the knowledge base –Maybe you have omitted assertions like 1 ≠ 0, etc?

34 www.sti-innsbruck.at 34 Summary First-order logic: –objects, relations and functions are semantic primitives –syntax: constants, function symbols, predicate symbols, equality, quantifiers Increased expressive power


Download ppt "Www.sti-innsbruck.at © Copyright 2008 STI INNSBRUCK www.sti-innsbruck.at Intelligent Systems Predicate Logic."

Similar presentations


Ads by Google