variables
play

Variables Variables are universally quantified in the scope of a - PowerPoint PPT Presentation

Variables Variables are universally quantified in the scope of a clause. A variable assignment is a function from variables into the domain. Given an interpretation and a variable assignment, each term denotes an individual and each clause is


  1. Variables Variables are universally quantified in the scope of a clause. A variable assignment is a function from variables into the domain. Given an interpretation and a variable assignment, each term denotes an individual and each clause is either true or false. A clause containing variables is true in an interpretation if it is true for all variable assignments. � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 1

  2. Queries and Answers A query is a way to ask if a body is a logical consequence of the knowledge base: ? b 1 ∧ · · · ∧ b m . An answer is either an instance of the query that is a logical consequence of the knowledge base KB , or no if no instance is a logical consequence of KB . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 2

  3. Example Queries  in ( kim , r 123) .  KB = part of ( r 123 , cs building ) . in ( X , Y ) ← part of ( Z , Y ) ∧ in ( X , Z ) .  Query Answer ? part of ( r 123 , B ) . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 3

  4. Example Queries  in ( kim , r 123) .  KB = part of ( r 123 , cs building ) . in ( X , Y ) ← part of ( Z , Y ) ∧ in ( X , Z ) .  Query Answer ? part of ( r 123 , B ) . part of ( r 123 , cs building ) ? part of ( r 023 , cs building ) . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 4

  5. Example Queries  in ( kim , r 123) .  KB = part of ( r 123 , cs building ) . in ( X , Y ) ← part of ( Z , Y ) ∧ in ( X , Z ) .  Query Answer ? part of ( r 123 , B ) . part of ( r 123 , cs building ) ? part of ( r 023 , cs building ) . no ? in ( kim , r 023) . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 5

  6. Example Queries  in ( kim , r 123) .  KB = part of ( r 123 , cs building ) . in ( X , Y ) ← part of ( Z , Y ) ∧ in ( X , Z ) .  Query Answer ? part of ( r 123 , B ) . part of ( r 123 , cs building ) ? part of ( r 023 , cs building ) . no ? in ( kim , r 023) . no ? in ( kim , B ) . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 6

  7. Example Queries  in ( kim , r 123) .  KB = part of ( r 123 , cs building ) . in ( X , Y ) ← part of ( Z , Y ) ∧ in ( X , Z ) .  Query Answer ? part of ( r 123 , B ) . part of ( r 123 , cs building ) ? part of ( r 023 , cs building ) . no ? in ( kim , r 023) . no ? in ( kim , B ) . in ( kim , r 123) in ( kim , cs building ) � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 7

  8. Logical Consequence Atom g is a logical consequence of KB if and only if: g is a fact in KB , or there is a rule g ← b 1 ∧ . . . ∧ b k in KB such that each b i is a logical consequence of KB . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 8

  9. Debugging false conclusions To debug answer g that is false in the intended interpretation: If g is a fact in KB , this fact is wrong. Otherwise, suppose g was proved using the rule: g ← b 1 ∧ . . . ∧ b k where each b i is a logical consequence of KB . ◮ If each b i is true in the intended interpretation, this clause is false in the intended interpretation. ◮ If some b i is false in the intended interpretation, debug b i . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 9

  10. Electrical Environment outside power cb1 w5 s1 w1 circuit breaker cb2 s2 w2 w3 off s3 w0 switch on w6 w4 two-way p2 switch l1 light p1 l2 power outlet � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 10

  11. Axiomatizing the Electrical Environment % light ( L ) is true if L is a light light ( l 1 ) . light ( l 2 ) . % down ( S ) is true if switch S is down down ( s 1 ) . up ( s 2 ) . up ( s 3 ) . % ok ( D ) is true if D is not broken ok ( l 1 ) . ok ( l 2 ) . ok ( cb 1 ) . ok ( cb 2 ) . ? light ( l 1 ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 11

  12. Axiomatizing the Electrical Environment % light ( L ) is true if L is a light light ( l 1 ) . light ( l 2 ) . % down ( S ) is true if switch S is down down ( s 1 ) . up ( s 2 ) . up ( s 3 ) . % ok ( D ) is true if D is not broken ok ( l 1 ) . ok ( l 2 ) . ok ( cb 1 ) . ok ( cb 2 ) . ? light ( l 1 ) . = yes ⇒ ? light ( l 6 ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 12

  13. Axiomatizing the Electrical Environment % light ( L ) is true if L is a light light ( l 1 ) . light ( l 2 ) . % down ( S ) is true if switch S is down down ( s 1 ) . up ( s 2 ) . up ( s 3 ) . % ok ( D ) is true if D is not broken ok ( l 1 ) . ok ( l 2 ) . ok ( cb 1 ) . ok ( cb 2 ) . ? light ( l 1 ) . = yes ⇒ ? light ( l 6 ) . = no ⇒ ? up ( X ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 13

  14. Axiomatizing the Electrical Environment % light ( L ) is true if L is a light light ( l 1 ) . light ( l 2 ) . % down ( S ) is true if switch S is down down ( s 1 ) . up ( s 2 ) . up ( s 3 ) . % ok ( D ) is true if D is not broken ok ( l 1 ) . ok ( l 2 ) . ok ( cb 1 ) . ok ( cb 2 ) . ? light ( l 1 ) . = yes ⇒ ? light ( l 6 ) . = no ⇒ ? up ( X ) . = up ( s 2 ), up ( s 3 ) ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 14

  15. connected to ( X , Y ) is true if component X is connected to Y connected to ( w 0 , w 1 ) ← up ( s 2 ) . connected to ( w 0 , w 2 ) ← down ( s 2 ) . connected to ( w 1 , w 3 ) ← up ( s 1 ) . connected to ( w 2 , w 3 ) ← down ( s 1 ) . connected to ( w 4 , w 3 ) ← up ( s 3 ) . connected to ( p 1 , w 3 ) . ? connected to ( w 0 , W ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 15

  16. connected to ( X , Y ) is true if component X is connected to Y connected to ( w 0 , w 1 ) ← up ( s 2 ) . connected to ( w 0 , w 2 ) ← down ( s 2 ) . connected to ( w 1 , w 3 ) ← up ( s 1 ) . connected to ( w 2 , w 3 ) ← down ( s 1 ) . connected to ( w 4 , w 3 ) ← up ( s 3 ) . connected to ( p 1 , w 3 ) . ? connected to ( w 0 , W ) . = W = w 1 ⇒ ? connected to ( w 1 , W ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 16

  17. connected to ( X , Y ) is true if component X is connected to Y connected to ( w 0 , w 1 ) ← up ( s 2 ) . connected to ( w 0 , w 2 ) ← down ( s 2 ) . connected to ( w 1 , w 3 ) ← up ( s 1 ) . connected to ( w 2 , w 3 ) ← down ( s 1 ) . connected to ( w 4 , w 3 ) ← up ( s 3 ) . connected to ( p 1 , w 3 ) . ? connected to ( w 0 , W ) . = W = w 1 ⇒ ? connected to ( w 1 , W ) . = no ⇒ ? connected to ( Y , w 3 ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 17

  18. connected to ( X , Y ) is true if component X is connected to Y connected to ( w 0 , w 1 ) ← up ( s 2 ) . connected to ( w 0 , w 2 ) ← down ( s 2 ) . connected to ( w 1 , w 3 ) ← up ( s 1 ) . connected to ( w 2 , w 3 ) ← down ( s 1 ) . connected to ( w 4 , w 3 ) ← up ( s 3 ) . connected to ( p 1 , w 3 ) . ? connected to ( w 0 , W ) . = W = w 1 ⇒ ? connected to ( w 1 , W ) . = no ⇒ ? connected to ( Y , w 3 ) . = Y = w 2 , Y = w 4 , Y = p 1 ⇒ ? connected to ( X , W ) . = ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 18

  19. connected to ( X , Y ) is true if component X is connected to Y connected to ( w 0 , w 1 ) ← up ( s 2 ) . connected to ( w 0 , w 2 ) ← down ( s 2 ) . connected to ( w 1 , w 3 ) ← up ( s 1 ) . connected to ( w 2 , w 3 ) ← down ( s 1 ) . connected to ( w 4 , w 3 ) ← up ( s 3 ) . connected to ( p 1 , w 3 ) . ? connected to ( w 0 , W ) . = W = w 1 ⇒ ? connected to ( w 1 , W ) . = no ⇒ ? connected to ( Y , w 3 ) . = Y = w 2 , Y = w 4 , Y = p 1 ⇒ ? connected to ( X , W ) . = X = w 0 , W = w 1 , . . . ⇒ � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 19

  20. % lit ( L ) is true if the light L is lit lit ( L ) ← light ( L ) ∧ ok ( L ) ∧ live ( L ) . % live ( C ) is true if there is power coming into C live ( Y ) ← connected to ( Y , Z ) ∧ live ( Z ) . live ( outside ) . This is a recursive definition of live . � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 20

  21. Recursion and Mathematical Induction above ( X , Y ) ← on ( X , Y ) . above ( X , Y ) ← on ( X , Z ) ∧ above ( Z , Y ) . This can be seen as: Recursive definition of above : prove above in terms of a base case ( on ) or a simpler instance of itself; or Way to prove above by mathematical induction: the base case is when there are no blocks between X and Y , and if you can prove above when there are n blocks between them, you can prove it when there are n + 1 blocks. � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 21

  22. Limitations Suppose you had a database using the relation: enrolled ( S , C ) which is true when student S is enrolled in course C . You can’t define the relation: empty course ( C ) which is true when course C has no students enrolled in it. This is because empty course ( C ) doesn’t logically follow from a set of enrolled relations. There are always models where someone is enrolled in a course! � D. Poole and A. Mackworth 2010 c Artificial Intelligence, Lecture 12.3, Page 22

Recommend


More recommend